[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756

mitz at apple.com mitz at apple.com
Fri Feb 26 22:26:43 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 389420d71e75201033b685168255abcdc2e99102
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Feb 21 21:19:02 2010 +0000

    False warnings about needing layout in
    -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
    https://bugs.webkit.org/show_bug.cgi?id=35218
    
    Reviewed by Darin Adler.
    
    * WebView/WebHTMLView.mm:
    (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
    Suppress the warning and the forced layout if the view is not being drawn
    in this display operation.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 4a2364d..07c54d3 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,7 +1,21 @@
+2010-02-21  Dan Bernstein  <mitz at apple.com>
+
+        Reviewed by Darin Adler.
+
+        False warnings about needing layout in
+        -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
+        https://bugs.webkit.org/show_bug.cgi?id=35218
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+        Suppress the warning and the forced layout if the view is not being drawn
+        in this display operation.
+
 2010-02-21  Kevin Decker  <kdecker at apple.com>
 
         Reviewed by Sam Weinig.
 
+        plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
         https://bugs.webkit.org/show_bug.cgi?id=35215
         <rdar://problem/7673157>
         
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index c0021b1..120a8fc 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -1292,11 +1292,15 @@ static void _updateMouseoverTimerCallback(CFRunLoopTimerRef timer, void *info)
     // There are known cases where -viewWillDraw is not called on all views being drawn.
     // See <rdar://problem/6964278> for example. Performing layout at this point prevents us from
     // trying to paint without layout (which WebCore now refuses to do, instead bailing out without
-    // drawing at all), but we may still fail to update and regions dirtied by the layout which are
+    // drawing at all), but we may still fail to update any regions dirtied by the layout which are
     // not already dirty. 
     if ([self _needsLayout]) {
-        LOG_ERROR("View needs layout. Either -viewWillDraw wasn't called or layout was invalidated during the display operation. Performing layout now.");
-        [self _web_layoutIfNeededRecursive];
+        NSInteger rectCount;
+        [self getRectsBeingDrawn:0 count:&rectCount];
+        if (rectCount) {
+            LOG_ERROR("View needs layout. Either -viewWillDraw wasn't called or layout was invalidated during the display operation. Performing layout now.");
+            [self _web_layoutIfNeededRecursive];
+        }
     }
 #else
     // Because Tiger does not have viewWillDraw we need to do layout here.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list