WebKit Bugzilla
Attachment 348865 Details for
Bug 189280
: Rename experimental feature for process swap on navigation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-189280-20180904162526.patch (text/plain), 4.91 KB, created by
Chris Dumez
on 2018-09-04 16:25:27 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2018-09-04 16:25:27 PDT
Size:
4.91 KB
patch
obsolete
>Subversion Revision: 235632 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index c234073481112ea328fd7dc26d1be2f882fa65e0..b1438f29f66b9e41a566d3503aaba74443838f29 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,27 @@ >+2018-09-04 Chris Dumez <cdumez@apple.com> >+ >+ Rename experimental feature for process swap on navigation >+ https://bugs.webkit.org/show_bug.cgi?id=189280 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The "process swap on navigation" experimental feature on macOS Mojave does not work due to missing >+ browser changes, resulting in frequent load hangs. When enabling the experimental feature in WebKit >+ ToT or Safari Technology Preview for testing, it enables it as well for Mojave's system Safari which >+ is annoying. >+ >+ This patch renames the experimental feature so that the feature stays disabled in Mojave's system >+ Safari even when enabled in WebKit ToT / STP. >+ >+ * Shared/WebPreferences.yaml: >+ * UIProcess/API/C/WKPreferences.cpp: >+ (WKPreferencesSetProcessSwapOnNavigationEnabled): >+ (WKPreferencesGetProcessSwapOnNavigationEnabled): >+ * UIProcess/WebPreferences.cpp: >+ (WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey): >+ * UIProcess/WebProcessPool.cpp: >+ (WebKit::WebProcessPool::createWebPage): >+ > 2018-09-04 Chris Dumez <cdumez@apple.com> > > Add process pool configuration flag to turn on automatic process pre-warming >diff --git a/Source/WebKit/Shared/WebPreferences.yaml b/Source/WebKit/Shared/WebPreferences.yaml >index 94a01eb260e6fe47118818c6c077d9c1b7bf9efc..0310c5be5d27130e5ecac2ab7fe2b1b44a4edde8 100644 >--- a/Source/WebKit/Shared/WebPreferences.yaml >+++ b/Source/WebKit/Shared/WebPreferences.yaml >@@ -1316,11 +1316,11 @@ EncryptedMediaAPIEnabled: > category: experimental > condition: ENABLE(ENCRYPTED_MEDIA) > >-ProcessSwapOnNavigationEnabled: >+ProcessSwapOnCrossSiteNavigationEnabled: > type: bool > defaultValue: false >- humanReadableName: "Swap Processes on Navigation" >- humanReadableDescription: "Swap WebContent processes on cross-origin navigations" >+ humanReadableName: "Swap Processes on Cross-Site Navigation" >+ humanReadableDescription: "Swap WebContent processes on cross-site navigations" > category: experimental > webcoreBinding: none > >diff --git a/Source/WebKit/UIProcess/API/C/WKPreferences.cpp b/Source/WebKit/UIProcess/API/C/WKPreferences.cpp >index dd271b59df760890445fed1d63338f1d9f608871..da98fd55769389cb06a2048ddf21fab8eb5bbace 100644 >--- a/Source/WebKit/UIProcess/API/C/WKPreferences.cpp >+++ b/Source/WebKit/UIProcess/API/C/WKPreferences.cpp >@@ -2079,12 +2079,12 @@ bool WKPreferencesGetColorFilterEnabled(WKPreferencesRef preferencesRef) > > void WKPreferencesSetProcessSwapOnNavigationEnabled(WKPreferencesRef preferencesRef, bool flag) > { >- toImpl(preferencesRef)->setProcessSwapOnNavigationEnabled(flag); >+ toImpl(preferencesRef)->setProcessSwapOnCrossSiteNavigationEnabled(flag); > } > > bool WKPreferencesGetProcessSwapOnNavigationEnabled(WKPreferencesRef preferencesRef) > { >- return toImpl(preferencesRef)->processSwapOnNavigationEnabled(); >+ return toImpl(preferencesRef)->processSwapOnCrossSiteNavigationEnabled(); > } > > void WKPreferencesSetPunchOutWhiteBackgroundsInDarkMode(WKPreferencesRef preferencesRef, bool flag) >diff --git a/Source/WebKit/UIProcess/WebPreferences.cpp b/Source/WebKit/UIProcess/WebPreferences.cpp >index 62cadec27c5fe248b450e173d2a692e825fe7fc9..084bed3ec1bed62b242f6bbfa480180d8ef23854 100644 >--- a/Source/WebKit/UIProcess/WebPreferences.cpp >+++ b/Source/WebKit/UIProcess/WebPreferences.cpp >@@ -133,7 +133,7 @@ void WebPreferences::updateBoolValueForKey(const String& key, bool value) > > void WebPreferences::updateBoolValueForExperimentalFeatureKey(const String& key, bool value) > { >- if (key == WebPreferencesKey::processSwapOnNavigationEnabledKey()) { >+ if (key == WebPreferencesKey::processSwapOnCrossSiteNavigationEnabledKey()) { > for (auto* page : m_pages) > page->process().processPool().configuration().setProcessSwapsOnNavigation(value); > >diff --git a/Source/WebKit/UIProcess/WebProcessPool.cpp b/Source/WebKit/UIProcess/WebProcessPool.cpp >index 411fe61252f9dca9b6e95b4e2c99e5fcedb9bb32..2d2a98b6d949ae1299e6bbfa673a84796e4de483 100644 >--- a/Source/WebKit/UIProcess/WebProcessPool.cpp >+++ b/Source/WebKit/UIProcess/WebProcessPool.cpp >@@ -1155,7 +1155,7 @@ Ref<WebPageProxy> WebProcessPool::createWebPage(PageClient& pageClient, Ref<API: > #endif > > auto page = process->createWebPage(pageClient, WTFMove(pageConfiguration)); >- if (page->preferences().processSwapOnNavigationEnabled()) { >+ if (page->preferences().processSwapOnCrossSiteNavigationEnabled()) { > m_configuration->setProcessSwapsOnNavigation(true); > // FIXME: For now, turning on PSON from the experimental features menu also turns on > // automatic process warming until clients can be updated.
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 189280
: 348865