diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp b/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp index 3e7b46a09..7d00d29eb 100644 --- a/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp +++ b/Source/WebKit2/WebProcess/Cookies/soup/WebCookieManagerSoup.cpp @@ -27,12 +27,11 @@ #include "WebCookieManager.h" #include "ChildProcess.h" -#include "WebFrameNetworkingContext.h" #include "WebKitSoupCookieJarSqlite.h" -#include <WebCore/CookieJarSoup.h> +#include <WebCore/NetworkStorageSession.h> #include <WebCore/SoupNetworkSession.h> #include <libsoup/soup.h> -#include <wtf/gobject/GRefPtr.h> +#include <wtf/glib/GRefPtr.h> #include <wtf/text/CString.h> using namespace WebCore; @@ -41,31 +40,37 @@ namespace WebKit { 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() { - SoupCookieJar* cookieJar = WebCore::soupCookieJar(); - SoupCookieJarAcceptPolicy soupPolicy; - - HTTPCookieAcceptPolicy policy; - - soupPolicy = soup_cookie_jar_get_accept_policy(cookieJar); - switch (soupPolicy) { + switch (soup_cookie_jar_get_accept_policy(NetworkStorageSession::defaultStorageSession().cookieStorage())) { case SOUP_COOKIE_JAR_ACCEPT_ALWAYS: - policy = HTTPCookieAcceptPolicyAlways; - break; + return HTTPCookieAcceptPolicyAlways; case SOUP_COOKIE_JAR_ACCEPT_NEVER: - policy = HTTPCookieAcceptPolicyNever; - break; + return HTTPCookieAcceptPolicyNever; case SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY: - policy = HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain; - break; - default: - policy = HTTPCookieAcceptPolicyAlways; + return HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain; } - return policy; + + ASSERT_NOT_REACHED(); + return HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain; } void WebCookieManager::setCookiePersistentStorage(const String& storagePath, uint32_t storageType) @@ -82,9 +87,9 @@ void WebCookieManager::setCookiePersistentStorage(const String& storagePath, uin ASSERT_NOT_REACHED(); } - soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(WebCore::soupCookieJar())); - SoupNetworkSession::defaultSession().setCookieJar(jar.get()); - WebCore::setSoupCookieJar(jar.get()); + auto& storageSession = NetworkStorageSession::defaultStorageSession(); + soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(storageSession.cookieStorage())); + storageSession.setCookieStorage(jar.get()); } } // namespace WebKit |