[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

diegohcg at webkit.org diegohcg at webkit.org
Wed Dec 22 13:01:22 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 838e0a2e8308d40c273a1b1a6c6a82766b108045
Author: diegohcg at webkit.org <diegohcg at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Sep 4 14:48:30 2010 +0000

    Add NetworkingContext to avoid layer violations
    https://bugs.webkit.org/show_bug.cgi?id=42292
    
    Patch by Jesus Sanchez-Palencia <jesus.palencia at openbossa.org> on 2010-09-03
    Reviewed by Darin Adler.
    
    WebCore:
    
    Create and provide access to NetworkingContext in FrameLoader.
    
    In the WebKit layer we added specific implementations of FrameNetworkingContext
    so each port's FrameLoaderClient can add any port specific information to NetworkingContext
    The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
    in the FrameLoader for each frame created. People must always use it
    by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
    The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
    
    It is still a preparation to NetworkingContext to be activated and
    work for all ports.
    
    * WebCore.exp.in:
    * loader/EmptyClients.h:
    (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
    * loader/FrameLoader.cpp:
    (WebCore::FrameLoader::~FrameLoader):
    (WebCore::FrameLoader::init):
    (WebCore::FrameLoader::networkingContext):
    * loader/FrameLoader.h:
    * loader/FrameLoaderClient.h:
    
    WebKit/chromium:
    
    Add Chromium's implementation of NetworkingContext.
    
    * src/FrameLoaderClientImpl.cpp:
    (WebKit::FrameLoaderClientImpl::createNetworkingContext):
    * src/FrameLoaderClientImpl.h:
    
    WebKit/efl:
    
    Add createNetworkingContext to EFL's FrameLoaderClient.
    
    * WebCoreSupport/FrameLoaderClientEfl.cpp:
    (WebCore::FrameLoaderClientEfl::createNetworkingContext):
    * WebCoreSupport/FrameLoaderClientEfl.h:
    
    WebKit/gtk:
    
    Add GTK's specific implementation of FrameNetworkingContext.
    
    * WebCoreSupport/FrameLoaderClientGtk.cpp:
    (WebKit::FrameLoaderClient::createNetworkingContext):
    * WebCoreSupport/FrameLoaderClientGtk.h:
    
    WebKit/mac:
    
    Add Mac's specific implementation of FrameNetworkingContext.
    
    * WebCoreSupport/WebFrameLoaderClient.h:
    * WebCoreSupport/WebFrameLoaderClient.mm:
    * WebCoreSupport/WebFrameNetworkingContext.mm:
    (WebFrameNetworkingContext::needsSiteSpecificQuirks):
    (WebFrameNetworkingContext::localFileContentSniffingEnabled):
    (WebFrameNetworkingContext::scheduledRunLoopPairs):
    (WebFrameNetworkingContext::blockedError):
    
    WebKit/qt:
    
    Add Qt's specific implementation of NetworkingContext.
    
    * WebCoreSupport/FrameLoaderClientQt.cpp:
    (WebCore::FrameLoaderClientQt::setFrame):
    (WebCore::FrameLoaderClientQt::createNetworkingContext):
    * WebCoreSupport/FrameLoaderClientQt.h:
    * WebCoreSupport/FrameNetworkingContextQt.cpp:
    (WebCore::FrameNetworkingContextQt::FrameNetworkingContextQt):
    (WebCore::FrameNetworkingContextQt::create):
    (WebCore::FrameNetworkingContextQt::originatingObject):
    (WebCore::FrameNetworkingContextQt::networkAccessManager):
    
    WebKit/win:
    
    Add Win's specific implementation of NetworkingContext.
    
    * WebCoreSupport/WebFrameNetworkingContext.cpp:
    (WebFrameNetworkingContext::create):
    (WebFrameNetworkingContext::userAgent):
    (WebFrameNetworkingContext::referrer):
    * WebFrame.cpp:
    (WebFrame::createNetworkingContext):
    * WebFrame.h:
    
    WebKit2:
    
    Add FrameNetworkingContext implementation.
    
    * WebKit2.pro:
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::createNetworkingContext):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
    (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
    (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
    (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
    (WebKit::WebFrameNetworkingContext::blockedError):
    * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added.
    (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
    (WebCore::WebFrameNetworkingContext::create):
    (WebCore::WebFrameNetworkingContext::originatingObject):
    (WebCore::WebFrameNetworkingContext::networkAccessManager):
    * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added.
    * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.
    * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.
    (WebFrameNetworkingContext::create):
    (WebFrameNetworkingContext::WebFrameNetworkingContext):
    * win/WebKit2.vcproj:
    * win/WebKit2Common.vsprops:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e3d72e0..1e7775f 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,32 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Create and provide access to NetworkingContext in FrameLoader.
+
+        In the WebKit layer we added specific implementations of FrameNetworkingContext
+        so each port's FrameLoaderClient can add any port specific information to NetworkingContext
+        The NetworkingContext is, therefore, created by a FrameLoaderClient and stored
+        in the FrameLoader for each frame created. People must always use it
+        by calling FrameLoader::networkingContext() and never through their FrameLoaderClient.
+        The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted.
+
+        It is still a preparation to NetworkingContext to be activated and
+        work for all ports.
+
+        * WebCore.exp.in:
+        * loader/EmptyClients.h:
+        (WebCore::EmptyFrameLoaderClient::createNetworkingContext):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::~FrameLoader):
+        (WebCore::FrameLoader::init):
+        (WebCore::FrameLoader::networkingContext):
+        * loader/FrameLoader.h:
+        * loader/FrameLoaderClient.h:
+
 2010-09-03  Kinuko Yasuda  <kinuko at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index 85148e5..63ff80d 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -856,6 +856,7 @@ __ZNK7WebCore10ScrollView16contentsToWindowERKNS_8IntPointE
 __ZNK7WebCore10ScrollView18visibleContentRectEb
 __ZNK7WebCore11CachedImage5imageEv
 __ZNK7WebCore11FrameLoader10isCompleteEv
+__ZNK7WebCore11FrameLoader12blockedErrorERKNS_15ResourceRequestE
 __ZNK7WebCore11FrameLoader14cancelledErrorERKNS_15ResourceRequestE
 __ZNK7WebCore11FrameLoader14frameHasLoadedEv
 __ZNK7WebCore11FrameLoader16outgoingReferrerEv
diff --git a/WebCore/loader/EmptyClients.h b/WebCore/loader/EmptyClients.h
index 25ae2cd..d1e406c 100644
--- a/WebCore/loader/EmptyClients.h
+++ b/WebCore/loader/EmptyClients.h
@@ -40,6 +40,7 @@
 #include "FloatRect.h"
 #include "FocusDirection.h"
 #include "FrameLoaderClient.h"
+#include "FrameNetworkingContext.h"
 #include "InspectorClient.h"
 #include "PluginHalterClient.h"
 #include "PopupMenu.h"
@@ -366,6 +367,7 @@ public:
     virtual bool shouldCacheResponse(DocumentLoader*, unsigned long, const ResourceResponse&, const unsigned char*, unsigned long long) { return true; }
 #endif
 
+    virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext() { return PassRefPtr<FrameNetworkingContext>(); }
 };
 
 class EmptyEditorClient : public EditorClient, public Noncopyable {
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp
index eeb5283..a4924e1 100644
--- a/WebCore/loader/FrameLoader.cpp
+++ b/WebCore/loader/FrameLoader.cpp
@@ -58,6 +58,7 @@
 #include "Frame.h"
 #include "FrameLoadRequest.h"
 #include "FrameLoaderClient.h"
+#include "FrameNetworkingContext.h"
 #include "FrameTree.h"
 #include "FrameView.h"
 #include "HTMLAnchorElement.h"
@@ -216,6 +217,9 @@ FrameLoader::~FrameLoader()
         (*it)->loader()->m_opener = 0;
         
     m_client->frameLoaderDestroyed();
+
+    if (m_networkingContext)
+        m_networkingContext->invalidate();
 }
 
 void FrameLoader::init()
@@ -236,6 +240,8 @@ void FrameLoader::init()
     m_frame->document()->cancelParsing();
     m_stateMachine.advanceTo(FrameLoaderStateMachine::DisplayingInitialEmptyDocument);
     m_didCallImplicitClose = true;
+
+    m_networkingContext = m_client->createNetworkingContext();
 }
 
 void FrameLoader::setDefersLoading(bool defers)
@@ -3447,6 +3453,11 @@ void FrameLoader::tellClientAboutPastMemoryCacheLoads()
     }
 }
 
+NetworkingContext* FrameLoader::networkingContext() const
+{
+    return m_networkingContext.get();
+}
+
 bool FrameLoaderClient::hasHTMLView() const
 {
     return true;
diff --git a/WebCore/loader/FrameLoader.h b/WebCore/loader/FrameLoader.h
index 5adcf41..e23779d 100644
--- a/WebCore/loader/FrameLoader.h
+++ b/WebCore/loader/FrameLoader.h
@@ -62,10 +62,12 @@ class FormState;
 class FormSubmission;
 class Frame;
 class FrameLoaderClient;
+class FrameNetworkingContext;
 class HistoryItem;
 class HTMLFormElement;
 class IconLoader;
 class NavigationAction;
+class NetworkingContext;
 class ProtectionSpace;
 class ResourceError;
 class ResourceLoader;
@@ -331,6 +333,8 @@ public:
 
     bool pageDismissalEventBeingDispatched() const { return m_pageDismissalEventBeingDispatched; }
 
+    inline NetworkingContext* networkingContext() const;
+
 private:
     bool canCachePageContainingThisFrame();
 #ifndef NDEBUG
@@ -497,6 +501,8 @@ private:
 #ifndef NDEBUG
     bool m_didDispatchDidCommitLoad;
 #endif
+
+    RefPtr<FrameNetworkingContext> m_networkingContext;
 };
 
 // This function is called by createWindow() in JSDOMWindowBase.cpp, for example, for
diff --git a/WebCore/loader/FrameLoaderClient.h b/WebCore/loader/FrameLoaderClient.h
index 35eee32..04a8868 100644
--- a/WebCore/loader/FrameLoaderClient.h
+++ b/WebCore/loader/FrameLoaderClient.h
@@ -52,6 +52,7 @@ namespace WebCore {
     class FormState;
     class Frame;
     class FrameLoader;
+    class FrameNetworkingContext;
     class HistoryItem;
     class HTMLAppletElement;
     class HTMLFormElement;
@@ -282,6 +283,8 @@ namespace WebCore {
         virtual void didNotAllowScript() { }
         // This callback is similar, but for plugins.
         virtual void didNotAllowPlugins() { }
+
+        virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext() = 0;
     };
 
 } // namespace WebCore
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 3f240ba..bb62893 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add Chromium's implementation of NetworkingContext.
+
+        * src/FrameLoaderClientImpl.cpp:
+        (WebKit::FrameLoaderClientImpl::createNetworkingContext):
+        * src/FrameLoaderClientImpl.h:
+
 2010-09-02  Vangelis Kokkevis  <vangelis at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 74186bf..ea668c7 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -37,6 +37,7 @@
 #include "FormState.h"
 #include "FrameLoader.h"
 #include "FrameLoadRequest.h"
+#include "FrameNetworkingContextImpl.h"
 #include "FrameView.h"
 #include "HTTPParsers.h"
 #include "HistoryItem.h"
@@ -1512,4 +1513,9 @@ PassOwnPtr<WebPluginLoadObserver> FrameLoaderClientImpl::pluginLoadObserver()
     return ds->releasePluginLoadObserver();
 }
 
+PassRefPtr<FrameNetworkingContext> FrameLoaderClientImpl::createNetworkingContext()
+{
+    return FrameNetworkingContextImpl::create(m_webFrame->frame());
+}
+
 } // namespace WebKit
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.h b/WebKit/chromium/src/FrameLoaderClientImpl.h
index 3a8a714..361bae4 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.h
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.h
@@ -198,6 +198,8 @@ public:
     virtual void didNotAllowScript();
     virtual void didNotAllowPlugins();
 
+    virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
+
 private:
     void makeDocumentView();
 
diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog
index eaeec58..3300e14 100644
--- a/WebKit/efl/ChangeLog
+++ b/WebKit/efl/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add createNetworkingContext to EFL's FrameLoaderClient.
+
+        * WebCoreSupport/FrameLoaderClientEfl.cpp:
+        (WebCore::FrameLoaderClientEfl::createNetworkingContext):
+        * WebCoreSupport/FrameLoaderClientEfl.h:
+
 2010-09-03  Lucas De Marchi  <lucas.demarchi at profusion.mobi>
 
         Reviewed by Martin Robinson.
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
index 499d6c2..4ad3e1d 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
@@ -39,6 +39,7 @@
 #include "EWebKit.h"
 #include "FormState.h"
 #include "FrameLoader.h"
+#include "FrameNetworkingContext.h"
 #include "FrameTree.h"
 #include "FrameView.h"
 #include "HTMLFormElement.h"
@@ -945,4 +946,9 @@ void FrameLoaderClientEfl::transitionToCommittedForNewPage()
         ewk_view_frame_main_cleared(m_view);
 }
 
+PassRefPtr<FrameNetworkingContext> FrameLoaderClientEfl::createNetworkingContext()
+{
+    return FrameNetworkingContext::create(core(m_webFrame.get()));
+}
+
 }
diff --git a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
index 561760c..bd105cd 100644
--- a/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
+++ b/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
@@ -202,6 +202,8 @@ class FrameLoaderClientEfl : public FrameLoaderClient {
 
     virtual bool canCachePage() const;
     virtual void download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&);
+
+    virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
  private:
     Evas_Object *m_view;
     Evas_Object *m_frame;
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 9435afc..52665b1 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add GTK's specific implementation of FrameNetworkingContext.
+
+        * WebCoreSupport/FrameLoaderClientGtk.cpp:
+        (WebKit::FrameLoaderClient::createNetworkingContext):
+        * WebCoreSupport/FrameLoaderClientGtk.h:
+
 2010-09-03  Xan Lopez  <xlopez at igalia.com>
 
         Reviewed by Gustavo Noronha.
diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
index 2cf4f36..4b0da3d 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
@@ -32,6 +32,7 @@
 #include "DocumentLoaderGtk.h"
 #include "FormState.h"
 #include "FrameLoader.h"
+#include "FrameNetworkingContextGtk.h"
 #include "FrameView.h"
 #include "FrameTree.h"
 #include "GOwnPtr.h"
@@ -1193,4 +1194,9 @@ void FrameLoaderClient::transitionToCommittedForNewPage()
     postCommitFrameViewSetup(m_frame, frame->view(), true);
 }
 
+PassRefPtr<FrameNetworkingContext> FrameLoaderClient::createNetworkingContext()
+{
+    return FrameNetworkingContextGtk::create(core(m_frame));
+}
+
 }
diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
index 33e9ee5..753576b 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
@@ -181,6 +181,9 @@ namespace WebKit {
 
         virtual bool canCachePage() const;
         virtual void download(WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
+
+        virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
+
     private:
         WebKitWebFrame* m_frame;
         WebCore::ResourceResponse m_response;
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 2ab69c1..54eb606 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,20 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add Mac's specific implementation of FrameNetworkingContext.
+
+        * WebCoreSupport/WebFrameLoaderClient.h:
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        * WebCoreSupport/WebFrameNetworkingContext.mm:
+        (WebFrameNetworkingContext::needsSiteSpecificQuirks):
+        (WebFrameNetworkingContext::localFileContentSniffingEnabled):
+        (WebFrameNetworkingContext::scheduledRunLoopPairs):
+        (WebFrameNetworkingContext::blockedError):
+
 2010-09-03  John Sullivan  <sullivan at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
index d932e66..cbb89ec 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
@@ -228,6 +228,8 @@ private:
     
     virtual bool canCachePage() const;
     
+    virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
+
     RetainPtr<WebFrame> m_webFrame;
 
     RetainPtr<WebFramePolicyListener> m_policyListener;
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index 3f7c471..dcbca28 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -47,6 +47,7 @@
 #import "WebFormDelegate.h"
 #import "WebFrameInternal.h"
 #import "WebFrameLoadDelegate.h"
+#import "WebFrameNetworkingContext.h"
 #import "WebFrameViewInternal.h"
 #import "WebHTMLRepresentationPrivate.h"
 #import "WebHTMLViewInternal.h"
@@ -1904,6 +1905,11 @@ void WebFrameLoaderClient::didPerformFirstNavigation() const
         [preferences setCacheModel:WebCacheModelDocumentBrowser];
 }
 
+PassRefPtr<FrameNetworkingContext> WebFrameLoaderClient::createNetworkingContext()
+{
+    return WebFrameNetworkingContext::create(core(m_webFrame.get()));
+}
+
 #if ENABLE(JAVA_BRIDGE)
 jobject WebFrameLoaderClient::javaApplet(NSView* view)
 {
diff --git a/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm b/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
index 941cfaa..98b8ce1 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
+++ b/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
@@ -17,5 +17,30 @@
     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.
+#import "WebFrameNetworkingContext.h"
+
+#import <WebCore/Page.h>
+#import <WebCore/ResourceError.h>
+#import <WebCore/Settings.h>
+
+using namespace WebCore;
+
+bool WebFrameNetworkingContext::needsSiteSpecificQuirks() const
+{
+    return frame() && frame()->settings() && frame()->settings()->needsSiteSpecificQuirks();
+}
+
+bool WebFrameNetworkingContext::localFileContentSniffingEnabled() const
+{
+    return frame() && frame()->settings() && frame()->settings()->localFileContentSniffingEnabled();
+}
+
+SchedulePairHashSet* WebFrameNetworkingContext::scheduledRunLoopPairs() const
+{
+    return frame() && frame()->page() ? frame()->page()->scheduledRunLoopPairs() : 0;
+}
+
+ResourceError WebFrameNetworkingContext::blockedError(const ResourceRequest& request) const
+{
+    return frame()->loader()->blockedError(request);
+}
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index 6dc4286..8f026a2 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,22 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add Qt's specific implementation of NetworkingContext.
+
+        * WebCoreSupport/FrameLoaderClientQt.cpp:
+        (WebCore::FrameLoaderClientQt::setFrame):
+        (WebCore::FrameLoaderClientQt::createNetworkingContext):
+        * WebCoreSupport/FrameLoaderClientQt.h:
+        * WebCoreSupport/FrameNetworkingContextQt.cpp:
+        (WebCore::FrameNetworkingContextQt::FrameNetworkingContextQt):
+        (WebCore::FrameNetworkingContextQt::create):
+        (WebCore::FrameNetworkingContextQt::originatingObject):
+        (WebCore::FrameNetworkingContextQt::networkAccessManager):
+
 2010-09-02  Yury Semikhatsky  <yurys at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 59f6ac6..2d73f7f 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -35,6 +35,7 @@
 #include "CSSPropertyNames.h"
 #include "FormState.h"
 #include "FrameLoaderClientQt.h"
+#include "FrameNetworkingContextQt.h"
 #include "FrameTree.h"
 #include "FrameView.h"
 #include "DocumentLoader.h"
@@ -204,6 +205,7 @@ void FrameLoaderClientQt::setFrame(QWebFrame* webFrame, Frame* frame)
 {
     m_webFrame = webFrame;
     m_frame = frame;
+
     if (!m_webFrame || !m_webFrame->page()) {
         qWarning("FrameLoaderClientQt::setFrame frame without Page!");
         return;
@@ -1519,6 +1521,11 @@ QString FrameLoaderClientQt::chooseFile(const QString& oldFile)
     return webFrame()->page()->chooseFile(webFrame(), oldFile);
 }
 
+PassRefPtr<FrameNetworkingContext> FrameLoaderClientQt::createNetworkingContext()
+{
+    return FrameNetworkingContextQt::create(m_frame, m_webFrame, m_webFrame->page()->networkAccessManager());
+}
+
 }
 
 #include "moc_FrameLoaderClientQt.cpp"
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
index c72b82f..e506900 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
@@ -35,6 +35,7 @@
 #include "FrameLoader.h"
 #include "FrameLoaderClient.h"
 #include "KURL.h"
+#include <wtf/OwnPtr.h>
 #include "PluginView.h"
 #include "RefCounted.h"
 #include "ResourceError.h"
@@ -51,6 +52,7 @@ class DocumentLoader;
 class Element;
 class FormState;
 class NavigationAction;
+class FrameNetworkingContext;
 class ResourceLoader;
 
 struct LoadErrorResetToken;
@@ -213,6 +215,8 @@ public:
 
     QString chooseFile(const QString& oldFile);
 
+    virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext();
+
     static bool dumpFrameLoaderCallbacks;
     static bool dumpResourceLoadCallbacks;
     static bool dumpResourceResponseMIMETypes;
diff --git a/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp b/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
index 941cfaa..e502e2a 100644
--- a/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
+++ b/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
@@ -17,5 +17,35 @@
     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.
+#include "config.h"
+
+#include "FrameNetworkingContextQt.h"
+
+#include <QNetworkAccessManager>
+#include <QObject>
+
+namespace WebCore {
+
+FrameNetworkingContextQt::FrameNetworkingContextQt(Frame* frame, QObject* originatingObject, QNetworkAccessManager* networkAccessManager)
+    : FrameNetworkingContext(frame)
+    , m_originatingObject(originatingObject)
+    , m_networkAccessManager(networkAccessManager)
+{
+}
+
+PassRefPtr<FrameNetworkingContextQt> FrameNetworkingContextQt::create(Frame* frame, QObject* originatingObject, QNetworkAccessManager* networkAccessManager)
+{
+    return adoptRef(new FrameNetworkingContextQt(frame, originatingObject, networkAccessManager));
+}
+
+QObject* FrameNetworkingContextQt::originatingObject() const
+{
+    return m_originatingObject;
+}
+
+QNetworkAccessManager* FrameNetworkingContextQt::networkAccessManager() const
+{
+    return m_networkAccessManager;
+}
+
+}
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 973516d..eee662f 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,20 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add Win's specific implementation of NetworkingContext.
+
+        * WebCoreSupport/WebFrameNetworkingContext.cpp:
+        (WebFrameNetworkingContext::create):
+        (WebFrameNetworkingContext::userAgent):
+        (WebFrameNetworkingContext::referrer):
+        * WebFrame.cpp:
+        (WebFrame::createNetworkingContext):
+        * WebFrame.h:
+
 2010-09-03  Adam Roben  <aroben at apple.com>
 
         Attempt to fixing Windows nightlies again
diff --git a/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
index 941cfaa..9fcd4b1 100644
--- a/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
+++ b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
@@ -17,5 +17,23 @@
     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.
+#include "config.h"
+
+#include "WebFrameNetworkingContext.h"
+
+using namespace WebCore;
+
+PassRefPtr<WebFrameNetworkingContext> WebFrameNetworkingContext::create(Frame* frame, const String& userAgent)
+{
+    return adoptRef(new WebFrameNetworkingContext(frame, userAgent));
+}
+
+String WebFrameNetworkingContext::userAgent() const
+{
+    return m_userAgent;
+}
+
+String WebFrameNetworkingContext::referrer() const
+{
+    return frame()->loader()->referrer();
+}
diff --git a/WebKit/win/WebFrame.cpp b/WebKit/win/WebFrame.cpp
index d12989b..7e8db55 100644
--- a/WebKit/win/WebFrame.cpp
+++ b/WebKit/win/WebFrame.cpp
@@ -42,6 +42,7 @@
 #include "WebDownload.h"
 #include "WebEditorClient.h"
 #include "WebError.h"
+#include "WebFrameNetworkingContext.h"
 #include "WebFramePolicyListener.h"
 #include "WebHistory.h"
 #include "WebHistoryItem.h"
@@ -2614,3 +2615,7 @@ void WebFrame::updateBackground()
     coreFrame->view()->updateBackgroundRecursively(backgroundColor, webView()->transparent());
 }
 
+PassRefPtr<FrameNetworkingContext> WebFrame::createNetworkingContext()
+{
+    return WebFrameNetworkingContext::create(core(this), userAgent(url()));
+}
diff --git a/WebKit/win/WebFrame.h b/WebKit/win/WebFrame.h
index 24a7e2b..f4795c8 100644
--- a/WebKit/win/WebFrame.h
+++ b/WebKit/win/WebFrame.h
@@ -343,6 +343,8 @@ public:
 
     virtual void registerForIconNotification(bool listen);
 
+    virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
+
     // WebFrame
     PassRefPtr<WebCore::Frame> init(IWebView*, WebCore::Page*, WebCore::HTMLFrameOwnerElement*);
     WebCore::Frame* impl();
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 900fcbc..5b57297 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,34 @@
+2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia at openbossa.org>
+
+        Reviewed by Darin Adler.
+
+        Add NetworkingContext to avoid layer violations
+        https://bugs.webkit.org/show_bug.cgi?id=42292
+
+        Add FrameNetworkingContext implementation.
+
+        * WebKit2.pro:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::createNetworkingContext):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+        (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
+        (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
+        (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
+        (WebKit::WebFrameNetworkingContext::blockedError):
+        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added.
+        (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+        (WebCore::WebFrameNetworkingContext::create):
+        (WebCore::WebFrameNetworkingContext::originatingObject):
+        (WebCore::WebFrameNetworkingContext::networkAccessManager):
+        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added.
+        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.
+        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.
+        (WebFrameNetworkingContext::create):
+        (WebFrameNetworkingContext::WebFrameNetworkingContext):
+        * win/WebKit2.vcproj:
+        * win/WebKit2Common.vsprops:
+
 2010-09-03  Sam Weinig  <sam at webkit.org>
 
         Reviewed by Dan Bernstein.
diff --git a/WebKit2/WebKit2.pro b/WebKit2/WebKit2.pro
index 43beafd..0f35979 100644
--- a/WebKit2/WebKit2.pro
+++ b/WebKit2/WebKit2.pro
@@ -123,6 +123,7 @@ INCLUDEPATH = \
     WebProcess/Plugins \
     WebProcess/Plugins/Netscape \
     WebProcess/WebCoreSupport \
+    WebProcess/WebCoreSupport/qt \
     WebProcess/WebPage \
     $$INCLUDEPATH
 
@@ -250,6 +251,7 @@ HEADERS += \
     WebProcess/WebCoreSupport/WebInspectorClient.h \
     WebProcess/WebCoreSupport/WebPopupMenu.h \
     WebProcess/WebCoreSupport/WebSearchPopupMenu.h \
+    WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h \
     WebProcess/WebPage/ChunkedUpdateDrawingArea.h \
     WebProcess/WebPage/DrawingArea.h \
     WebProcess/WebPage/WebFrame.h \
@@ -358,6 +360,7 @@ SOURCES += \
     WebProcess/WebCoreSupport/WebPopupMenu.cpp \
     WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp \
     WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp \
+    WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp \
     WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp \
     WebProcess/WebPage/DrawingArea.cpp \
     WebProcess/WebPage/WebFrame.cpp \
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index 45acf97..515d877 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -35,6 +35,7 @@
 #include "WebErrors.h"
 #include "WebEvent.h"
 #include "WebFrame.h"
+#include "WebFrameNetworkingContext.h"
 #include "WebNavigationDataStore.h"
 #include "WebPage.h"
 #include "WebPageProxyMessageKinds.h"
@@ -1050,4 +1051,9 @@ bool WebFrameLoaderClient::shouldUsePluginDocument(const String& /*mimeType*/) c
     return false;
 }
 
+PassRefPtr<FrameNetworkingContext> WebFrameLoaderClient::createNetworkingContext()
+{
+    return WebFrameNetworkingContext::create(m_frame->coreFrame());
+}
+
 } // namespace WebKit
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
index 4bd638e..98a6512 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
+++ b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
@@ -204,6 +204,8 @@ private:
     virtual bool shouldUsePluginDocument(const WTF::String& /*mimeType*/) const;
     
     void receivedData(const char* data, int length, const WTF::String& textEncoding);
+
+    virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
     
     WebFrame* m_frame;
     
diff --git a/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm b/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
index 941cfaa..570d351 100644
--- a/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
+++ b/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
@@ -17,5 +17,34 @@
     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.
+#import "WebFrameNetworkingContext.h"
+
+#import <WebCore/Page.h>
+#import <WebCore/ResourceError.h>
+#import <WebCore/Settings.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+bool WebFrameNetworkingContext::needsSiteSpecificQuirks() const
+{
+    return frame() && frame()->settings() && frame()->settings()->needsSiteSpecificQuirks();
+}
+
+bool WebFrameNetworkingContext::localFileContentSniffingEnabled() const
+{
+    return frame() && frame()->settings() && frame()->settings()->localFileContentSniffingEnabled();
+}
+
+SchedulePairHashSet* WebFrameNetworkingContext::scheduledRunLoopPairs() const
+{
+    return frame() && frame()->page() ? frame()->page()->scheduledRunLoopPairs() : 0;
+}
+
+ResourceError WebFrameNetworkingContext::blockedError(const ResourceRequest& request) const
+{
+    return frame()->loader()->blockedError(request);
+}
+
+}
diff --git a/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp
new file mode 100644
index 0000000..5fd8bbc
--- /dev/null
+++ b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp
@@ -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.
+*/
+
+#include "config.h"
+
+#include "WebFrameNetworkingContext.h"
+
+#include <QNetworkAccessManager>
+#include <QObject>
+
+namespace WebCore {
+
+WebFrameNetworkingContext::WebFrameNetworkingContext(Frame* frame)
+    : FrameNetworkingContext(frame)
+    , m_originatingObject(0)
+    , m_networkAccessManager(new QNetworkAccessManager)
+{
+}
+
+PassRefPtr<WebFrameNetworkingContext> WebFrameNetworkingContext::create(Frame* frame)
+{
+    return adoptRef(new WebFrameNetworkingContext(frame));
+}
+
+QObject* WebFrameNetworkingContext::originatingObject() const
+{
+    return m_originatingObject;
+}
+
+QNetworkAccessManager* WebFrameNetworkingContext::networkAccessManager() const
+{
+    return m_networkAccessManager;
+}
+
+}
diff --git a/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h
new file mode 100644
index 0000000..3e94319
--- /dev/null
+++ b/WebKit2/WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h
@@ -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 WebFrameNetworkingContext_h
+#define WebFrameNetworkingContext_h
+
+#include <WebCore/FrameNetworkingContext.h>
+
+namespace WebCore {
+
+class WebFrameNetworkingContext : public FrameNetworkingContext {
+public:
+    static PassRefPtr<WebFrameNetworkingContext> create(Frame*);
+
+private:
+    WebFrameNetworkingContext(Frame*);
+
+    virtual QObject* originatingObject() const;
+    virtual QNetworkAccessManager* networkAccessManager() const;
+
+    QObject* m_originatingObject;
+    QNetworkAccessManager* m_networkAccessManager;
+};
+
+}
+
+#endif // WebFrameNetworkingContext_h
diff --git a/WebKit2/WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp b/WebKit2/WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp
new file mode 100644
index 0000000..6b20c1f
--- /dev/null
+++ b/WebKit2/WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp
@@ -0,0 +1,20 @@
+/*
+    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/WebKit2/WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h b/WebKit2/WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h
new file mode 100644
index 0000000..3d87292
--- /dev/null
+++ b/WebKit2/WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h
@@ -0,0 +1,44 @@
+/*
+    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*)
+    {
+        return 0;
+    }
+
+private:
+    WebFrameNetworkingContext(WebCore::Frame* frame)
+        : WebCore::FrameNetworkingContext(frame)
+    {
+    }
+
+    virtual WTF::String userAgent() const;
+    virtual WTF::String referrer() const;
+
+    WTF::String m_userAgent;
+};
+
+#endif // WebFrameNetworkingContext_h
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index 0a6c55b..7d28104 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -681,24 +681,32 @@
 				</File>
 				<File
 					RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.h"
-					>
-				</File>
-				<Filter
-					Name="win"
-					>
-					<File
-						RelativePath="..\WebProcess\WebCoreSupport\win\WebErrorsWin.cpp"
-						>
-					</File>
-				</Filter>
-			</Filter>
-			<Filter
-				Name="WebPage"
-				>
-				<File
-					RelativePath="..\WebProcess\WebPage\ChunkedUpdateDrawingArea.cpp"
-					>
-				</File>
+					>
+				</File>
+				<Filter
+					Name="win"
+					>
+					<File
+						RelativePath="..\WebProcess\WebCoreSupport\win\WebErrorsWin.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\WebProcess\WebCoreSupport\win\WebFrameNetworkingContext.cpp"
+						>
+					</File>
+					<File
+						RelativePath="..\WebProcess\WebCoreSupport\win\WebFrameNetworkingContext.h"
+						>
+					</File>
+				</Filter>
+			</Filter>
+			<Filter
+				Name="WebPage"
+				>
+				<File
+					RelativePath="..\WebProcess\WebPage\ChunkedUpdateDrawingArea.cpp"
+					>
+				</File>
 				<File
 					RelativePath="..\WebProcess\WebPage\ChunkedUpdateDrawingArea.h"
 					>
diff --git a/WebKit2/win/WebKit2Common.vsprops b/WebKit2/win/WebKit2Common.vsprops
old mode 100644
new mode 100755
index 1c42afa..889c2f4
--- a/WebKit2/win/WebKit2Common.vsprops
+++ b/WebKit2/win/WebKit2Common.vsprops
@@ -1,21 +1,21 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="WebKit2Common"
-	>
-	<Tool
-		Name="VCCLCompilerTool"
-		AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(WebKitOutputDir)\Include&quot;;&quot;$(WebKitOutputDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(WebKitOutputDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
-		PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
-		UsePrecompiledHeader="2"
-		PrecompiledHeaderThrough="WebKit2Prefix.h"
-		DisableSpecificWarnings="4819"
-		ForcedIncludeFiles="WebKit2Prefix.h;ICUVersion.h"
-	/>
-	<Tool
-		Name="VCLinkerTool"
-		AdditionalDependencies="delayimp.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib usp10.lib comctl32.lib version.lib shlwapi.lib libxml2$(LibraryConfigSuffix).lib libxslt$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib SQLite3$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebCore$(WebKitConfigSuffix).lib WebKitLib$(WebKitConfigSuffix).lib WebKitGUID$(WebKitConfigSuffix).lib msimg32.lib crypt32.lib iphlpapi.lib winmm.lib comsuppw.lib rpcrt4.lib"
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="WebKit2Common"
+	>
+	<Tool
+		Name="VCCLCompilerTool"
+		AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(WebKitOutputDir)\Include&quot;;&quot;$(WebKitOutputDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(WebKitOutputDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
+		PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
+		UsePrecompiledHeader="2"
+		PrecompiledHeaderThrough="WebKit2Prefix.h"
+		DisableSpecificWarnings="4819"
+		ForcedIncludeFiles="WebKit2Prefix.h;ICUVersion.h"
+	/>
+	<Tool
+		Name="VCLinkerTool"
+		AdditionalDependencies="delayimp.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib usp10.lib comctl32.lib version.lib shlwapi.lib libxml2$(LibraryConfigSuffix).lib libxslt$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib SQLite3$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebCore$(WebKitConfigSuffix).lib WebKitLib$(WebKitConfigSuffix).lib WebKitGUID$(WebKitConfigSuffix).lib msimg32.lib crypt32.lib iphlpapi.lib winmm.lib comsuppw.lib rpcrt4.lib"
 		OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
 		AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
 		DelayLoadDLLs="usp10.dll;comctl32.dll;version.dll;libxslt$(LibraryConfigSuffix).dll;SQLite3$(LibraryConfigSuffix).dll;msimg32.dll;iphlpapi.dll"

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list