Title: [148886] trunk/Source/WebKit2
Revision
148886
Author
carlo...@webkit.org
Date
2013-04-22 08:57:22 -0700 (Mon, 22 Apr 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 Anders Carlsson.

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: trunk/Source/WebKit2/ChangeLog (148885 => 148886)


--- trunk/Source/WebKit2/ChangeLog	2013-04-22 15:43:59 UTC (rev 148885)
+++ trunk/Source/WebKit2/ChangeLog	2013-04-22 15:57:22 UTC (rev 148886)
@@ -1,3 +1,28 @@
+2013-04-22  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 Anders Carlsson.
+
+        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-04-22  Krzysztof Wolanski  <k.wolan...@samsung.com>:
 
         [WK2] Fix build warning when GESTURE_EVENTS is ON.

Modified: trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp (148885 => 148886)


--- trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp	2013-04-22 15:43:59 UTC (rev 148885)
+++ trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp	2013-04-22 15:57:22 UTC (rev 148886)
@@ -117,8 +117,7 @@
 
 String WebContext::platformDefaultDiskCacheDirectory() const
 {
-    notImplemented();
-    return String();
+    return String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl";
 }
 
 String WebContext::platformDefaultCookieStorageDirectory() const

Modified: trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (148885 => 148886)


--- trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2013-04-22 15:43:59 UTC (rev 148885)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2013-04-22 15:57:22 UTC (rev 148886)
@@ -119,8 +119,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: trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp (148885 => 148886)


--- trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp	2013-04-22 15:43:59 UTC (rev 148885)
+++ trunk/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp	2013-04-22 15:57:22 UTC (rev 148886)
@@ -123,12 +123,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;
@@ -138,9 +132,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: trunk/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp (148885 => 148886)


--- trunk/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp	2013-04-22 15:43:59 UTC (rev 148885)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp	2013-04-22 15:57:22 UTC (rev 148886)
@@ -75,15 +75,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: trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp (148885 => 148886)


--- trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp	2013-04-22 15:43:59 UTC (rev 148885)
+++ trunk/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp	2013-04-22 15:57:22 UTC (rev 148886)
@@ -175,6 +175,11 @@
     }
 #endif
 
+    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