Title: [251599] trunk/Source/WebKit
Revision
251599
Author
cdu...@apple.com
Date
2019-10-25 12:25:29 -0700 (Fri, 25 Oct 2019)

Log Message

[iOS][WK2] Use sendWithAsyncReply() to simplify the prepareToSuspend logic
https://bugs.webkit.org/show_bug.cgi?id=203422

Reviewed by Alex Christensen.

Use sendWithAsyncReply() to simplify the prepareToSuspend logic and make it easier to
understand.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::processWillSuspendImminentlyForTestingSync):
(WebKit::NetworkProcess::prepareToSuspend):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _processWillSuspendImminentlyForTesting]):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::sendPrepareToSuspend):
(WebKit::NetworkProcessProxy::processReadyToSuspend): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
* UIProcess/ProcessThrottler.h:
* UIProcess/ProcessThrottlerClient.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::sendPrepareToSuspend):
(WebKit::WebProcessProxy::processReadyToSuspend): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prepareToSuspend):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (251598 => 251599)


--- trunk/Source/WebKit/ChangeLog	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/ChangeLog	2019-10-25 19:25:29 UTC (rev 251599)
@@ -1,3 +1,40 @@
+2019-10-25  Chris Dumez  <cdu...@apple.com>
+
+        [iOS][WK2] Use sendWithAsyncReply() to simplify the prepareToSuspend logic
+        https://bugs.webkit.org/show_bug.cgi?id=203422
+
+        Reviewed by Alex Christensen.
+
+        Use sendWithAsyncReply() to simplify the prepareToSuspend logic and make it easier to
+        understand.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::processWillSuspendImminentlyForTestingSync):
+        (WebKit::NetworkProcess::prepareToSuspend):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _processWillSuspendImminentlyForTesting]):
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::sendPrepareToSuspend):
+        (WebKit::NetworkProcessProxy::processReadyToSuspend): Deleted.
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/Network/NetworkProcessProxy.messages.in:
+        * UIProcess/ProcessThrottler.cpp:
+        (WebKit::ProcessThrottler::processReadyToSuspend):
+        (WebKit::ProcessThrottler::sendPrepareToSuspendIPC):
+        * UIProcess/ProcessThrottler.h:
+        * UIProcess/ProcessThrottlerClient.h:
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::sendPrepareToSuspend):
+        (WebKit::WebProcessProxy::processReadyToSuspend): Deleted.
+        * UIProcess/WebProcessProxy.h:
+        * UIProcess/WebProcessProxy.messages.in:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::prepareToSuspend):
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+
 2019-10-25  youenn fablet  <you...@apple.com>
 
         WebProcess should unregister its interest for a SWServerRegistration when all its corresponding ServiceWorkerRegistrations are destroyed

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (251598 => 251599)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2019-10-25 19:25:29 UTC (rev 251599)
@@ -2077,13 +2077,12 @@
 
 void NetworkProcess::processWillSuspendImminentlyForTestingSync(CompletionHandler<void()>&& completionHandler)
 {
-    prepareToSuspend(0, true);
-    completionHandler();
+    prepareToSuspend(true, WTFMove(completionHandler));
 }
 
-void NetworkProcess::prepareToSuspend(uint64_t requestToSuspendID, bool isSuspensionImminent)
+void NetworkProcess::prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&& completionHandler)
 {
-    RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::prepareToSuspend(%" PRIu64 "), isSuspensionImminent: %d", this, requestToSuspendID, isSuspensionImminent);
+    RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::prepareToSuspend(), isSuspensionImminent: %d", this, isSuspensionImminent);
 
 #if PLATFORM(IOS_FAMILY) && ENABLE(INDEXED_DATABASE)
     for (auto& server : m_idbServers.values())
@@ -2096,14 +2095,10 @@
 
     lowMemoryHandler(Critical::Yes);
 
-    RefPtr<CallbackAggregator> callbackAggregator;
-    if (requestToSuspendID) {
-        callbackAggregator = CallbackAggregator::create([this, requestToSuspendID] {
-            RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::notifyProcessReadyToSuspend(%" PRIu64 ") Sending ProcessReadyToSuspend IPC message", this, requestToSuspendID);
-            if (parentProcessConnection())
-                parentProcessConnection()->send(Messages::NetworkProcessProxy::ProcessReadyToSuspend(requestToSuspendID), 0);
-        });
-    }
+    RefPtr<CallbackAggregator> callbackAggregator = CallbackAggregator::create([this, completionHandler = WTFMove(completionHandler)]() mutable {
+        RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::prepareToSuspend() Process is ready to suspend", this);
+        completionHandler();
+    });
 
     platformPrepareToSuspend([callbackAggregator] { });
     platformSyncAllCookies([callbackAggregator] { });

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (251598 => 251599)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h	2019-10-25 19:25:29 UTC (rev 251599)
@@ -175,7 +175,7 @@
 #endif
 
     void processWillSuspendImminentlyForTestingSync(CompletionHandler<void()>&&);
-    void prepareToSuspend(uint64_t requestToSuspendID, bool isSuspensionImminent);
+    void prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&&);
     void processDidResume();
     void resume();
 

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (251598 => 251599)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in	2019-10-25 19:25:29 UTC (rev 251599)
@@ -75,7 +75,7 @@
     ProcessDidTransitionToForeground()
 
     ProcessWillSuspendImminentlyForTestingSync() -> () Synchronous
-    PrepareToSuspend(uint64_t requestToSuspendID, bool isSuspensionImminent)
+    PrepareToSuspend(bool isSuspensionImminent) -> () Async
     ProcessDidResume()
 
 #if ENABLE(RESOURCE_LOAD_STATISTICS)

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2019-10-25 19:25:29 UTC (rev 251599)
@@ -7611,7 +7611,7 @@
 - (void)_processWillSuspendImminentlyForTesting
 {
     if (_page)
-        _page->process().sendPrepareToSuspend(0, WebKit::IsSuspensionImminent::Yes);
+        _page->process().sendPrepareToSuspend(WebKit::IsSuspensionImminent::Yes, [] { });
 }
 
 - (void)_processDidResumeForTesting

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2019-10-25 19:25:29 UTC (rev 251599)
@@ -1074,10 +1074,9 @@
         sendSync(Messages::NetworkProcess::ProcessWillSuspendImminentlyForTestingSync(), Messages::NetworkProcess::ProcessWillSuspendImminentlyForTestingSync::Reply(), 0);
 }
     
-void NetworkProcessProxy::sendPrepareToSuspend(uint64_t requestToSuspendID, IsSuspensionImminent isSuspensionImminent)
+void NetworkProcessProxy::sendPrepareToSuspend(IsSuspensionImminent isSuspensionImminent, CompletionHandler<void()>&& completionHandler)
 {
-    if (canSendMessage())
-        send(Messages::NetworkProcess::PrepareToSuspend(requestToSuspendID, isSuspensionImminent == IsSuspensionImminent::Yes), 0);
+    sendWithAsyncReply(Messages::NetworkProcess::PrepareToSuspend(isSuspensionImminent == IsSuspensionImminent::Yes), WTFMove(completionHandler));
 }
 
 void NetworkProcessProxy::sendProcessDidResume()
@@ -1086,11 +1085,6 @@
         send(Messages::NetworkProcess::ProcessDidResume(), 0);
 }
 
-void NetworkProcessProxy::processReadyToSuspend(uint64_t requestToSuspendID)
-{
-    m_throttler.processReadyToSuspend(requestToSuspendID);
-}
-
 void NetworkProcessProxy::didSetAssertionState(AssertionState)
 {
 }

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h	2019-10-25 19:25:29 UTC (rev 251599)
@@ -159,8 +159,6 @@
     void setShouldDowngradeReferrerForTesting(bool, CompletionHandler<void()>&&);
     void setShouldBlockThirdPartyCookiesForTesting(PAL::SessionID, bool, CompletionHandler<void()>&&);
 #endif
-
-    void processReadyToSuspend(uint64_t requestToSuspendID);
     
     void sendProcessDidTransitionToForeground();
     void sendProcessDidTransitionToBackground();
@@ -208,7 +206,7 @@
     void clearCallbackStates();
 
     // ProcessThrottlerClient
-    void sendPrepareToSuspend(uint64_t requestToSuspendID, IsSuspensionImminent) final;
+    void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) final;
     void didSetAssertionState(AssertionState) final;
 
     // IPC::Connection::Client

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in	2019-10-25 19:25:29 UTC (rev 251599)
@@ -31,7 +31,6 @@
 
     TestProcessIncomingSyncMessagesWhenWaitingForSyncReply(WebKit::WebPageProxyIdentifier pageID) -> (bool handled) Synchronous
 
-    ProcessReadyToSuspend(uint64_t pendingRequestToSuspendID)
     SetIsHoldingLockedFiles(bool isHoldingLockedFiles)
 
     # Diagnostic messages logging

Modified: trunk/Source/WebKit/UIProcess/ProcessThrottler.cpp (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/ProcessThrottler.cpp	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/ProcessThrottler.cpp	2019-10-25 19:25:29 UTC (rev 251599)
@@ -123,13 +123,11 @@
     updateAssertionStateNow();
 }
     
-void ProcessThrottler::processReadyToSuspend(uint64_t requestToSuspendID)
+void ProcessThrottler::processReadyToSuspend()
 {
-    RELEASE_ASSERT(requestToSuspendID);
-    if (!m_pendingRequestToSuspendID || *m_pendingRequestToSuspendID != requestToSuspendID)
-        return;
+    RELEASE_LOG(ProcessSuspension, "[PID: %d] %p - ProcessThrottler::processReadyToSuspend() Updating process assertion to allow suspension", m_processIdentifier, this);
 
-    RELEASE_LOG(ProcessSuspension, "[PID: %d] %p - ProcessThrottler::processReadyToSuspend(%" PRIu64 ") Updating process assertion to allow suspension", m_processIdentifier, this, requestToSuspendID);
+    RELEASE_ASSERT(m_pendingRequestToSuspendID);
     clearPendingRequestToSuspend();
 
     if (m_assertion->state() != AssertionState::Suspended)
@@ -152,7 +150,10 @@
     } else {
         m_pendingRequestToSuspendID = generatePrepareToSuspendRequestID();
         RELEASE_LOG(ProcessSuspension, "[PID: %d] %p - ProcessThrottler::sendPrepareToSuspendIPC() Sending PrepareToSuspend(%" PRIu64 ", isSuspensionImminent: %d) IPC", m_processIdentifier, this, *m_pendingRequestToSuspendID, isSuspensionImminent == IsSuspensionImminent::Yes);
-        m_process.sendPrepareToSuspend(*m_pendingRequestToSuspendID, isSuspensionImminent);
+        m_process.sendPrepareToSuspend(isSuspensionImminent, [this, weakThis = makeWeakPtr(*this), requestToSuspendID = *m_pendingRequestToSuspendID]() mutable {
+            if (weakThis && m_pendingRequestToSuspendID && *m_pendingRequestToSuspendID == requestToSuspendID)
+                processReadyToSuspend();
+        });
     }
 
     setAssertionState(isSuspensionImminent == IsSuspensionImminent::Yes ? AssertionState::Suspended : AssertionState::Background);

Modified: trunk/Source/WebKit/UIProcess/ProcessThrottler.h (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/ProcessThrottler.h	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/ProcessThrottler.h	2019-10-25 19:25:29 UTC (rev 251599)
@@ -45,7 +45,7 @@
 
 class ProcessThrottlerClient;
 
-class ProcessThrottler : private ProcessAssertion::Client {
+class ProcessThrottler : public CanMakeWeakPtr<ProcessThrottler>, private ProcessAssertion::Client {
 public:
     enum ForegroundActivityCounterType { };
     typedef RefCounter<ForegroundActivityCounterType> ForegroundActivityCounter;
@@ -60,7 +60,6 @@
     BackgroundActivityToken backgroundActivityToken() const;
     
     void didConnectToProcess(ProcessID);
-    void processReadyToSuspend(uint64_t pendingRequestToSuspendID);
     bool shouldBeRunnable() const { return m_foregroundCounter.value() || m_backgroundCounter.value(); }
 
 private:
@@ -70,6 +69,7 @@
     void setAssertionState(AssertionState);
     void prepareToSuspendTimeoutTimerFired();
     void sendPrepareToSuspendIPC(IsSuspensionImminent);
+    void processReadyToSuspend();
 
     // ProcessAssertionClient
     void uiAssertionWillExpireImminently() override;

Modified: trunk/Source/WebKit/UIProcess/ProcessThrottlerClient.h (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/ProcessThrottlerClient.h	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/ProcessThrottlerClient.h	2019-10-25 19:25:29 UTC (rev 251599)
@@ -36,7 +36,7 @@
 public:
     virtual ~ProcessThrottlerClient() { }
 
-    virtual void sendPrepareToSuspend(uint64_t requestToSuspendID, IsSuspensionImminent) = 0;
+    virtual void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) = 0;
     virtual void sendProcessDidResume() = 0;
     virtual void didSetAssertionState(AssertionState) = 0;
 };

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp	2019-10-25 19:25:29 UTC (rev 251599)
@@ -1217,10 +1217,9 @@
     return UserData::transform(object, Transformer());
 }
 
-void WebProcessProxy::sendPrepareToSuspend(uint64_t requestToSuspendID, IsSuspensionImminent isSuspensionImminent)
+void WebProcessProxy::sendPrepareToSuspend(IsSuspensionImminent isSuspensionImminent, CompletionHandler<void()>&& completionHandler)
 {
-    if (canSendMessage())
-        send(Messages::WebProcess::PrepareToSuspend(requestToSuspendID, isSuspensionImminent == IsSuspensionImminent::Yes), 0);
+    sendWithAsyncReply(Messages::WebProcess::PrepareToSuspend(isSuspensionImminent == IsSuspensionImminent::Yes), WTFMove(completionHandler));
 }
 
 void WebProcessProxy::sendProcessDidResume()
@@ -1229,11 +1228,6 @@
         send(Messages::WebProcess::ProcessDidResume(), 0);
 }
 
-void WebProcessProxy::processReadyToSuspend(uint64_t requestToSuspendID)
-{
-    m_throttler.processReadyToSuspend(requestToSuspendID);
-}
-
 void WebProcessProxy::didSetAssertionState(AssertionState state)
 {
 #if PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h	2019-10-25 19:25:29 UTC (rev 251599)
@@ -223,8 +223,6 @@
 
     void windowServerConnectionStateChanged();
 
-    void processReadyToSuspend(uint64_t requestToSuspendID);
-
     void setIsHoldingLockedFiles(bool);
 
     ProcessThrottler& throttler() { return m_throttler; }
@@ -298,9 +296,9 @@
     void didStartProvisionalLoadForMainFrame(const URL&);
 
     // ProcessThrottlerClient
-    void sendPrepareToSuspend(uint64_t requestToSuspendID, IsSuspensionImminent) override;
-    void sendProcessDidResume() override;
-    void didSetAssertionState(AssertionState) override;
+    void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) final;
+    void sendProcessDidResume() final;
+    void didSetAssertionState(AssertionState) final;
 
 #if PLATFORM(COCOA)
     enum SandboxExtensionType : uint32_t {

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in (251598 => 251599)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2019-10-25 19:25:29 UTC (rev 251599)
@@ -37,7 +37,6 @@
     GetPluginProcessConnection(uint64_t pluginProcessToken) -> (IPC::Attachment connectionHandle, bool supportsAsynchronousInitialization) Synchronous
 #endif
     GetNetworkProcessConnection() -> (struct WebKit::NetworkProcessConnectionInfo connectionInfo) Synchronous
-    ProcessReadyToSuspend(uint64_t requestToSuspendID)
 
     SetIsHoldingLockedFiles(bool isHoldingLockedFiles)
 

Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (251598 => 251599)


--- trunk/Source/WebKit/WebProcess/WebProcess.cpp	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp	2019-10-25 19:25:29 UTC (rev 251599)
@@ -1377,19 +1377,16 @@
 }
 #endif
 
-void WebProcess::prepareToSuspend(uint64_t requestToSuspendID, bool isSuspensionImminent)
+void WebProcess::prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&& completionHandler)
 {
-    RELEASE_LOG(ProcessSuspension, "%p - WebProcess::prepareToSuspend(%" PRIu64 ") isSuspensionImminent: %d", this, requestToSuspendID, isSuspensionImminent);
+    RELEASE_LOG(ProcessSuspension, "%p - WebProcess::prepareToSuspend() isSuspensionImminent: %d", this, isSuspensionImminent);
     SetForScope<bool> suspensionScope(m_isSuspending, true);
     m_processIsSuspended = true;
 
 #if PLATFORM(COCOA)
     if (m_processType == ProcessType::PrewarmedWebContent) {
-        if (requestToSuspendID) {
-            RELEASE_LOG(ProcessSuspension, "%p - WebProcess::prepareToSuspend() Sending ProcessReadyToSuspend(%" PRIu64 ") IPC message", this, requestToSuspendID);
-            parentProcessConnection()->send(Messages::WebProcessProxy::ProcessReadyToSuspend(requestToSuspendID), 0);
-        }
-        return;
+        RELEASE_LOG(ProcessSuspension, "%p - WebProcess::prepareToSuspend() Process is ready to suspend", this);
+        return completionHandler();
     }
 #endif
 
@@ -1417,16 +1414,14 @@
     updateFreezerStatus();
 #endif
 
-    markAllLayersVolatile([this, requestToSuspendID](bool success) {
+    markAllLayersVolatile([this, completionHandler = WTFMove(completionHandler)](bool success) mutable {
         if (success)
             RELEASE_LOG(ProcessSuspension, "%p - WebProcess::markAllLayersVolatile() Successfuly marked all layers as volatile", this);
         else
             RELEASE_LOG(ProcessSuspension, "%p - WebProcess::markAllLayersVolatile() Failed to mark all layers as volatile", this);
 
-        if (requestToSuspendID) {
-            RELEASE_LOG(ProcessSuspension, "%p - WebProcess::prepareToSuspend() Sending ProcessReadyToSuspend(%" PRIu64 ") IPC message", this, requestToSuspendID);
-            parentProcessConnection()->send(Messages::WebProcessProxy::ProcessReadyToSuspend(requestToSuspendID), 0);
-        }
+        RELEASE_LOG(ProcessSuspension, "%p - WebProcess::prepareToSuspend() Process is ready to suspend", this);
+        completionHandler();
     });
 }
 

Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (251598 => 251599)


--- trunk/Source/WebKit/WebProcess/WebProcess.h	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h	2019-10-25 19:25:29 UTC (rev 251599)
@@ -235,7 +235,7 @@
 
     void setHiddenPageDOMTimerThrottlingIncreaseLimit(int milliseconds);
 
-    void prepareToSuspend(uint64_t requestToSuspendID, bool isSuspensionImminent);
+    void prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&&);
     void processDidResume();
 
     void sendPrewarmInformation(const URL&);

Modified: trunk/Source/WebKit/WebProcess/WebProcess.messages.in (251598 => 251599)


--- trunk/Source/WebKit/WebProcess/WebProcess.messages.in	2019-10-25 19:04:27 UTC (rev 251598)
+++ trunk/Source/WebKit/WebProcess/WebProcess.messages.in	2019-10-25 19:25:29 UTC (rev 251599)
@@ -93,7 +93,7 @@
     EnsureAutomationSessionProxy(String sessionIdentifier)
     DestroyAutomationSessionProxy()
 
-    PrepareToSuspend(uint64_t requestToSuspendID, bool isSuspensionImminent)
+    PrepareToSuspend(bool isSuspensionImminent) -> () Async
     ProcessDidResume()
 
     MainThreadPing()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to