Title: [247009] trunk/Source/WebKit
- Revision
- 247009
- Author
- [email protected]
- Date
- 2019-07-01 08:34:16 -0700 (Mon, 01 Jul 2019)
Log Message
Perform less work when a pre-warmed WebProcess is suspended or resumed.
https://bugs.webkit.org/show_bug.cgi?id=199195
Reviewed by Darin Adler.
Return early from WebProcess::actualPrepareToSuspend and WebProcess::processDidResume
if this is a pre-warmed process. This is a confirmed improvement in page load time.
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::processDidResume):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (247008 => 247009)
--- trunk/Source/WebKit/ChangeLog 2019-07-01 13:45:57 UTC (rev 247008)
+++ trunk/Source/WebKit/ChangeLog 2019-07-01 15:34:16 UTC (rev 247009)
@@ -1,3 +1,18 @@
+2019-07-01 Per Arne Vollan <[email protected]>
+
+ Perform less work when a pre-warmed WebProcess is suspended or resumed.
+ https://bugs.webkit.org/show_bug.cgi?id=199195
+
+ Reviewed by Darin Adler.
+
+ Return early from WebProcess::actualPrepareToSuspend and WebProcess::processDidResume
+ if this is a pre-warmed process. This is a confirmed improvement in page load time.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::actualPrepareToSuspend):
+ (WebKit::WebProcess::cancelPrepareToSuspend):
+ (WebKit::WebProcess::processDidResume):
+
2019-07-01 Carlos Garcia Campos <[email protected]>
WebSockets: add support for sending blob messages when using web sockets platform APIs
Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (247008 => 247009)
--- trunk/Source/WebKit/WebProcess/WebProcess.cpp 2019-07-01 13:45:57 UTC (rev 247008)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp 2019-07-01 15:34:16 UTC (rev 247009)
@@ -1471,6 +1471,16 @@
SetForScope<bool> suspensionScope(m_isSuspending, true);
m_processIsSuspended = true;
+#if PLATFORM(COCOA)
+ if (m_processType == ProcessType::PrewarmedWebContent) {
+ if (shouldAcknowledgeWhenReadyToSuspend == ShouldAcknowledgeWhenReadyToSuspend::Yes) {
+ RELEASE_LOG(ProcessSuspension, "%p - WebProcess::actualPrepareToSuspend() Sending ProcessReadyToSuspend IPC message", this);
+ parentProcessConnection()->send(Messages::WebProcessProxy::ProcessReadyToSuspend(), 0);
+ }
+ return;
+ }
+#endif
+
#if ENABLE(VIDEO)
suspendAllMediaBuffering();
if (auto* platformMediaSessionManager = PlatformMediaSessionManager::sharedManagerIfExists())
@@ -1527,6 +1537,11 @@
m_processIsSuspended = false;
+#if PLATFORM(COCOA)
+ if (m_processType == ProcessType::PrewarmedWebContent)
+ return;
+#endif
+
unfreezeAllLayerTrees();
#if PLATFORM(IOS_FAMILY)
@@ -1603,6 +1618,11 @@
m_processIsSuspended = false;
+#if PLATFORM(COCOA)
+ if (m_processType == ProcessType::PrewarmedWebContent)
+ return;
+#endif
+
cancelMarkAllLayersVolatile();
unfreezeAllLayerTrees();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes