488feb31bfec34e87c1ebde4777ca12c3668e686
[WebKit-https.git] / Source / WebKit / win / WebCoreSupport / WebFrameNetworkingContext.h
1 /*
2     Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
3     Copyright (C) 2012 Apple Inc. All rights reserved.
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public License
16     along with this library; see the file COPYING.LIB.  If not, write to
17     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18     Boston, MA 02110-1301, USA.
19 */
20
21 #ifndef WebFrameNetworkingContext_h
22 #define WebFrameNetworkingContext_h
23
24 #include <WebCore/FrameNetworkingContext.h>
25 #include <WebCore/ResourceError.h>
26
27 class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
28 public:
29     static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame*, const WTF::String& userAgent);
30
31     static void setPrivateBrowsingStorageSessionIdentifierBase(const String&);
32     static void ensurePrivateBrowsingSession();
33     static void destroyPrivateBrowsingSession();
34
35 #if USE(CFNETWORK)
36     static void setCookieAcceptPolicyForAllContexts(CFHTTPCookieStorageAcceptPolicy);
37 #endif
38
39 private:
40     WebFrameNetworkingContext(WebCore::Frame* frame, const WTF::String& userAgent)
41         : WebCore::FrameNetworkingContext(frame)
42         , m_userAgent(userAgent)
43     {
44     }
45
46     virtual WTF::String userAgent() const;
47     virtual WTF::String referrer() const;
48 #if USE(CFNETWORK)
49     virtual WebCore::NetworkStorageSession& storageSession() const;
50 #endif
51     virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const;
52
53     WTF::String m_userAgent;
54 };
55
56 #endif // WebFrameNetworkingContext_h