[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