Diff
Modified: trunk/Source/WebKit/ChangeLog (247756 => 247757)
--- trunk/Source/WebKit/ChangeLog 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/ChangeLog 2019-07-24 00:03:10 UTC (rev 247757)
@@ -1,3 +1,19 @@
+2019-07-23 Russell Epstein <repst...@apple.com>
+
+ Unreviewed, rolling out r247745.
+
+ This broke API test
+ TestWebKitAPI.WKProcessPool._javascript_Configuration as
+ indicated by EWS
+
+ Reverted changeset:
+
+ "Move _javascript_ConfigurationDirectory SPI from
+ _WKProcessPoolConfiguration to WKProcessPoolPrivate to make it
+ runtime switchable"
+ https://bugs.webkit.org/show_bug.cgi?id=200045
+ https://trac.webkit.org/changeset/247745
+
2019-07-23 Chris Fleizach <cfleiz...@apple.com>
AX: CrashTracer: com.apple.WebKit.WebContent at WebKit: WebKit::WebSpeechSynthesisClient::speak
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2019-07-24 00:03:10 UTC (rev 247757)
@@ -99,6 +99,7 @@
copy->m_deviceIdHashSaltsStorageDirectory = this->m_deviceIdHashSaltsStorageDirectory;
copy->m_mediaKeysStorageDirectory = this->m_mediaKeysStorageDirectory;
copy->m_resourceLoadStatisticsDirectory = this->m_resourceLoadStatisticsDirectory;
+ copy->m_javaScriptConfigurationDirectory = this->m_javaScriptConfigurationDirectory;
copy->m_webSQLDatabaseDirectory = this->m_webSQLDatabaseDirectory;
copy->m_cachePartitionedURLSchemes = this->m_cachePartitionedURLSchemes;
copy->m_alwaysRevalidatedURLSchemes = this->m_alwaysRevalidatedURLSchemes;
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2019-07-24 00:03:10 UTC (rev 247757)
@@ -114,6 +114,9 @@
const WTF::String& resourceLoadStatisticsDirectory() const { return m_resourceLoadStatisticsDirectory; }
void setResourceLoadStatisticsDirectory(const WTF::String& resourceLoadStatisticsDirectory) { m_resourceLoadStatisticsDirectory = resourceLoadStatisticsDirectory; }
+ const WTF::String& _javascript_ConfigurationDirectory() const { return m_javaScriptConfigurationDirectory; }
+ void setJavaScriptConfigurationDirectory(const WTF::String& _javascript_ConfigurationDirectory) { m_javaScriptConfigurationDirectory = _javascript_ConfigurationDirectory; }
+
const Vector<WTF::String>& cachePartitionedURLSchemes() { return m_cachePartitionedURLSchemes; }
void setCachePartitionedURLSchemes(Vector<WTF::String>&& cachePartitionedURLSchemes) { m_cachePartitionedURLSchemes = WTFMove(cachePartitionedURLSchemes); }
@@ -202,6 +205,7 @@
WTF::String m_webSQLDatabaseDirectory;
WTF::String m_mediaKeysStorageDirectory;
WTF::String m_resourceLoadStatisticsDirectory;
+ WTF::String m_javaScriptConfigurationDirectory;
Vector<WTF::String> m_cachePartitionedURLSchemes;
Vector<WTF::String> m_alwaysRevalidatedURLSchemes;
Vector<WTF::CString> m_additionalReadAccessAllowedPaths;
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm 2019-07-24 00:03:10 UTC (rev 247757)
@@ -403,18 +403,6 @@
_processPool->setAutomationSession(automationSession ? automationSession->_session.get() : nullptr);
}
-- (NSURL *)_javaScriptConfigurationDirectory
-{
- return [NSURL fileURLWithPath:_processPool->_javascript_ConfigurationDirectory() isDirectory:YES];
-}
-
-- (void)_setJavaScriptConfigurationDirectory:(NSURL *)directory
-{
- if (directory && ![directory isFileURL])
- [NSException raise:NSInvalidArgumentException format:@"%@ is not a file URL", directory];
- _processPool->setJavaScriptConfigurationDirectory(directory.path);
-}
-
- (void)_addSupportedPlugin:(NSString *) domain named:(NSString *) name withMimeTypes: (NSSet<NSString *> *) nsMimeTypes withExtensions: (NSSet<NSString *> *) nsExtensions
{
HashSet<String> mimeTypes;
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h 2019-07-24 00:03:10 UTC (rev 247757)
@@ -74,8 +74,6 @@
- (void)_automationCapabilitiesDidChange WK_API_AVAILABLE(macos(10.12), ios(10.0));
- (void)_setAutomationSession:(_WKAutomationSession *)automationSession WK_API_AVAILABLE(macos(10.12), ios(10.0));
-@property (nonatomic, copy, setter=_setJavaScriptConfigurationDirectory:) NSURL *_javaScriptConfigurationDirectory WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
-
- (void)_addSupportedPlugin:(NSString *) domain named:(NSString *) name withMimeTypes: (NSSet<NSString *> *) mimeTypes withExtensions: (NSSet<NSString *> *) extensions WK_API_AVAILABLE(macos(10.14), ios(12.0));
- (void)_clearSupportedPlugins WK_API_AVAILABLE(macos(10.14), ios(12.0));
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2019-07-24 00:03:10 UTC (rev 247757)
@@ -45,6 +45,8 @@
@property (nonatomic) NSUInteger wirelessContextIdentifier WK_API_DEPRECATED("Use of this API is no longer necessary and can be removed", ios(10.12, WK_IOS_TBA));
#endif
+@property (nonatomic, nullable, copy) NSURL *_javascript_ConfigurationDirectory WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+
// Network Process properties
// FIXME: These should be be per-session/data store when we support multiple non-persistent sessions/data stores.
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2019-07-24 00:03:10 UTC (rev 247757)
@@ -110,6 +110,18 @@
return _processPoolConfiguration->setAttrStyleEnabled(enabled);
}
+- (NSURL *)_javascript_ConfigurationDirectory
+{
+ return [NSURL fileURLWithPath:_processPoolConfiguration->_javascript_ConfigurationDirectory() isDirectory:YES];
+}
+
+- (void)setJavaScriptConfigurationDirectory:(NSURL *)directory
+{
+ if (directory && ![directory isFileURL])
+ [NSException raise:NSInvalidArgumentException format:@"%@ is not a file URL", directory];
+ _processPoolConfiguration->setJavaScriptConfigurationDirectory(directory.path);
+}
+
- (NSArray<NSURL *> *)additionalReadAccessAllowedURLs
{
auto paths = _processPoolConfiguration->additionalReadAccessAllowedPaths();
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2019-07-24 00:03:10 UTC (rev 247757)
@@ -220,6 +220,7 @@
configuration->setIndexedDBDatabaseDirectory(String(processPoolConfiguration.indexedDBDatabaseDirectory()));
configuration->setResourceLoadStatisticsDirectory(String(processPoolConfiguration.resourceLoadStatisticsDirectory()));
configuration->setNetworkCacheDirectory(String(processPoolConfiguration.diskCacheDirectory()));
+ configuration->setJavaScriptConfigurationDirectory(String(processPoolConfiguration._javascript_ConfigurationDirectory()));
return configuration;
}
@@ -892,9 +893,9 @@
SandboxExtension::createHandleWithoutResolvingPath(parameters.mediaKeyStorageDirectory, SandboxExtension::Type::ReadWrite, parameters.mediaKeyStorageDirectoryExtensionHandle);
- if (!m_javaScriptConfigurationDirectory.isEmpty())
- parameters._javascript_ConfigurationDirectory = m_javaScriptConfigurationDirectory;
- else if (_javascript_ConfigurationFileEnabled())
+ if (auto& directory = configuration()._javascript_ConfigurationDirectory(); !directory.isEmpty())
+ parameters._javascript_ConfigurationDirectory = directory;
+ if (_javascript_ConfigurationFileEnabled())
parameters._javascript_ConfigurationDirectory = websiteDataStore.resolvedJavaScriptConfigurationDirectory();
if (!parameters._javascript_ConfigurationDirectory.isEmpty())
SandboxExtension::createHandleWithoutResolvingPath(parameters._javascript_ConfigurationDirectory, SandboxExtension::Type::ReadWrite, parameters._javascript_ConfigurationDirectoryExtensionHandle);
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.h (247756 => 247757)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.h 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.h 2019-07-24 00:03:10 UTC (rev 247757)
@@ -529,9 +529,6 @@
void disableDelayedWebProcessLaunch() { m_isDelayedWebProcessLaunchDisabled = true; }
- void setJavaScriptConfigurationDirectory(String&& directory) { m_javaScriptConfigurationDirectory = directory; }
- const String& _javascript_ConfigurationDirectory() const { return m_javaScriptConfigurationDirectory; }
-
private:
void platformInitialize();
@@ -729,7 +726,6 @@
bool m_memoryCacheDisabled { false };
bool m_javaScriptConfigurationFileEnabled { false };
- String m_javaScriptConfigurationDirectory;
bool m_alwaysRunsAtBackgroundPriority;
bool m_shouldTakeUIBackgroundAssertion;
bool m_shouldMakeNextWebProcessLaunchFailForTesting { false };
Modified: trunk/Tools/ChangeLog (247756 => 247757)
--- trunk/Tools/ChangeLog 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Tools/ChangeLog 2019-07-24 00:03:10 UTC (rev 247757)
@@ -1,3 +1,19 @@
+2019-07-23 Russell Epstein <repst...@apple.com>
+
+ Unreviewed, rolling out r247745.
+
+ This broke API test
+ TestWebKitAPI.WKProcessPool._javascript_Configuration as
+ indicated by EWS
+
+ Reverted changeset:
+
+ "Move _javascript_ConfigurationDirectory SPI from
+ _WKProcessPoolConfiguration to WKProcessPoolPrivate to make it
+ runtime switchable"
+ https://bugs.webkit.org/show_bug.cgi?id=200045
+ https://trac.webkit.org/changeset/247745
+
2019-07-23 Alex Christensen <achristen...@webkit.org>
Move _javascript_ConfigurationDirectory SPI from _WKProcessPoolConfiguration to WKProcessPoolPrivate to make it runtime switchable
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm (247756 => 247757)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm 2019-07-24 00:02:05 UTC (rev 247756)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm 2019-07-24 00:03:10 UTC (rev 247757)
@@ -84,7 +84,7 @@
EXPECT_EQ([configuration suppressesConnectionTerminationOnSystemChange], [copy suppressesConnectionTerminationOnSystemChange]);
}
-TEST(WKProcessPool, _javascript_Configuration)
+TEST(WKProcessPoolConfiguration, _javascript_Configuration)
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *tempDir = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"CustomPathsTest"] isDirectory:YES];
@@ -105,8 +105,12 @@
BOOL result = [contents writeToURL:[tempDir URLByAppendingPathComponent:@"JSC.config"] atomically:YES];
EXPECT_TRUE(result);
- auto webView = adoptNS([[WKWebView alloc] init]);
- [webView configuration].processPool._javaScriptConfigurationDirectory = tempDir;
+ auto poolConfiguration = adoptNS([[_WKProcessPoolConfiguration alloc] init]);
+ [poolConfiguration setJavaScriptConfigurationDirectory:tempDir];
+ auto webViewConfiguration = adoptNS([[WKWebViewConfiguration alloc] init]);
+ [webViewConfiguration setProcessPool:[[[WKProcessPool alloc] _initWithConfiguration:poolConfiguration.get()] autorelease]];
+
+ auto webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:webViewConfiguration.get()]);
[webView loadHTMLString:@"<html>hello</html>" baseURL:[NSURL URLWithString:@"https://webkit.org/"]];
NSString *path = [tempDir URLByAppendingPathComponent:@"Log.txt"].path;