Regression(r244144) ProcessSwap.ReuseSuspendedProcessLoadHTMLString API test is flaky
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Apr 2019 06:48:20 +0000 (06:48 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Apr 2019 06:48:20 +0000 (06:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=196784

Reviewed by Antti Koivisto.

When we enter accelerated compositing mode in the new process, we supposed to *close* the last
SuspendedPageProxy, not destroy it. This was causing flakiness in the test because it was testing
that we were using the SuspendedPageProxy's process for a cross-site link navigation, which is
an optimization. This optimization was partly broken by r244144 as the SuspendedPageProxy would
not sometimes be gone by the time we need it.

* UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::pageEnteredAcceleratedCompositingMode):

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

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/SuspendedPageProxy.cpp

index ba05193..c688ba1 100644 (file)
@@ -1,3 +1,19 @@
+2019-04-10  Chris Dumez  <cdumez@apple.com>
+
+        Regression(r244144) ProcessSwap.ReuseSuspendedProcessLoadHTMLString API test is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=196784
+
+        Reviewed by Antti Koivisto.
+
+        When we enter accelerated compositing mode in the new process, we supposed to *close* the last
+        SuspendedPageProxy, not destroy it. This was causing flakiness in the test because it was testing
+        that we were using the SuspendedPageProxy's process for a cross-site link navigation, which is
+        an optimization. This optimization was partly broken by r244144 as the SuspendedPageProxy would
+        not sometimes be gone by the time we need it.
+
+        * UIProcess/SuspendedPageProxy.cpp:
+        (WebKit::SuspendedPageProxy::pageEnteredAcceleratedCompositingMode):
+
 2019-04-10  Alex Christensen  <achristensen@webkit.org>
 
         WKNavigationResponse._downloadAttribute should be nil when no download attribute is present
index 8d49480..d4e4101 100644 (file)
@@ -169,7 +169,7 @@ void SuspendedPageProxy::pageEnteredAcceleratedCompositingMode()
 
     if (m_suspensionState == SuspensionState::FailedToSuspend) {
         // We needed the failed suspended page to stay alive to avoid flashing. Now we can get rid of it.
-        m_process->processPool().removeSuspendedPage(*this); // Will destroy |this|.
+        close();
     }
 }