Title: [143816] trunk/Source
Revision
143816
Author
[email protected]
Date
2013-02-22 16:57:10 -0800 (Fri, 22 Feb 2013)

Log Message

[WK2] The root and page overlay layers should be the size of the view, not the content
https://bugs.webkit.org/show_bug.cgi?id=110660
<rdar://problem/13096456>

Reviewed by Simon Fraser.

Use the view size for the size of the root and page overlay layers.
For one, we never update these layers' sizes when the content size changes, causing size mismatches.
In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):

* WebCore.exp.in:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (143815 => 143816)


--- trunk/Source/WebCore/ChangeLog	2013-02-23 00:43:38 UTC (rev 143815)
+++ trunk/Source/WebCore/ChangeLog	2013-02-23 00:57:10 UTC (rev 143816)
@@ -1,3 +1,13 @@
+2013-02-22  Tim Horton  <[email protected]>
+
+        [WK2] The root and page overlay layers should be the size of the view, not the content
+        https://bugs.webkit.org/show_bug.cgi?id=110660
+        <rdar://problem/13096456>
+
+        Reviewed by Simon Fraser.
+
+        * WebCore.exp.in:
+
 2013-02-22  Anders Carlsson  <[email protected]>
 
         pluginLoadStrategy should take a WKDictionaryRef for extensibility

Modified: trunk/Source/WebCore/WebCore.exp.in (143815 => 143816)


--- trunk/Source/WebCore/WebCore.exp.in	2013-02-23 00:43:38 UTC (rev 143815)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-02-23 00:57:10 UTC (rev 143816)
@@ -1036,6 +1036,7 @@
 __ZN7WebCore9FloatRectC1ERK6CGRect
 __ZN7WebCore9FloatRectC1ERKNS_7IntRectE
 __ZN7WebCore9FloatSizeC1ERKNS_7IntSizeE
+__ZN7WebCore9FloatSizeC1ERK6CGSize
 __ZN7WebCore9FontCache13fontDataCountEv
 __ZN7WebCore9FontCache21inactiveFontDataCountEv
 __ZN7WebCore9FontCache21purgeInactiveFontDataEi

Modified: trunk/Source/WebKit2/ChangeLog (143815 => 143816)


--- trunk/Source/WebKit2/ChangeLog	2013-02-23 00:43:38 UTC (rev 143815)
+++ trunk/Source/WebKit2/ChangeLog	2013-02-23 00:57:10 UTC (rev 143816)
@@ -1,3 +1,19 @@
+2013-02-22  Tim Horton  <[email protected]>
+
+        [WK2] The root and page overlay layers should be the size of the view, not the content
+        https://bugs.webkit.org/show_bug.cgi?id=110660
+        <rdar://problem/13096456>
+
+        Reviewed by Simon Fraser.
+
+        Use the view size for the size of the root and page overlay layers.
+        For one, we never update these layers' sizes when the content size changes, causing size mismatches.
+        In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
+
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
+        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
+
 2013-02-22  Anders Carlsson  <[email protected]>
 
         pluginLoadStrategy should take a WKDictionaryRef for extensibility

Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (143815 => 143816)


--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm	2013-02-23 00:43:38 UTC (rev 143815)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm	2013-02-23 00:57:10 UTC (rev 143816)
@@ -380,7 +380,7 @@
     }
 
     if (m_pageOverlayLayer)
-        m_pageOverlayLayer->setSize(size);
+        m_pageOverlayLayer->setSize(viewSize);
 
     if (!m_layerTreeStateIsFrozen)
         flushLayers();
@@ -388,7 +388,7 @@
     [CATransaction begin];
     [CATransaction setDisableActions:YES];
 
-    m_rootLayer.get().frame = CGRectMake(0, 0, size.width(), size.height());
+    m_rootLayer.get().frame = CGRectMake(0, 0, viewSize.width(), viewSize.height());
 
     [CATransaction commit];
     
@@ -497,7 +497,7 @@
 
     m_pageOverlayLayer->setAcceleratesDrawing(true);
     m_pageOverlayLayer->setDrawsContent(true);
-    m_pageOverlayLayer->setSize(m_webPage->size());
+    m_pageOverlayLayer->setSize(expandedIntSize(FloatSize(m_rootLayer.get().frame.size)));
 
     m_pageOverlayPlatformLayer = m_pageOverlayLayer->platformLayer();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to