Title: [233741] trunk/Source/WebKit
- Revision
- 233741
- Author
- beid...@apple.com
- Date
- 2018-07-11 13:47:05 -0700 (Wed, 11 Jul 2018)
Log Message
Make process-swap-on-navigation an experimental feature.
<rdar://problem/41995053> and https://bugs.webkit.org/show_bug.cgi?id=187558
Reviewed by Geoff Garen.
* Shared/WebPreferences.yaml:
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createWebPage): If the new web page has PSON enabled via WebPreferences,
absorb that setting into this process pool's configuration.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (233740 => 233741)
--- trunk/Source/WebKit/ChangeLog 2018-07-11 20:29:47 UTC (rev 233740)
+++ trunk/Source/WebKit/ChangeLog 2018-07-11 20:47:05 UTC (rev 233741)
@@ -1,3 +1,19 @@
+2018-07-11 Brady Eidson <beid...@apple.com>
+
+ Make process-swap-on-navigation an experimental feature.
+ <rdar://problem/41995053> and https://bugs.webkit.org/show_bug.cgi?id=187558
+
+ Reviewed by Geoff Garen.
+
+ * Shared/WebPreferences.yaml:
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey):
+
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::createWebPage): If the new web page has PSON enabled via WebPreferences,
+ absorb that setting into this process pool's configuration.
+
2018-07-11 Jer Noble <jer.no...@apple.com>
Disable all network caching for HLS streams.
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (233740 => 233741)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-07-11 20:29:47 UTC (rev 233740)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2018-07-11 20:47:05 UTC (rev 233741)
@@ -1283,3 +1283,12 @@
webcoreBinding: RuntimeEnabledFeatures
category: experimental
condition: ENABLE(ENCRYPTED_MEDIA)
+
+ProcessSwapOnNavigationEnabled:
+ type: bool
+ defaultValue: false
+ humanReadableName: "Swap Processes on Navigation"
+ humanReadableDescription: "Swap WebContent processes on cross-origin navigations"
+ category: experimental
+ webcoreBinding: none
+
Modified: trunk/Source/WebKit/UIProcess/WebPreferences.cpp (233740 => 233741)
--- trunk/Source/WebKit/UIProcess/WebPreferences.cpp 2018-07-11 20:29:47 UTC (rev 233740)
+++ trunk/Source/WebKit/UIProcess/WebPreferences.cpp 2018-07-11 20:47:05 UTC (rev 233741)
@@ -133,6 +133,13 @@
void WebPreferences::updateBoolValueForExperimentalFeatureKey(const String& key, bool value)
{
+ if (key == WebPreferencesKey::processSwapOnNavigationEnabledKey()) {
+ for (auto* page : m_pages)
+ page->process().processPool().configuration().setProcessSwapsOnNavigation(value);
+
+ return;
+ }
+
update(); // FIXME: Only send over the changed key and value.
}
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (233740 => 233741)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2018-07-11 20:29:47 UTC (rev 233740)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2018-07-11 20:47:05 UTC (rev 233741)
@@ -1149,7 +1149,11 @@
ASSERT(!is<ServiceWorkerProcessProxy>(*process));
#endif
- return process->createWebPage(pageClient, WTFMove(pageConfiguration));
+ auto page = process->createWebPage(pageClient, WTFMove(pageConfiguration));
+ if (page->preferences().processSwapOnNavigationEnabled())
+ m_configuration->setProcessSwapsOnNavigation(true);
+
+ return page;
}
#if ENABLE(SERVICE_WORKER)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes