WebKit Bugzilla
Attachment 360687 Details for
Bug 194075
: [SOUP] Move cookiePersistentStoragePath and cookiePersistentStorageType from NetworkProcess to NetworkSession
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194075-20190130225900.patch (text/plain), 24.19 KB, created by
Michael Catanzaro
on 2019-01-30 20:59:01 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Michael Catanzaro
Created:
2019-01-30 20:59:01 PST
Size:
24.19 KB
patch
obsolete
>Subversion Revision: 240755 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 21e4bb2453b6368a91be7f337682209028c90613..f97aa8bd2daee2c37cfe83c1d0acdb2ee28cf5f6 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,50 @@ >+2019-01-30 Michael Catanzaro <mcatanzaro@igalia.com> >+ >+ [SOUP] Move cookiePersistentStoragePath and cookiePersistentStorageType from NetworkProcess to NetworkSession >+ https://bugs.webkit.org/show_bug.cgi?id=194075 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-30 Keith Rollin <krollin@apple.com> > > Add default constructor for NetworkActivityTracker >diff --git a/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h b/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h >index 88722e73c8eee40c12a076dadf462822a09f263b..3156466807c9c9e2854474e2ee334aa336e27699 100644 >--- a/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h >+++ b/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.h >@@ -58,7 +58,7 @@ public: > 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); >diff --git a/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in b/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in >index 0b1fd559e0beb26e00379434adae4e5c9e47daaf..2ee06ad4ac9404b19d1ae9fadeb7184e1ea57731 100644 >--- a/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in >+++ b/Source/WebKit/NetworkProcess/Cookies/WebCookieManager.messages.in >@@ -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 > } >diff --git a/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp b/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp >index af30fae7960988f023c729aea58a7835b96081cc..6898c7f34d6f78658bafdb913106a392399c8987 100644 >--- a/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp >+++ b/Source/WebKit/NetworkProcess/Cookies/soup/WebCookieManagerSoup.cpp >@@ -71,7 +71,7 @@ HTTPCookieAcceptPolicy WebCookieManager::platformGetHTTPCookieAcceptPolicy() > 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 @@ void WebCookieManager::setCookiePersistentStorage(const String& storagePath, uin > 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 >diff --git a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >index 0ca4e28b992e6122a1ecd3320ea29b09f835a613..c6df08e9fb7766f770afadef1aa7f212949d1f55 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >+++ b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >@@ -72,8 +72,6 @@ void NetworkProcessCreationParameters::encode(IPC::Encoder& encoder) const > #endif > encoder << defaultDataStoreParameters; > #if USE(SOUP) >- encoder << cookiePersistentStoragePath; >- encoder << cookiePersistentStorageType; > encoder.encodeEnum(cookieAcceptPolicy); > encoder << ignoreTLSErrors; > encoder << languages; >@@ -172,10 +170,6 @@ bool NetworkProcessCreationParameters::decode(IPC::Decoder& decoder, NetworkProc > 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)) >diff --git a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >index edc0a10d442933075218972273aa3e95024f6a0d..2fd3be9fded980b7573ce3b516b07a96fadaf73b 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >+++ b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >@@ -87,8 +87,6 @@ struct NetworkProcessCreationParameters { > WebsiteDataStoreParameters defaultDataStoreParameters; > > #if USE(SOUP) >- String cookiePersistentStoragePath; >- uint32_t cookiePersistentStorageType { 0 }; > HTTPCookieAcceptPolicy cookieAcceptPolicy { HTTPCookieAcceptPolicyAlways }; > bool ignoreTLSErrors { false }; > Vector<String> languages; >diff --git a/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp b/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp >index 270ae4320598966589e97a6a16b37548cbda7fce..cfc9e10bbcf170b1c85386664c8c0f46de0e7fc5 100644 >--- a/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp >+++ b/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp >@@ -44,6 +44,9 @@ NetworkSessionCreationParameters NetworkSessionCreationParameters::privateSessio > #if PLATFORM(COCOA) > , { }, { }, { }, false, { }, { }, { } > #endif >+#if USE(SOUP) >+ , { }, 0 >+#endif > #if USE(CURL) > , { }, { } > #endif >@@ -65,6 +68,10 @@ void NetworkSessionCreationParameters::encode(IPC::Encoder& encoder) const > encoder << httpProxy; > encoder << httpsProxy; > #endif >+#if USE(SOUP) >+ encoder << cookiePersistentStoragePath; >+ encoder << cookiePersistentStorageType; >+#endif > #if USE(CURL) > encoder << cookiePersistentStorageFile; > encoder << proxySettings; >@@ -125,7 +132,19 @@ Optional<NetworkSessionCreationParameters> NetworkSessionCreationParameters::dec > 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 @@ Optional<NetworkSessionCreationParameters> NetworkSessionCreationParameters::dec > , WTFMove(*httpProxy) > , WTFMove(*httpsProxy) > #endif >+#if USE(SOUP) >+ , WTFMove(*cookiePersistentStoragePath) >+ , WTFMove(*cookiePersistentStorageType) >+#endif > #if USE(CURL) > , WTFMove(*cookiePersistentStorageFile) > , WTFMove(*proxySettings) >diff --git a/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h b/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h >index 6f9de8b80138d41869d71cbf06db921cb943149e..cd5cae231b12a0f8dcce49c7fb1e59f36b321a57 100644 >--- a/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h >+++ b/Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h >@@ -66,6 +66,10 @@ struct NetworkSessionCreationParameters { > URL httpProxy; > URL httpsProxy; > #endif >+#if USE(SOUP) >+ String cookiePersistentStoragePath; >+ uint32_t cookiePersistentStorageType { 0 }; >+#endif > #if USE(CURL) > String cookiePersistentStorageFile; > WebCore::CurlProxySettings proxySettings; >diff --git a/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp >index 72fb6549003d6eb0aaed99c23e321c63e2aad1c0..a0d2af641043ca01eac54538fae40fa30c64efd6 100644 >--- a/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp >+++ b/Source/WebKit/NetworkProcess/soup/NetworkProcessSoup.cpp >@@ -120,10 +120,6 @@ void NetworkProcess::platformInitializeNetworkProcess(const NetworkProcessCreati > > 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()) >diff --git a/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp b/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp >index 59de9f504b88da964250e5d908e49b0547ae80c0..20acb1f8a41e56af69ae945f0f3bfd8d4361d4da 100644 >--- a/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp >+++ b/Source/WebKit/NetworkProcess/soup/NetworkSessionSoup.cpp >@@ -42,6 +42,9 @@ NetworkSessionSoup::NetworkSessionSoup(NetworkProcess& networkProcess, NetworkSe > 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() >diff --git a/Source/WebKit/SourcesGTK.txt b/Source/WebKit/SourcesGTK.txt >index 7e1d4582a61e66761b1b317f704110f1dde5f60c..b832b7acf134f172950b243e253e1d512cdc007d 100644 >--- a/Source/WebKit/SourcesGTK.txt >+++ b/Source/WebKit/SourcesGTK.txt >@@ -218,6 +218,7 @@ UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp @no-unify > > UIProcess/WebStorage/StorageManager.cpp > >+UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp > UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp > > UIProcess/cairo/BackingStoreCairo.cpp @no-unify >diff --git a/Source/WebKit/SourcesWPE.txt b/Source/WebKit/SourcesWPE.txt >index 913a2ed8ef6375fdcce664ea39feedf5c338e4a2..05a9f92d0a49ead6b8f1affa696cd48b5befb3a2 100644 >--- a/Source/WebKit/SourcesWPE.txt >+++ b/Source/WebKit/SourcesWPE.txt >@@ -191,6 +191,7 @@ UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp > > UIProcess/WebStorage/StorageManager.cpp > >+UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp > UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp > > UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp >diff --git a/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp b/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp >index 7a942919ddf8c4f2a3b16da767014b2c2c154faa..b9a40864a8fafb9d0903873ee8365ef87ee0882a 100644 >--- a/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp >+++ b/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp >@@ -166,8 +166,9 @@ void webkit_cookie_manager_set_persistent_storage(WebKitCookieManager* manager, > 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(); > 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)); > } > > /** >diff --git a/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp b/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp >index 0a20d854f44f21abc5a43bbd0d77c8692f8f2769..11ea10e73d27a3338341618c1a6bf0e9001af664 100644 >--- a/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp >+++ b/Source/WebKit/UIProcess/WebCookieManagerProxy.cpp >@@ -51,9 +51,6 @@ Ref<WebCookieManagerProxy> WebCookieManagerProxy::create(WebProcessPool* process > > WebCookieManagerProxy::WebCookieManagerProxy(WebProcessPool* processPool) > : WebContextSupplement(processPool) >-#if USE(SOUP) >- , m_cookiePersistentStorageType(SoupCookiePersistentStorageSQLite) >-#endif > { > WebContextSupplement::processPool()->addMessageReceiver(Messages::WebCookieManagerProxy::messageReceiverName(), *this); > } >diff --git a/Source/WebKit/UIProcess/WebCookieManagerProxy.h b/Source/WebKit/UIProcess/WebCookieManagerProxy.h >index 9f240d3021edf86c7caed7e8145951ded3260e1b..e7f2e20153c3627825113ea0fb88d978dac8529b 100644 >--- a/Source/WebKit/UIProcess/WebCookieManagerProxy.h >+++ b/Source/WebKit/UIProcess/WebCookieManagerProxy.h >@@ -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 @@ public: > 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 @@ private: > 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 > }; > >diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp >index a0f8f68f7ebaf1b6f36e3c2dd51d7236be62f5ce..8a9c178d809f2cc568894a875f3e005197777b7d 100644 >--- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp >+++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp >@@ -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 @@ void WebsiteDataStore::clearPendingCookies() > #if !PLATFORM(COCOA) > WebsiteDataStoreParameters WebsiteDataStore::parameters() > { >- // FIXME: Implement cookies. > WebsiteDataStoreParameters parameters; > parameters.networkSessionParameters.sessionID = m_sessionID; > >@@ -2079,9 +2077,7 @@ WebsiteDataStoreParameters WebsiteDataStore::parameters() > SandboxExtension::createHandleForReadWriteDirectory(parameters.serviceWorkerRegistrationDirectory, parameters.serviceWorkerRegistrationDirectoryExtensionHandle); > #endif > >-#if USE(CURL) >- platformSetParameters(parameters); >-#endif >+ platformSetNetworkParameters(parameters); > > return parameters; > } >diff --git a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h >index db652e60bba5128b910d6f87d13fe104230667c2..38250df35f8dfc90cd18293a64886d419b975f36 100644 >--- a/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h >+++ b/Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h >@@ -204,7 +204,6 @@ public: > #endif > > #if USE(CURL) >- void platformSetParameters(WebsiteDataStoreParameters&); > void setNetworkProxySettings(WebCore::CurlProxySettings&&); > const WebCore::CurlProxySettings& networkProxySettings() const { return m_proxySettings; } > #endif >@@ -249,6 +248,10 @@ private: > 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) >diff --git a/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp b/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp >index 38b6a0d0af6264a0472dfc62d39063bacb904ff0..4138aeca6c19a085ab6d4380225411f8526c6a51 100644 >--- a/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp >+++ b/Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp >@@ -32,7 +32,7 @@ > > namespace WebKit { > >-void WebsiteDataStore::platformSetParameters(WebsiteDataStoreParameters& parameters) >+void WebsiteDataStore::platformSetNetworkParameters(WebsiteDataStoreParameters& parameters) > { > parameters.networkSessionParameters.proxySettings = m_proxySettings; > } >diff --git a/Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp b/Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..489c3f22914dc69e8a772cf88e32992fd22e6c34 >--- /dev/null >+++ b/Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp >@@ -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); >+} >+ >+} >diff --git a/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp b/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp >index fa6e2d3f6522e210ee295b88a091f0a3ff01c5d5..06ea26d5115f3cf11ebf0056a012701f822c3ee7 100644 >--- a/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp >+++ b/Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp >@@ -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); > } > > } >diff --git a/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp b/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp >index 3586bc3ff0368d5d097e487c2458e465341f5a80..7852292bcf846bf8b6f6c3851bf6d0133343446b 100644 >--- a/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp >+++ b/Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp >@@ -38,7 +38,6 @@ namespace WebKit { > > void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationParameters& parameters) > { >- supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType); > parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy; > parameters.ignoreTLSErrors = m_ignoreTLSErrors; > parameters.languages = userPreferredLanguages();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
achristensen
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194075
: 360687