- Revision
- 185311
- Author
- [email protected]
- Date
- 2015-06-07 23:35:31 -0700 (Sun, 07 Jun 2015)
Log Message
REGRESSION(r185262): [GTK] webkit_web_context_set_disk_cache_directory() doesn't work after r185262
https://bugs.webkit.org/show_bug.cgi?id=145735
Reviewed by Darin Adler.
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess): Use
the directory name to clear the old cache, since the disk cache
subdirectory is now added in the UI process.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_disk_cache_directory): Update the
WebProcessPool configuration to override the disk cache directory.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess): Use the
configuration to get the disk cache directory.
(WebKit::WebProcessPool::WebProcessPool): Remove
m_diskCacheDirectory member initialization.
* UIProcess/WebProcessPool.h: Remove m_diskCacheDirectory member.
* UIProcess/gtk/WebProcessPoolGtk.cpp:
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
Append the disk cache subdirectory.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (185310 => 185311)
--- trunk/Source/WebKit2/ChangeLog 2015-06-08 02:39:15 UTC (rev 185310)
+++ trunk/Source/WebKit2/ChangeLog 2015-06-08 06:35:31 UTC (rev 185311)
@@ -1,3 +1,27 @@
+2015-06-07 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r185262): [GTK] webkit_web_context_set_disk_cache_directory() doesn't work after r185262
+ https://bugs.webkit.org/show_bug.cgi?id=145735
+
+ Reviewed by Darin Adler.
+
+ * NetworkProcess/soup/NetworkProcessSoup.cpp:
+ (WebKit::NetworkProcess::platformInitializeNetworkProcess): Use
+ the directory name to clear the old cache, since the disk cache
+ subdirectory is now added in the UI process.
+ * UIProcess/API/gtk/WebKitWebContext.cpp:
+ (webkit_web_context_set_disk_cache_directory): Update the
+ WebProcessPool configuration to override the disk cache directory.
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::ensureNetworkProcess): Use the
+ configuration to get the disk cache directory.
+ (WebKit::WebProcessPool::WebProcessPool): Remove
+ m_diskCacheDirectory member initialization.
+ * UIProcess/WebProcessPool.h: Remove m_diskCacheDirectory member.
+ * UIProcess/gtk/WebProcessPoolGtk.cpp:
+ (WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
+ Append the disk cache subdirectory.
+
2015-06-07 Gyuyoung Kim <[email protected]>
[EFL][GTK] Fix build break since r185262
Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp (185310 => 185311)
--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp 2015-06-08 02:39:15 UTC (rev 185310)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessSoup.cpp 2015-06-08 06:35:31 UTC (rev 185311)
@@ -72,16 +72,15 @@
#if ENABLE(NETWORK_CACHE)
// Clear the old soup cache if it exists.
- SoupNetworkSession::defaultSession().clearCache(m_diskCacheDirectory);
+ SoupNetworkSession::defaultSession().clearCache(WebCore::directoryName(m_diskCacheDirectory));
NetworkCache::singleton().initialize(m_diskCacheDirectory, parameters.shouldEnableNetworkCacheEfficacyLogging);
#else
// We used to use the given cache directory for the soup cache, but now we use a subdirectory to avoid
// conflicts with other cache files in the same directory. Remove the old cache files if they still exist.
- SoupNetworkSession::defaultSession().clearCache(parameters.diskCacheDirectory);
+ SoupNetworkSession::defaultSession().clearCache(WebCore::directoryName(m_diskCacheDirectory));
- String diskCachePath = WebCore::pathByAppendingComponent(parameters.diskCacheDirectory, "webkit");
- GRefPtr<SoupCache> soupCache = adoptGRef(soup_cache_new(diskCachePath.utf8().data(), SOUP_CACHE_SINGLE_USER));
+ GRefPtr<SoupCache> soupCache = adoptGRef(soup_cache_new(m_diskCacheDirectory.utf8().data(), SOUP_CACHE_SINGLE_USER));
SoupNetworkSession::defaultSession().setCache(soupCache.get());
// Set an initial huge max_size for the SoupCache so the call to soup_cache_load() won't evict any cached
// resource. The final size of the cache will be set by NetworkProcess::platformSetCacheModel().
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (185310 => 185311)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp 2015-06-08 02:39:15 UTC (rev 185310)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp 2015-06-08 06:35:31 UTC (rev 185311)
@@ -1025,12 +1025,17 @@
* This method must be called before loading anything in this context, otherwise
* it will not have any effect.
*/
-void webkit_web_context_set_disk_cache_directory(WebKitWebContext*, const char* directory)
+void webkit_web_context_set_disk_cache_directory(WebKitWebContext* context, const char* directory)
{
+ g_return_if_fail(WEBKIT_IS_WEB_CONTEXT(context));
g_return_if_fail(directory);
- auto configuration = API::ProcessPoolConfiguration::createWithLegacyOptions();
- configuration->setDiskCacheDirectory(WebCore::filenameToString(directory));
+#if ENABLE(NETWORK_CACHE)
+ static const char networkCacheSubdirectory[] = "WebKitCache";
+#else
+ static const char networkCacheSubdirectory[] = "webkit";
+#endif
+ context->priv->context->configuration().setDiskCacheDirectory(WebCore::pathByAppendingComponent(WebCore::filenameToString(directory), networkCacheSubdirectory));
}
/**
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (185310 => 185311)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2015-06-08 02:39:15 UTC (rev 185310)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2015-06-08 06:35:31 UTC (rev 185311)
@@ -167,7 +167,6 @@
, m_initialHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain)
#endif
, m_applicationCacheDirectory(configuration.applicationCacheDirectory())
- , m_diskCacheDirectory(configuration.diskCacheDirectory())
, m_indexedDBDatabaseDirectory(configuration.indexedDBDatabaseDirectory())
, m_mediaKeysStorageDirectory(configuration.mediaKeysStorageDirectory())
, m_webSQLDatabaseDirectory(configuration.webSQLDatabaseDirectory())
@@ -418,7 +417,7 @@
parameters.diskCacheSizeOverride = m_diskCacheSizeOverride;
parameters.canHandleHTTPSServerTrustEvaluation = m_canHandleHTTPSServerTrustEvaluation;
- parameters.diskCacheDirectory = m_diskCacheDirectory;
+ parameters.diskCacheDirectory = m_configuration->diskCacheDirectory();
if (!parameters.diskCacheDirectory.isEmpty())
SandboxExtension::createHandleForReadWriteDirectory(parameters.diskCacheDirectory, parameters.diskCacheDirectoryExtensionHandle);
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (185310 => 185311)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2015-06-08 02:39:15 UTC (rev 185310)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2015-06-08 06:35:31 UTC (rev 185311)
@@ -506,7 +506,6 @@
String m_overrideCookieStorageDirectory;
String m_applicationCacheDirectory;
- String m_diskCacheDirectory;
String m_indexedDBDatabaseDirectory;
String m_mediaKeysStorageDirectory;
String m_webSQLDatabaseDirectory;
Modified: trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp (185310 => 185311)
--- trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp 2015-06-08 02:39:15 UTC (rev 185310)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebProcessPoolGtk.cpp 2015-06-08 06:35:31 UTC (rev 185311)
@@ -144,7 +144,12 @@
String WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory()
{
- GUniquePtr<char> diskCacheDirectory(g_build_filename(g_get_user_cache_dir(), g_get_prgname(), nullptr));
+#if ENABLE(NETWORK_CACHE)
+ static const char networkCacheSubdirectory[] = "WebKitCache";
+#else
+ static const char networkCacheSubdirectory[] = "webkit";
+#endif
+ GUniquePtr<char> diskCacheDirectory(g_build_filename(g_get_user_cache_dir(), g_get_prgname(), networkCacheSubdirectory, nullptr));
return WebCore::filenameToString(diskCacheDirectory.get());
}