Title: [219290] trunk/Source
Revision
219290
Author
carlo...@webkit.org
Date
2017-07-10 06:21:35 -0700 (Mon, 10 Jul 2017)

Log Message

[SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)
https://bugs.webkit.org/show_bug.cgi?id=166029

Reviewed by Michael Catanzaro.

Source/WebCore:

Add clearSoupNetworkSessionAndCookieStorage() to clear the SoupNetworkSession and cookie storage of the main
network session, ensuring the cookies database is properly closed.

* platform/network/NetworkStorageSession.h:
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::clearSoupNetworkSessionAndCookieStorage):

Source/WebKit2:

Clear the SoupNetworkSession and cookie storage after the main loop quits.

* NetworkProcess/soup/NetworkProcessMainSoup.cpp:
(WebKit::NetworkProcessMainUnix):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (219289 => 219290)


--- trunk/Source/WebCore/ChangeLog	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebCore/ChangeLog	2017-07-10 13:21:35 UTC (rev 219290)
@@ -1,5 +1,19 @@
 2017-07-10  Carlos Garcia Campos  <cgar...@igalia.com>
 
+        [SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)
+        https://bugs.webkit.org/show_bug.cgi?id=166029
+
+        Reviewed by Michael Catanzaro.
+
+        Add clearSoupNetworkSessionAndCookieStorage() to clear the SoupNetworkSession and cookie storage of the main
+        network session, ensuring the cookies database is properly closed.
+
+        * platform/network/NetworkStorageSession.h:
+        * platform/network/soup/NetworkStorageSessionSoup.cpp:
+        (WebCore::NetworkStorageSession::clearSoupNetworkSessionAndCookieStorage):
+
+2017-07-10  Carlos Garcia Campos  <cgar...@igalia.com>
+
         Move make-js-file-arrays.py from WebCore to _javascript_Core
         https://bugs.webkit.org/show_bug.cgi?id=174024
 

Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (219289 => 219290)


--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h	2017-07-10 13:21:35 UTC (rev 219290)
@@ -92,6 +92,7 @@
 
     SoupNetworkSession* soupNetworkSession() const { return m_session.get(); };
     SoupNetworkSession& getOrCreateSoupNetworkSession() const;
+    void clearSoupNetworkSessionAndCookieStorage();
     SoupCookieJar* cookieStorage() const;
     void setCookieStorage(SoupCookieJar*);
     void setCookieObserverHandler(Function<void ()>&&);

Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (219289 => 219290)


--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp	2017-07-10 13:21:35 UTC (rev 219290)
@@ -103,6 +103,14 @@
     return *m_session;
 }
 
+void NetworkStorageSession::clearSoupNetworkSessionAndCookieStorage()
+{
+    ASSERT(defaultSession().get() == this);
+    m_session = nullptr;
+    m_cookieObserverHandler = nullptr;
+    m_cookieStorage = nullptr;
+}
+
 void NetworkStorageSession::cookiesDidChange(NetworkStorageSession* session)
 {
     if (session->m_cookieObserverHandler)

Modified: trunk/Source/WebKit2/ChangeLog (219289 => 219290)


--- trunk/Source/WebKit2/ChangeLog	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebKit2/ChangeLog	2017-07-10 13:21:35 UTC (rev 219290)
@@ -1,3 +1,15 @@
+2017-07-10  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [SOUP] SoupCookieJar is never released (resulting in sqlite temp files lying around)
+        https://bugs.webkit.org/show_bug.cgi?id=166029
+
+        Reviewed by Michael Catanzaro.
+
+        Clear the SoupNetworkSession and cookie storage after the main loop quits.
+
+        * NetworkProcess/soup/NetworkProcessMainSoup.cpp:
+        (WebKit::NetworkProcessMainUnix):
+
 2017-07-10  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [WK2] Action sheets for links fail to present in WebKit2 PDF view

Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp (219289 => 219290)


--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp	2017-07-10 13:19:55 UTC (rev 219289)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkProcessMainSoup.cpp	2017-07-10 13:21:35 UTC (rev 219290)
@@ -29,12 +29,21 @@
 
 #include "ChildProcessMain.h"
 #include "NetworkProcessMainUnix.h"
+#include <WebCore/NetworkStorageSession.h>
 
 namespace WebKit {
 
+class NetworkProcessMain final: public ChildProcessMainBase {
+public:
+    void platformFinalize() override
+    {
+        WebCore::NetworkStorageSession::defaultStorageSession().clearSoupNetworkSessionAndCookieStorage();
+    }
+};
+
 int NetworkProcessMainUnix(int argc, char** argv)
 {
-    return ChildProcessMain<NetworkProcess, ChildProcessMainBase>(argc, argv);
+    return ChildProcessMain<NetworkProcess, NetworkProcessMain>(argc, argv);
 }
 
 } // namespace WebKit
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to