Add NetworkingContext to avoid layer violations
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Aug 2010 01:01:40 +0000 (01:01 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Aug 2010 01:01:40 +0000 (01:01 +0000)
https://bugs.webkit.org/show_bug.cgi?id=42292

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2010-08-17
Reviewed by Darin Adler.

Preparation: Just add the files to the build system.

.:

* GNUmakefile.am: Added new files.

WebCore:

* GNUmakefile.am: Added new files.
* WebCore.gypi: Ditto.
* WebCore.pro: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* loader/FrameNetworkingContext.h: Added.
* platform/network/NetworkingContext.h: Added.
Placeholders with tentative code that might be changed when landing
the rest of it.

WebKit:

* WebKit.xcodeproj/project.pbxproj: Added new files.

WebKit/chromium:

* WebKit.gyp: Added new files.
* src/FrameNetworkingContextImpl.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.

WebKit/gtk:

* WebCoreSupport/FrameNetworkingContextGtk.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.

WebKit/mac:

* WebCoreSupport/WebFrameNetworkingContext.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.
* WebCoreSupport/WebFrameNetworkingContext.mm: Added.
Empty placeholder for now.

WebKit/qt:

* WebCoreSupport/FrameNetworkingContextQt.cpp: Added.
Empty placeholder for now.
* WebCoreSupport/FrameNetworkingContextQt.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.

WebKit/win:

* WebCoreSupport/WebFrameNetworkingContext.cpp: Added.
Empty placeholder for now.
* WebCoreSupport/WebFrameNetworkingContext.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.
* WebKit.vcproj/WebKit.vcproj: Added new files.

WebKit2:

* WebKit2.xcodeproj/project.pbxproj: Added new files.
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
Placeholder with tentative code that might be changed when landing
the rest of it.
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
Empty placeholder for now.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@65579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

31 files changed:
ChangeLog
GNUmakefile.am
WebCore/ChangeLog
WebCore/GNUmakefile.am
WebCore/WebCore.gypi
WebCore/WebCore.pro
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/loader/FrameNetworkingContext.h [new file with mode: 0644]
WebCore/platform/network/NetworkingContext.h [new file with mode: 0644]
WebKit/ChangeLog
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/chromium/ChangeLog
WebKit/chromium/WebKit.gyp
WebKit/chromium/src/FrameNetworkingContextImpl.h [new file with mode: 0644]
WebKit/gtk/ChangeLog
WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h [new file with mode: 0644]
WebKit/mac/ChangeLog
WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.h [new file with mode: 0644]
WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm [new file with mode: 0644]
WebKit/qt/ChangeLog
WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp [new file with mode: 0644]
WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h [new file with mode: 0644]
WebKit/win/ChangeLog
WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp [new file with mode: 0644]
WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h [new file with mode: 0644]
WebKit/win/WebKit.vcproj/WebKit.vcproj
WebKit2/ChangeLog
WebKit2/WebKit2.xcodeproj/project.pbxproj
WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h [new file with mode: 0644]
WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm [new file with mode: 0644]

index 92f4c9b..fef7ad5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * GNUmakefile.am: Added new files.
+
 2010-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.couk>
 
         Reviewed by Martin Robinson.
index e45dfed..b9f6cae 100644 (file)
@@ -747,6 +747,7 @@ webkitgtk_sources += \
        WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
        WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
        WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
+       WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h \
        WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
        WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
        WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.cpp \
index a2941de..21848dc 100644 (file)
@@ -1,3 +1,23 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * GNUmakefile.am: Added new files.
+        * WebCore.gypi: Ditto.
+        * WebCore.pro: Ditto.
+        * WebCore.vcproj/WebCore.vcproj: Ditto.
+        * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+        * loader/FrameNetworkingContext.h: Added.
+        * platform/network/NetworkingContext.h: Added.
+        Placeholders with tentative code that might be changed when landing
+        the rest of it.
+
 2010-08-17  Mihai Parparita  <mihaip@chromium.org>
 
         Reviewed by Darin Fisher.
index 80a3cbc..f79c130 100644 (file)
@@ -1690,6 +1690,7 @@ webcore_sources += \
        WebCore/loader/FrameLoaderStateMachine.cpp \
        WebCore/loader/FrameLoaderStateMachine.h \
        WebCore/loader/FrameLoaderTypes.h \
+       WebCore/loader/FrameNetworkingContext.h \
        WebCore/loader/HistoryController.cpp \
        WebCore/loader/HistoryController.h \
        WebCore/loader/ImageDocument.cpp \
@@ -2107,6 +2108,7 @@ webcore_sources += \
        WebCore/platform/network/HTTPParsers.h \
        WebCore/platform/network/NetworkStateNotifier.cpp \
        WebCore/platform/network/NetworkStateNotifier.h \
+       WebCore/platform/network/NetworkingContext.h \
        WebCore/platform/network/ProtectionSpace.cpp \
        WebCore/platform/network/ProtectionSpace.h \
        WebCore/platform/network/ResourceErrorBase.cpp \
index 20fd4a5..c223bd4 100644 (file)
             'loader/FrameLoaderStateMachine.cpp',
             'loader/FrameLoaderStateMachine.h',
             'loader/FrameLoaderTypes.h',
+            'loader/FrameNetworkingContext.h',
             'loader/HistoryController.cpp',
             'loader/HistoryController.h',
             'loader/ImageDocument.cpp',
             'platform/network/HTTPHeaderMap.h',
             'platform/network/HTTPParsers.cpp',
             'platform/network/HTTPParsers.h',
+            'platform/network/NetworkingContext.h',
             'platform/network/NetworkStateNotifier.cpp',
             'platform/network/NetworkStateNotifier.h',
             'platform/network/ProtectionSpace.cpp',
index ecf78d9..3e2efea 100644 (file)
@@ -1732,6 +1732,7 @@ HEADERS += \
     platform/network/FormData.h \
     platform/network/HTTPHeaderMap.h \
     platform/network/HTTPParsers.h \
+    platform/network/NetworkingContext.h \
     platform/network/NetworkStateNotifier.h \
     platform/network/ProtectionSpace.h \
     platform/network/qt/QNetworkReplyHandler.h \
@@ -2179,6 +2180,7 @@ HEADERS += \
     $$PWD/../WebKit/qt/Api/qwebplugindatabase_p.h \
     $$PWD/../WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h \
     $$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
+    $$PWD/../WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h \
     $$PWD/../WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h \
     $$PWD/../WebKit/qt/WebCoreSupport/PageClientQt.h \
     $$PWD/../WebKit/qt/WebCoreSupport/QtPlatformPlugin.h \
@@ -2270,6 +2272,7 @@ SOURCES += \
     ../WebKit/qt/WebCoreSupport/EditorClientQt.cpp \
     ../WebKit/qt/WebCoreSupport/EditCommandQt.cpp \
     ../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp \
+    ../WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp \
     ../WebKit/qt/WebCoreSupport/InspectorClientQt.cpp \
     ../WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp \
     ../WebKit/qt/WebCoreSupport/PageClientQt.cpp \
index ce00cc0..f20fd00 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\loader\FrameNetworkingContext.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\loader\FTPDirectoryDocument.cpp"\r
                                >\r
                        </File>\r
                                        >\r
                                </File>\r
                                <File\r
+                                       RelativePath="..\platform\network\NetworkingContext.h"\r
+                                       >\r
+                               </File>\r
+                               <File\r
                                        RelativePath="..\platform\network\ProtectionSpace.cpp"\r
                                        >\r
                                </File>\r
index eabdeee..bf2e250 100644 (file)
                5DFE8F570D16477C0076E937 /* ScheduledAction.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA378BB0D15F64200B793D6 /* ScheduledAction.h */; };
                626CDE0E1140424C001E5A68 /* SpatialNavigation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */; };
                626CDE0F1140424C001E5A68 /* SpatialNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 626CDE0D1140424C001E5A68 /* SpatialNavigation.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               628D214C12131ED10055DCFC /* NetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 628D214B12131ED10055DCFC /* NetworkingContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               628D214E12131EF40055DCFC /* FrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 628D214D12131EF40055DCFC /* FrameNetworkingContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
                62C1217C11AB9E77003C462C /* SuspendableTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */; };
                62C1217D11AB9E77003C462C /* SuspendableTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 62C1217B11AB9E77003C462C /* SuspendableTimer.h */; };
                62CD32591157E57C0063B0A7 /* CustomEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 62CD32561157E57C0063B0A7 /* CustomEvent.cpp */; };
                5DC87EEF11716DF2001C0E6D /* EmptyProtocolDefinitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyProtocolDefinitions.h; sourceTree = "<group>"; };
                626CDE0C1140424C001E5A68 /* SpatialNavigation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SpatialNavigation.cpp; sourceTree = "<group>"; };
                626CDE0D1140424C001E5A68 /* SpatialNavigation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpatialNavigation.h; sourceTree = "<group>"; };
+               628D214B12131ED10055DCFC /* NetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkingContext.h; sourceTree = "<group>"; };
+               628D214D12131EF40055DCFC /* FrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameNetworkingContext.h; sourceTree = "<group>"; };
                62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SuspendableTimer.cpp; sourceTree = "<group>"; };
                62C1217B11AB9E77003C462C /* SuspendableTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SuspendableTimer.h; sourceTree = "<group>"; };
                62CD32561157E57C0063B0A7 /* CustomEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CustomEvent.cpp; sourceTree = "<group>"; };
                656B84D70AEA1CE900A095B4 /* network */ = {
                        isa = PBXGroup;
                        children = (
+                               628D214B12131ED10055DCFC /* NetworkingContext.h */,
                                B2F34FE70E82F81700F627CD /* cf */,
                                656B84E70AEA1DAE00A095B4 /* mac */,
                                934F71370D5A6EFF00018D69 /* AuthenticationChallengeBase.cpp */,
                BCB16BFB0979C38700467741 /* loader */ = {
                        isa = PBXGroup;
                        children = (
+                               628D214D12131EF40055DCFC /* FrameNetworkingContext.h */,
                                1A8F6BB00DB55CDC001DB794 /* appcache */,
                                512DD8E80D91E691000F89EE /* archive */,
                                5126E6B60A2E3AEF005C29FA /* icon */,
                                D000EBA311BDAFD400C47726 /* FrameLoaderStateMachine.h in Headers */,
                                93B77A380ADD792500EA4B81 /* FrameLoaderTypes.h in Headers */,
                                658436860AE01B7400E53753 /* FrameLoadRequest.h in Headers */,
+                               628D214E12131EF40055DCFC /* FrameNetworkingContext.h in Headers */,
                                65A21485097A3F5300B9050A /* FrameTree.h in Headers */,
                                65CBFEFA0974F607001DAC25 /* FrameView.h in Headers */,
                                51E4ADB70C42B4CF0042BC55 /* FTPDirectoryDocument.h in Headers */,
                                A9C6E5A60D746458006442E9 /* Navigator.h in Headers */,
                                E12719C70EEEC16800F61213 /* NavigatorBase.h in Headers */,
                                656D37430ADBA5DE00A4554D /* NetscapePlugInStreamLoader.h in Headers */,
+                               628D214C12131ED10055DCFC /* NetworkingContext.h in Headers */,
                                1A7FA6190DDA3B3A0028F8A5 /* NetworkStateNotifier.h in Headers */,
                                BCEF43DD0E674012001C1287 /* NinePieceImage.h in Headers */,
                                14115B5209F84B7100CA4FC1 /* Node.h in Headers */,
diff --git a/WebCore/loader/FrameNetworkingContext.h b/WebCore/loader/FrameNetworkingContext.h
new file mode 100644 (file)
index 0000000..dff1144
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef FrameNetworkingContext_h
+#define FrameNetworkingContext_h
+
+#include "Frame.h"
+#include "NetworkingContext.h"
+
+namespace WebCore {
+
+class FrameNetworkingContext : public NetworkingContext {
+public:
+    void invalidate()
+    {
+        m_frame = 0;
+    }
+
+protected:
+    FrameNetworkingContext(Frame* frame)
+        : m_frame(frame)
+    {
+    }
+
+    Frame* frame() const { return m_frame; }
+
+private:
+    virtual bool isValid() const { return m_frame; }
+
+    Frame* m_frame;
+};
+
+}
+
+#endif // FrameNetworkingContext_h
diff --git a/WebCore/platform/network/NetworkingContext.h b/WebCore/platform/network/NetworkingContext.h
new file mode 100644 (file)
index 0000000..31f3025
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef NetworkingContext_h
+#define NetworkingContext_h
+
+#include <wtf/RefCounted.h>
+
+#if PLATFORM(MAC)
+#include "SchedulePair.h"
+#endif
+
+#if PLATFORM(QT)
+class QObject;
+class QNetworkAccessManager;
+#endif
+
+namespace WebCore {
+
+class ResourceError;
+class ResourceRequest;
+
+class NetworkingContext : public RefCounted<NetworkingContext> {
+public:
+    virtual ~NetworkingContext() { }
+
+    virtual bool isValid() const { return true; }
+
+#if PLATFORM(MAC)
+    virtual bool needsSiteSpecificQuirks() const = 0;
+    virtual bool localFileContentSniffingEnabled() const = 0;
+    virtual SchedulePairHashSet* scheduledRunLoopPairs() const = 0;
+    virtual ResourceError blockedError(const ResourceRequest&) const = 0;
+#endif
+
+#if PLATFORM(QT)
+    virtual QObject* originatingObject() const = 0;
+    virtual QNetworkAccessManager* networkAccessManager() const = 0;
+#endif
+
+#if PLATFORM(WIN)
+    virtual String userAgent() const = 0;
+    virtual String referrer() const = 0;
+#endif
+
+protected:
+    NetworkingContext() { }
+};
+
+}
+
+#endif // NetworkingContext_h
index baa384d..c7858fb 100644 (file)
@@ -1,3 +1,14 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebKit.xcodeproj/project.pbxproj: Added new files.
+
 2010-08-17  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Sam Weinig.
index f6be649..b76bd24 100644 (file)
                934C4AA00F0141F7009372C0 /* WebResourceInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */; };
                936A2DE80FD2D08000D312DB /* WebTextCompletionController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */; };
                936A2DEA0FD2D08400D312DB /* WebTextCompletionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */; };
+               9391F275121B38BD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */; };
+               9391F276121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9391F274121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm */; };
                939810110824BF01008DF038 /* WebBackForwardList.h in Headers */ = {isa = PBXBuildFile; fileRef = 3944607D020F50ED0ECA1767 /* WebBackForwardList.h */; settings = {ATTRIBUTES = (Public, ); }; };
                939810120824BF01008DF038 /* WebHistory.h in Headers */ = {isa = PBXBuildFile; fileRef = F520FB190221DEFD01C1A525 /* WebHistory.h */; settings = {ATTRIBUTES = (Public, ); }; };
                939810130824BF01008DF038 /* WebHistoryItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 3944607F020F50ED0ECA1767 /* WebHistoryItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
                934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceInternal.h; sourceTree = "<group>"; };
                936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebTextCompletionController.mm; sourceTree = "<group>"; };
                936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTextCompletionController.h; sourceTree = "<group>"; };
+               9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameNetworkingContext.h; sourceTree = "<group>"; };
+               9391F274121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameNetworkingContext.mm; sourceTree = "<group>"; };
                939811320824BF01008DF038 /* Info.plist */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = SOURCE_ROOT; tabWidth = 8; usesTabs = 1; };
                939811330824BF01008DF038 /* WebKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                93AEB17D032C1735008635CE /* WebKitLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitLogging.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                                4BF99F8F0AE050BC00815C2B /* WebEditorClient.mm */,
                                931633EA0AEDFF930062B92D /* WebFrameLoaderClient.h */,
                                931633EE0AEDFFAE0062B92D /* WebFrameLoaderClient.mm */,
+                               9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */,
+                               9391F274121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm */,
                                BC7F884910C8775A00D6133D /* WebGeolocationControllerClient.h */,
                                BC7F884A10C8775A00D6133D /* WebGeolocationControllerClient.mm */,
                                51494CD40C7EBDE0004178C5 /* WebIconDatabaseClient.h */,
                                A5DEFC1311D5344B00885273 /* WebApplicationCacheQuotaManager.h in Headers */,
                                A57E2F24120749E600048DF3 /* WebQuotaManager.h in Headers */,
                                B804176F1217A83100466BAE /* WebInspectorFrontend.h in Headers */,
+                               9391F275121B38BD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                A5DEFC1011D5343E00885273 /* WebDatabaseQuotaManager.mm in Sources */,
                                A5DEFC1411D5344B00885273 /* WebApplicationCacheQuotaManager.mm in Sources */,
                                B80417701217A83100466BAE /* WebInspectorFrontend.mm in Sources */,
+                               9391F276121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index c5b2a5d..0aee58e 100644 (file)
@@ -1,3 +1,17 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebKit.gyp: Added new files.
+        * src/FrameNetworkingContextImpl.h: Added.
+        Placeholder with tentative code that might be changed when landing
+        the rest of it.
+
 2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r65516.
index c338b59..9d28a80 100644 (file)
                 'src/EventListenerWrapper.h',
                 'src/FrameLoaderClientImpl.cpp',
                 'src/FrameLoaderClientImpl.h',
+                'src/FrameNetworkingContextImpl.h',
                 'src/GLES2Context.cpp',
                 'src/GLES2ContextInternal.cpp',
                 'src/GLES2ContextInternal.h',
diff --git a/WebKit/chromium/src/FrameNetworkingContextImpl.h b/WebKit/chromium/src/FrameNetworkingContextImpl.h
new file mode 100644 (file)
index 0000000..8670506
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef FrameNetworkingContextImpl_h
+#define FrameNetworkingContextImpl_h
+
+#include "FrameNetworkingContext.h"
+
+namespace WebKit {
+
+class FrameNetworkingContextImpl : public WebCore::FrameNetworkingContext {
+public:
+    static PassRefPtr<FrameNetworkingContextImpl> create(WebCore::Frame* frame)
+    {
+        return adoptRef(new FrameNetworkingContextImpl(frame));
+    }
+
+private:
+    FrameNetworkingContextImpl(WebCore::Frame* frame)
+        : WebCore::FrameNetworkingContext(frame)
+    {
+    }
+};
+
+}
+
+#endif
index 4759d46..cbf4b73 100644 (file)
@@ -1,3 +1,16 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebCoreSupport/FrameNetworkingContextGtk.h: Added.
+        Placeholder with tentative code that might be changed when landing
+        the rest of it.
+
 2010-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
 
         Reviewed by Martin Robinson.
diff --git a/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h b/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h
new file mode 100644 (file)
index 0000000..8e4c214
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef FrameNetworkingContextGtk_h
+#define FrameNetworkingContextGtk_h
+
+#include "FrameNetworkingContext.h"
+
+namespace WebKit {
+
+class FrameNetworkingContextGtk : public WebCore::FrameNetworkingContext {
+public:
+    static PassRefPtr<FrameNetworkingContextGtk> create(WebCore::Frame* frame)
+    {
+        return adoptRef(new FrameNetworkingContextGtk(frame));
+    }
+
+    WebCore::Frame* coreFrame() const { return frame(); }
+
+private:
+    FrameNetworkingContextGtk(WebCore::Frame* frame)
+        : WebCore::FrameNetworkingContext(frame)
+    {
+    }
+};
+
+}
+
+#endif
index 8fc44fe..1381fee 100644 (file)
@@ -1,3 +1,18 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebCoreSupport/WebFrameNetworkingContext.h: Added.
+        Placeholder with tentative code that might be changed when landing
+        the rest of it.
+        * WebCoreSupport/WebFrameNetworkingContext.mm: Added.
+        Empty placeholder for now.
+
 2010-08-17  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.h b/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.h
new file mode 100644 (file)
index 0000000..de89024
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#import <WebCore/FrameNetworkingContext.h>
+
+class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
+public:
+    static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame* frame)
+    {
+        return adoptRef(new WebFrameNetworkingContext(frame));
+    }
+
+private:
+    WebFrameNetworkingContext(WebCore::Frame* frame)
+        : WebCore::FrameNetworkingContext(frame)
+    {
+    }
+
+    virtual bool needsSiteSpecificQuirks() const;
+    virtual bool localFileContentSniffingEnabled() const;
+    virtual WebCore::SchedulePairHashSet* scheduledRunLoopPairs() const;
+    virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const;
+};
diff --git a/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm b/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
new file mode 100644 (file)
index 0000000..941cfaa
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+// Checking this file in empty to get the build system work out of the way.
+// Will put the code in here later.
index fb1970e..1069650 100644 (file)
@@ -1,3 +1,18 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebCoreSupport/FrameNetworkingContextQt.cpp: Added.
+        Empty placeholder for now.
+        * WebCoreSupport/FrameNetworkingContextQt.h: Added.
+        Placeholder with tentative code that might be changed when landing
+        the rest of it.
+
 2010-08-17  Hui Huang  <hui.2.huang@nokia.com>
 
         Reviewed by Laszlo Gombos.
diff --git a/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp b/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
new file mode 100644 (file)
index 0000000..941cfaa
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+// Checking this file in empty to get the build system work out of the way.
+// Will put the code in here later.
diff --git a/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h b/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h
new file mode 100644 (file)
index 0000000..461023e
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef FrameNetworkingContextQt_h
+#define FrameNetworkingContextQt_h
+
+#include "FrameNetworkingContext.h"
+
+namespace WebCore {
+
+class FrameNetworkingContextQt : public FrameNetworkingContext {
+public:
+    static PassRefPtr<FrameNetworkingContextQt> create(Frame*, QObject* originatingObject, QNetworkAccessManager*);
+
+private:
+    FrameNetworkingContextQt(Frame*, QObject* originatingObject, QNetworkAccessManager*);
+
+    virtual QObject* originatingObject() const;
+    virtual QNetworkAccessManager* networkAccessManager() const;
+
+    QObject* m_originatingObject;
+    QNetworkAccessManager* m_networkAccessManager;
+};
+
+}
+
+#endif // FrameNetworkingContextQt_h
index 7858908..cd0f234 100644 (file)
@@ -1,3 +1,19 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebCoreSupport/WebFrameNetworkingContext.cpp: Added.
+        Empty placeholder for now.
+        * WebCoreSupport/WebFrameNetworkingContext.h: Added.
+        Placeholder with tentative code that might be changed when landing
+        the rest of it.
+        * WebKit.vcproj/WebKit.vcproj: Added new files.
+
 2010-08-17  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
new file mode 100644 (file)
index 0000000..941cfaa
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+// Checking this file in empty to get the build system work out of the way.
+// Will put the code in here later.
diff --git a/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h
new file mode 100644 (file)
index 0000000..7fd55d5
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef WebFrameNetworkingContext_h
+#define WebFrameNetworkingContext_h
+
+#include <WebCore/FrameNetworkingContext.h>
+
+class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
+public:
+    static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame*, const WTF::String& userAgent);
+
+private:
+    WebFrameNetworkingContext(WebCore::Frame* frame, const WTF::String& userAgent)
+        : WebCore::FrameNetworkingContext(frame)
+        , m_userAgent(userAgent)
+    {
+    }
+
+    virtual WTF::String userAgent() const;
+    virtual WTF::String referrer() const;
+
+    WTF::String m_userAgent;
+};
+
+#endif // WebFrameNetworkingContext_h
index 85e8ee1..822e13c 100644 (file)
                                >\r
                        </File>\r
                        <File\r
+                               RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"\r
+                               >\r
+                       </File>\r
+                       <File\r
+                               RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"\r
+                               >\r
+                       </File>\r
+                       <File\r
                                RelativePath="..\WebCoreSupport\WebGeolocationControllerClient.cpp"\r
                                >\r
                        </File>\r
index c341c51..0a366e9 100644 (file)
@@ -1,3 +1,19 @@
+2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Preparation: Just add the files to the build system.
+
+        * WebKit2.xcodeproj/project.pbxproj: Added new files.
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
+        Placeholder with tentative code that might be changed when landing
+        the rest of it.
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
+        Empty placeholder for now.
+
 2010-08-16  Jon Honeycutt  <jhoneycutt@apple.com>
 
         Allow some tests to pass in WebKitTestRunner before SharedMemory and
index 10eae41..38bd737 100644 (file)
                762B74AF120BC94F00819339 /* WKPreferencesPrivate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 762B749D120BC8EA00819339 /* WKPreferencesPrivate.cpp */; };
                8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
                8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
+               9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */; };
+               9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */; };
                BC0092F7115837A300E0AE2A /* RunLoopMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC0092F5115837A300E0AE2A /* RunLoopMac.mm */; };
                BC0092F8115837A300E0AE2A /* WorkQueueMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC0092F6115837A300E0AE2A /* WorkQueueMac.cpp */; };
                BC032D7510F4378D0058C15A /* WebChromeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC032D6010F4378D0058C15A /* WebChromeClient.h */; };
                762B749D120BC8EA00819339 /* WKPreferencesPrivate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPreferencesPrivate.cpp; sourceTree = "<group>"; };
                8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
                8DC2EF5B0486A6940098B216 /* WebKit2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebKit2.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameNetworkingContext.h; sourceTree = "<group>"; };
+               9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameNetworkingContext.mm; sourceTree = "<group>"; };
                BC0092F5115837A300E0AE2A /* RunLoopMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RunLoopMac.mm; sourceTree = "<group>"; };
                BC0092F6115837A300E0AE2A /* WorkQueueMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkQueueMac.cpp; sourceTree = "<group>"; };
                BC032D6010F4378D0058C15A /* WebChromeClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebChromeClient.h; sourceTree = "<group>"; };
                        isa = PBXGroup;
                        children = (
                                BC111ADF112F5BC200337BAB /* WebErrorsMac.mm */,
+                               9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */,
+                               9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */,
                                BCC57159115ADAEF001CCAF9 /* WebSystemInterface.h */,
                                BCC5715A115ADAEF001CCAF9 /* WebSystemInterface.mm */,
                        );
                                BCE469771214F27B000B98EB /* WebFrameListenerProxy.h in Headers */,
                                BCBCB0CB1215E32100DE59CA /* ImmutableDictionary.h in Headers */,
                                BCBCB0E31215E54D00DE59CA /* WKDictionary.h in Headers */,
+                               9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
                                BCBCB0CD1215E33A00DE59CA /* ImmutableDictionary.cpp in Sources */,
                                BCBCB0E41215E54D00DE59CA /* WKDictionary.cpp in Sources */,
+                               9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
diff --git a/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h b/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h
new file mode 100644 (file)
index 0000000..994d285
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#ifndef WebFrameNetworkingContext_h
+#define WebFrameNetworkingContext_h
+
+#import <WebCore/FrameNetworkingContext.h>
+
+namespace WebKit {
+
+class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
+public:
+    static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame* frame)
+    {
+        return adoptRef(new WebFrameNetworkingContext(frame));
+    }
+
+private:
+    WebFrameNetworkingContext(WebCore::Frame* frame)
+        : WebCore::FrameNetworkingContext(frame)
+    {
+    }
+
+    virtual bool needsSiteSpecificQuirks() const;
+    virtual bool localFileContentSniffingEnabled() const;
+    virtual WebCore::SchedulePairHashSet* scheduledRunLoopPairs() const;
+    virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const;
+};
+
+}
+
+#endif
diff --git a/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm b/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
new file mode 100644 (file)
index 0000000..941cfaa
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+// Checking this file in empty to get the build system work out of the way.
+// Will put the code in here later.