Title: [255458] trunk/Source/WebKit
- Revision
- 255458
- Author
- [email protected]
- Date
- 2020-01-30 14:31:31 -0800 (Thu, 30 Jan 2020)
Log Message
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.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (255457 => 255458)
--- trunk/Source/WebKit/ChangeLog 2020-01-30 22:13:23 UTC (rev 255457)
+++ trunk/Source/WebKit/ChangeLog 2020-01-30 22:31:31 UTC (rev 255458)
@@ -1,3 +1,24 @@
+2020-01-30 Tim Horton <[email protected]>
+
+ 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-01-30 Per Arne Vollan <[email protected]>
[iOS] Issue mach sandbox extension to the frontboard and icon service when the attachment element is enabled
Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (255457 => 255458)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp 2020-01-30 22:13:23 UTC (rev 255457)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp 2020-01-30 22:31:31 UTC (rev 255458)
@@ -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: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h (255457 => 255458)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2020-01-30 22:13:23 UTC (rev 255457)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2020-01-30 22:31:31 UTC (rev 255458)
@@ -96,6 +96,8 @@
void goToBackForwardItem(API::Navigation&, WebBackForwardListItem&, Optional<WebsitePoliciesData>&&);
void cancel();
+ void unfreezeLayerTreeDueToSwipeAnimation();
+
void processDidTerminate();
private:
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (255457 => 255458)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-01-30 22:13:23 UTC (rev 255457)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-01-30 22:31:31 UTC (rev 255458)
@@ -8569,6 +8569,9 @@
if (m_isLayerTreeFrozenDueToSwipeAnimation) {
m_isLayerTreeFrozenDueToSwipeAnimation = false;
send(Messages::WebPage::UnfreezeLayerTreeDueToSwipeAnimation());
+
+ if (m_provisionalPage)
+ m_provisionalPage->unfreezeLayerTreeDueToSwipeAnimation();
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes