Title: [255636] branches/safari-610.1.1-branch/Source/WebKit
Revision
255636
Author
alanc...@apple.com
Date
2020-02-03 19:08:51 -0800 (Mon, 03 Feb 2020)

Log Message

Cherry-pick r255458. rdar://problem/59016256

    Can still get stuck after swipe backwards with a slow server, even after r254552
    https://bugs.webkit.org/show_bug.cgi?id=207017
    <rdar://problem/59016256>

    Reviewed by Chris Dumez.

    * UIProcess/ProvisionalPageProxy.cpp:
    (WebKit::ProvisionalPageProxy::unfreezeLayerTreeDueToSwipeAnimation):
    * UIProcess/ProvisionalPageProxy.h:
    * UIProcess/WebPageProxy.cpp:
    There's a second case where you can get stuck with the "swipe gesture"
    layer tree freeze reason in the web process: when doing a cross-origin
    navigation where the load takes more than 3 seconds (the swipe
    snapshot timeout) to commit, the provisional page will have mirrored
    the original page's frozen state upon creation, but will not ever
    receive the unfreeze, because it is sent while still provisional.

    To fix this, just forward the unfreeze message to the provisional page.

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

Modified Paths

Diff

Modified: branches/safari-610.1.1-branch/Source/WebKit/ChangeLog (255635 => 255636)


--- branches/safari-610.1.1-branch/Source/WebKit/ChangeLog	2020-02-04 03:08:48 UTC (rev 255635)
+++ branches/safari-610.1.1-branch/Source/WebKit/ChangeLog	2020-02-04 03:08:51 UTC (rev 255636)
@@ -1,5 +1,52 @@
 2020-02-03  Russell Epstein  <repst...@apple.com>
 
+        Cherry-pick r255458. rdar://problem/59016256
+
+    Can still get stuck after swipe backwards with a slow server, even after r254552
+    https://bugs.webkit.org/show_bug.cgi?id=207017
+    <rdar://problem/59016256>
+    
+    Reviewed by Chris Dumez.
+    
+    * UIProcess/ProvisionalPageProxy.cpp:
+    (WebKit::ProvisionalPageProxy::unfreezeLayerTreeDueToSwipeAnimation):
+    * UIProcess/ProvisionalPageProxy.h:
+    * UIProcess/WebPageProxy.cpp:
+    There's a second case where you can get stuck with the "swipe gesture"
+    layer tree freeze reason in the web process: when doing a cross-origin
+    navigation where the load takes more than 3 seconds (the swipe
+    snapshot timeout) to commit, the provisional page will have mirrored
+    the original page's frozen state upon creation, but will not ever
+    receive the unfreeze, because it is sent while still provisional.
+    
+    To fix this, just forward the unfreeze message to the provisional page.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-01-30  Tim Horton  <timothy_hor...@apple.com>
+
+            Can still get stuck after swipe backwards with a slow server, even after r254552
+            https://bugs.webkit.org/show_bug.cgi?id=207017
+            <rdar://problem/59016256>
+
+            Reviewed by Chris Dumez.
+
+            * UIProcess/ProvisionalPageProxy.cpp:
+            (WebKit::ProvisionalPageProxy::unfreezeLayerTreeDueToSwipeAnimation):
+            * UIProcess/ProvisionalPageProxy.h:
+            * UIProcess/WebPageProxy.cpp:
+            There's a second case where you can get stuck with the "swipe gesture"
+            layer tree freeze reason in the web process: when doing a cross-origin
+            navigation where the load takes more than 3 seconds (the swipe
+            snapshot timeout) to commit, the provisional page will have mirrored
+            the original page's frozen state upon creation, but will not ever
+            receive the unfreeze, because it is sent while still provisional.
+
+            To fix this, just forward the unfreeze message to the provisional page.
+
+2020-02-03  Russell Epstein  <repst...@apple.com>
+
         Cherry-pick r255456. rdar://problem/58966044
 
     REGRESSION (r253267): Swipe from edge on Twitter images no longer goes back

Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (255635 => 255636)


--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp	2020-02-04 03:08:48 UTC (rev 255635)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp	2020-02-04 03:08:51 UTC (rev 255636)
@@ -388,6 +388,11 @@
 }
 #endif
 
+void ProvisionalPageProxy::unfreezeLayerTreeDueToSwipeAnimation()
+{
+    send(Messages::WebPage::UnfreezeLayerTreeDueToSwipeAnimation());
+}
+
 void ProvisionalPageProxy::didReceiveMessage(IPC::Connection& connection, IPC::Decoder& decoder)
 {
     ASSERT(decoder.messageReceiverName() == Messages::WebPageProxy::messageReceiverName());

Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.h (255635 => 255636)


--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.h	2020-02-04 03:08:48 UTC (rev 255635)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.h	2020-02-04 03:08:51 UTC (rev 255636)
@@ -96,6 +96,8 @@
     void goToBackForwardItem(API::Navigation&, WebBackForwardListItem&, Optional<WebsitePoliciesData>&&);
     void cancel();
 
+    void unfreezeLayerTreeDueToSwipeAnimation();
+
     void processDidTerminate();
 
 private:

Modified: branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (255635 => 255636)


--- branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2020-02-04 03:08:48 UTC (rev 255635)
+++ branches/safari-610.1.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2020-02-04 03:08:51 UTC (rev 255636)
@@ -8524,6 +8524,9 @@
     if (m_isLayerTreeFrozenDueToSwipeAnimation) {
         m_isLayerTreeFrozenDueToSwipeAnimation = false;
         send(Messages::WebPage::UnfreezeLayerTreeDueToSwipeAnimation());
+
+        if (m_provisionalPage)
+            m_provisionalPage->unfreezeLayerTreeDueToSwipeAnimation();
     }
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to