Title: [223242] trunk/Source/WebKit
- Revision
- 223242
- Author
- [email protected]
- Date
- 2017-10-12 11:26:33 -0700 (Thu, 12 Oct 2017)
Log Message
CacheStorage persistent folder should be in /Library/Cache
https://bugs.webkit.org/show_bug.cgi?id=178193
Patch by Youenn Fablet <[email protected]> on 2017-10-12
Reviewed by Brady Eidson.
* UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
(API::WebsiteDataStore::defaultCacheStorageDirectory): Making CacheStorage
directory a subfolder of Caches folder.
(API::WebsiteDataStore::defaultDataStoreConfiguration):
* UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):
(WebKit::WebProcessPool::ensureNetworkProcess): Make sure the web site data store
has the right cache directory path. Also make sure that the quota is set even if there is no folder specified.
Quota may still be useful in case of non persistent sessions.
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
* UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
(API::WebsiteDataStore::defaultCacheStorageDirectory):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (223241 => 223242)
--- trunk/Source/WebKit/ChangeLog 2017-10-12 18:21:05 UTC (rev 223241)
+++ trunk/Source/WebKit/ChangeLog 2017-10-12 18:26:33 UTC (rev 223242)
@@ -1,3 +1,24 @@
+2017-10-12 Youenn Fablet <[email protected]>
+
+ CacheStorage persistent folder should be in /Library/Cache
+ https://bugs.webkit.org/show_bug.cgi?id=178193
+
+ Reviewed by Brady Eidson.
+
+ * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
+ (API::WebsiteDataStore::defaultCacheStorageDirectory): Making CacheStorage
+ directory a subfolder of Caches folder.
+ (API::WebsiteDataStore::defaultDataStoreConfiguration):
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::legacyWebsiteDataStoreConfiguration):
+ (WebKit::WebProcessPool::ensureNetworkProcess): Make sure the web site data store
+ has the right cache directory path. Also make sure that the quota is set even if there is no folder specified.
+ Quota may still be useful in case of non persistent sessions.
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
+ * UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
+ (API::WebsiteDataStore::defaultCacheStorageDirectory):
+
2017-10-11 Sam Weinig <[email protected]>
Remove out-parameter variants of copyToVector
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm (223241 => 223242)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm 2017-10-12 18:21:05 UTC (rev 223241)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm 2017-10-12 18:26:33 UTC (rev 223242)
@@ -54,7 +54,7 @@
String WebsiteDataStore::defaultCacheStorageDirectory()
{
- return websiteDataDirectoryFileSystemRepresentation("CacheStorage");
+ return cacheDirectoryFileSystemRepresentation("CacheStorage");
}
String WebsiteDataStore::defaultNetworkCacheDirectory()
@@ -188,6 +188,7 @@
configuration.applicationCacheDirectory = defaultApplicationCacheDirectory();
configuration.applicationCacheFlatFileSubdirectoryName = "Files";
+ configuration.cacheStorageDirectory = defaultCacheStorageDirectory();
configuration.networkCacheDirectory = defaultNetworkCacheDirectory();
configuration.mediaCacheDirectory = defaultMediaCacheDirectory();
Modified: trunk/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp (223241 => 223242)
--- trunk/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp 2017-10-12 18:21:05 UTC (rev 223241)
+++ trunk/Source/WebKit/UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp 2017-10-12 18:26:33 UTC (rev 223242)
@@ -48,6 +48,11 @@
return cacheDirectoryFileSystemRepresentation(WebCore::pathByAppendingComponent(WebCore::stringFromFileSystemRepresentation(g_get_prgname()), "WebKitCache"));
}
+String WebsiteDataStore::defaultCacheStorageDirectory()
+{
+ return cacheDirectoryFileSystemRepresentation(WebCore::pathByAppendingComponent(WebCore::stringFromFileSystemRepresentation(g_get_prgname()), "CacheStorage"));
+}
+
String WebsiteDataStore::defaultIndexedDBDatabaseDirectory()
{
return websiteDataDirectoryFileSystemRepresentation(BASE_DIRECTORY G_DIR_SEPARATOR_S "databases" G_DIR_SEPARATOR_S "indexeddb");
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (223241 => 223242)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-10-12 18:21:05 UTC (rev 223241)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-10-12 18:26:33 UTC (rev 223242)
@@ -189,6 +189,7 @@
{
WebsiteDataStore::Configuration configuration;
+ configuration.cacheStorageDirectory = API::WebsiteDataStore::defaultCacheStorageDirectory();
configuration.localStorageDirectory = processPoolConfiguration.localStorageDirectory();
configuration.webSQLDatabaseDirectory = processPoolConfiguration.webSQLDatabaseDirectory();
configuration.applicationCacheDirectory = processPoolConfiguration.applicationCacheDirectory();
@@ -416,6 +417,9 @@
return *m_networkProcess;
}
+ if (m_websiteDataStore)
+ m_websiteDataStore->websiteDataStore().resolveDirectoriesIfNecessary();
+
m_networkProcess = NetworkProcessProxy::create(*this);
NetworkProcessCreationParameters parameters;
@@ -433,10 +437,9 @@
parameters.urlSchemesRegisteredForCustomProtocols.append(scheme);
parameters.cacheStorageDirectory = m_websiteDataStore ? m_websiteDataStore->websiteDataStore().cacheStorageDirectory() : String { };
- if (!parameters.cacheStorageDirectory.isEmpty()) {
+ if (!parameters.cacheStorageDirectory.isEmpty())
SandboxExtension::createHandleForReadWriteDirectory(parameters.cacheStorageDirectory, parameters.cacheStorageDirectoryExtensionHandle);
- parameters.cacheStoragePerOriginQuota = m_websiteDataStore ? m_websiteDataStore->websiteDataStore().cacheStoragePerOriginQuota() : WebsiteDataStore::defaultCacheStoragePerOriginQuota;
- }
+ parameters.cacheStoragePerOriginQuota = m_websiteDataStore ? m_websiteDataStore->websiteDataStore().cacheStoragePerOriginQuota() : WebsiteDataStore::defaultCacheStoragePerOriginQuota;
parameters.diskCacheDirectory = m_configuration->diskCacheDirectory();
if (!parameters.diskCacheDirectory.isEmpty())
Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (223241 => 223242)
--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2017-10-12 18:21:05 UTC (rev 223241)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp 2017-10-12 18:26:33 UTC (rev 223242)
@@ -119,6 +119,9 @@
if (!m_configuration._javascript_ConfigurationDirectory.isEmpty())
m_resolvedConfiguration._javascript_ConfigurationDirectory = resolvePathForSandboxExtension(m_configuration._javascript_ConfigurationDirectory);
+ if (!m_configuration.cacheStorageDirectory.isEmpty() && m_resolvedConfiguration.cacheStorageDirectory.isEmpty())
+ m_resolvedConfiguration.cacheStorageDirectory = resolvePathForSandboxExtension(m_configuration.cacheStorageDirectory);
+
// Resolve directories for file paths.
if (!m_configuration.cookieStorageFile.isEmpty()) {
m_resolvedConfiguration.cookieStorageFile = resolveAndCreateReadWriteDirectoryForSandboxExtension(WebCore::directoryName(m_configuration.cookieStorageFile));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes