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