Title: [240785] trunk/Source/WebKit
Revision
240785
Author
[email protected]
Date
2019-01-31 07:04:30 -0800 (Thu, 31 Jan 2019)

Log Message

[SOUP] Move cookiePersistentStoragePath and cookiePersistentStorageType from NetworkProcess to NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=194075

Reviewed by Alex Christensen.

Move cookiePersistentStoragePath and cookiePersistentStorageType from NetworkProcess to
NetworkSession to reduce globals. This removes two of the six soup-specific variables in
NetworkProcessCreationParameters

* NetworkProcess/Cookies/WebCookieManager.h:
* NetworkProcess/Cookies/WebCookieManager.messages.in:
* NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp:
(WebKit::WebCookieManager::setCookiePersistentStorage):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::privateSessionParameters):
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
* NetworkProcess/NetworkSessionCreationParameters.h:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::NetworkSessionSoup):
* SourcesGTK.txt:
* SourcesWPE.txt:
* UIProcess/API/glib/WebKitCookieManager.cpp:
(webkit_cookie_manager_set_persistent_storage):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
* UIProcess/WebCookieManagerProxy.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
* UIProcess/WebsiteData/WebsiteDataStore.h:
* UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp:
(WebKit::WebsiteDataStore::platformSetNetworkParameters):
(WebKit::WebsiteDataStore::platformSetParameters): Deleted.
* UIProcess/soup/WebCookieManagerProxySoup.cpp:
(WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
(WebKit::WebCookieManagerProxy::getCookiePersistentStorage const):
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (240784 => 240785)


--- trunk/Source/WebKit/ChangeLog	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/ChangeLog	2019-01-31 15:04:30 UTC (rev 240785)
@@ -1,3 +1,50 @@
+2019-01-31  Michael Catanzaro  <[email protected]>
+
+        [SOUP] Move cookiePersistentStoragePath and cookiePersistentStorageType from NetworkProcess to NetworkSession
+        https://bugs.webkit.org/show_bug.cgi?id=194075
+
+        Reviewed by Alex Christensen.
+
+        Move cookiePersistentStoragePath and cookiePersistentStorageType from NetworkProcess to
+        NetworkSession to reduce globals. This removes two of the six soup-specific variables in
+        NetworkProcessCreationParameters
+
+        * NetworkProcess/Cookies/WebCookieManager.h:
+        * NetworkProcess/Cookies/WebCookieManager.messages.in:
+        * NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp:
+        (WebKit::WebCookieManager::setCookiePersistentStorage):
+        * NetworkProcess/NetworkProcessCreationParameters.cpp:
+        (WebKit::NetworkProcessCreationParameters::encode const):
+        (WebKit::NetworkProcessCreationParameters::decode):
+        * NetworkProcess/NetworkProcessCreationParameters.h:
+        * NetworkProcess/NetworkSessionCreationParameters.cpp:
+        (WebKit::NetworkSessionCreationParameters::privateSessionParameters):
+        (WebKit::NetworkSessionCreationParameters::encode const):
+        (WebKit::NetworkSessionCreationParameters::decode):
+        * NetworkProcess/NetworkSessionCreationParameters.h:
+        * NetworkProcess/soup/NetworkProcessSoup.cpp:
+        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
+        * NetworkProcess/soup/NetworkSessionSoup.cpp:
+        (WebKit::NetworkSessionSoup::NetworkSessionSoup):
+        * SourcesGTK.txt:
+        * SourcesWPE.txt:
+        * UIProcess/API/glib/WebKitCookieManager.cpp:
+        (webkit_cookie_manager_set_persistent_storage):
+        * UIProcess/WebCookieManagerProxy.cpp:
+        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
+        * UIProcess/WebCookieManagerProxy.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::parameters):
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+        * UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp:
+        (WebKit::WebsiteDataStore::platformSetNetworkParameters):
+        (WebKit::WebsiteDataStore::platformSetParameters): Deleted.
+        * UIProcess/soup/WebCookieManagerProxySoup.cpp:
+        (WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
+        (WebKit::WebCookieManagerProxy::getCookiePersistentStorage const):
+        * UIProcess/soup/WebProcessPoolSoup.cpp:
+        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+
 2019-01-31  Ryosuke Niwa  <[email protected]>
 
         iOS: Crash in InteractiveUpdateHandler set by ViewGestureController::beginSwipeGesture

Modified: trunk/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h	2019-01-31 15:04:30 UTC (rev 240785)
@@ -58,7 +58,7 @@
     void setHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy, OptionalCallbackID);
 
 #if USE(SOUP)
-    void setCookiePersistentStorage(const String& storagePath, uint32_t storageType);
+    void setCookiePersistentStorage(PAL::SessionID, const String& storagePath, uint32_t storageType);
 #endif
 
     void notifyCookiesDidChange(PAL::SessionID);

Modified: trunk/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in	2019-01-31 15:04:30 UTC (rev 240785)
@@ -42,6 +42,6 @@
     void StopObservingCookieChanges(PAL::SessionID sessionID)
 
 #if USE(SOUP)
-    SetCookiePersistentStorage(String storagePath, uint32_t storageType)
+    SetCookiePersistentStorage(PAL::SessionID sessionID, String storagePath, uint32_t storageType)
 #endif
 }

Modified: trunk/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -71,7 +71,7 @@
     return HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain;
 }
 
-void WebCookieManager::setCookiePersistentStorage(const String& storagePath, uint32_t storageType)
+void WebCookieManager::setCookiePersistentStorage(PAL::SessionID sessionID, const String& storagePath, uint32_t storageType)
 {
     GRefPtr<SoupCookieJar> jar;
     switch (storageType) {
@@ -85,9 +85,10 @@
         ASSERT_NOT_REACHED();
     }
 
-    auto& storageSession = m_process.defaultStorageSession();
-    soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(storageSession.cookieStorage()));
-    storageSession.setCookieStorage(jar.get());
+    if (auto* storageSession = m_process.storageSession(sessionID)) {
+        soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(storageSession->cookieStorage()));
+        storageSession->setCookieStorage(jar.get());
+    }
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -72,8 +72,6 @@
 #endif
     encoder << defaultDataStoreParameters;
 #if USE(SOUP)
-    encoder << cookiePersistentStoragePath;
-    encoder << cookiePersistentStorageType;
     encoder.encodeEnum(cookieAcceptPolicy);
     encoder << ignoreTLSErrors;
     encoder << languages;
@@ -172,10 +170,6 @@
     result.defaultDataStoreParameters = WTFMove(*defaultDataStoreParameters);
 
 #if USE(SOUP)
-    if (!decoder.decode(result.cookiePersistentStoragePath))
-        return false;
-    if (!decoder.decode(result.cookiePersistentStorageType))
-        return false;
     if (!decoder.decodeEnum(result.cookieAcceptPolicy))
         return false;
     if (!decoder.decode(result.ignoreTLSErrors))

Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h	2019-01-31 15:04:30 UTC (rev 240785)
@@ -87,8 +87,6 @@
     WebsiteDataStoreParameters defaultDataStoreParameters;
     
 #if USE(SOUP)
-    String cookiePersistentStoragePath;
-    uint32_t cookiePersistentStorageType { 0 };
     HTTPCookieAcceptPolicy cookieAcceptPolicy { HTTPCookieAcceptPolicyAlways };
     bool ignoreTLSErrors { false };
     Vector<String> languages;

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -44,6 +44,9 @@
 #if PLATFORM(COCOA)
         , { }, { }, { }, false, { }, { }, { }
 #endif
+#if USE(SOUP)
+        , { }, 0
+#endif
 #if USE(CURL)
         , { }, { }
 #endif
@@ -65,6 +68,10 @@
     encoder << httpProxy;
     encoder << httpsProxy;
 #endif
+#if USE(SOUP)
+    encoder << cookiePersistentStoragePath;
+    encoder << cookiePersistentStorageType;
+#endif
 #if USE(CURL)
     encoder << cookiePersistentStorageFile;
     encoder << proxySettings;
@@ -125,7 +132,19 @@
     if (!httpsProxy)
         return WTF::nullopt;
 #endif
-    
+
+#if USE(SOUP)
+    Optional<String> cookiePersistentStoragePath;
+    decoder >> cookiePersistentStoragePath;
+    if (!cookiePersistentStoragePath)
+        return WTF::nullopt;
+
+    Optional<uint32_t> cookiePersistentStorageType;
+    decoder >> cookiePersistentStorageType;
+    if (!cookiePersistentStorageType)
+        return WTF::nullopt;
+#endif
+
 #if USE(CURL)
     Optional<String> cookiePersistentStorageFile;
     decoder >> cookiePersistentStorageFile;
@@ -166,6 +185,10 @@
         , WTFMove(*httpProxy)
         , WTFMove(*httpsProxy)
 #endif
+#if USE(SOUP)
+        , WTFMove(*cookiePersistentStoragePath)
+        , WTFMove(*cookiePersistentStorageType)
+#endif
 #if USE(CURL)
         , WTFMove(*cookiePersistentStorageFile)
         , WTFMove(*proxySettings)

Modified: trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h	2019-01-31 15:04:30 UTC (rev 240785)
@@ -66,6 +66,10 @@
     URL httpProxy;
     URL httpsProxy;
 #endif
+#if USE(SOUP)
+    String cookiePersistentStoragePath;
+    uint32_t cookiePersistentStorageType { 0 };
+#endif
 #if USE(CURL)
     String cookiePersistentStorageFile;
     WebCore::CurlProxySettings proxySettings;

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -120,10 +120,6 @@
 
     m_cache = NetworkCache::Cache::open(*this, m_diskCacheDirectory, cacheOptions);
 
-    if (!parameters.cookiePersistentStoragePath.isEmpty()) {
-        supplement<WebCookieManager>()->setCookiePersistentStorage(parameters.cookiePersistentStoragePath,
-            parameters.cookiePersistentStorageType);
-    }
     supplement<WebCookieManager>()->setHTTPCookieAcceptPolicy(parameters.cookieAcceptPolicy, OptionalCallbackID());
 
     if (!parameters.languages.isEmpty())

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp (240784 => 240785)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -42,6 +42,9 @@
     networkStorageSession().setCookieObserverHandler([this] {
         this->networkProcess().supplement<WebCookieManager>()->notifyCookiesDidChange(m_sessionID);
     });
+
+    if (!parameters.cookiePersistentStoragePath.isEmpty())
+        this->networkProcess().supplement<WebCookieManager>()->setCookiePersistentStorage(m_sessionID, parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
 }
 
 NetworkSessionSoup::~NetworkSessionSoup()

Modified: trunk/Source/WebKit/SourcesGTK.txt (240784 => 240785)


--- trunk/Source/WebKit/SourcesGTK.txt	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/SourcesGTK.txt	2019-01-31 15:04:30 UTC (rev 240785)
@@ -218,6 +218,7 @@
 
 UIProcess/WebStorage/StorageManager.cpp
 
+UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp
 UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp
 
 UIProcess/cairo/BackingStoreCairo.cpp @no-unify

Modified: trunk/Source/WebKit/SourcesWPE.txt (240784 => 240785)


--- trunk/Source/WebKit/SourcesWPE.txt	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/SourcesWPE.txt	2019-01-31 15:04:30 UTC (rev 240785)
@@ -191,6 +191,7 @@
 
 UIProcess/WebStorage/StorageManager.cpp
 
+UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp
 UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp
 
 UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp

Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -166,8 +166,12 @@
     g_return_if_fail(filename);
     g_return_if_fail(!webkit_website_data_manager_is_ephemeral(manager->priv->dataManager));
 
+    auto sessionID = webkitWebsiteDataManagerGetDataStore(manager->priv->dataManager).websiteDataStore().sessionID();
+    if (sessionID.isEphemeral())
+        return;
+
     for (auto* processPool : webkitWebsiteDataManagerGetProcessPools(manager->priv->dataManager))
-        processPool->supplement<WebCookieManagerProxy>()->setCookiePersistentStorage(String::fromUTF8(filename), toSoupCookiePersistentStorageType(storage));
+        processPool->supplement<WebCookieManagerProxy>()->setCookiePersistentStorage(sessionID, String::fromUTF8(filename), toSoupCookiePersistentStorageType(storage));
 }
 
 /**

Modified: trunk/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -51,9 +51,6 @@
 
 WebCookieManagerProxy::WebCookieManagerProxy(WebProcessPool* processPool)
     : WebContextSupplement(processPool)
-#if USE(SOUP)
-    , m_cookiePersistentStorageType(SoupCookiePersistentStorageSQLite)
-#endif
 {
     WebContextSupplement::processPool()->addMessageReceiver(Messages::WebCookieManagerProxy::messageReceiverName(), *this);
 }

Modified: trunk/Source/WebKit/UIProcess/WebCookieManagerProxy.h (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/WebCookieManagerProxy.h	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/WebCookieManagerProxy.h	2019-01-31 15:04:30 UTC (rev 240785)
@@ -32,6 +32,7 @@
 #include "WebCookieManagerProxyClient.h"
 #include <pal/SessionID.h>
 #include <wtf/Forward.h>
+#include <wtf/HashMap.h>
 #include <wtf/RefPtr.h>
 
 #if USE(SOUP)
@@ -97,8 +98,8 @@
     void unregisterObserver(PAL::SessionID, Observer&);
 
 #if USE(SOUP)
-    void setCookiePersistentStorage(const String& storagePath, uint32_t storageType);
-    void getCookiePersistentStorage(String& storagePath, uint32_t& storageType) const;
+    void setCookiePersistentStorage(PAL::SessionID, const String& storagePath, uint32_t storageType);
+    void getCookiePersistentStorage(PAL::SessionID, String& storagePath, uint32_t& storageType) const;
 #endif
 
     using API::Object::ref;
@@ -139,8 +140,8 @@
     WebCookieManagerProxyClient m_client;
 
 #if USE(SOUP)
-    String m_cookiePersistentStoragePath;
-    SoupCookiePersistentStorageType m_cookiePersistentStorageType;
+    using CookiePersistentStorageMap = HashMap<PAL::SessionID, std::pair<String, SoupCookiePersistentStorageType>>;
+    CookiePersistentStorageMap m_cookiePersistentStorageMap;
 #endif
 };
 

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -36,7 +36,6 @@
 #include "ShouldGrandfatherStatistics.h"
 #include "StorageAccessStatus.h"
 #include "StorageManager.h"
-#include "WebCookieManagerProxy.h"
 #include "WebProcessMessages.h"
 #include "WebProcessPool.h"
 #include "WebResourceLoadStatisticsStore.h"
@@ -2061,7 +2060,6 @@
 #if !PLATFORM(COCOA)
 WebsiteDataStoreParameters WebsiteDataStore::parameters()
 {
-    // FIXME: Implement cookies.
     WebsiteDataStoreParameters parameters;
     parameters.networkSessionParameters.sessionID = m_sessionID;
 
@@ -2079,9 +2077,7 @@
         SandboxExtension::createHandleForReadWriteDirectory(parameters.serviceWorkerRegistrationDirectory, parameters.serviceWorkerRegistrationDirectoryExtensionHandle);
 #endif
 
-#if USE(CURL)
-    platformSetParameters(parameters);
-#endif
+    platformSetNetworkParameters(parameters);
 
     return parameters;
 }

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h	2019-01-31 15:04:30 UTC (rev 240785)
@@ -204,7 +204,6 @@
 #endif
 
 #if USE(CURL)
-    void platformSetParameters(WebsiteDataStoreParameters&);
     void setNetworkProxySettings(WebCore::CurlProxySettings&&);
     const WebCore::CurlProxySettings& networkProxySettings() const { return m_proxySettings; }
 #endif
@@ -249,6 +248,10 @@
     void platformDestroy();
     static void platformRemoveRecentSearches(WallTime);
 
+#if USE(CURL) || USE(SOUP)
+    void platformSetNetworkParameters(WebsiteDataStoreParameters&);
+#endif
+
     HashSet<RefPtr<WebProcessPool>> processPools(size_t count = std::numeric_limits<size_t>::max(), bool ensureAPoolExists = true) const;
 
 #if ENABLE(NETSCAPE_PLUGIN_API)

Modified: trunk/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -32,7 +32,7 @@
 
 namespace WebKit {
 
-void WebsiteDataStore::platformSetParameters(WebsiteDataStoreParameters& parameters)
+void WebsiteDataStore::platformSetNetworkParameters(WebsiteDataStoreParameters& parameters)
 {
     parameters.networkSessionParameters.proxySettings = m_proxySettings;
 }

Copied: trunk/Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp (from rev 240781, trunk/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp) (0 => 240785)


--- trunk/Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp	                        (rev 0)
+++ trunk/Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2019 Igalia S.L.
+ * Copyright (C) 2019 Metrological Group B.V.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WebsiteDataStore.h"
+
+#include "WebCookieManagerProxy.h"
+#include "WebProcessPool.h"
+#include "WebsiteDataStoreParameters.h"
+
+namespace WebKit {
+
+void WebsiteDataStore::platformSetNetworkParameters(WebsiteDataStoreParameters& parameters)
+{
+    auto& networkSessionParameters = parameters.networkSessionParameters;
+
+    if (auto* processPool = processPoolForCookieStorageOperations())
+        processPool->supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(m_sessionID, networkSessionParameters.cookiePersistentStoragePath, networkSessionParameters.cookiePersistentStorageType);
+}
+
+}

Modified: trunk/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -31,17 +31,17 @@
 
 namespace WebKit {
 
-void WebCookieManagerProxy::setCookiePersistentStorage(const String& storagePath, uint32_t storageType)
+void WebCookieManagerProxy::setCookiePersistentStorage(PAL::SessionID sessionID, const String& storagePath, uint32_t storageType)
 {
-    m_cookiePersistentStoragePath = storagePath;
-    m_cookiePersistentStorageType = static_cast<SoupCookiePersistentStorageType>(storageType);
-    processPool()->sendToNetworkingProcess(Messages::WebCookieManager::SetCookiePersistentStorage(storagePath, storageType));
+    m_cookiePersistentStorageMap.set(sessionID, std::make_pair(storagePath, static_cast<SoupCookiePersistentStorageType>(storageType)));
+    processPool()->sendToNetworkingProcess(Messages::WebCookieManager::SetCookiePersistentStorage(sessionID, storagePath, storageType));
 }
 
-void WebCookieManagerProxy::getCookiePersistentStorage(String& storagePath, uint32_t& storageType) const
+void WebCookieManagerProxy::getCookiePersistentStorage(PAL::SessionID sessionID, String& storagePath, uint32_t& storageType) const
 {
-    storagePath = m_cookiePersistentStoragePath;
-    storageType = static_cast<uint32_t>(m_cookiePersistentStorageType);
+    auto pair = m_cookiePersistentStorageMap.get(sessionID);
+    storagePath = pair.first;
+    storageType = static_cast<uint32_t>(pair.second);
 }
 
 }

Modified: trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp (240784 => 240785)


--- trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp	2019-01-31 14:54:52 UTC (rev 240784)
+++ trunk/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp	2019-01-31 15:04:30 UTC (rev 240785)
@@ -38,7 +38,6 @@
 
 void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationParameters& parameters)
 {
-    supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
     parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
     parameters.ignoreTLSErrors = m_ignoreTLSErrors;
     parameters.languages = userPreferredLanguages();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to