Title: [272567] trunk
Revision
272567
Author
[email protected]
Date
2021-02-08 21:37:44 -0800 (Mon, 08 Feb 2021)

Log Message

REGRESSION (r269458): yahoo.com social / comments bar shows as transparent when scrolling page
https://bugs.webkit.org/show_bug.cgi?id=221582
Source/WebCore:

<rdar://problem/73795359>

Reviewed by Tim Horton.

Fix some copypasta in r269458 that resulted in scrolling state fixed nodes failing to get
the right dirty bits after attach, resulting bad viewport constraint data.

Test: scrollingcoordinator/fixed-node-reattach.html

* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::applicableProperties const):

LayoutTests:

Reviewed by Tim Horton.

* scrollingcoordinator/fixed-node-reattach-expected.html: Added.
* scrollingcoordinator/fixed-node-reattach.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (272566 => 272567)


--- trunk/LayoutTests/ChangeLog	2021-02-09 03:30:17 UTC (rev 272566)
+++ trunk/LayoutTests/ChangeLog	2021-02-09 05:37:44 UTC (rev 272567)
@@ -1,3 +1,13 @@
+2021-02-08  Simon Fraser  <[email protected]>
+
+        REGRESSION (r269458): yahoo.com social / comments bar shows as transparent when scrolling page
+        https://bugs.webkit.org/show_bug.cgi?id=221582
+
+        Reviewed by Tim Horton.
+
+        * scrollingcoordinator/fixed-node-reattach-expected.html: Added.
+        * scrollingcoordinator/fixed-node-reattach.html: Added.
+
 2021-02-08  Patrick Angle  <[email protected]>
 
         Web Inspector: Add `CSS.setLayoutContextTypeChangedMode` for getting information about all layout contexts

Added: trunk/LayoutTests/scrollingcoordinator/fixed-node-reattach-expected.html (0 => 272567)


--- trunk/LayoutTests/scrollingcoordinator/fixed-node-reattach-expected.html	                        (rev 0)
+++ trunk/LayoutTests/scrollingcoordinator/fixed-node-reattach-expected.html	2021-02-09 05:37:44 UTC (rev 272567)
@@ -0,0 +1,39 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ AsyncFrameScrollingEnabled=true ] -->
+<html>
+<head>
+    <style>
+        iframe {
+            border: 1px solid black;
+            height: 100px;
+        }
+    </style>
+    <script>
+        window.addEventListener('load', async () => {
+            if (!window.testRunner)
+                return;
+
+            testRunner.waitUntilDone();
+            await new Promise(requestAnimationFrame);
+            testRunner.notifyDone();
+        }, false);
+    </script>
+    
+</head>
+<body>
+
+    <iframe id=frame _onload_='test()' srcdoc='
+    <style>
+    .fixed {
+        position: fixed;
+        height: 100px;
+        width: 200px;
+        bottom: 100px;
+        transform: translate3d(0, 100%, 0);
+        background-color: green;
+    }
+    </style>
+    <div class=fixed>
+    </div>'></iframe>
+    
+</body>
+</html>

Added: trunk/LayoutTests/scrollingcoordinator/fixed-node-reattach.html (0 => 272567)


--- trunk/LayoutTests/scrollingcoordinator/fixed-node-reattach.html	                        (rev 0)
+++ trunk/LayoutTests/scrollingcoordinator/fixed-node-reattach.html	2021-02-09 05:37:44 UTC (rev 272567)
@@ -0,0 +1,46 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ AsyncFrameScrollingEnabled=true ] -->
+<html>
+<head>
+    <style>
+        iframe {
+            border: 1px solid black;
+            height: 100px;
+        }
+    </style>
+    <script>
+        window.addEventListener('load', async () => {
+            if (!window.testRunner)
+                return;
+
+            testRunner.waitUntilDone();
+
+            await new Promise(requestAnimationFrame);
+            internals.setPageIsInWindow(false);
+            await new Promise(requestAnimationFrame);
+            internals.setPageIsInWindow(true);
+
+            await new Promise(requestAnimationFrame);
+
+            testRunner.notifyDone();
+        }, false);
+    </script>
+    
+</head>
+<body>
+
+    <iframe id=frame _onload_='test()' srcdoc='
+    <style>
+    .fixed {
+        position: fixed;
+        height: 100px;
+        width: 200px;
+        bottom: 100px;
+        transform: translate3d(0, 100%, 0);
+        background-color: green;
+    }
+    </style>
+    <div class=fixed>
+    </div>'></iframe>
+    
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (272566 => 272567)


--- trunk/Source/WebCore/ChangeLog	2021-02-09 03:30:17 UTC (rev 272566)
+++ trunk/Source/WebCore/ChangeLog	2021-02-09 05:37:44 UTC (rev 272567)
@@ -1,3 +1,19 @@
+2021-02-08  Simon Fraser  <[email protected]>
+
+        REGRESSION (r269458): yahoo.com social / comments bar shows as transparent when scrolling page
+        https://bugs.webkit.org/show_bug.cgi?id=221582
+        <rdar://problem/73795359>
+
+        Reviewed by Tim Horton.
+        
+        Fix some copypasta in r269458 that resulted in scrolling state fixed nodes failing to get
+        the right dirty bits after attach, resulting bad viewport constraint data.
+
+        Test: scrollingcoordinator/fixed-node-reattach.html
+
+        * page/scrolling/ScrollingStateFixedNode.cpp:
+        (WebCore::ScrollingStateFixedNode::applicableProperties const):
+
 2021-02-08  Patrick Angle  <[email protected]>
 
         Web Inspector: Add `CSS.setLayoutContextTypeChangedMode` for getting information about all layout contexts

Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp (272566 => 272567)


--- trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp	2021-02-09 03:30:17 UTC (rev 272566)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp	2021-02-09 05:37:44 UTC (rev 272567)
@@ -60,7 +60,7 @@
 
 OptionSet<ScrollingStateNode::Property> ScrollingStateFixedNode::applicableProperties() const
 {
-    constexpr OptionSet<Property> nodeProperties = { Property::RelatedOverflowScrollingNodes, Property::LayoutConstraintData };
+    constexpr OptionSet<Property> nodeProperties = { Property::ViewportConstraints };
 
     auto properties = ScrollingStateNode::applicableProperties();
     properties.add(nodeProperties);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to