WebKit Bugzilla
Attachment 341325 Details for
Bug 185975
: Ensure that the Web Content process doesn't sleep during initialization
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185975-20180525140759.patch (text/plain), 2.38 KB, created by
Tim Horton
on 2018-05-25 14:08:04 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Tim Horton
Created:
2018-05-25 14:08:04 PDT
Size:
2.38 KB
patch
obsolete
>Subversion Revision: 232164 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 1ee83825aa309c85e72eb142bc62910586060db3..916721a86240ccce9d343472f5bad884f023ded6 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,24 @@ >+2018-05-25 Tim Horton <timothy_horton@apple.com> >+ >+ Ensure that the Web Content process doesn't sleep during initialization >+ https://bugs.webkit.org/show_bug.cgi?id=185975 >+ <rdar://problem/40548159> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ WebProcessPool::warmInitialProcess isn't worth much (or at least, as much >+ as it could be) if the Web Content process goes to sleep in the middle >+ of initializeWebProcess. >+ >+ Keep the Web Content process alive until it has handled all messages >+ sent from WebProcessPool::initializeNewWebProcess. >+ >+ This is a significant speedup on some benchmarks I've been running >+ that involve prewarming a process long before any content is loaded. >+ >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::initializeNewWebProcess): >+ > 2018-05-24 Megan Gardner <megan_gardner@apple.com> > > Fix Issues with Loupe Gesture >diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp >index 12a6ddfc0874eaec97e002da603ad37e27429676..b708b8b150365e24bf72a4b5b0c72a70988daa69 100644 >--- a/Source/WebKit/UIProcess/WebProcessPool.cpp >+++ b/Source/WebKit/UIProcess/WebProcessPool.cpp >@@ -92,6 +92,7 @@ > #include <wtf/NeverDestroyed.h> > #include <wtf/ProcessPrivilege.h> > #include <wtf/RunLoop.h> >+#include <wtf/Scope.h> > #include <wtf/WallTime.h> > #include <wtf/text/StringBuilder.h> > >@@ -820,6 +821,14 @@ static void registerDisplayConfigurationCallback() > > void WebProcessPool::initializeNewWebProcess(WebProcessProxy& process, WebsiteDataStore& websiteDataStore) > { >+ auto initializationActivityToken = process.throttler().backgroundActivityToken(); >+ auto scopeExit = makeScopeExit([&process, initializationActivityToken] { >+ // Round-trip to the Web Content process before releasing the >+ // initialization activity token, so that we're sure that all >+ // messages sent from this function have been handled. >+ process.isResponsive([initializationActivityToken] (bool) { }); >+ }); >+ > ensureNetworkProcess(); > > WebProcessCreationParameters parameters;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185975
:
341256
| 341325