Changeset 228019 in webkit
- Timestamp:
- Feb 2, 2018 11:25:21 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r228016 r228019 1 2018-02-02 Youenn Fablet <youenn@apple.com> 2 3 Configure serviceWorkerRegistrationDirectory on the web site data store and move it to a Caches subfolder as a default 4 https://bugs.webkit.org/show_bug.cgi?id=182403 5 6 Reviewed by Alex Christensen. 7 8 WebsiteDataStore is the place to set configuration information such as service worker registration path. 9 This patch updates WebKit code accordingly. 10 By default, the service worker registration path is in a Caches subfolder, similarly to cache API path. 11 12 * UIProcess/API/APIProcessPoolConfiguration.cpp: 13 (API::ProcessPoolConfiguration::createWithLegacyOptions): 14 (API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration): 15 (API::ProcessPoolConfiguration::ProcessPoolConfiguration): 16 (API::ProcessPoolConfiguration::copy): 17 * UIProcess/API/APIProcessPoolConfiguration.h: 18 * UIProcess/API/C/WKContextConfigurationRef.cpp: 19 (WKContextConfigurationCopyServiceWorkerDatabaseDirectory): Deleted. 20 (WKContextConfigurationSetServiceWorkerDatabaseDirectory): Deleted. 21 * UIProcess/API/C/WKContextConfigurationRef.h: 22 * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: 23 (API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory): 24 * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: 25 (-[WKWebsiteDataStore _serviceWorkerRegistrationDirectory]): 26 (-[WKWebsiteDataStore _setServiceWorkerRegistrationDirectory:]): 27 * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: 28 * UIProcess/WebProcessPool.cpp: 29 (WebKit::WebProcessPool::ensureStorageProcessAndWebsiteDataStore): 30 (WebKit::WebProcessPool::initializeNewWebProcess): 31 * UIProcess/WebsiteData/WebsiteDataStore.h: 32 (WebKit::WebsiteDataStore::serviceWorkerRegistrationDirectory const): 33 (WebKit::WebsiteDataStore::setServiceWorkerRegistrationDirectory): 34 * UIProcess/gtk/WebProcessPoolGtk.cpp: 35 * UIProcess/gtk/WebProcessPoolWPE.cpp: 36 1 37 2018-02-02 Wenson Hsieh <wenson_hsieh@apple.com> 2 38 -
trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp
r225890 r228019 50 50 configuration->m_mediaCacheDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory(); 51 51 configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory(); 52 configuration->m_serviceWorkerRegistrationDirectory = WebKit::WebProcessPool::legacyPlatformDefaultServiceWorkerRegistrationDirectory();53 52 configuration->m_localStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory(); 54 53 configuration->m_mediaKeysStorageDirectory = WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory(); … … 68 67 configuration->m_mediaCacheDirectory = legacyConfiguration.mediaCacheDirectory; 69 68 configuration->m_indexedDBDatabaseDirectory = WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory(); 70 configuration->m_serviceWorkerRegistrationDirectory = WebKit::WebProcessPool::legacyPlatformDefaultServiceWorkerRegistrationDirectory();71 69 configuration->m_localStorageDirectory = legacyConfiguration.localStorageDirectory; 72 70 configuration->m_mediaKeysStorageDirectory = legacyConfiguration.mediaKeysStorageDirectory; … … 83 81 , m_mediaCacheDirectory(WebsiteDataStore::defaultMediaCacheDirectory()) 84 82 , m_indexedDBDatabaseDirectory(WebsiteDataStore::defaultIndexedDBDatabaseDirectory()) 85 , m_serviceWorkerRegistrationDirectory(WebsiteDataStore::defaultServiceWorkerRegistrationDirectory())86 83 , m_localStorageDirectory(WebsiteDataStore::defaultLocalStorageDirectory()) 87 84 , m_webSQLDatabaseDirectory(WebsiteDataStore::defaultWebSQLDatabaseDirectory()) … … 110 107 copy->m_mediaCacheDirectory = this->m_mediaCacheDirectory; 111 108 copy->m_indexedDBDatabaseDirectory = this->m_indexedDBDatabaseDirectory; 112 copy->m_serviceWorkerRegistrationDirectory = this->m_serviceWorkerRegistrationDirectory;113 109 copy->m_injectedBundlePath = this->m_injectedBundlePath; 114 110 copy->m_localStorageDirectory = this->m_localStorageDirectory; -
trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h
r225490 r228019 77 77 void setIndexedDBDatabaseDirectory(const WTF::String& indexedDBDatabaseDirectory) { m_indexedDBDatabaseDirectory = indexedDBDatabaseDirectory; } 78 78 79 const WTF::String& serviceWorkerRegistrationDirectory() const { return m_serviceWorkerRegistrationDirectory; }80 void setServiceWorkerRegistrationDirectory(const WTF::String& directory) { m_serviceWorkerRegistrationDirectory = directory; }81 82 79 const WTF::String& injectedBundlePath() const { return m_injectedBundlePath; } 83 80 void setInjectedBundlePath(const WTF::String& injectedBundlePath) { m_injectedBundlePath = injectedBundlePath; } … … 152 149 WTF::String m_mediaCacheDirectory; 153 150 WTF::String m_indexedDBDatabaseDirectory; 154 WTF::String m_serviceWorkerRegistrationDirectory;155 151 WTF::String m_injectedBundlePath; 156 152 WTF::String m_localStorageDirectory; -
trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp
r225690 r228019 77 77 { 78 78 toImpl(configuration)->setIndexedDBDatabaseDirectory(toImpl(indexedDBDatabaseDirectory)->string()); 79 }80 81 WKStringRef WKContextConfigurationCopyServiceWorkerDatabaseDirectory(WKContextConfigurationRef configuration)82 {83 return toCopiedAPI(toImpl(configuration)->serviceWorkerRegistrationDirectory());84 }85 86 void WKContextConfigurationSetServiceWorkerDatabaseDirectory(WKContextConfigurationRef configuration, WKStringRef swDatabaseDirectory)87 {88 toImpl(configuration)->setServiceWorkerRegistrationDirectory(toImpl(swDatabaseDirectory)->string());89 79 } 90 80 -
trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h
r225690 r228019 45 45 WK_EXPORT void WKContextConfigurationSetIndexedDBDatabaseDirectory(WKContextConfigurationRef configuration, WKStringRef indexedDBDatabaseDirectory); 46 46 47 WK_EXPORT WKStringRef WKContextConfigurationCopyServiceWorkerDatabaseDirectory(WKContextConfigurationRef configuration);48 WK_EXPORT void WKContextConfigurationSetServiceWorkerDatabaseDirectory(WKContextConfigurationRef configuration, WKStringRef swDatabaseDirectory);49 50 47 WK_EXPORT WKStringRef WKContextConfigurationCopyInjectedBundlePath(WKContextConfigurationRef configuration); 51 48 WK_EXPORT void WKContextConfigurationSetInjectedBundlePath(WKContextConfigurationRef configuration, WKStringRef injectedBundlePath); -
trunk/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm
r225911 r228019 75 75 String WebsiteDataStore::defaultServiceWorkerRegistrationDirectory() 76 76 { 77 return websiteDataDirectoryFileSystemRepresentation("ServiceWorkers");77 return cacheDirectoryFileSystemRepresentation("ServiceWorkers"); 78 78 } 79 79 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
r227943 r228019 265 265 } 266 266 267 - (NSString *)_serviceWorkerRegistrationDirectory 268 { 269 return _websiteDataStore->websiteDataStore().serviceWorkerRegistrationDirectory(); 270 } 271 272 - (void)_setServiceWorkerRegistrationDirectory:(NSString *)directory 273 { 274 _websiteDataStore->websiteDataStore().setServiceWorkerRegistrationDirectory(directory); 275 } 276 267 277 - (void)_setBoundInterfaceIdentifier:(NSString *)identifier 268 278 { -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h
r227943 r228019 49 49 @property (nonatomic, setter=_setCacheStoragePerOriginQuota:) NSUInteger _cacheStoragePerOriginQuota WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); 50 50 @property (nonatomic, setter=_setCacheStorageDirectory:) NSString* _cacheStorageDirectory WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); 51 @property (nonatomic, setter=_setServiceWorkerRegistrationDirectory:) NSString* _serviceWorkerRegistrationDirectory WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); 51 52 52 53 @property (nonatomic, setter=_setBoundInterfaceIdentifier:) NSString *_boundInterfaceIdentifier WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); -
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
r227790 r228019 404 404 } 405 405 406 String WebProcessPool::legacyPlatformDefaultServiceWorkerRegistrationDirectory()407 {408 registerUserDefaultsIfNeeded();409 410 NSString *directory = [[NSUserDefaults standardUserDefaults] objectForKey:WebServiceWorkerRegistrationDirectoryDefaultsKey];411 if (!directory || ![directory isKindOfClass:[NSString class]])412 directory = @"~/Library/WebKit/ServiceWorkers";413 return stringByResolvingSymlinksInPath([directory stringByStandardizingPath]);414 }415 416 406 String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() 417 407 { -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r227789 r228019 556 556 #if ENABLE(SERVICE_WORKER) 557 557 if (parameters.serviceWorkerRegistrationDirectory.isEmpty()) { 558 parameters.serviceWorkerRegistrationDirectory = m_configuration->serviceWorkerRegistrationDirectory();558 parameters.serviceWorkerRegistrationDirectory = API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory(); 559 559 SandboxExtension::createHandleForReadWriteDirectory(parameters.serviceWorkerRegistrationDirectory, parameters.serviceWorkerRegistrationDirectoryExtensionHandle); 560 560 } … … 817 817 818 818 #if ENABLE(SERVICE_WORKER) 819 parameters.hasRegisteredServiceWorkers = ServiceWorkerProcessProxy::hasRegisteredServiceWorkers(m_configuration->serviceWorkerRegistrationDirectory()); 819 String serviceWorkerRegistrationDirectory = websiteDataStore.resolvedServiceWorkerRegistrationDirectory(); 820 if (serviceWorkerRegistrationDirectory.isEmpty()) 821 serviceWorkerRegistrationDirectory = API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory(); 822 parameters.hasRegisteredServiceWorkers = ServiceWorkerProcessProxy::hasRegisteredServiceWorkers(serviceWorkerRegistrationDirectory); 820 823 #endif 821 824 -
trunk/Source/WebKit/UIProcess/WebProcessPool.h
r226325 r228019 394 394 static String legacyPlatformDefaultLocalStorageDirectory(); 395 395 static String legacyPlatformDefaultIndexedDBDatabaseDirectory(); 396 static String legacyPlatformDefaultServiceWorkerRegistrationDirectory();397 396 static String legacyPlatformDefaultWebSQLDatabaseDirectory(); 398 397 static String legacyPlatformDefaultMediaKeysStorageDirectory(); -
trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
r227762 r228019 108 108 const String& cacheStorageDirectory() const { return m_resolvedConfiguration.cacheStorageDirectory; } 109 109 void setCacheStorageDirectory(String&& directory) { m_resolvedConfiguration.cacheStorageDirectory = WTFMove(directory); } 110 const String& serviceWorkerRegistrationDirectory() const { return m_resolvedConfiguration.serviceWorkerRegistrationDirectory; } 111 void setServiceWorkerRegistrationDirectory(String&& directory) { m_resolvedConfiguration.serviceWorkerRegistrationDirectory = WTFMove(directory); } 110 112 111 113 WebResourceLoadStatisticsStore* resourceLoadStatistics() const { return m_resourceLoadStatistics.get(); } -
trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp
r225490 r228019 107 107 } 108 108 109 String WebProcessPool::legacyPlatformDefaultServiceWorkerRegistrationDirectory()110 {111 return API::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory();112 }113 114 109 String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() 115 110 { -
trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp
r225490 r228019 112 112 } 113 113 114 String WebProcessPool::legacyPlatformDefaultServiceWorkerRegistrationDirectory()115 {116 // FIXME: Implement when implementing ServiceWorkers117 notImplemented();118 return String();119 }120 121 114 String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory() 122 115 { -
trunk/Tools/ChangeLog
r228014 r228019 1 2018-02-02 Youenn Fablet <youenn@apple.com> 2 3 Configure serviceWorkerRegistrationDirectory on the web site data store and move it to a Caches subfolder as a default 4 https://bugs.webkit.org/show_bug.cgi?id=182403 5 6 Reviewed by Alex Christensen. 7 8 * WebKitTestRunner/TestController.cpp: 9 (WTR::TestController::generateContextConfiguration const): 10 * WebKitTestRunner/cocoa/TestControllerCocoa.mm: 11 (WTR::initializeWebViewConfiguration): 12 1 13 2018-02-02 Carlos Garcia Campos <cgarcia@igalia.com> 2 14 -
trunk/Tools/WebKitTestRunner/TestController.cpp
r227933 r228019 412 412 WKContextConfigurationSetDiskCacheDirectory(configuration.get(), toWK(temporaryFolder + separator + "Cache").get()); 413 413 WKContextConfigurationSetIndexedDBDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + "Databases" + separator + "IndexedDB").get()); 414 WKContextConfigurationSetServiceWorkerDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + "ServiceWorkers").get());415 414 WKContextConfigurationSetLocalStorageDirectory(configuration.get(), toWK(temporaryFolder + separator + "LocalStorage").get()); 416 415 WKContextConfigurationSetWebSQLDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + "Databases" + separator + "WebSQL").get()); -
trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm
r227943 r228019 84 84 String cacheStorageDirectory = String(libraryPath) + '/' + "CacheStorage"; 85 85 [poolWebsiteDataStore _setCacheStorageDirectory: cacheStorageDirectory]; 86 87 String serviceWorkerRegistrationDirectory = String(libraryPath) + '/' + "ServiceWorkers"; 88 [poolWebsiteDataStore _setServiceWorkerRegistrationDirectory: serviceWorkerRegistrationDirectory]; 86 89 } 87 90
Note: See TracChangeset
for help on using the changeset viewer.