Title: [244752] trunk
Revision
244752
Author
[email protected]
Date
2019-04-29 13:45:26 -0700 (Mon, 29 Apr 2019)

Log Message

REGRESSION (r238090): animation on https://www.robotodyssey.online gets stuck; site broken
https://bugs.webkit.org/show_bug.cgi?id=197381
Source/WebCore:

Reviewed by Zalan Bujtas.

When -webkit-clip-path changes on a composited layer, we need to trigger a backing geometry update
to push the changes to GraphicsLayers.

Test: compositing/style-change/clip-path-change.html

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

LayoutTests:

<rdar://problem/50308128>

Reviewed by Zalan Bujtas.

* compositing/style-change/clip-path-change-expected.html: Added.
* compositing/style-change/clip-path-change.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (244751 => 244752)


--- trunk/LayoutTests/ChangeLog	2019-04-29 20:34:16 UTC (rev 244751)
+++ trunk/LayoutTests/ChangeLog	2019-04-29 20:45:26 UTC (rev 244752)
@@ -1,3 +1,15 @@
+2019-04-29  Javier Fernandez  <[email protected]>
+
+        line should not be broken before the first space after a word
+        https://bugs.webkit.org/show_bug.cgi?id=197278
+
+        Reviewed by Myles C. Maxfield.
+
+        Added a few Skip (due to unimplemented features) and Failure (break-all related
+        issues) entries for some of the tests added by this patch.
+
+        * TestExpectations:
+
 2019-04-29  Youenn Fablet  <[email protected]>
 
         getDisplayMedia should be called on user gesture
@@ -15,18 +27,17 @@
 
         * resources/testharnessreport.js:
 
-2019-04-29  Javier Fernandez  <[email protected]>
+2019-04-29  Simon Fraser  <[email protected]>
 
-        line should not be broken before the first space after a word
-        https://bugs.webkit.org/show_bug.cgi?id=197278
+        REGRESSION (r238090): animation on https://www.robotodyssey.online gets stuck; site broken
+        https://bugs.webkit.org/show_bug.cgi?id=197381
+        <rdar://problem/50308128>
 
-        Reviewed by Myles C. Maxfield.
+        Reviewed by Zalan Bujtas.
 
-        Added a few Skip (due to unimplemented features) and Failure (break-all related
-        issues) entries for some of the tests added by this patch.
+        * compositing/style-change/clip-path-change-expected.html: Added.
+        * compositing/style-change/clip-path-change.html: Added.
 
-        * TestExpectations:
-
 2019-04-29  Youenn Fablet  <[email protected]>
 
         RTCTrackEvent should be delayed until the whole remote description is set

Added: trunk/LayoutTests/compositing/style-change/clip-path-change-expected.html (0 => 244752)


--- trunk/LayoutTests/compositing/style-change/clip-path-change-expected.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/style-change/clip-path-change-expected.html	2019-04-29 20:45:26 UTC (rev 244752)
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <style>
+        .container {
+            margin: 50px;
+            height: 300px;
+            width: 300px;
+            border: 1px solid black;
+        }
+        
+        .clipped {
+            width: 100%;
+            height: 100%;
+            background-color: blue;
+            transform: translateZ(0);
+            -webkit-clip-path: circle(50% at center);
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <div class="clipped"></div>
+    </div>
+</body>
+</html>

Added: trunk/LayoutTests/compositing/style-change/clip-path-change.html (0 => 244752)


--- trunk/LayoutTests/compositing/style-change/clip-path-change.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/style-change/clip-path-change.html	2019-04-29 20:45:26 UTC (rev 244752)
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <style>
+        .container {
+            margin: 50px;
+            height: 300px;
+            width: 300px;
+            border: 1px solid black;
+        }
+        
+        .clipped {
+            width: 100%;
+            height: 100%;
+            background-color: blue;
+            transform: translateZ(0);
+            -webkit-clip-path: circle(10% at center);
+        }
+        
+        .clipped.changed {
+            -webkit-clip-path: circle(50% at center);
+        }
+    </style>
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+
+        window.addEventListener('load', () => {
+            setTimeout(() => {
+                document.querySelector('.clipped').classList.add('changed');
+                if (window.testRunner)
+                    testRunner.notifyDone();
+            }, 0);
+        }, false);
+    </script>
+</head>
+<body>
+    <div class="container">
+        <div class="clipped"></div>
+    </div>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (244751 => 244752)


--- trunk/Source/WebCore/ChangeLog	2019-04-29 20:34:16 UTC (rev 244751)
+++ trunk/Source/WebCore/ChangeLog	2019-04-29 20:45:26 UTC (rev 244752)
@@ -73,6 +73,21 @@
         (WebCore::BreakingContext::handleText):
         (WebCore::BreakingContext::trailingSpacesHang):
 
+2019-04-29  Simon Fraser  <[email protected]>
+
+        REGRESSION (r238090): animation on https://www.robotodyssey.online gets stuck; site broken
+        https://bugs.webkit.org/show_bug.cgi?id=197381
+
+        Reviewed by Zalan Bujtas.
+
+        When -webkit-clip-path changes on a composited layer, we need to trigger a backing geometry update
+        to push the changes to GraphicsLayers.
+
+        Test: compositing/style-change/clip-path-change.html
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::recompositeChangeRequiresGeometryUpdate):
+
 2019-04-29  Chris Dumez  <[email protected]>
 
         User-facing strings should use curly quotes instead of straight

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (244751 => 244752)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2019-04-29 20:34:16 UTC (rev 244751)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2019-04-29 20:45:26 UTC (rev 244752)
@@ -1434,7 +1434,8 @@
         || oldStyle.perspective() != newStyle.perspective()
         || oldStyle.perspectiveOriginX() != newStyle.perspectiveOriginX()
         || oldStyle.perspectiveOriginY() != newStyle.perspectiveOriginY()
-        || oldStyle.backfaceVisibility() != newStyle.backfaceVisibility();
+        || oldStyle.backfaceVisibility() != newStyle.backfaceVisibility()
+        || !arePointingToEqualData(oldStyle.clipPath(), newStyle.clipPath());
 }
 
 void RenderLayerCompositor::layerStyleChanged(StyleDifference diff, RenderLayer& layer, const RenderStyle* oldStyle)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to