WebKit Bugzilla
Attachment 347923 Details for
Bug 188887
: REGRESSION(r235216): Caused 50+ Layout Tests to Crash and 173 api Failures on Debug builds (Requested by Truitt on #webkit).
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
ROLLOUT of r235216
bug-188887-20180823112812.patch (text/plain), 34.16 KB, created by
WebKit Commit Bot
on 2018-08-23 08:28:13 PDT
(
hide
)
Description:
ROLLOUT of r235216
Filename:
MIME Type:
Creator:
WebKit Commit Bot
Created:
2018-08-23 08:28:13 PDT
Size:
34.16 KB
patch
obsolete
>Subversion Revision: 235223 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 7d82e6f6579a9335be86da41e836285351e5e937..04ab8224e2d8d9c2f4de2fdf28d0d7b35eec2e0f 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,18 @@ >+2018-08-23 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r235216. >+ https://bugs.webkit.org/show_bug.cgi?id=188887 >+ >+ Caused 50+ Layout Tests to Crash and 173 api Failures on Debug >+ builds (Requested by Truitt on #webkit). >+ >+ Reverted changeset: >+ >+ "Move legacy directory configuration from WebProcessPool to >+ API::WebsiteDataStore" >+ https://bugs.webkit.org/show_bug.cgi?id=188765 >+ https://trac.webkit.org/changeset/235216 >+ > 2018-08-23 Zan Dobersek <zdobersek@igalia.com> > > [CoordGraphics] Remove the remaining CoordinatedGraphicsLayerState cruft >diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >index 14fa8d6c04f82be40888034fc916bf3c51548d4c..af167de4f9a62b37ab06959a78f7499071568b27 100644 >--- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >+++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >@@ -38,12 +38,22 @@ Ref<ProcessPoolConfiguration> ProcessPoolConfiguration::create() > > Ref<ProcessPoolConfiguration> ProcessPoolConfiguration::createWithLegacyOptions() > { >- auto configuration = ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration(WebsiteDataStore::legacyDefaultDataStoreConfiguration()); >+ auto configuration = ProcessPoolConfiguration::create(); > > configuration->m_shouldHaveLegacyDataStore = true; > configuration->m_maximumProcessCount = 1; > configuration->m_cacheModel = WebKit::CacheModelDocumentViewer; > >+ configuration->m_applicationCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory(); >+ configuration->m_applicationCacheFlatFileSubdirectoryName = "ApplicationCache"; >+ configuration->m_diskCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory(); >+ configuration->m_mediaCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory(); >+ configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory(); >+ configuration->m_localStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory(); >+ configuration->m_mediaKeysStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory(); >+ configuration->m_webSQLDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory(); >+ configuration->m_javaScriptConfigurationDirectory = WebKit::WebProcessPool::legacyPlatformDefaultJavaScriptConfigurationDirectory(); >+ > return configuration; > } > >@@ -55,7 +65,7 @@ Ref<ProcessPoolConfiguration> ProcessPoolConfiguration::createWithWebsiteDataSto > configuration->m_applicationCacheFlatFileSubdirectoryName = legacyConfiguration.applicationCacheFlatFileSubdirectoryName; > configuration->m_diskCacheDirectory = legacyConfiguration.networkCacheDirectory; > configuration->m_mediaCacheDirectory = legacyConfiguration.mediaCacheDirectory; >- configuration->m_indexedDBDatabaseDirectory = WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory(); >+ configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory(); > configuration->m_localStorageDirectory = legacyConfiguration.localStorageDirectory; > configuration->m_mediaKeysStorageDirectory = legacyConfiguration.mediaKeysStorageDirectory; > configuration->m_resourceLoadStatisticsDirectory = legacyConfiguration.resourceLoadStatisticsDirectory; >diff --git a/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp b/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp >index aba845a705096181cd03878fd4d28ac1066615ff..d0472c8a71d6c812190abda7783f29f426dc3f5c 100644 >--- a/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp >+++ b/Source/WebKit/UIProcess/API/APIWebsiteDataStore.cpp >@@ -119,19 +119,4 @@ String WebsiteDataStore::defaultJavaScriptConfigurationDirectory() > } > #endif > >-WebKit::WebsiteDataStore::Configuration WebsiteDataStore::legacyDefaultDataStoreConfiguration() >-{ >- WebKit::WebsiteDataStore::Configuration configuration; >- configuration.applicationCacheDirectory = legacyDefaultApplicationCacheDirectory(); >- configuration.applicationCacheFlatFileSubdirectoryName = "ApplicationCache"; >- configuration.networkCacheDirectory = legacyDefaultNetworkCacheDirectory(); >- configuration.mediaCacheDirectory = legacyDefaultMediaCacheDirectory(); >- configuration.mediaKeysStorageDirectory = legacyDefaultMediaKeysStorageDirectory(); >- configuration.indexedDBDatabaseDirectory = legacyDefaultIndexedDBDatabaseDirectory(); >- configuration.webSQLDatabaseDirectory = legacyDefaultWebSQLDatabaseDirectory(); >- configuration.javaScriptConfigurationDirectory = legacyDefaultJavaScriptConfigurationDirectory(); >- >- return configuration; >-} >- >-} // namespace API >+} >diff --git a/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h b/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h >index bfcbecf617eb16dd897bf6596d19d4dec2e07b0d..768555d8a90629b33232862d7f7b463438fd143a 100644 >--- a/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h >+++ b/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h >@@ -57,27 +57,18 @@ public: > static String defaultCacheStorageDirectory(); > static String defaultNetworkCacheDirectory(); > static String defaultMediaCacheDirectory(); >+ > static String defaultIndexedDBDatabaseDirectory(); > static String defaultServiceWorkerRegistrationDirectory(); > static String defaultLocalStorageDirectory(); > static String defaultMediaKeysStorageDirectory(); > static String defaultWebSQLDatabaseDirectory(); > static String defaultResourceLoadStatisticsDirectory(); >+ > static String defaultJavaScriptConfigurationDirectory(); > > static WebKit::WebsiteDataStore::Configuration defaultDataStoreConfiguration(); > >- static String legacyDefaultApplicationCacheDirectory(); >- static String legacyDefaultNetworkCacheDirectory(); >- static String legacyDefaultLocalStorageDirectory(); >- static String legacyDefaultIndexedDBDatabaseDirectory(); >- static String legacyDefaultWebSQLDatabaseDirectory(); >- static String legacyDefaultMediaKeysStorageDirectory(); >- static String legacyDefaultMediaCacheDirectory(); >- static String legacyDefaultJavaScriptConfigurationDirectory(); >- >- static WebKit::WebsiteDataStore::Configuration legacyDefaultDataStoreConfiguration(); >- > private: > enum ShouldCreateDirectory { CreateDirectory, DontCreateDirectory }; > >diff --git a/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm b/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm >index e418396db5da2207c4bdc143a954d43c86c07340..14c5e36f2ffe64aa23359ea56bb0499bbb516208 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm >@@ -29,20 +29,12 @@ > #include "SandboxExtension.h" > #include "SandboxUtilities.h" > >-#include <Foundation/Foundation.h> >-#include <WebCore/FileSystem.h> >- > #if PLATFORM(IOS) > #import <WebCore/RuntimeApplicationChecks.h> > #endif > > namespace API { > >-NSString *WebDatabaseDirectoryDefaultsKey = @"WebDatabaseDirectory"; >-NSString *WebStorageDirectoryDefaultsKey = @"WebKitLocalStorageDatabasePathPreferenceKey"; >-NSString *WebKitMediaCacheDirectoryDefaultsKey = @"WebKitMediaCacheDirectory"; >-NSString *WebKitMediaKeysStorageDirectoryDefaultsKey = @"WebKitMediaKeysStorageDirectory"; >- > String WebsiteDataStore::defaultApplicationCacheDirectory() > { > #if PLATFORM(IOS) >@@ -110,113 +102,6 @@ String WebsiteDataStore::defaultJavaScriptConfigurationDirectory() > return tempDirectoryFileSystemRepresentation("JavaScriptCoreDebug", DontCreateDirectory); > } > >-String WebsiteDataStore::legacyDefaultApplicationCacheDirectory() >-{ >- NSString *appName = [[NSBundle mainBundle] bundleIdentifier]; >- if (!appName) >- appName = [[NSProcessInfo processInfo] processName]; >-#if PLATFORM(IOS) >- // This quirk used to make these apps share application cache storage, but doesn't accomplish that any more. >- // Preserving it avoids the need to migrate data when upgrading. >- if (WebCore::IOSApplication::isMobileSafari() || WebCore::IOSApplication::isWebApp()) >- appName = @"com.apple.WebAppCache"; >-#endif >- >- ASSERT(appName); >- >-#if PLATFORM(IOS) >- NSString *cacheDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; >-#else >- char cacheDirectory[MAXPATHLEN]; >- size_t cacheDirectoryLen = confstr(_CS_DARWIN_USER_CACHE_DIR, cacheDirectory, MAXPATHLEN); >- if (!cacheDirectoryLen) >- return String(); >- >- NSString *cacheDir = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:cacheDirectory length:cacheDirectoryLen - 1]; >-#endif >- NSString* cachePath = [cacheDir stringByAppendingPathComponent:appName]; >- return WebKit::stringByResolvingSymlinksInPath([cachePath stringByStandardizingPath]); >-} >- >-String WebsiteDataStore::legacyDefaultNetworkCacheDirectory() >-{ >- NSString *cachePath = CFBridgingRelease(_CFURLCacheCopyCacheDirectory([[NSURLCache sharedURLCache] _CFURLCache])); >- if (!cachePath) >- cachePath = @"~/Library/Caches/com.apple.WebKit.WebProcess"; >- >- cachePath = [cachePath stringByAppendingPathComponent:@"WebKitCache"]; >- >- return WebKit::stringByResolvingSymlinksInPath([cachePath stringByStandardizingPath]); >-} >- >-String WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory() >-{ >- NSString *databasesDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebDatabaseDirectoryDefaultsKey]; >- if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]]) >- databasesDirectory = @"~/Library/WebKit/Databases"; >- return WebKit::stringByResolvingSymlinksInPath([databasesDirectory stringByStandardizingPath]); >-} >- >-String WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory() >-{ >- // Indexed databases exist in a subdirectory of the "database directory path." >- // Currently, the top level of that directory contains entities related to WebSQL databases. >- // We should fix this, and move WebSQL into a subdirectory (https://bugs.webkit.org/show_bug.cgi?id=124807) >- // In the meantime, an entity name prefixed with three underscores will not conflict with any WebSQL entities. >- return WebCore::FileSystem::pathByAppendingComponent(legacyDefaultWebSQLDatabaseDirectory(), "___IndexedDB"); >-} >- >-String WebsiteDataStore::legacyDefaultLocalStorageDirectory() >-{ >- NSString *localStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebStorageDirectoryDefaultsKey]; >- if (!localStorageDirectory || ![localStorageDirectory isKindOfClass:[NSString class]]) >- localStorageDirectory = @"~/Library/WebKit/LocalStorage"; >- return WebKit::stringByResolvingSymlinksInPath([localStorageDirectory stringByStandardizingPath]); >-} >- >-String WebsiteDataStore::legacyDefaultMediaCacheDirectory() >-{ >- NSString *mediaKeysCacheDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebKitMediaCacheDirectoryDefaultsKey]; >- if (!mediaKeysCacheDirectory || ![mediaKeysCacheDirectory isKindOfClass:[NSString class]]) { >- mediaKeysCacheDirectory = NSTemporaryDirectory(); >- >- if (!WebKit::processHasContainer()) { >- NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier; >- if (!bundleIdentifier) >- bundleIdentifier = [NSProcessInfo processInfo].processName; >- mediaKeysCacheDirectory = [mediaKeysCacheDirectory stringByAppendingPathComponent:bundleIdentifier]; >- } >- mediaKeysCacheDirectory = [mediaKeysCacheDirectory stringByAppendingPathComponent:@"WebKit/MediaCache"]; >- } >- return WebKit::stringByResolvingSymlinksInPath([mediaKeysCacheDirectory stringByStandardizingPath]); >-} >- >-String WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory() >-{ >- NSString *mediaKeysStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebKitMediaKeysStorageDirectoryDefaultsKey]; >- if (!mediaKeysStorageDirectory || ![mediaKeysStorageDirectory isKindOfClass:[NSString class]]) >- mediaKeysStorageDirectory = @"~/Library/WebKit/MediaKeys"; >- return WebKit::stringByResolvingSymlinksInPath([mediaKeysStorageDirectory stringByStandardizingPath]); >-} >- >-String WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory() >-{ >-#if PLATFORM(IOS) >- String path = WebKit::pathForProcessContainer(); >- if (path.isEmpty()) >- path = NSHomeDirectory(); >- >- path = path + "/Library/WebKit/JavaScriptCoreDebug"; >- path = WebKit::stringByResolvingSymlinksInPath(path); >- >- return path; >-#else >- RetainPtr<NSString> javaScriptConfigPath = @"~/Library/WebKit/JavaScriptCoreDebug"; >- >- return WebKit::stringByResolvingSymlinksInPath([javaScriptConfigPath stringByStandardizingPath]); >-#endif >-} >- > String WebsiteDataStore::tempDirectoryFileSystemRepresentation(const String& directoryName, ShouldCreateDirectory shouldCreateDirectory) > { > static dispatch_once_t onceToken; >@@ -324,4 +209,4 @@ WebKit::WebsiteDataStore::Configuration WebsiteDataStore::defaultDataStoreConfig > return configuration; > } > >-} // namespace API >+} >diff --git a/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp b/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp >index d8b13e7823a2eedf53f632937008489cb972d981..5ee01c2abdf367f1497ef90270a2ac8beeefe10a 100644 >--- a/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp >+++ b/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp >@@ -93,75 +93,6 @@ String WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(const Stri > return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::stringFromFileSystemRepresentation(g_get_user_data_dir()), directoryName); > } > >-String WebsiteDataStore::legacyDefaultApplicationCacheDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<gchar> cacheDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "appcache", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(cacheDirectory.get()); >-#endif >- return defaultApplicationCacheDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultNetworkCacheDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<char> diskCacheDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "cache", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(diskCacheDirectory.get()); >-#endif >- return defaultNetworkCacheDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<gchar> databaseDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "databases", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(databaseDirectory.get()); >-#endif >- return defaultWebSQLDatabaseDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<gchar> indexedDBDatabaseDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "databases", "indexeddb", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(indexedDBDatabaseDirectory.get()); >-#endif >- return defaultIndexedDBDatabaseDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultLocalStorageDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<gchar> storageDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "localstorage", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(storageDirectory.get()); >-#endif >- return defaultLocalStorageDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultMediaCacheDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<gchar> cacheDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "mediacache", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(cacheDirectory.get()); >-#endif >- return defaultMediaCacheDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory() >-{ >-#if PLATFORM(WPE) >- GUniquePtr<gchar> mediaKeysStorageDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "mediakeys", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(mediaKeysStorageDirectory.get()); >-#endif >- return defaultMediaKeysStorageDirectory(); >-} >- >-String WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory() >-{ >- GUniquePtr<gchar> javaScriptCoreConfigDirectory(g_build_filename(g_get_user_data_dir(), BASE_DIRECTORY, "JavaScriptCoreDebug", nullptr)); >- return WebCore::FileSystem::stringFromFileSystemRepresentation(javaScriptCoreConfigDirectory.get()); >-} >- > WebKit::WebsiteDataStore::Configuration WebsiteDataStore::defaultDataStoreConfiguration() > { > WebKit::WebsiteDataStore::Configuration configuration; >diff --git a/Source/WebKit/UIProcess/API/win/APIWebsiteDataStoreWin.cpp b/Source/WebKit/UIProcess/API/win/APIWebsiteDataStoreWin.cpp >index 50df2aaee614e3dba2760dfe264e93672813b61b..eafa470de212e1b5af3972c90f7ee4561e71f2af 100644 >--- a/Source/WebKit/UIProcess/API/win/APIWebsiteDataStoreWin.cpp >+++ b/Source/WebKit/UIProcess/API/win/APIWebsiteDataStoreWin.cpp >@@ -85,46 +85,6 @@ String WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation(const Stri > return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), directoryName); > } > >-String WebsiteDataStore::legacyDefaultApplicationCacheDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "ApplicationCache"); >-} >- >-String WebsiteDataStore::legacyDefaultNetworkCacheDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "NetworkCache"); >-} >- >-String WebsiteDataStore::legacyDefaultWebSQLDatabaseDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "WebSQL"); >-} >- >-String WebsiteDataStore::legacyDefaultIndexedDBDatabaseDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "IndexedDB"); >-} >- >-String WebsiteDataStore::legacyDefaultLocalStorageDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "LocalStorage"); >-} >- >-String WebsiteDataStore::legacyDefaultMediaCacheDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "MediaCache"); >-} >- >-String WebsiteDataStore::legacyDefaultMediaKeysStorageDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "MediaKeyStorage"); >-} >- >-String WebsiteDataStore::legacyDefaultJavaScriptConfigurationDirectory() >-{ >- return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "JavaScriptCoreDebug"); >-} >- > WebKit::WebsiteDataStore::Configuration WebsiteDataStore::defaultDataStoreConfiguration() > { > WebKit::WebsiteDataStore::Configuration configuration; >diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >index e19f04dd3d82949c7d4a9a1935a7d2ddbcd531d1..232273f7655e0cc538b95bd57cedf23d698319a6 100644 >--- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >+++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >@@ -62,10 +62,14 @@ > > using namespace WebCore; > >+NSString *WebDatabaseDirectoryDefaultsKey = @"WebDatabaseDirectory"; > NSString *WebServiceWorkerRegistrationDirectoryDefaultsKey = @"WebServiceWorkerRegistrationDirectory"; > NSString *WebKitLocalCacheDefaultsKey = @"WebKitLocalCache"; >+NSString *WebStorageDirectoryDefaultsKey = @"WebKitLocalStorageDatabasePathPreferenceKey"; > NSString *WebKitJSCJITEnabledDefaultsKey = @"WebKitJSCJITEnabledDefaultsKey"; > NSString *WebKitJSCFTLJITEnabledDefaultsKey = @"WebKitJSCFTLJITEnabledDefaultsKey"; >+NSString *WebKitMediaKeysStorageDirectoryDefaultsKey = @"WebKitMediaKeysStorageDirectory"; >+NSString *WebKitMediaCacheDirectoryDefaultsKey = @"WebKitMediaCacheDirectory"; > > #if !PLATFORM(IOS) > static NSString *WebKitApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification = @"NSApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification"; >@@ -389,6 +393,121 @@ String WebProcessPool::containerTemporaryDirectory() const > } > #endif > >+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory() >+{ >+ registerUserDefaultsIfNeeded(); >+ >+ NSString *databasesDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebDatabaseDirectoryDefaultsKey]; >+ if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]]) >+ databasesDirectory = @"~/Library/WebKit/Databases"; >+ return stringByResolvingSymlinksInPath([databasesDirectory stringByStandardizingPath]); >+} >+ >+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory() >+{ >+ // Indexed databases exist in a subdirectory of the "database directory path." >+ // Currently, the top level of that directory contains entities related to WebSQL databases. >+ // We should fix this, and move WebSQL into a subdirectory (https://bugs.webkit.org/show_bug.cgi?id=124807) >+ // In the meantime, an entity name prefixed with three underscores will not conflict with any WebSQL entities. >+ return FileSystem::pathByAppendingComponent(legacyPlatformDefaultWebSQLDatabaseDirectory(), "___IndexedDB"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() >+{ >+ registerUserDefaultsIfNeeded(); >+ >+ NSString *localStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebStorageDirectoryDefaultsKey]; >+ if (!localStorageDirectory || ![localStorageDirectory isKindOfClass:[NSString class]]) >+ localStorageDirectory = @"~/Library/WebKit/LocalStorage"; >+ return stringByResolvingSymlinksInPath([localStorageDirectory stringByStandardizingPath]); >+} >+ >+String WebProcessPool::legacyPlatformDefaultMediaCacheDirectory() >+{ >+ registerUserDefaultsIfNeeded(); >+ >+ NSString *mediaKeysCacheDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebKitMediaCacheDirectoryDefaultsKey]; >+ if (!mediaKeysCacheDirectory || ![mediaKeysCacheDirectory isKindOfClass:[NSString class]]) { >+ mediaKeysCacheDirectory = NSTemporaryDirectory(); >+ >+ if (!WebKit::processHasContainer()) { >+ NSString *bundleIdentifier = [NSBundle mainBundle].bundleIdentifier; >+ if (!bundleIdentifier) >+ bundleIdentifier = [NSProcessInfo processInfo].processName; >+ mediaKeysCacheDirectory = [mediaKeysCacheDirectory stringByAppendingPathComponent:bundleIdentifier]; >+ } >+ mediaKeysCacheDirectory = [mediaKeysCacheDirectory stringByAppendingPathComponent:@"WebKit/MediaCache"]; >+ } >+ return stringByResolvingSymlinksInPath([mediaKeysCacheDirectory stringByStandardizingPath]); >+} >+ >+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory() >+{ >+ registerUserDefaultsIfNeeded(); >+ >+ NSString *mediaKeysStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebKitMediaKeysStorageDirectoryDefaultsKey]; >+ if (!mediaKeysStorageDirectory || ![mediaKeysStorageDirectory isKindOfClass:[NSString class]]) >+ mediaKeysStorageDirectory = @"~/Library/WebKit/MediaKeys"; >+ return stringByResolvingSymlinksInPath([mediaKeysStorageDirectory stringByStandardizingPath]); >+} >+ >+String WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory() >+{ >+ NSString *appName = [[NSBundle mainBundle] bundleIdentifier]; >+ if (!appName) >+ appName = [[NSProcessInfo processInfo] processName]; >+#if PLATFORM(IOS) >+ // This quirk used to make these apps share application cache storage, but doesn't accomplish that any more. >+ // Preserving it avoids the need to migrate data when upgrading. >+ if (IOSApplication::isMobileSafari() || IOSApplication::isWebApp()) >+ appName = @"com.apple.WebAppCache"; >+#endif >+ >+ ASSERT(appName); >+ >+#if PLATFORM(IOS) >+ NSString *cacheDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; >+#else >+ char cacheDirectory[MAXPATHLEN]; >+ size_t cacheDirectoryLen = confstr(_CS_DARWIN_USER_CACHE_DIR, cacheDirectory, MAXPATHLEN); >+ if (!cacheDirectoryLen) >+ return String(); >+ >+ NSString *cacheDir = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:cacheDirectory length:cacheDirectoryLen - 1]; >+#endif >+ NSString* cachePath = [cacheDir stringByAppendingPathComponent:appName]; >+ return stringByResolvingSymlinksInPath([cachePath stringByStandardizingPath]); >+} >+ >+String WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory() >+{ >+ NSString *cachePath = CFBridgingRelease(_CFURLCacheCopyCacheDirectory([[NSURLCache sharedURLCache] _CFURLCache])); >+ if (!cachePath) >+ cachePath = @"~/Library/Caches/com.apple.WebKit.WebProcess"; >+ >+ cachePath = [cachePath stringByAppendingPathComponent:@"WebKitCache"]; >+ >+ return stringByResolvingSymlinksInPath([cachePath stringByStandardizingPath]); >+} >+ >+String WebProcessPool::legacyPlatformDefaultJavaScriptConfigurationDirectory() >+{ >+#if PLATFORM(IOS) >+ String path = pathForProcessContainer(); >+ if (path.isEmpty()) >+ path = NSHomeDirectory(); >+ >+ path = path + "/Library/WebKit/JavaScriptCoreDebug"; >+ path = stringByResolvingSymlinksInPath(path); >+ >+ return path; >+#else >+ RetainPtr<NSString> javaScriptConfigPath = @"~/Library/WebKit/JavaScriptCoreDebug"; >+ >+ return stringByResolvingSymlinksInPath([javaScriptConfigPath stringByStandardizingPath]); >+#endif >+} >+ > #if PLATFORM(IOS) > void WebProcessPool::setJavaScriptConfigurationFileEnabledFromDefaults() > { >diff --git a/Source/WebKit/UIProcess/WebProcessPool.h b/Source/WebKit/UIProcess/WebProcessPool.h >index 08ddb1f550ce8ca967c0cea293b71d5e941f59e4..6a291409dce32716633c4ab4be2070c995ead89e 100644 >--- a/Source/WebKit/UIProcess/WebProcessPool.h >+++ b/Source/WebKit/UIProcess/WebProcessPool.h >@@ -417,6 +417,16 @@ public: > return m_hiddenPageThrottlingAutoIncreasesCounter.count(); > } > >+ // FIXME: Move these to API::WebsiteDataStore. >+ static String legacyPlatformDefaultLocalStorageDirectory(); >+ static String legacyPlatformDefaultIndexedDBDatabaseDirectory(); >+ static String legacyPlatformDefaultWebSQLDatabaseDirectory(); >+ static String legacyPlatformDefaultMediaKeysStorageDirectory(); >+ static String legacyPlatformDefaultMediaCacheDirectory(); >+ static String legacyPlatformDefaultApplicationCacheDirectory(); >+ static String legacyPlatformDefaultNetworkCacheDirectory(); >+ static String legacyPlatformDefaultJavaScriptConfigurationDirectory(); >+ > void setResourceLoadStatisticsEnabled(bool); > void clearResourceLoadStatistics(); > >diff --git a/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp b/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp >index 3d044533a8edfa4409fd2bf50b05991c9b029a1c..adedb98358608291e94bce8f1508875d95d5a719 100644 >--- a/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp >+++ b/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp >@@ -77,6 +77,16 @@ void WebProcessPool::platformInitialize() > #endif > } > >+WTF::String WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory() >+{ >+ return API::WebsiteDataStore::defaultApplicationCacheDirectory(); >+} >+ >+WTF::String WebProcessPool::legacyPlatformDefaultMediaCacheDirectory() >+{ >+ return API::WebsiteDataStore::defaultMediaCacheDirectory(); >+} >+ > void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters& parameters) > { > parameters.memoryCacheDisabled = m_memoryCacheDisabled || cacheModel() == CacheModelDocumentViewer; >@@ -100,6 +110,37 @@ void WebProcessPool::platformInvalidateContext() > { > } > >+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory() >+{ >+ return API::WebsiteDataStore::defaultWebSQLDatabaseDirectory(); >+} >+ >+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory() >+{ >+ return API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory(); >+} >+ >+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() >+{ >+ return API::WebsiteDataStore::defaultLocalStorageDirectory(); >+} >+ >+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory() >+{ >+ return API::WebsiteDataStore::defaultMediaKeysStorageDirectory(); >+} >+ >+String WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory() >+{ >+ return API::WebsiteDataStore::defaultNetworkCacheDirectory(); >+} >+ >+String WebProcessPool::legacyPlatformDefaultJavaScriptConfigurationDirectory() >+{ >+ GUniquePtr<gchar> javaScriptCoreConfigDirectory(g_build_filename(g_get_user_data_dir(), "webkitgtk", "JavaScriptCoreDebug", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(javaScriptCoreConfigDirectory.get()); >+} >+ > void WebProcessPool::platformResolvePathsForSandboxExtensions() > { > } >diff --git a/Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp b/Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp >index 1015ff0606cf4bb4cf562a0789288733656f9ed6..a88b53fc99c77bc79d80eb9cca6559e1771a0f0b 100644 >--- a/Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp >+++ b/Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp >@@ -53,6 +53,46 @@ void WebProcessPool::platformInvalidateContext() > notImplemented(); > } > >+String WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "ApplicationCache"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultMediaCacheDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "MediaCache"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "WebSQL"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "IndexedDB"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "LocalStorage"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "MediaKeyStorage"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "NetworkCache"); >+} >+ >+String WebProcessPool::legacyPlatformDefaultJavaScriptConfigurationDirectory() >+{ >+ return WebCore::FileSystem::pathByAppendingComponent(WebCore::FileSystem::localUserSpecificStorageDirectory(), "JavaScriptCoreDebug"); >+} >+ > void WebProcessPool::platformResolvePathsForSandboxExtensions() > { > } >diff --git a/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp b/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp >index c03e4e864776a5aec604aeb527dcbcaafd426ac4..7cb8951abed7c2d465d54880ed497410b34b403a 100644 >--- a/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp >+++ b/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp >@@ -78,6 +78,18 @@ void WebProcessPool::platformInitialize() > #endif > } > >+WTF::String WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory() >+{ >+ GUniquePtr<gchar> cacheDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "appcache", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(cacheDirectory.get()); >+} >+ >+WTF::String WebProcessPool::legacyPlatformDefaultMediaCacheDirectory() >+{ >+ GUniquePtr<gchar> cacheDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "mediacache", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(cacheDirectory.get()); >+} >+ > void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters& parameters) > { > parameters.memoryCacheDisabled = m_memoryCacheDisabled || cacheModel() == CacheModelDocumentViewer; >@@ -97,6 +109,42 @@ void WebProcessPool::platformInvalidateContext() > notImplemented(); > } > >+String WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory() >+{ >+ GUniquePtr<gchar> databaseDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "databases", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(databaseDirectory.get()); >+} >+ >+String WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory() >+{ >+ GUniquePtr<gchar> indexedDBDatabaseDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "databases", "indexeddb", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(indexedDBDatabaseDirectory.get()); >+} >+ >+String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() >+{ >+ GUniquePtr<gchar> storageDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "localstorage", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(storageDirectory.get()); >+} >+ >+String WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory() >+{ >+ GUniquePtr<gchar> mediaKeysStorageDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "mediakeys", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(mediaKeysStorageDirectory.get()); >+} >+ >+String WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory() >+{ >+ GUniquePtr<char> diskCacheDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "cache", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(diskCacheDirectory.get()); >+} >+ >+String WebProcessPool::legacyPlatformDefaultJavaScriptConfigurationDirectory() >+{ >+ GUniquePtr<gchar> javaScriptCoreConfigDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "JavaScriptCoreDebug", nullptr)); >+ return WebCore::FileSystem::stringFromFileSystemRepresentation(javaScriptCoreConfigDirectory.get()); >+} >+ > void WebProcessPool::platformResolvePathsForSandboxExtensions() > { > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188887
: 347923