Title: [235656] trunk/Source/WebKit
Revision
235656
Author
[email protected]
Date
2018-09-04 19:36:54 -0700 (Tue, 04 Sep 2018)

Log Message

Rename experimental feature for process swap on navigation
https://bugs.webkit.org/show_bug.cgi?id=189280

Reviewed by Antti Koivisto.

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):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (235655 => 235656)


--- trunk/Source/WebKit/ChangeLog	2018-09-05 02:08:34 UTC (rev 235655)
+++ trunk/Source/WebKit/ChangeLog	2018-09-05 02:36:54 UTC (rev 235656)
@@ -1,3 +1,27 @@
+2018-09-04  Chris Dumez  <[email protected]>
+
+        Rename experimental feature for process swap on navigation
+        https://bugs.webkit.org/show_bug.cgi?id=189280
+
+        Reviewed by Antti Koivisto.
+
+        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  Dean Jackson  <[email protected]>
 
         Post review Weinig fix-ups

Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (235655 => 235656)


--- trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-09-05 02:08:34 UTC (rev 235655)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml	2018-09-05 02:36:54 UTC (rev 235656)
@@ -1316,11 +1316,11 @@
   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
 

Modified: trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp (235655 => 235656)


--- trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp	2018-09-05 02:08:34 UTC (rev 235655)
+++ trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp	2018-09-05 02:36:54 UTC (rev 235656)
@@ -2079,12 +2079,12 @@
 
 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)

Modified: trunk/Source/WebKit/UIProcess/WebPreferences.cpp (235655 => 235656)


--- trunk/Source/WebKit/UIProcess/WebPreferences.cpp	2018-09-05 02:08:34 UTC (rev 235655)
+++ trunk/Source/WebKit/UIProcess/WebPreferences.cpp	2018-09-05 02:36:54 UTC (rev 235656)
@@ -133,7 +133,7 @@
 
 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);
 

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (235655 => 235656)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2018-09-05 02:08:34 UTC (rev 235655)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp	2018-09-05 02:36:54 UTC (rev 235656)
@@ -1155,7 +1155,7 @@
 #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.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to