[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

simon.fraser at apple.com simon.fraser at apple.com
Wed Dec 22 14:47:41 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit f0129a3bf621820b42709d6d6efbf5db1cf147ad
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 20 15:59:43 2010 +0000

    2010-10-19  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Dan Bernstein.
    
            <rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews
    
            AppKit has some special code to prevent it meddling with view's layers
            under layer-backed WebViews. When a layer-backed WebView became composited,
            this caused our layer to remain zero-sized. Fix this by manually
            setting the geometry for our layer, if the WebHTMLView has a layer.
    
            This does not seem to be a problem if the WebView becomes layer-backed, or
            stops being layer-backed after the WebView starts using compositing.
    
            * WebView/WebHTMLView.mm:
            (-[WebHTMLView attachRootLayer:]):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70150 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index a8ca2f2..f7a5f49 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,20 @@
+2010-10-19  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        <rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews
+        
+        AppKit has some special code to prevent it meddling with view's layers
+        under layer-backed WebViews. When a layer-backed WebView became composited,
+        this caused our layer to remain zero-sized. Fix this by manually
+        setting the geometry for our layer, if the WebHTMLView has a layer.
+        
+        This does not seem to be a problem if the WebView becomes layer-backed, or
+        stops being layer-backed after the WebView starts using compositing.
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView attachRootLayer:]):
+
 2010-10-20  Dirk Schulze  <krit at webkit.org>
 
         Reviewed by Nikolas Zimmermann.
diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
index 3199ac8..9fa3356 100644
--- a/WebKit/mac/WebView/WebHTMLView.mm
+++ b/WebKit/mac/WebView/WebHTMLView.mm
@@ -5571,6 +5571,14 @@ static CGPoint coreGraphicsScreenPointForAppKitScreenPoint(NSPoint point)
     [viewLayer setTransform:CATransform3DMakeScale(scaleFactor, scaleFactor, 1)];
 #endif
 
+    if ([self layer]) {
+        // If we are in a layer-backed view, we need to manually initialize the geometry for our layer.
+        [viewLayer setBounds:NSRectToCGRect([_private->layerHostingView bounds])];
+        [viewLayer setAnchorPoint:CGPointMake(0, [self isFlipped] ? 1 : 0)];
+        CGPoint layerPosition = NSPointToCGPoint([self convertPointToBase:[_private->layerHostingView frame].origin]);
+        [viewLayer setPosition:layerPosition];
+    }
+    
     [_private->layerHostingView setLayer:viewLayer];
     [_private->layerHostingView setWantsLayer:YES];
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list