Title: [267265] branches/safari-610-branch
Revision
267265
Author
[email protected]
Date
2020-09-18 12:36:00 -0700 (Fri, 18 Sep 2020)

Log Message

Cherry-pick r266972. rdar://problem/69101020

    REGRESSION (r255383): Transition from email to password field on login.live.com stutters after going back and forth
    https://bugs.webkit.org/show_bug.cgi?id=216368
    <rdar://problem/67019460>

    Reviewed by Simon Fraser.

    Source/WebCore:

    Ensure we repaint before disconnecting from the backing provider layer.

    Test: compositing/animation/repaint-after-clearing-shared-backing.html

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

    LayoutTests:

    * compositing/animation/repaint-after-clearing-shared-backing-expected.html: Added.
    * compositing/animation/repaint-after-clearing-shared-backing.html: Added.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Added Paths

Diff

Modified: branches/safari-610-branch/LayoutTests/ChangeLog (267264 => 267265)


--- branches/safari-610-branch/LayoutTests/ChangeLog	2020-09-18 19:35:57 UTC (rev 267264)
+++ branches/safari-610-branch/LayoutTests/ChangeLog	2020-09-18 19:36:00 UTC (rev 267265)
@@ -1,5 +1,43 @@
 2020-09-17  Alan Coon  <[email protected]>
 
+        Cherry-pick r266972. rdar://problem/69101020
+
+    REGRESSION (r255383): Transition from email to password field on login.live.com stutters after going back and forth
+    https://bugs.webkit.org/show_bug.cgi?id=216368
+    <rdar://problem/67019460>
+    
+    Reviewed by Simon Fraser.
+    
+    Source/WebCore:
+    
+    Ensure we repaint before disconnecting from the backing provider layer.
+    
+    Test: compositing/animation/repaint-after-clearing-shared-backing.html
+    
+    * rendering/RenderLayerCompositor.cpp:
+    (WebCore::RenderLayerCompositor::updateBacking):
+    
+    LayoutTests:
+    
+    * compositing/animation/repaint-after-clearing-shared-backing-expected.html: Added.
+    * compositing/animation/repaint-after-clearing-shared-backing.html: Added.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-09-11  Antoine Quint  <[email protected]>
+
+            REGRESSION (r255383): Transition from email to password field on login.live.com stutters after going back and forth
+            https://bugs.webkit.org/show_bug.cgi?id=216368
+            <rdar://problem/67019460>
+
+            Reviewed by Simon Fraser.
+
+            * compositing/animation/repaint-after-clearing-shared-backing-expected.html: Added.
+            * compositing/animation/repaint-after-clearing-shared-backing.html: Added.
+
+2020-09-17  Alan Coon  <[email protected]>
+
         Cherry-pick r266827. rdar://problem/69101047
 
     [CG] REGRESSION (Big Sur): A GIF image with a finite loopCount loops an extra cycle

Added: branches/safari-610-branch/LayoutTests/compositing/animation/repaint-after-clearing-shared-backing-expected.html (0 => 267265)


--- branches/safari-610-branch/LayoutTests/compositing/animation/repaint-after-clearing-shared-backing-expected.html	                        (rev 0)
+++ branches/safari-610-branch/LayoutTests/compositing/animation/repaint-after-clearing-shared-backing-expected.html	2020-09-18 19:36:00 UTC (rev 267265)
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <style>
+            .background {
+                position: absolute;
+                top: 50px;
+                left: 50px;
+                width: 140px;
+                height: 140px;
+                background: blue;
+                will-change: transform;
+            }
+
+            .container {
+                position: absolute;
+                top: 100px;
+                left: 100px;
+                height: 500px;
+                width: 500px;
+                padding: 10px;
+                background-color: orange;
+            }
+
+            .content {
+                margin: 50px;
+                height: 200px;
+                background-color: rgba(255, 255, 255, 0.5);
+            }
+
+        </style>
+    </head>
+    <body>
+        <div class="background">fixed</div>
+        <div class="container">
+            container
+            <div class="content">fader</div>
+        </div>
+    </body>
+</html>

Added: branches/safari-610-branch/LayoutTests/compositing/animation/repaint-after-clearing-shared-backing.html (0 => 267265)


--- branches/safari-610-branch/LayoutTests/compositing/animation/repaint-after-clearing-shared-backing.html	                        (rev 0)
+++ branches/safari-610-branch/LayoutTests/compositing/animation/repaint-after-clearing-shared-backing.html	2020-09-18 19:36:00 UTC (rev 267265)
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <style>
+            .background {
+                position: absolute;
+                top: 50px;
+                left: 50px;
+                width: 140px;
+                height: 140px;
+                background: blue;
+                will-change: transform;
+            }
+
+            .container {
+                position: absolute;
+                top: 100px;
+                left: 100px;
+                height: 500px;
+                width: 500px;
+                padding: 10px;
+                background-color: orange;
+            }
+
+            .content {
+                height: 200px;
+                background-color: rgba(255, 255, 255, 0.5);
+            }
+
+            .fade-in {
+                animation-name: fade-in;
+                animation-duration: 1ms;
+            }
+
+            @keyframes fade-in {
+                from { opacity: 1 }
+                to { opacity: 1 }
+            }
+
+            .fade-out {
+                margin: 50px;
+                animation-name: fade-out;
+                animation-duration: 10s;
+            }
+
+            @keyframes fade-out {
+                from { opacity: 1 }
+                to { opacity: 1 }
+            }
+        </style>
+    </head>
+    <body>
+        <div class="background">fixed</div>
+        <div class="container">
+            container
+            <div class="content fade-in">fader</div>
+        </div>
+        <script>
+
+            if (window.testRunner)
+                testRunner.waitUntilDone();
+
+            document.querySelector(".content").addEventListener("animationend", event => {
+                setTimeout(() => {
+                    event.target.classList.remove("fade-in");
+                    event.target.classList.add("fade-out");
+
+                    if (window.testRunner)
+                        testRunner.notifyDone();
+                });
+            }, { once: true });
+
+        </script>
+    </body>
+</html>

Modified: branches/safari-610-branch/Source/WebCore/ChangeLog (267264 => 267265)


--- branches/safari-610-branch/Source/WebCore/ChangeLog	2020-09-18 19:35:57 UTC (rev 267264)
+++ branches/safari-610-branch/Source/WebCore/ChangeLog	2020-09-18 19:36:00 UTC (rev 267265)
@@ -1,5 +1,47 @@
 2020-09-17  Alan Coon  <[email protected]>
 
+        Cherry-pick r266972. rdar://problem/69101020
+
+    REGRESSION (r255383): Transition from email to password field on login.live.com stutters after going back and forth
+    https://bugs.webkit.org/show_bug.cgi?id=216368
+    <rdar://problem/67019460>
+    
+    Reviewed by Simon Fraser.
+    
+    Source/WebCore:
+    
+    Ensure we repaint before disconnecting from the backing provider layer.
+    
+    Test: compositing/animation/repaint-after-clearing-shared-backing.html
+    
+    * rendering/RenderLayerCompositor.cpp:
+    (WebCore::RenderLayerCompositor::updateBacking):
+    
+    LayoutTests:
+    
+    * compositing/animation/repaint-after-clearing-shared-backing-expected.html: Added.
+    * compositing/animation/repaint-after-clearing-shared-backing.html: Added.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-09-11  Antoine Quint  <[email protected]>
+
+            REGRESSION (r255383): Transition from email to password field on login.live.com stutters after going back and forth
+            https://bugs.webkit.org/show_bug.cgi?id=216368
+            <rdar://problem/67019460>
+
+            Reviewed by Simon Fraser.
+
+            Ensure we repaint before disconnecting from the backing provider layer.
+
+            Test: compositing/animation/repaint-after-clearing-shared-backing.html
+
+            * rendering/RenderLayerCompositor.cpp:
+            (WebCore::RenderLayerCompositor::updateBacking):
+
+2020-09-17  Alan Coon  <[email protected]>
+
         Cherry-pick r266827. rdar://problem/69101047
 
     [CG] REGRESSION (Big Sur): A GIF image with a finite loopCount loops an extra cycle

Modified: branches/safari-610-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp (267264 => 267265)


--- branches/safari-610-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp	2020-09-18 19:35:57 UTC (rev 267264)
+++ branches/safari-610-branch/Source/WebCore/rendering/RenderLayerCompositor.cpp	2020-09-18 19:36:00 UTC (rev 267265)
@@ -1675,14 +1675,15 @@
     };
 
     if (backingRequired == BackingRequired::Yes) {
+        // If we need to repaint, do so before making backing and disconnecting from the backing provider layer.
+        if (!layer.backing())
+            repaintLayer(layer);
+
         layer.disconnectFromBackingProviderLayer();
 
         enableCompositingMode();
         
         if (!layer.backing()) {
-            // If we need to repaint, do so before making backing
-            repaintLayer(layer);
-
             layer.ensureBacking();
 
             if (layer.isRenderViewLayer() && useCoordinatedScrollingForLayer(layer)) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to