summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/WebCoreSupport/soup
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebKit2/WebProcess/WebCoreSupport/soup
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebKit2/WebProcess/WebCoreSupport/soup')
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp46
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h16
2 files changed, 17 insertions, 45 deletions
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
index ab482e3b5..a6476f1f1 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
@@ -27,54 +27,29 @@
#include "config.h"
#include "WebFrameNetworkingContext.h"
+#include "NetworkSession.h"
#include "SessionTracker.h"
#include "WebFrame.h"
#include "WebPage.h"
-#include <WebCore/CookieJarSoup.h>
#include <WebCore/NetworkStorageSession.h>
+#include <WebCore/SessionID.h>
#include <WebCore/Settings.h>
#include <WebCore/SoupNetworkSession.h>
-#include <wtf/NeverDestroyed.h>
using namespace WebCore;
namespace WebKit {
-void WebFrameNetworkingContext::ensurePrivateBrowsingSession(uint64_t sessionID)
+void WebFrameNetworkingContext::ensurePrivateBrowsingSession(SessionID sessionID)
{
ASSERT(isMainThread());
+ ASSERT(sessionID.isEphemeral());
- if (SessionTracker::session(sessionID))
+ if (NetworkStorageSession::storageSession(sessionID))
return;
- SessionTracker::setSession(sessionID, NetworkStorageSession::createPrivateBrowsingSession(String::number(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;
- }
-
- SoupCookieJar* cookieJar = WebCore::soupCookieJar();
- soup_cookie_jar_set_accept_policy(cookieJar, soupPolicy);
-
- SoupNetworkSession& soupSession = NetworkStorageSession::defaultStorageSession().soupNetworkSession();
- soup_cookie_jar_set_accept_policy(soupSession.cookieJar(), soupPolicy);
-
- for (const auto& session : SessionTracker::sessionMap().values()) {
- if (session)
- soup_cookie_jar_set_accept_policy(session->soupNetworkSession().cookieJar(), soupPolicy);
- }
+ NetworkStorageSession::ensurePrivateBrowsingSession(sessionID, String::number(sessionID.sessionID()));
+ SessionTracker::setSession(sessionID, NetworkSession::create(sessionID));
}
WebFrameNetworkingContext::WebFrameNetworkingContext(WebFrame* frame)
@@ -84,9 +59,10 @@ WebFrameNetworkingContext::WebFrameNetworkingContext(WebFrame* frame)
NetworkStorageSession& WebFrameNetworkingContext::storageSession() const
{
- if (frame() && frame()->settings().privateBrowsingEnabled())
- return *SessionTracker::session(SessionTracker::legacyPrivateSessionID);
-
+ if (frame()) {
+ if (auto* storageSession = NetworkStorageSession::storageSession(frame()->page()->sessionID()))
+ return *storageSession;
+ }
return NetworkStorageSession::defaultStorageSession();
}
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h b/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h
index 1ef2a45b9..5dfa8dbb9 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h
@@ -25,11 +25,10 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFrameNetworkingContext_h
-#define WebFrameNetworkingContext_h
+#pragma once
-#include "HTTPCookieAcceptPolicy.h"
#include <WebCore/FrameNetworkingContext.h>
+#include <WebCore/SessionID.h>
namespace WebKit {
@@ -38,22 +37,19 @@ class WebFrameLoaderClient;
class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
public:
- static PassRefPtr<WebFrameNetworkingContext> create(WebFrame* frame)
+ static Ref<WebFrameNetworkingContext> create(WebFrame* frame)
{
- return adoptRef(new WebFrameNetworkingContext(frame));
+ return adoptRef(*new WebFrameNetworkingContext(frame));
}
- static void ensurePrivateBrowsingSession(uint64_t sessionID);
- static void setCookieAcceptPolicyForAllContexts(HTTPCookieAcceptPolicy);
+ static void ensurePrivateBrowsingSession(WebCore::SessionID);
WebFrameLoaderClient* webFrameLoaderClient() const;
private:
WebFrameNetworkingContext(WebFrame*);
- virtual WebCore::NetworkStorageSession& storageSession() const;
+ WebCore::NetworkStorageSession& storageSession() const override;
};
}
-
-#endif // WebFrameNetworkingContext_h