Title: [258229] trunk/Source/WebCore
Revision
258229
Author
simon.fra...@apple.com
Date
2020-03-10 14:27:17 -0700 (Tue, 10 Mar 2020)

Log Message

REGRESSION (r257920): inbox flickers and disappears when scrolling gmail
https://bugs.webkit.org/show_bug.cgi?id=208883
rdar://problem/60287447

Partially revert r257920 since it caused gmail scrolling flickers.

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

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (258228 => 258229)


--- trunk/Source/WebCore/ChangeLog	2020-03-10 21:21:02 UTC (rev 258228)
+++ trunk/Source/WebCore/ChangeLog	2020-03-10 21:27:17 UTC (rev 258229)
@@ -1,3 +1,14 @@
+2020-03-10  Simon Fraser  <simon.fra...@apple.com>
+
+        REGRESSION (r257920): inbox flickers and disappears when scrolling gmail
+        https://bugs.webkit.org/show_bug.cgi?id=208883
+        rdar://problem/60287447
+
+        Partially revert r257920 since it caused gmail scrolling flickers.
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::isScrolledByOverflowScrollLayer):
+
 2020-03-10  Dean Jackson  <d...@apple.com>
 
         Set important EGL context attributes

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (258228 => 258229)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2020-03-10 21:21:02 UTC (rev 258228)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2020-03-10 21:27:17 UTC (rev 258229)
@@ -3194,7 +3194,15 @@
 
 static bool isScrolledByOverflowScrollLayer(const RenderLayer& layer, const RenderLayer& overflowScrollLayer)
 {
-    return layer.boxScrollingScope() == overflowScrollLayer.contentsScrollingScope();
+    bool scrolledByOverflowScroll = false;
+    traverseAncestorLayers(layer, [&](const RenderLayer& ancestorLayer, bool inContainingBlockChain, bool) {
+        if (&ancestorLayer == &overflowScrollLayer) {
+            scrolledByOverflowScroll = inContainingBlockChain;
+            return AncestorTraversal::Stop;
+        }
+        return AncestorTraversal::Continue;
+    });
+    return scrolledByOverflowScroll;
 }
 
 static RenderLayer* enclosingCompositedScrollingLayer(const RenderLayer& layer, const RenderLayer& intermediateLayer, bool& sawIntermediateLayer)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to