[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:18:38 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 595f51b41aeb241c243c2aa8259bc39220dec868
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 3 19:21:38 2003 +0000

            Fix to 3131226.  Don't force a layout when the document view is set
            on the page's scrollview.  A layout would occur indirectly as a result
            of reflectScrolledClipView: being called when the document view
            was set.  The khtmlpart/khtmlview/WebHTMLView would be out of sync
            at this point and a layout would have unintended and incorrect
            side effects.
    
            Reviewed by Darin (and tested by John).
    
            * WebView.subproj/WebDynamicScrollBarsView.h:
            * WebView.subproj/WebDynamicScrollBarsView.m:
            (-[WebDynamicScrollBarsView updateScrollers]):
            * WebView.subproj/WebViewPrivate.m:
            (-[WebView _setDocumentView:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 0cf5123..d541e20 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,20 @@
+2003-01-03  Richard Williamson   <rjw at apple.com>
+
+        Fix to 3131226.  Don't force a layout when the document view is set 
+        on the page's scrollview.  A layout would occur indirectly as a result
+        of reflectScrolledClipView: being called when the document view
+        was set.  The khtmlpart/khtmlview/WebHTMLView would be out of sync
+        at this point and a layout would have unintended and incorrect
+        side effects.
+        
+        Reviewed by Darin (and tested by John).
+
+        * WebView.subproj/WebDynamicScrollBarsView.h:
+        * WebView.subproj/WebDynamicScrollBarsView.m:
+        (-[WebDynamicScrollBarsView updateScrollers]):
+        * WebView.subproj/WebViewPrivate.m:
+        (-[WebView _setDocumentView:]):
+
 === Alexander-48 ===
 
 2003-01-02  Richard Williamson   <rjw at apple.com>
diff --git a/WebKit/WebView.subproj/WebDynamicScrollBarsView.h b/WebKit/WebView.subproj/WebDynamicScrollBarsView.h
index 43891ea..dd8f65b 100644
--- a/WebKit/WebView.subproj/WebDynamicScrollBarsView.h
+++ b/WebKit/WebView.subproj/WebDynamicScrollBarsView.h
@@ -17,10 +17,11 @@
 {
     NSCursor *cursor;
     BOOL disallowsScrolling;
+    BOOL suppressLayout;
 }
 
 - (void)setAllowsScrolling:(BOOL)flag;
 - (BOOL)allowsScrolling;
 - (void)updateScrollers;
-
+- (void)setSuppressLayout: (BOOL)flag;
 @end
diff --git a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
index fd4a679..e8d314b 100644
--- a/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
+++ b/WebKit/WebView.subproj/WebDynamicScrollBarsView.m
@@ -13,6 +13,11 @@
 
 @implementation WebDynamicScrollBarsView
 
+- (void)setSuppressLayout: (BOOL)flag;
+{
+    suppressLayout = flag;
+}
+
 - (void)updateScrollers
 {
     // We need to do the work below twice in the case where a scroll bar disappears,
@@ -27,6 +32,9 @@
     BOOL oldHasVertical = hasVerticalScroller;
     BOOL oldHasHorizontal = hasHorizontalScroller;
     
+    if (suppressLayout)
+        return; 
+        
     for (pass = 0; pass < 2; pass++) {
         BOOL scrollsVertically;
         BOOL scrollsHorizontally;
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.m b/WebKit/WebView.subproj/WebFrameViewPrivate.m
index e12a493..e965dc9 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.m
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.m
@@ -66,7 +66,11 @@
 
 - (void)_setDocumentView:(id)view
 {
-    [[self frameScrollView] setDocumentView: view];    
+    WebDynamicScrollBarsView *sv = [self frameScrollView];
+    
+    [sv setSuppressLayout: YES];
+    [sv setDocumentView: view];    
+    [sv setSuppressLayout: NO];
 }
 
 -(id <WebDocumentView>)_makeDocumentViewForDataSource:(WebDataSource *)dataSource

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list