OSDN Git Service

47ec87a0d88b1bb96edaf3a5f29bd6cf5ade39c3
[android-x86/external-webkit.git] / WebCore / platform / network / NetworkingContext.h
1 /*
2     Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18 */
19
20 #ifndef NetworkingContext_h
21 #define NetworkingContext_h
22
23 #include <wtf/RefCounted.h>
24
25 #if PLATFORM(MAC)
26 #include "SchedulePair.h"
27 #endif
28
29 #if PLATFORM(QT)
30 class QObject;
31 class QNetworkAccessManager;
32 #endif
33
34 namespace WebCore {
35
36 #if PLATFORM(ANDROID)
37 class FrameLoaderClient;
38 class MainResourceLoader;
39 #endif
40 class ResourceError;
41 class ResourceRequest;
42
43 class NetworkingContext : public RefCounted<NetworkingContext> {
44 public:
45     virtual ~NetworkingContext() { }
46
47     virtual bool isValid() const { return true; }
48
49 #if PLATFORM(MAC)
50     virtual bool needsSiteSpecificQuirks() const = 0;
51     virtual bool localFileContentSniffingEnabled() const = 0;
52     virtual SchedulePairHashSet* scheduledRunLoopPairs() const = 0;
53     virtual ResourceError blockedError(const ResourceRequest&) const = 0;
54 #endif
55
56 #if PLATFORM(QT)
57     virtual QObject* originatingObject() const = 0;
58     virtual QNetworkAccessManager* networkAccessManager() const = 0;
59 #endif
60
61 #if PLATFORM(WIN)
62     virtual String userAgent() const = 0;
63     virtual String referrer() const = 0;
64     virtual ResourceError blockedError(const ResourceRequest&) const = 0;
65 #endif
66
67 #if PLATFORM(ANDROID)
68     virtual MainResourceLoader* mainResourceLoader() const = 0;
69     virtual bool isPrivateBrowsingEnabled() const = 0;
70     virtual FrameLoaderClient* frameLoaderClient() const = 0;
71 #endif
72
73 protected:
74     NetworkingContext() { }
75 };
76
77 }
78
79 #endif // NetworkingContext_h