Title: [228723] trunk/Source/WebKit
Revision
228723
Author
beid...@apple.com
Date
2018-02-19 18:12:04 -0800 (Mon, 19 Feb 2018)

Log Message

Add WebProcessPool option for process swapping on navigation.
https://bugs.webkit.org/show_bug.cgi?id=182945

Reviewed by Alex Christensen.

Just the most basic groundwork for testing a new WK2 feature.

* UIProcess/API/APIProcessPoolConfiguration.h:

* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationProcessSwapsOnNavigation):
(WKContextConfigurationSetProcessSwapsOnNavigation):
* UIProcess/API/C/WKContextConfigurationRef.h:

* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration setProcessSwapsOnNavigation:]):
(-[_WKProcessPoolConfiguration processSwapsOnNavigation]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (228722 => 228723)


--- trunk/Source/WebKit/ChangeLog	2018-02-20 02:04:30 UTC (rev 228722)
+++ trunk/Source/WebKit/ChangeLog	2018-02-20 02:12:04 UTC (rev 228723)
@@ -1,3 +1,24 @@
+2018-02-19  Brady Eidson  <beid...@apple.com>
+
+        Add WebProcessPool option for process swapping on navigation.
+        https://bugs.webkit.org/show_bug.cgi?id=182945
+
+        Reviewed by Alex Christensen.
+
+        Just the most basic groundwork for testing a new WK2 feature.
+
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+
+        * UIProcess/API/C/WKContextConfigurationRef.cpp:
+        (WKContextConfigurationProcessSwapsOnNavigation):
+        (WKContextConfigurationSetProcessSwapsOnNavigation):
+        * UIProcess/API/C/WKContextConfigurationRef.h:
+
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration setProcessSwapsOnNavigation:]):
+        (-[_WKProcessPoolConfiguration processSwapsOnNavigation]):
+
 2018-02-19  Daniel Bates  <daba...@apple.com>
 
         Null pointer dereference in WebPageProxy::urlSchemeHandlerForScheme()

Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h (228722 => 228723)


--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h	2018-02-20 02:04:30 UTC (rev 228722)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h	2018-02-20 02:12:04 UTC (rev 228723)
@@ -135,6 +135,9 @@
     ProcessID presentingApplicationPID() const { return m_presentingApplicationPID; }
     void setPresentingApplicationPID(ProcessID pid) { m_presentingApplicationPID = pid; }
 
+    bool processSwapsOnNavigation() const { return m_processSwapsOnNavigation; }
+    void setProcessSwapsOnNavigation(bool swaps) { m_processSwapsOnNavigation = swaps; }
+
 private:
     bool m_shouldHaveLegacyDataStore { false };
 
@@ -166,6 +169,8 @@
     bool m_shouldTakeUIBackgroundAssertion { true };
     bool m_shouldCaptureAudioInUIProcess { false };
     ProcessID m_presentingApplicationPID { getCurrentProcessID() };
+    bool m_processSwapsOnNavigation { false };
+
 #if PLATFORM(IOS)
     WTF::String m_ctDataConnectionServiceType;
 #endif

Modified: trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp (228722 => 228723)


--- trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp	2018-02-20 02:04:30 UTC (rev 228722)
+++ trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp	2018-02-20 02:12:04 UTC (rev 228723)
@@ -157,3 +157,13 @@
 {
     toImpl(configuration)->setShouldCaptureAudioInUIProcess(should);
 }
+
+bool WKContextConfigurationProcessSwapsOnNavigation(WKContextConfigurationRef configuration)
+{
+    return toImpl(configuration)->processSwapsOnNavigation();
+}
+
+void WKContextConfigurationSetProcessSwapsOnNavigation(WKContextConfigurationRef configuration, bool swaps)
+{
+    toImpl(configuration)->setProcessSwapsOnNavigation(swaps);
+}

Modified: trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h (228722 => 228723)


--- trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h	2018-02-20 02:04:30 UTC (rev 228722)
+++ trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h	2018-02-20 02:12:04 UTC (rev 228723)
@@ -68,6 +68,9 @@
 WK_EXPORT bool WKContextConfigurationShouldCaptureAudioInUIProcess(WKContextConfigurationRef configuration);
 WK_EXPORT void WKContextConfigurationSetShouldCaptureAudioInUIProcess(WKContextConfigurationRef configuration, bool allowed);
 
+WK_EXPORT bool WKContextConfigurationProcessSwapsOnNavigation(WKContextConfigurationRef configuration);
+WK_EXPORT void WKContextConfigurationSetProcessSwapsOnNavigation(WKContextConfigurationRef configuration, bool swaps);
+
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (228722 => 228723)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h	2018-02-20 02:04:30 UTC (rev 228722)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h	2018-02-20 02:12:04 UTC (rev 228723)
@@ -57,6 +57,7 @@
 @property (nonatomic) BOOL shouldTakeUIBackgroundAssertion WK_API_AVAILABLE(ios(11.0));
 #endif
 @property (nonatomic) pid_t presentingApplicationPID WK_API_AVAILABLE(macosx(10.13), ios(11.0));
+@property (nonatomic) BOOL processSwapsOnNavigation WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
 
 @end
 

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (228722 => 228723)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm	2018-02-20 02:04:30 UTC (rev 228722)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm	2018-02-20 02:12:04 UTC (rev 228723)
@@ -227,6 +227,16 @@
     return _processPoolConfiguration->presentingApplicationPID();
 }
 
+- (void)setProcessSwapsOnNavigation:(BOOL)swaps
+{
+    _processPoolConfiguration->setProcessSwapsOnNavigation(swaps);
+}
+
+- (BOOL)processSwapsOnNavigation
+{
+    return _processPoolConfiguration->processSwapsOnNavigation();
+}
+
 #if PLATFORM(IOS)
 - (NSString *)CTDataConnectionServiceType
 {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to