Title: [145527] releases/WebKitGTK/webkit-2.0/Source/WebKit2
Revision
145527
Author
carlo...@webkit.org
Date
2013-03-12 05:00:23 -0700 (Tue, 12 Mar 2013)

Log Message

[SOUP] Soup disk cache should respect the diskCacheDirectory from the process initial parameters
https://bugs.webkit.org/show_bug.cgi?id=111845

Reviewed by Xan Lopez.

Move the cache initialization to platformInitializeWebProcess() to
create the cache using the directory received from the UI
process. This allows to add public API to set a different disk
cache directory from the UI process.

* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformDefaultDiskCacheDirectory): Return
default disk cache directory.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultDiskCacheDirectory): Ditto.
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Remove soup cache initialization.
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk): Ditto.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): Initialize
soup cache.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog (145526 => 145527)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog	2013-03-12 11:56:13 UTC (rev 145526)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog	2013-03-12 12:00:23 UTC (rev 145527)
@@ -1,5 +1,30 @@
 2013-03-12  Carlos Garcia Campos  <cgar...@igalia.com>
 
+        [SOUP] Soup disk cache should respect the diskCacheDirectory from the process initial parameters
+        https://bugs.webkit.org/show_bug.cgi?id=111845
+
+        Reviewed by Xan Lopez.
+
+        Move the cache initialization to platformInitializeWebProcess() to
+        create the cache using the directory received from the UI
+        process. This allows to add public API to set a different disk
+        cache directory from the UI process.
+
+        * UIProcess/efl/WebContextEfl.cpp:
+        (WebKit::WebContext::platformDefaultDiskCacheDirectory): Return
+        default disk cache directory.
+        * UIProcess/gtk/WebContextGtk.cpp:
+        (WebKit::WebContext::platformDefaultDiskCacheDirectory): Ditto.
+        * WebProcess/efl/WebProcessMainEfl.cpp:
+        (WebKit::WebProcessMainEfl): Remove soup cache initialization.
+        * WebProcess/gtk/WebProcessMainGtk.cpp:
+        (WebKit::WebProcessMainGtk): Ditto.
+        * WebProcess/soup/WebProcessSoup.cpp:
+        (WebKit::WebProcess::platformInitializeWebProcess): Initialize
+        soup cache.
+
+2013-03-12  Carlos Garcia Campos  <cgar...@igalia.com>
+
         [GTK] Add webkit_web_page_get_id() to WebKit2 GTK+ API
         https://bugs.webkit.org/show_bug.cgi?id=111938
 

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp (145526 => 145527)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp	2013-03-12 11:56:13 UTC (rev 145526)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp	2013-03-12 12:00:23 UTC (rev 145527)
@@ -117,8 +117,7 @@
 
 String WebContext::platformDefaultDiskCacheDirectory() const
 {
-    notImplemented();
-    return String();
+    return String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl";
 }
 
 String WebContext::platformDefaultCookieStorageDirectory() const

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (145526 => 145527)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2013-03-12 11:56:13 UTC (rev 145526)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2013-03-12 12:00:23 UTC (rev 145527)
@@ -118,8 +118,8 @@
 
 String WebContext::platformDefaultDiskCacheDirectory() const
 {
-    notImplemented();
-    return String();
+    GOwnPtr<char> diskCacheDirectory(g_build_filename(g_get_user_cache_dir(), g_get_prgname(), NULL));
+    return WebCore::filenameToString(diskCacheDirectory.get());
 }
 
 String WebContext::platformDefaultCookieStorageDirectory() const

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp (145526 => 145527)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp	2013-03-12 11:56:13 UTC (rev 145526)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp	2013-03-12 12:00:23 UTC (rev 145527)
@@ -129,12 +129,6 @@
         g_object_unref(resolverEfl);
     }
 
-    // Set SOUP cache.
-    String soupCacheDirectory = String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl";
-    SoupCache* soupCache = soup_cache_new(soupCacheDirectory.utf8().data(), SOUP_CACHE_SINGLE_USER);
-    soup_session_add_feature(session, SOUP_SESSION_FEATURE(soupCache));
-    soup_cache_load(soupCache);
-
     int socket = atoi(argv[1]);
 
     ChildProcessInitializationParameters parameters;
@@ -144,9 +138,10 @@
 
     RunLoop::run();
 
-    soup_cache_flush(soupCache);
-    soup_cache_dump(soupCache);
-    g_object_unref(soupCache);
+    if (SoupSessionFeature* soupCache = soup_session_get_feature(session, SOUP_TYPE_CACHE)) {
+        soup_cache_flush(SOUP_CACHE(soupCache));
+        soup_cache_dump(SOUP_CACHE(soupCache));
+    }
 
     edje_shutdown();
     ecore_evas_shutdown();

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp (145526 => 145527)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp	2013-03-12 11:56:13 UTC (rev 145526)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp	2013-03-12 12:00:23 UTC (rev 145527)
@@ -80,15 +80,12 @@
     g_object_set(session, SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
                  SOUP_SESSION_SSL_STRICT, FALSE, NULL);
 
-    GOwnPtr<char> soupCacheDirectory(g_build_filename(g_get_user_cache_dir(), g_get_prgname(), NULL));
-    GRefPtr<SoupCache> soupCache = adoptGRef(soup_cache_new(soupCacheDirectory.get(), SOUP_CACHE_SINGLE_USER));
-    soup_session_add_feature(session, SOUP_SESSION_FEATURE(soupCache.get()));
-    soup_cache_load(soupCache.get());
-
     RunLoop::run();
 
-    soup_cache_flush(soupCache.get());
-    soup_cache_dump(soupCache.get());
+    if (SoupSessionFeature* soupCache = soup_session_get_feature(session, SOUP_TYPE_CACHE)) {
+        soup_cache_flush(SOUP_CACHE(soupCache));
+        soup_cache_dump(SOUP_CACHE(soupCache));
+    }
 
     return 0;
 }

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp (145526 => 145527)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp	2013-03-12 11:56:13 UTC (rev 145526)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp	2013-03-12 12:00:23 UTC (rev 145527)
@@ -164,6 +164,11 @@
 
 void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::MessageDecoder&)
 {
+    ASSERT(!parameters.diskCacheDirectory.isEmpty());
+    GRefPtr<SoupCache> soupCache = adoptGRef(soup_cache_new(parameters.diskCacheDirectory.utf8().data(), SOUP_CACHE_SINGLE_USER));
+    soup_session_add_feature(WebCore::ResourceHandle::defaultSession(), SOUP_SESSION_FEATURE(soupCache.get()));
+    soup_cache_load(soupCache.get());
+
     if (!parameters.languages.isEmpty())
         setSoupSessionAcceptLanguage(parameters.languages);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to