Diff
Modified: trunk/Source/WebCore/ChangeLog (212625 => 212626)
--- trunk/Source/WebCore/ChangeLog 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebCore/ChangeLog 2017-02-20 08:30:50 UTC (rev 212626)
@@ -1,3 +1,31 @@
+2017-02-20 Carlos Garcia Campos <cgar...@igalia.com>
+
+ REGRESSION(r212345): [GTK] ASSERT(cookieChangeCallbackMap().contains(jar)) failed in WebCore::stopObservingCookieChanges:54
+ https://bugs.webkit.org/show_bug.cgi?id=168375
+
+ Reviewed by Alex Christensen.
+
+ Simplify the way cookie storage is handled in NetworkStorageSessionSoup. Now we always keep a reference to the
+ cookie jar, no matter if we have a session or not, that is always kept in sync with the one actually used by the
+ session. We always connect to the changed signal of the current cookie jar and notify the observer if it has been
+ set.
+
+ * platform/network/NetworkStorageSession.h:
+ * platform/network/soup/CookieStorageSoup.cpp:
+ (WebCore::startObservingCookieChanges): Remove this implementation and add an ASSERT to ensure we don't use this anymore.
+ (WebCore::stopObservingCookieChanges): Ditto.
+ (WebCore::cookieChangeCallbackMap): Deleted.
+ (WebCore::soupCookiesChanged): Deleted.
+ * platform/network/soup/NetworkStorageSessionSoup.cpp:
+ (WebCore::NetworkStorageSession::NetworkStorageSession): Initialize the cookie storage.
+ (WebCore::NetworkStorageSession::~NetworkStorageSession): Disconnect the changed signal.
+ (WebCore::NetworkStorageSession::getOrCreateSoupNetworkSession): Always pass the current cookie storage.
+ (WebCore::NetworkStorageSession::cookiesDidChange): Notify the observer.
+ (WebCore::NetworkStorageSession::cookieStorage): Return the current cookie storage.
+ (WebCore::NetworkStorageSession::setCookieStorage): Update the current cookie storage and update the session if
+ needed too. We always have a valid cookie storage so if nullptr is given we create a new one.
+ (WebCore::NetworkStorageSession::setCookieObserverHandler): Set a cookie observer handler.
+
2017-02-19 Chris Dumez <cdu...@apple.com>
onbeforeunload event return value coercion is not per-spec
Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (212625 => 212626)
--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h 2017-02-20 08:30:50 UTC (rev 212626)
@@ -74,6 +74,8 @@
SoupNetworkSession* soupNetworkSession() const { return m_session.get(); };
SoupNetworkSession& getOrCreateSoupNetworkSession() const;
SoupCookieJar* cookieStorage() const;
+ void setCookieStorage(SoupCookieJar*);
+ void setCookieObserverHandler(Function<void ()>&&);
void getCredentialFromPersistentStorage(const ProtectionSpace&, Function<void (Credential&&)> completionHandler);
void saveCredentialToPersistentStorage(const ProtectionSpace&, const Credential&);
#else
@@ -90,8 +92,11 @@
#if PLATFORM(COCOA) || USE(CFURLCONNECTION)
RetainPtr<CFURLStorageSessionRef> m_platformSession;
#elif USE(SOUP)
+ static void cookiesDidChange(NetworkStorageSession*);
+
mutable std::unique_ptr<SoupNetworkSession> m_session;
- mutable GRefPtr<SoupCookieJar> m_cookieStorage;
+ GRefPtr<SoupCookieJar> m_cookieStorage;
+ Function<void ()> m_cookieObserverHandler;
#if USE(LIBSECRET)
Function<void (Credential&&)> m_persisentStorageCompletionHandler;
GRefPtr<GCancellable> m_persisentStorageCancellable;
Modified: trunk/Source/WebCore/platform/network/soup/CookieStorageSoup.cpp (212625 => 212626)
--- trunk/Source/WebCore/platform/network/soup/CookieStorageSoup.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebCore/platform/network/soup/CookieStorageSoup.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -21,41 +21,18 @@
#if USE(SOUP)
-#include "NetworkStorageSession.h"
-#include <libsoup/soup.h>
-#include <wtf/HashMap.h>
-#include <wtf/NeverDestroyed.h>
-
namespace WebCore {
-static HashMap<SoupCookieJar*, std::function<void ()>>& cookieChangeCallbackMap()
+void startObservingCookieChanges(const NetworkStorageSession&, std::function<void ()>&&)
{
- static NeverDestroyed<HashMap<SoupCookieJar*, std::function<void ()>>> map;
- return map;
+ ASSERT_NOT_REACHED();
}
-static void soupCookiesChanged(SoupCookieJar* jar)
+void stopObservingCookieChanges(const NetworkStorageSession&)
{
- if (auto callback = cookieChangeCallbackMap().get(jar))
- callback();
+ ASSERT_NOT_REACHED();
}
-void startObservingCookieChanges(const NetworkStorageSession& storageSession, std::function<void ()>&& callback)
-{
- auto* jar = storageSession.cookieStorage();
- ASSERT(!cookieChangeCallbackMap().contains(jar));
- cookieChangeCallbackMap().add(jar, WTFMove(callback));
- g_signal_connect(jar, "changed", G_CALLBACK(soupCookiesChanged), nullptr);
}
-void stopObservingCookieChanges(const NetworkStorageSession& storageSession)
-{
- auto* jar = storageSession.cookieStorage();
- ASSERT(cookieChangeCallbackMap().contains(jar));
- cookieChangeCallbackMap().remove(jar);
- g_signal_handlers_disconnect_by_func(jar, reinterpret_cast<void*>(soupCookiesChanged), nullptr);
-}
-
-}
-
#endif
Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (212625 => 212626)
--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -51,10 +51,13 @@
: m_sessionID(sessionID)
, m_session(WTFMove(session))
{
+ setCookieStorage(m_session ? m_session->cookieJar() : nullptr);
}
NetworkStorageSession::~NetworkStorageSession()
{
+ g_signal_handlers_disconnect_matched(m_cookieStorage.get(), G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this);
+
#if USE(LIBSECRET)
g_cancellable_cancel(m_persisentStorageCancellable.get());
#endif
@@ -89,25 +92,44 @@
SoupNetworkSession& NetworkStorageSession::getOrCreateSoupNetworkSession() const
{
if (!m_session)
- m_session = std::make_unique<SoupNetworkSession>(cookieStorage());
+ m_session = std::make_unique<SoupNetworkSession>(m_cookieStorage.get());
return *m_session;
}
+void NetworkStorageSession::cookiesDidChange(NetworkStorageSession* session)
+{
+ if (session->m_cookieObserverHandler)
+ session->m_cookieObserverHandler();
+}
+
SoupCookieJar* NetworkStorageSession::cookieStorage() const
{
- if (m_session) {
- m_cookieStorage = nullptr;
- ASSERT(m_session->cookieJar());
- return m_session->cookieJar();
- }
+ RELEASE_ASSERT(!m_session || m_session->cookieJar() == m_cookieStorage.get());
+ return m_cookieStorage.get();
+}
- if (!m_cookieStorage) {
+void NetworkStorageSession::setCookieStorage(SoupCookieJar* jar)
+{
+ if (m_cookieStorage)
+ g_signal_handlers_disconnect_matched(m_cookieStorage.get(), G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this);
+
+ // We always have a valid cookieStorage.
+ if (jar)
+ m_cookieStorage = jar;
+ else {
m_cookieStorage = adoptGRef(soup_cookie_jar_new());
soup_cookie_jar_set_accept_policy(m_cookieStorage.get(), SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY);
}
- return m_cookieStorage.get();
+ g_signal_connect_swapped(m_cookieStorage.get(), "changed", G_CALLBACK(cookiesDidChange), this);
+ if (m_session && m_session->cookieJar() != m_cookieStorage.get())
+ m_session->setCookieJar(m_cookieStorage.get());
}
+void NetworkStorageSession::setCookieObserverHandler(Function<void ()>&& handler)
+{
+ m_cookieObserverHandler = WTFMove(handler);
+}
+
#if USE(LIBSECRET)
static const char* schemeFromProtectionSpaceServerType(ProtectionSpaceServerType serverType)
{
Modified: trunk/Source/WebKit2/ChangeLog (212625 => 212626)
--- trunk/Source/WebKit2/ChangeLog 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/ChangeLog 2017-02-20 08:30:50 UTC (rev 212626)
@@ -1,3 +1,46 @@
+2017-02-20 Carlos Garcia Campos <cgar...@igalia.com>
+
+ REGRESSION(r212345): [GTK] ASSERT(cookieChangeCallbackMap().contains(jar)) failed in WebCore::stopObservingCookieChanges:54
+ https://bugs.webkit.org/show_bug.cgi?id=168375
+
+ Reviewed by Alex Christensen.
+
+ Simplify the cookies change notification. The current approach of the UI process telling the network process
+ when to start and stop observing cookie changes is quite fragile and error prone. In the GTK+ port we always
+ observe cookies, so our cookie manager always calls start in the constructor and stop in the destructor.
+ Everything would be a lot simpler if the network process always monitored cookies.
+
+ * NetworkProcess/soup/NetworkSessionSoup.cpp:
+ (WebKit::NetworkSessionSoup::NetworkSessionSoup): Set cookies observer handler for the session.
+ (WebKit::NetworkSessionSoup::~NetworkSessionSoup): Remove the cookies observer handler.
+ * UIProcess/API/gtk/WebKitCookieManager.cpp:
+ (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate): Remove the cookies observer callback.
+ (webkit_cookie_manager_class_init): Remove dispose implementation that is no longer needed.
+ (webkitCookieManagerCreate): Set the cookies observer callback.
+ (webkit_cookie_manager_set_persistent_storage): Remove code to start/stop observing cookies when the jar
+ changes, the network process deals with that now.
+ (webkitCookieManagerDispose): Deleted.
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Remove the optional callback method in favor of an
+ explicit method to the set the callback that doesn't send the StartObservingCookieChanges message to the network
+ process.
+ (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Do not change the callback map here.
+ (WebKit::WebCookieManagerProxy::setCookieObserverCallback): Add the callback to the map or remove the session if
+ nullptr is given.
+ * UIProcess/WebCookieManagerProxy.h:
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::notifyCookiesDidChange): Send CookiesDidChange message to the UI process.
+ (WebKit::WebCookieManager::startObservingCookieChanges): Use notifyCookiesDidChange().
+ * WebProcess/Cookies/WebCookieManager.h:
+ * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
+ (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Set the policy on all sessions. Code moved from
+ WebFrameNetworkingContext since it doesn't belong there.
+ (WebKit::WebCookieManager::setCookiePersistentStorage): Use new method to set the cookie storage in the
+ NetworkStorageSession.
+ * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
+ (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Deleted.
+ * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
+
2017-02-19 Chris Dumez <cdu...@apple.com>
[WK2] Support termination of unresponsive WebContent processes that are in the background
Modified: trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp (212625 => 212626)
--- trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/NetworkProcess/soup/NetworkSessionSoup.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -26,6 +26,8 @@
#include "config.h"
#include "NetworkSessionSoup.h"
+#include "NetworkProcess.h"
+#include "WebCookieManager.h"
#include <WebCore/NetworkStorageSession.h>
#include <WebCore/SoupNetworkSession.h>
#include <libsoup/soup.h>
@@ -37,10 +39,15 @@
NetworkSessionSoup::NetworkSessionSoup(SessionID sessionID)
: NetworkSession(sessionID)
{
+ networkStorageSession().setCookieObserverHandler([this] {
+ NetworkProcess::singleton().supplement<WebCookieManager>()->notifyCookiesDidChange(m_sessionID);
+ });
}
NetworkSessionSoup::~NetworkSessionSoup()
{
+ if (auto* storageSession = NetworkStorageSession::storageSession(m_sessionID))
+ storageSession->setCookieObserverHandler(nullptr);
}
SoupSession* NetworkSessionSoup::soupSession() const
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp (212625 => 212626)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitCookieManager.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -51,6 +51,13 @@
};
struct _WebKitCookieManagerPrivate {
+ ~_WebKitCookieManagerPrivate()
+ {
+ auto sessionID = webkitWebsiteDataManagerGetDataStore(dataManager).websiteDataStore().sessionID();
+ for (auto* processPool : webkitWebsiteDataManagerGetProcessPools(dataManager))
+ processPool->supplement<WebCookieManagerProxy>()->setCookieObserverCallback(sessionID, nullptr);
+ }
+
WebKitWebsiteDataManager* dataManager;
};
@@ -101,24 +108,9 @@
}
}
-static void webkitCookieManagerDispose(GObject* object)
-{
- WebKitCookieManager* manager = WEBKIT_COOKIE_MANAGER(object);
- if (manager->priv->dataManager) {
- auto sessionID = webkitWebsiteDataManagerGetDataStore(manager->priv->dataManager).websiteDataStore().sessionID();
- for (auto* processPool : webkitWebsiteDataManagerGetProcessPools(manager->priv->dataManager))
- processPool->supplement<WebCookieManagerProxy>()->stopObservingCookieChanges(sessionID);
-
- manager->priv->dataManager = nullptr;
- }
-
- G_OBJECT_CLASS(webkit_cookie_manager_parent_class)->dispose(object);
-}
-
static void webkit_cookie_manager_class_init(WebKitCookieManagerClass* findClass)
{
GObjectClass* gObjectClass = G_OBJECT_CLASS(findClass);
- gObjectClass->dispose = webkitCookieManagerDispose;
/**
* WebKitCookieManager::changed:
@@ -141,7 +133,7 @@
manager->priv->dataManager = dataManager;
auto sessionID = webkitWebsiteDataManagerGetDataStore(manager->priv->dataManager).websiteDataStore().sessionID();
for (auto* processPool : webkitWebsiteDataManagerGetProcessPools(manager->priv->dataManager)) {
- processPool->supplement<WebCookieManagerProxy>()->startObservingCookieChanges(sessionID, [manager] {
+ processPool->supplement<WebCookieManagerProxy>()->setCookieObserverCallback(sessionID, [manager] {
g_signal_emit(manager, signals[CHANGED], 0);
});
}
@@ -170,15 +162,8 @@
g_return_if_fail(filename);
g_return_if_fail(!webkit_website_data_manager_is_ephemeral(manager->priv->dataManager));
- for (auto* processPool : webkitWebsiteDataManagerGetProcessPools(manager->priv->dataManager)) {
- auto* cookieManager = processPool->supplement<WebCookieManagerProxy>();
-
- cookieManager->stopObservingCookieChanges(WebCore::SessionID::defaultSessionID());
- cookieManager->setCookiePersistentStorage(String::fromUTF8(filename), toSoupCookiePersistentStorageType(storage));
- cookieManager->startObservingCookieChanges(WebCore::SessionID::defaultSessionID(), [manager] {
- g_signal_emit(manager, signals[CHANGED], 0);
- });
- }
+ for (auto* processPool : webkitWebsiteDataManagerGetProcessPools(manager->priv->dataManager))
+ processPool->supplement<WebCookieManagerProxy>()->setCookiePersistentStorage(String::fromUTF8(filename), toSoupCookiePersistentStorageType(storage));
}
/**
Modified: trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp (212625 => 212626)
--- trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -133,19 +133,24 @@
processPool()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::AddCookie(sessionID, cookie, hostname));
}
-void WebCookieManagerProxy::startObservingCookieChanges(WebCore::SessionID sessionID, std::function<void ()>&& callback)
+void WebCookieManagerProxy::startObservingCookieChanges(WebCore::SessionID sessionID)
{
- if (callback)
- m_cookieObservers.set(sessionID, WTFMove(callback));
processPool()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::StartObservingCookieChanges(sessionID));
}
void WebCookieManagerProxy::stopObservingCookieChanges(WebCore::SessionID sessionID)
{
- m_cookieObservers.remove(sessionID);
processPool()->sendToNetworkingProcessRelaunchingIfNecessary(Messages::WebCookieManager::StopObservingCookieChanges(sessionID));
}
+void WebCookieManagerProxy::setCookieObserverCallback(WebCore::SessionID sessionID, std::function<void ()>&& callback)
+{
+ if (callback)
+ m_cookieObservers.set(sessionID, WTFMove(callback));
+ else
+ m_cookieObservers.remove(sessionID);
+}
+
void WebCookieManagerProxy::cookiesDidChange(WebCore::SessionID sessionID)
{
m_client.cookiesDidChange(this);
Modified: trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h (212625 => 212626)
--- trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.h 2017-02-20 08:30:50 UTC (rev 212626)
@@ -74,9 +74,11 @@
void setHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy);
void getHTTPCookieAcceptPolicy(std::function<void (HTTPCookieAcceptPolicy, CallbackBase::Error)>);
- void startObservingCookieChanges(WebCore::SessionID, std::function<void ()>&& = nullptr);
+ void startObservingCookieChanges(WebCore::SessionID);
void stopObservingCookieChanges(WebCore::SessionID);
+ void setCookieObserverCallback(WebCore::SessionID, std::function<void ()>&&);
+
#if USE(SOUP)
void setCookiePersistentStorage(const String& storagePath, uint32_t storageType);
void getCookiePersistentStorage(String& storagePath, uint32_t& storageType) const;
Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp (212625 => 212626)
--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -89,12 +89,17 @@
WebCore::addCookie(*storageSession, URL(URL(), hostname), cookie);
}
+void WebCookieManager::notifyCookiesDidChange(SessionID sessionID)
+{
+ ASSERT(RunLoop::isMain());
+ m_process->send(Messages::WebCookieManagerProxy::CookiesDidChange(sessionID), 0);
+}
+
void WebCookieManager::startObservingCookieChanges(SessionID sessionID)
{
if (auto* storageSession = NetworkStorageSession::storageSession(sessionID)) {
WebCore::startObservingCookieChanges(*storageSession, [this, sessionID] {
- ASSERT(RunLoop::isMain());
- m_process->send(Messages::WebCookieManagerProxy::CookiesDidChange(sessionID), 0);
+ notifyCookiesDidChange(sessionID);
});
}
}
Modified: trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h (212625 => 212626)
--- trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/WebProcess/Cookies/WebCookieManager.h 2017-02-20 08:30:50 UTC (rev 212626)
@@ -59,6 +59,8 @@
void setCookiePersistentStorage(const String& storagePath, uint32_t storageType);
#endif
+ void notifyCookiesDidChange(WebCore::SessionID);
+
private:
// IPC::MessageReceiver
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
Modified: trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp (212625 => 212626)
--- trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -27,7 +27,6 @@
#include "WebCookieManager.h"
#include "ChildProcess.h"
-#include "WebFrameNetworkingContext.h"
#include "WebKitSoupCookieJarSqlite.h"
#include <WebCore/NetworkStorageSession.h>
#include <WebCore/SoupNetworkSession.h>
@@ -41,7 +40,22 @@
void WebCookieManager::platformSetHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy policy)
{
- WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts(policy);
+ SoupCookieJarAcceptPolicy soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
+ switch (policy) {
+ case HTTPCookieAcceptPolicyAlways:
+ soupPolicy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
+ break;
+ case HTTPCookieAcceptPolicyNever:
+ soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NEVER;
+ break;
+ case HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain:
+ soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
+ break;
+ }
+
+ NetworkStorageSession::forEach([soupPolicy] (const NetworkStorageSession& session) {
+ soup_cookie_jar_set_accept_policy(session.cookieStorage(), soupPolicy);
+ });
}
HTTPCookieAcceptPolicy WebCookieManager::platformGetHTTPCookieAcceptPolicy()
@@ -75,7 +89,7 @@
auto& storageSession = NetworkStorageSession::defaultStorageSession();
soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(storageSession.cookieStorage()));
- storageSession.getOrCreateSoupNetworkSession().setCookieJar(jar.get());
+ storageSession.setCookieStorage(jar.get());
}
} // namespace WebKit
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp (212625 => 212626)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp 2017-02-20 08:30:50 UTC (rev 212626)
@@ -52,28 +52,6 @@
SessionTracker::setSession(sessionID, NetworkSession::create(sessionID));
}
-void WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts(HTTPCookieAcceptPolicy policy)
-{
- SoupCookieJarAcceptPolicy soupPolicy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
- switch (policy) {
- case HTTPCookieAcceptPolicyAlways:
- soupPolicy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
- break;
- case HTTPCookieAcceptPolicyNever:
- soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NEVER;
- break;
- case HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain:
- soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
- break;
- }
-
- soup_cookie_jar_set_accept_policy(NetworkStorageSession::defaultStorageSession().cookieStorage(), soupPolicy);
-
- NetworkStorageSession::forEach([&] (const NetworkStorageSession& session) {
- soup_cookie_jar_set_accept_policy(session.cookieStorage(), soupPolicy);
- });
-}
-
WebFrameNetworkingContext::WebFrameNetworkingContext(WebFrame* frame)
: FrameNetworkingContext(frame->coreFrame())
{
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h (212625 => 212626)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h 2017-02-20 06:36:04 UTC (rev 212625)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h 2017-02-20 08:30:50 UTC (rev 212626)
@@ -25,10 +25,8 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFrameNetworkingContext_h
-#define WebFrameNetworkingContext_h
+#pragma once
-#include "HTTPCookieAcceptPolicy.h"
#include <WebCore/FrameNetworkingContext.h>
#include <WebCore/SessionID.h>
@@ -45,7 +43,6 @@
}
static void ensurePrivateBrowsingSession(WebCore::SessionID);
- static void setCookieAcceptPolicyForAllContexts(HTTPCookieAcceptPolicy);
WebFrameLoaderClient* webFrameLoaderClient() const;
@@ -56,5 +53,3 @@
};
}
-
-#endif // WebFrameNetworkingContext_h