Title: [142140] trunk
Revision
142140
Author
[email protected]
Date
2013-02-07 09:29:30 -0800 (Thu, 07 Feb 2013)

Log Message

Scrollbars misplaced with accelerated compositing for overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=108625

Reviewed by Simon Fraser.

Source/WebCore:

Scrollbars require their own layer if overflow scroll is composited,
otherwise the scrollbars would be rendered on the content layer and
not fixed to the viewport.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
(WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
(WebCore::RenderLayerBacking::requiresScrollCornerLayer):

LayoutTests:

Update the results for the one test that explicitly set accelerated compositing for overflow scroll,
and used to have bad results for non-chromium. The new baselines are almost identical to chomium baseline.

* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (142139 => 142140)


--- trunk/LayoutTests/ChangeLog	2013-02-07 17:18:47 UTC (rev 142139)
+++ trunk/LayoutTests/ChangeLog	2013-02-07 17:29:30 UTC (rev 142140)
@@ -1,3 +1,16 @@
+2013-02-07  Allan Sandfeld Jensen  <[email protected]>
+
+        Scrollbars misplaced with accelerated compositing for overflow scroll
+        https://bugs.webkit.org/show_bug.cgi?id=108625
+
+        Reviewed by Simon Fraser.
+
+        Update the results for the one test that explicitly set accelerated compositing for overflow scroll,
+        and used to have bad results for non-chromium. The new baselines are almost identical to chomium baseline.
+
+        * platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
+        * platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
+
 2013-02-07  Ádám Kallai  <[email protected]>
 
         [Qt] Unreviewed gardening. Added platform specific expected files after r140693.

Modified: trunk/LayoutTests/platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt (142139 => 142140)


--- trunk/LayoutTests/platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt	2013-02-07 17:18:47 UTC (rev 142139)
+++ trunk/LayoutTests/platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt	2013-02-07 17:29:30 UTC (rev 142140)
@@ -9,7 +9,7 @@
           (position 28.00 20.00)
           (bounds 202.00 202.00)
           (drawsContent 1)
-          (children 1
+          (children 4
             (GraphicsLayer
               (position 1.00 1.00)
               (bounds 200.00 200.00)
@@ -29,6 +29,21 @@
                 )
               )
             )
+            (GraphicsLayer
+              (position 1.00 186.00)
+              (bounds 185.00 15.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 186.00 1.00)
+              (bounds 15.00 185.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 186.00 186.00)
+              (bounds 15.00 15.00)
+              (drawsContent 1)
+            )
           )
         )
       )

Modified: trunk/LayoutTests/platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt (142139 => 142140)


--- trunk/LayoutTests/platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt	2013-02-07 17:18:47 UTC (rev 142139)
+++ trunk/LayoutTests/platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt	2013-02-07 17:29:30 UTC (rev 142140)
@@ -9,7 +9,7 @@
           (position 28.00 20.00)
           (bounds 202.00 202.00)
           (drawsContent 1)
-          (children 1
+          (children 4
             (GraphicsLayer
               (position 1.00 1.00)
               (bounds 200.00 200.00)
@@ -29,6 +29,21 @@
                 )
               )
             )
+            (GraphicsLayer
+              (position 1.00 186.00)
+              (bounds 185.00 15.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 186.00 1.00)
+              (bounds 15.00 185.00)
+              (drawsContent 1)
+            )
+            (GraphicsLayer
+              (position 186.00 186.00)
+              (bounds 15.00 15.00)
+              (drawsContent 1)
+            )
           )
         )
       )

Modified: trunk/Source/WebCore/ChangeLog (142139 => 142140)


--- trunk/Source/WebCore/ChangeLog	2013-02-07 17:18:47 UTC (rev 142139)
+++ trunk/Source/WebCore/ChangeLog	2013-02-07 17:29:30 UTC (rev 142140)
@@ -1,3 +1,19 @@
+2013-02-07  Allan Sandfeld Jensen  <[email protected]>
+
+        Scrollbars misplaced with accelerated compositing for overflow scroll
+        https://bugs.webkit.org/show_bug.cgi?id=108625
+
+        Reviewed by Simon Fraser.
+
+        Scrollbars require their own layer if overflow scroll is composited,
+        otherwise the scrollbars would be rendered on the content layer and
+        not fixed to the viewport.
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
+        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
+        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
+
 2013-02-07  Mike West  <[email protected]>
 
         Don't ASSERT things about uninitialized variables.

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (142139 => 142140)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2013-02-07 17:18:47 UTC (rev 142139)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2013-02-07 17:29:30 UTC (rev 142140)
@@ -972,7 +972,7 @@
 bool RenderLayerBacking::requiresHorizontalScrollbarLayer() const
 {
 #if !PLATFORM(CHROMIUM)
-    if (!m_owningLayer->hasOverlayScrollbars())
+    if (!m_owningLayer->hasOverlayScrollbars() && !m_owningLayer->needsCompositedScrolling())
         return false;
 #endif
     return m_owningLayer->horizontalScrollbar();
@@ -981,7 +981,7 @@
 bool RenderLayerBacking::requiresVerticalScrollbarLayer() const
 {
 #if !PLATFORM(CHROMIUM)
-    if (!m_owningLayer->hasOverlayScrollbars())
+    if (!m_owningLayer->hasOverlayScrollbars() && !m_owningLayer->needsCompositedScrolling())
         return false;
 #endif
     return m_owningLayer->verticalScrollbar();
@@ -990,7 +990,7 @@
 bool RenderLayerBacking::requiresScrollCornerLayer() const
 {
 #if !PLATFORM(CHROMIUM)
-    if (!m_owningLayer->hasOverlayScrollbars())
+    if (!m_owningLayer->hasOverlayScrollbars() && !m_owningLayer->needsCompositedScrolling())
         return false;
 #endif
     return !m_owningLayer->scrollCornerAndResizerRect().isEmpty();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to