Diff
Modified: trunk/Source/WebKit/ChangeLog (292023 => 292024)
--- trunk/Source/WebKit/ChangeLog 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/ChangeLog 2022-03-29 05:54:56 UTC (rev 292024)
@@ -1,5 +1,61 @@
2022-03-28 Sihui Liu <sihui_...@apple.com>
+ Add logging about process entering background to NetworkProcess::processDidResume
+ https://bugs.webkit.org/show_bug.cgi?id=238082
+ <rdar://problem/90844775>
+
+ Reviewed by Chris Dumez.
+
+ In rdar://82412733, we found network process can be suspended right after it receives processDidResume message.
+ For network process, processDidResume means process is not suspended and it is safe to perform database
+ operations. Let's add logging to check when and why processDidResume message is sent. If the logging confirms
+ that processDidResume message can be received when process is close to assertion timeout, we probably want to
+ ignore such message and resume database operations when application actually enters foreground.
+
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::prepareToSuspend):
+ (WebKit::NetworkProcess::applicationDidEnterBackground):
+ (WebKit::NetworkProcess::applicationWillEnterForeground):
+ (WebKit::NetworkProcess::processDidResume):
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/NetworkProcess.messages.in:
+ * NetworkProcess/ios/NetworkProcessIOS.mm:
+ * UIProcess/API/Cocoa/WKWebViewTesting.mm:
+ (-[WKWebView _processDidResumeForTesting]):
+ * UIProcess/Cocoa/DownloadProxyMapCocoa.mm:
+ (WebKit::DownloadProxyMap::platformCreate):
+ (WebKit::DownloadProxyMap::platformDestroy):
+ * UIProcess/Downloads/DownloadProxyMap.cpp:
+ (WebKit::DownloadProxyMap::applicationDidEnterBackground): Deleted.
+ (WebKit::DownloadProxyMap::applicationWillEnterForeground): Deleted.
+ * UIProcess/Downloads/DownloadProxyMap.h:
+ (WebKit::DownloadProxyMap::isEmpty const):
+ * UIProcess/GPU/GPUProcessProxy.cpp:
+ (WebKit::GPUProcessProxy::sendProcessDidResume):
+ * UIProcess/GPU/GPUProcessProxy.h:
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::NetworkProcessProxy):
+ (WebKit::NetworkProcessProxy::~NetworkProcessProxy):
+ (WebKit::NetworkProcessProxy::synthesizeAppIsBackground):
+ (WebKit::NetworkProcessProxy::sendProcessDidResume):
+ (WebKit::NetworkProcessProxy::applicationDidEnterBackground):
+ (WebKit::NetworkProcessProxy::applicationWillEnterForeground):
+ * UIProcess/Network/NetworkProcessProxy.h:
+ * UIProcess/Network/NetworkProcessProxyCocoa.mm:
+ (WebKit::NetworkProcessProxy::addBackgroundStateObservers):
+ (WebKit::NetworkProcessProxy::removeBackgroundStateObservers):
+ * UIProcess/ProcessThrottler.cpp:
+ (WebKit::ProcessThrottler::updateAssertionIfNeeded):
+ * UIProcess/ProcessThrottlerClient.h:
+ * UIProcess/WebAuthentication/WebAuthnProcessProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::sendProcessDidResume):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::sendNetworkProcessDidResume):
+
+2022-03-28 Sihui Liu <sihui_...@apple.com>
+
Disable custom storage paths for IndexedDB and LocalStorage by default
https://bugs.webkit.org/show_bug.cgi?id=236977
<rdar://problem/89559929>
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (292023 => 292024)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -2129,7 +2129,7 @@
void NetworkProcess::prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&& completionHandler)
{
- RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::prepareToSuspend(), isSuspensionImminent=%d", this, isSuspensionImminent);
+ RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::prepareToSuspend(), isSuspensionImminent=%d Process is %{public}sin background", this, isSuspensionImminent, m_enterBackgroundTimestamp ? "" : "not ");
m_isSuspended = true;
lowMemoryHandler(Critical::Yes);
@@ -2160,17 +2160,26 @@
void NetworkProcess::applicationDidEnterBackground()
{
+ if (!m_enterBackgroundTimestamp)
+ m_enterBackgroundTimestamp = MonotonicTime::now();
+
m_downloadManager.applicationDidEnterBackground();
}
void NetworkProcess::applicationWillEnterForeground()
{
+ if (m_enterBackgroundTimestamp)
+ m_enterBackgroundTimestamp = std::nullopt;
+
m_downloadManager.applicationWillEnterForeground();
}
-void NetworkProcess::processDidResume()
+void NetworkProcess::processDidResume(bool forForegroundActivity)
{
- RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::processDidResume()", this);
+ if (m_enterBackgroundTimestamp)
+ RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::processDidResume() forForegroundActivity=%d", this, forForegroundActivity);
+ else
+ RELEASE_LOG(ProcessSuspension, "%p - NetworkProcess::processDidResume() forForegroundActivity=%d Process has been in background for %f seconds", this, forForegroundActivity, (MonotonicTime::now() - m_enterBackgroundTimestamp.value()).value());
m_isSuspended = false;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (292023 => 292024)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -174,7 +174,7 @@
void processWillSuspendImminentlyForTestingSync(CompletionHandler<void()>&&);
void prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&&);
- void processDidResume();
+ void processDidResume(bool forForegroundActivity);
CacheModel cacheModel() const { return m_cacheModel; }
@@ -527,6 +527,7 @@
bool m_privateClickMeasurementEnabled { true };
bool m_ftpEnabled { false };
bool m_isSuspended { false };
+ std::optional<MonotonicTime> m_enterBackgroundTimestamp;
};
#if !PLATFORM(COCOA)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (292023 => 292024)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2022-03-29 05:54:56 UTC (rev 292024)
@@ -76,7 +76,7 @@
ProcessWillSuspendImminentlyForTestingSync() -> () Synchronous
PrepareToSuspend(bool isSuspensionImminent) -> ()
- ProcessDidResume()
+ ProcessDidResume(bool forForegroundActivity)
PreconnectTo(PAL::SessionID sessionID, WebKit::WebPageProxyIdentifier webPageProxyID, WebCore::PageIdentifier webPageID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool std::optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, enum:bool WebKit::LastNavigationWasAppInitiated lastNavigationWasAppInitiated);
Modified: trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm (292023 => 292024)
--- trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm 2022-03-29 05:54:56 UTC (rev 292024)
@@ -33,6 +33,7 @@
#import "ProcessAssertion.h"
#import "SandboxInitializationParameters.h"
#import "SecItemShim.h"
+#import <UIKit/UIKit.h>
#import <WebCore/CertificateInfo.h>
#import <WebCore/NotImplemented.h>
#import <WebCore/WebCoreThreadSystemInterface.h>
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm 2022-03-29 05:54:56 UTC (rev 292024)
@@ -213,7 +213,7 @@
- (void)_processDidResumeForTesting
{
if (_page)
- _page->process().sendProcessDidResume();
+ _page->process().sendProcessDidResume(WebKit::ProcessThrottlerClient::ResumeReason::ForegroundActivity);
}
- (void)_setAssertionTypeForTesting:(int)value
Modified: trunk/Source/WebKit/UIProcess/Cocoa/DownloadProxyMapCocoa.mm (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/Cocoa/DownloadProxyMapCocoa.mm 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/Cocoa/DownloadProxyMapCocoa.mm 2022-03-29 05:54:56 UTC (rev 292024)
@@ -36,26 +36,10 @@
void DownloadProxyMap::platformCreate()
{
-#if PLATFORM(IOS_FAMILY)
- m_backgroundObserver = [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidEnterBackgroundNotification object:[UIApplication sharedApplication] queue:nil usingBlock:makeBlockPtr([weakThis = WeakPtr { *this }](NSNotification *) {
- if (!weakThis)
- return;
- weakThis->applicationDidEnterBackground();
- }).get()];
- m_foregroundObserver = [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillEnterForegroundNotification object:[UIApplication sharedApplication] queue:nil usingBlock:makeBlockPtr([weakThis = WeakPtr { *this }](NSNotification *) {
- if (!weakThis)
- return;
- weakThis->applicationWillEnterForeground();
- }).get()];
-#endif
}
void DownloadProxyMap::platformDestroy()
{
-#if PLATFORM(IOS_FAMILY)
- [[NSNotificationCenter defaultCenter] removeObserver:m_backgroundObserver.get()];
- [[NSNotificationCenter defaultCenter] removeObserver:m_foregroundObserver.get()];
-#endif
}
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -69,16 +69,6 @@
}
#endif
-void DownloadProxyMap::applicationDidEnterBackground()
-{
- m_process.send(Messages::NetworkProcess::ApplicationDidEnterBackground(), 0);
-}
-
-void DownloadProxyMap::applicationWillEnterForeground()
-{
- m_process.send(Messages::NetworkProcess::ApplicationWillEnterForeground(), 0);
-}
-
DownloadProxy& DownloadProxyMap::createDownloadProxy(WebsiteDataStore& dataStore, WebProcessPool& processPool, const WebCore::ResourceRequest& resourceRequest, const FrameInfoData& frameInfo, WebPageProxy* originatingPage)
{
auto* legacyDownloadClient = processPool.legacyDownloadClient();
Modified: trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.h (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/Downloads/DownloadProxyMap.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -61,12 +61,8 @@
void downloadFinished(DownloadProxy&);
bool isEmpty() const { return m_downloads.isEmpty(); }
-
void invalidate();
- void applicationDidEnterBackground();
- void applicationWillEnterForeground();
-
private:
void platformCreate();
void platformDestroy();
@@ -77,11 +73,6 @@
bool m_shouldTakeAssertion { false };
RefPtr<ProcessAssertion> m_downloadUIAssertion;
RefPtr<ProcessAssertion> m_downloadNetworkingAssertion;
-
-#if PLATFORM(IOS_FAMILY)
- RetainPtr<id> m_backgroundObserver;
- RetainPtr<id> m_foregroundObserver;
-#endif
};
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -578,7 +578,7 @@
sendWithAsyncReply(Messages::GPUProcess::PrepareToSuspend(isSuspensionImminent == IsSuspensionImminent::Yes), WTFMove(completionHandler), 0, { }, ShouldStartProcessThrottlerActivity::No);
}
-void GPUProcessProxy::sendProcessDidResume()
+void GPUProcessProxy::sendProcessDidResume(ResumeReason)
{
if (canSendMessage())
send(Messages::GPUProcess::ProcessDidResume(), 0);
Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -127,7 +127,7 @@
// ProcessThrottlerClient
ASCIILiteral clientName() const final { return "GPUProcess"_s; }
void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) final;
- void sendProcessDidResume() final;
+ void sendProcessDidResume(ResumeReason) final;
// ProcessLauncher::Client
void didFinishLaunching(ProcessLauncher*, IPC::Connection::Identifier) override;
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -269,6 +269,9 @@
sendCreationParametersToNewProcess();
updateProcessAssertion();
networkProcessesSet().add(this);
+#if PLATFORM(IOS_FAMILY)
+ addBackgroundStateObservers();
+#endif
}
NetworkProcessProxy::~NetworkProcessProxy()
@@ -281,6 +284,9 @@
if (m_downloadProxyMap)
m_downloadProxyMap->invalidate();
networkProcessesSet().remove(this);
+#if PLATFORM(IOS_FAMILY)
+ removeBackgroundStateObservers();
+#endif
}
void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
@@ -336,12 +342,10 @@
void NetworkProcessProxy::synthesizeAppIsBackground(bool background)
{
- if (m_downloadProxyMap) {
- if (background)
- m_downloadProxyMap->applicationDidEnterBackground();
- else
- m_downloadProxyMap->applicationWillEnterForeground();
- }
+ if (background)
+ applicationDidEnterBackground();
+ else
+ applicationWillEnterForeground();
}
DownloadProxy& NetworkProcessProxy::createDownloadProxy(WebsiteDataStore& dataStore, WebProcessPool& processPool, const ResourceRequest& resourceRequest, const FrameInfoData& frameInfo, WebPageProxy* originatingPage)
@@ -1396,10 +1400,10 @@
sendWithAsyncReply(Messages::NetworkProcess::PrepareToSuspend(isSuspensionImminent == IsSuspensionImminent::Yes), WTFMove(completionHandler), 0, { }, ShouldStartProcessThrottlerActivity::No);
}
-void NetworkProcessProxy::sendProcessDidResume()
+void NetworkProcessProxy::sendProcessDidResume(ResumeReason reason)
{
if (canSendMessage())
- send(Messages::NetworkProcess::ProcessDidResume(), 0);
+ send(Messages::NetworkProcess::ProcessDidResume(reason == ResumeReason::ForegroundActivity), 0);
}
void NetworkProcessProxy::flushCookies(PAL::SessionID sessionID, CompletionHandler<void()>&& completionHandler)
@@ -1808,6 +1812,16 @@
callback(std::nullopt);
}
+void NetworkProcessProxy::applicationDidEnterBackground()
+{
+ send(Messages::NetworkProcess::ApplicationDidEnterBackground(), 0);
+}
+
+void NetworkProcessProxy::applicationWillEnterForeground()
+{
+ send(Messages::NetworkProcess::ApplicationWillEnterForeground(), 0);
+}
+
} // namespace WebKit
#undef MESSAGE_CHECK
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -237,7 +237,7 @@
void createSymLinkForFileUpgrade(const String& indexedDatabaseDirectory);
// ProcessThrottlerClient
- void sendProcessDidResume() final;
+ void sendProcessDidResume(ResumeReason) final;
ASCIILiteral clientName() const final { return "NetworkProcess"_s; }
static void setSuspensionAllowedForTesting(bool);
@@ -374,6 +374,13 @@
void didExceedMemoryLimit();
#endif
+ void applicationDidEnterBackground();
+ void applicationWillEnterForeground();
+#if PLATFORM(IOS_FAMILY)
+ void addBackgroundStateObservers();
+ void removeBackgroundStateObservers();
+#endif
+
std::unique_ptr<DownloadProxyMap> m_downloadProxyMap;
UniqueRef<API::CustomProtocolManagerClient> m_customProtocolManagerClient;
@@ -411,6 +418,11 @@
WeakHashSet<WebsiteDataStore> m_websiteDataStores;
UniqueRef<WebCookieManagerProxy> m_cookieManager;
HashMap<DataTaskIdentifier, Ref<API::DataTask>> m_dataTasks;
+
+#if PLATFORM(IOS_FAMILY)
+ RetainPtr<id> m_backgroundObserver;
+ RetainPtr<id> m_foregroundObserver;
+#endif
};
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxyCocoa.mm (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxyCocoa.mm 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxyCocoa.mm 2022-03-29 05:54:56 UTC (rev 292024)
@@ -27,9 +27,16 @@
#import "NetworkProcessProxy.h"
#import "LaunchServicesDatabaseXPCConstants.h"
+#import "NetworkProcessMessages.h"
#import "WebProcessPool.h"
#import "XPCEndpoint.h"
+#if PLATFORM(IOS_FAMILY)
+#import <UIKit/UIKit.h>
+#import <wtf/BlockPtr.h>
+#import <wtf/WeakPtr.h>
+#endif
+
namespace WebKit {
using namespace WebCore;
@@ -85,4 +92,26 @@
return true;
}
+#if PLATFORM(IOS_FAMILY)
+
+void NetworkProcessProxy::addBackgroundStateObservers()
+{
+ m_backgroundObserver = [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidEnterBackgroundNotification object:[UIApplication sharedApplication] queue:nil usingBlock:makeBlockPtr([weakThis = WeakPtr { *this }](NSNotification *) {
+ if (weakThis)
+ weakThis->applicationDidEnterBackground();
+ }).get()];
+ m_foregroundObserver = [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationWillEnterForegroundNotification object:[UIApplication sharedApplication] queue:nil usingBlock:makeBlockPtr([weakThis = WeakPtr { *this }](NSNotification *) {
+ if (weakThis)
+ weakThis->applicationWillEnterForeground();
+ }).get()];
}
+
+void NetworkProcessProxy::removeBackgroundStateObservers()
+{
+ [[NSNotificationCenter defaultCenter] removeObserver:m_backgroundObserver.get()];
+ [[NSNotificationCenter defaultCenter] removeObserver:m_foregroundObserver.get()];
+}
+
+#endif
+
+}
Modified: trunk/Source/WebKit/UIProcess/ProcessThrottler.cpp (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/ProcessThrottler.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/ProcessThrottler.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -159,7 +159,7 @@
PROCESSTHROTTLER_RELEASE_LOG("updateAssertionIfNeeded: sending ProcessDidResume IPC because the process was suspended");
else
PROCESSTHROTTLER_RELEASE_LOG("updateAssertionIfNeeded: sending ProcessDidResume IPC because the WebProcess is still processing request to suspend=%" PRIu64, *m_pendingRequestToSuspendID);
- m_process.sendProcessDidResume();
+ m_process.sendProcessDidResume(expectedAssertionType() == ProcessAssertionType::Foreground ? ProcessThrottlerClient::ResumeReason::ForegroundActivity : ProcessThrottlerClient::ResumeReason::BackgroundActivity);
clearPendingRequestToSuspend();
}
} else {
Modified: trunk/Source/WebKit/UIProcess/ProcessThrottlerClient.h (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/ProcessThrottlerClient.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/ProcessThrottlerClient.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -37,7 +37,8 @@
virtual ~ProcessThrottlerClient() { }
virtual void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) = 0;
- virtual void sendProcessDidResume() = 0;
+ enum ResumeReason : bool { ForegroundActivity, BackgroundActivity };
+ virtual void sendProcessDidResume(ResumeReason) = 0;
virtual void didSetAssertionType(ProcessAssertionType) { };
virtual ASCIILiteral clientName() const = 0;
};
Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -55,7 +55,7 @@
void updateProcessAssertion();
// ProcessThrottlerClient
- void sendProcessDidResume() final { }
+ void sendProcessDidResume(ResumeReason) final { }
ASCIILiteral clientName() const final { return "WebAuthnProcess"_s; }
private:
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -1448,7 +1448,7 @@
sendWithAsyncReply(Messages::WebProcess::PrepareToSuspend(isSuspensionImminent == IsSuspensionImminent::Yes), WTFMove(completionHandler), 0, { }, ShouldStartProcessThrottlerActivity::No);
}
-void WebProcessProxy::sendProcessDidResume()
+void WebProcessProxy::sendProcessDidResume(ResumeReason)
{
WEBPROCESSPROXY_RELEASE_LOG(ProcessSuspension, "sendProcessDidResume:");
if (canSendMessage())
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2022-03-29 05:54:56 UTC (rev 292024)
@@ -327,7 +327,7 @@
// ProcessThrottlerClient
void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) final;
- void sendProcessDidResume() final;
+ void sendProcessDidResume(ResumeReason) final;
void didSetAssertionType(ProcessAssertionType) final;
ASCIILiteral clientName() const final { return "WebProcess"_s; }
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (292023 => 292024)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2022-03-29 04:33:07 UTC (rev 292023)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2022-03-29 05:54:56 UTC (rev 292024)
@@ -1575,7 +1575,7 @@
void WebsiteDataStore::sendNetworkProcessDidResume()
{
- networkProcess().sendProcessDidResume();
+ networkProcess().sendProcessDidResume(ProcessThrottlerClient::ResumeReason::ForegroundActivity);
}
bool WebsiteDataStore::resourceLoadStatisticsEnabled() const