Title: [168253] trunk/Source/WebCore
Revision
168253
Author
simon.fra...@apple.com
Date
2014-05-04 20:49:08 -0700 (Sun, 04 May 2014)

Log Message

[iOS WK2] Compositing layers in iframes are misplaced
https://bugs.webkit.org/show_bug.cgi?id=132554
<rdar://problem/16203027>

Reviewed by Benjamin Poulain.

Have requiresScrollLayer() only consider frameView.delegatesScrolling()
for the main frame, so that iframes get scroll layers (even though they
will never scroll), so that the rest of geometry code works as on other
platforms.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresScrollLayer):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (168252 => 168253)


--- trunk/Source/WebCore/ChangeLog	2014-05-05 01:16:18 UTC (rev 168252)
+++ trunk/Source/WebCore/ChangeLog	2014-05-05 03:49:08 UTC (rev 168253)
@@ -1,3 +1,19 @@
+2014-05-04  Simon Fraser  <simon.fra...@apple.com>
+
+        [iOS WK2] Compositing layers in iframes are misplaced
+        https://bugs.webkit.org/show_bug.cgi?id=132554
+        <rdar://problem/16203027>
+
+        Reviewed by Benjamin Poulain.
+
+        Have requiresScrollLayer() only consider frameView.delegatesScrolling()
+        for the main frame, so that iframes get scroll layers (even though they
+        will never scroll), so that the rest of geometry code works as on other
+        platforms.
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::requiresScrollLayer):
+
 2014-05-04  Gyuyoung Kim  <gyuyoung....@samsung.com>
 
         Use std::unique_ptr in m_taskTimer of Notification class

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (168252 => 168253)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2014-05-05 01:16:18 UTC (rev 168252)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2014-05-05 03:49:08 UTC (rev 168253)
@@ -2661,8 +2661,10 @@
 
 bool RenderLayerCompositor::requiresScrollLayer(RootLayerAttachment attachment) const
 {
+    FrameView& frameView = m_renderView.frameView();
+
     // This applies when the application UI handles scrolling, in which case RenderLayerCompositor doesn't need to manage it.
-    if (m_renderView.frameView().delegatesScrolling())
+    if (frameView.delegatesScrolling() && frameView.frame().isMainFrame())
         return false;
 
     // We need to handle our own scrolling if we're:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to