Title: [185311] trunk/Source/WebKit2
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());
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to