FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
authordimich@chromium.org <dimich@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Aug 2011 22:49:41 +0000 (22:49 +0000)
committerdimich@chromium.org <dimich@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Aug 2011 22:49:41 +0000 (22:49 +0000)
https://bugs.webkit.org/show_bug.cgi?id=66165

Reviewed by Darin Fisher.

Source/WebCore:

No new tests since no change in behavior.
The original issue is only reproducible on Chromium in multi-process mode
and is tested there by a browsertest.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::transferLoadingResourcesFromPage):
Passing ResourceLoader* into the FrameLoaderClient notification.
Also, fixed the bug where the same ResourceRequest was passed for all subresources.
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
* loader/ResourceLoadNotifier.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::init):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
returns the request as it existed before redirects (but after client's will SendRequest).
This is to be able to pass the original request for loading subresources into
FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
assignIdentifierToInitialRequest, which needs original request.

Source/WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::transferLoadingResourceFromPage):
* src/FrameLoaderClientImpl.h:

Source/WebKit/efl:

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::transferLoadingResourceFromPage):
* WebCoreSupport/FrameLoaderClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
* WebCoreSupport/FrameLoaderClientGtk.h:

Source/WebKit/haiku:

* WebCoreSupport/FrameLoaderClientHaiku.cpp:
(WebCore::FrameLoaderClientHaiku::transferLoadingResourceFromPage):
* WebCoreSupport/FrameLoaderClientHaiku.h:

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transferLoadingResourceFromPage):

Source/WebKit/qt:

* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::transferLoadingResourceFromPage):
* WebCoreSupport/FrameLoaderClientQt.h:

Source/WebKit/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::transferLoadingResourceFromPage):
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit/wince:

* WebCoreSupport/FrameLoaderClientWinCE.cpp:
(WebKit::FrameLoaderClientWinCE::transferLoadingResourceFromPage):
* WebCoreSupport/FrameLoaderClientWinCE.h:

Source/WebKit/wx:

* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore::FrameLoaderClientWx::transferLoadingResourceFromPage):
* WebKitSupport/FrameLoaderClientWx.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

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

40 files changed:
Source/WebCore/ChangeLog
Source/WebCore/loader/DocumentLoader.cpp
Source/WebCore/loader/EmptyClients.h
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/loader/FrameLoader.h
Source/WebCore/loader/FrameLoaderClient.h
Source/WebCore/loader/ResourceLoadNotifier.cpp
Source/WebCore/loader/ResourceLoadNotifier.h
Source/WebCore/loader/ResourceLoader.cpp
Source/WebCore/loader/ResourceLoader.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
Source/WebKit/chromium/src/FrameLoaderClientImpl.h
Source/WebKit/efl/ChangeLog
Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
Source/WebKit/haiku/ChangeLog
Source/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.cpp
Source/WebKit/haiku/WebCoreSupport/FrameLoaderClientHaiku.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
Source/WebKit/win/ChangeLog
Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
Source/WebKit/wince/ChangeLog
Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
Source/WebKit/wx/ChangeLog
Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.h
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h

index e2ed2e6..c26bc3c 100644 (file)
@@ -1,3 +1,36 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        No new tests since no change in behavior.
+        The original issue is only reproducible on Chromium in multi-process mode
+        and is tested there by a browsertest.
+
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::transferLoadingResourcesFromPage):
+        Passing ResourceLoader* into the FrameLoaderClient notification.
+        Also, fixed the bug where the same ResourceRequest was passed for all subresources.
+        * loader/EmptyClients.h:
+        (WebCore::EmptyFrameLoaderClient::transferLoadingResourceFromPage):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::dispatchTransferLoadingResourceFromPage):
+        * loader/FrameLoader.h:
+        * loader/FrameLoaderClient.h:
+        * loader/ResourceLoadNotifier.cpp:
+        (WebCore::ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage):
+        * loader/ResourceLoadNotifier.h:
+        * loader/ResourceLoader.cpp:
+        (WebCore::ResourceLoader::init):
+        * loader/ResourceLoader.h:
+        (WebCore::ResourceLoader::originalRequest): Added the originalRequest() accessor that
+        returns the request as it existed before redirects (but after client's will SendRequest).
+        This is to be able to pass the original request for loading subresources into
+        FrameLoaderClient::transferLoadingResourceFromPage, since that one is used to invoke
+        assignIdentifierToInitialRequest, which needs original request.
+
 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
 
         Refactor JS objects to allocate in static create methods rather than constructors
index 7f07ab1..684fb66 100644 (file)
@@ -859,19 +859,14 @@ void DocumentLoader::transferLoadingResourcesFromPage(Page* oldPage)
     FrameLoader* loader = frameLoader();
     ASSERT(loader);
 
-    const ResourceRequest& request = originalRequest();
-    if (isLoadingMainResource()) {
-        loader->dispatchTransferLoadingResourceFromPage(
-            m_mainResourceLoader->identifier(), this, request, oldPage);
-    }
+    if (isLoadingMainResource())
+        loader->dispatchTransferLoadingResourceFromPage(m_mainResourceLoader.get(), originalRequest(), oldPage);
 
     if (isLoadingSubresources()) {
         ResourceLoaderSet::const_iterator it = m_subresourceLoaders.begin();
         ResourceLoaderSet::const_iterator end = m_subresourceLoaders.end();
-        for (; it != end; ++it) {
-            loader->dispatchTransferLoadingResourceFromPage(
-                (*it)->identifier(), this, request, oldPage);
-        }
+        for (; it != end; ++it)
+            loader->dispatchTransferLoadingResourceFromPage((*it).get(), (*it)->originalRequest(), oldPage);
     }
 }
 
index 2c80f0b..00171a3 100644 (file)
@@ -379,7 +379,7 @@ public:
     virtual void didRunInsecureContent(SecurityOrigin*, const KURL&) { }
     virtual PassRefPtr<Frame> createFrame(const KURL&, const String&, HTMLFrameOwnerElement*, const String&, bool, int, int) { return 0; }
     virtual void didTransferChildFrameToNewDocument(Page*) { }
-    virtual void transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*) { }
+    virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*) { }
     virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool) { return 0; }
     virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&) { return 0; }
 #if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
index d1d1854..9dacad5 100644 (file)
@@ -1648,9 +1648,9 @@ void FrameLoader::transferLoadingResourcesFromPage(Page* oldPage)
     }
 }
 
-void FrameLoader::dispatchTransferLoadingResourceFromPage(unsigned long identifier, DocumentLoader* docLoader, const ResourceRequest& request, Page* oldPage)
+void FrameLoader::dispatchTransferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
 {
-    notifier()->dispatchTransferLoadingResourceFromPage(identifier, docLoader, request, oldPage);
+    notifier()->dispatchTransferLoadingResourceFromPage(loader, request, oldPage);
 }
 
 void FrameLoader::setDocumentLoader(DocumentLoader* loader)
index 209425e..edfc5a1 100644 (file)
@@ -132,7 +132,7 @@ public:
     bool isLoading() const;
     bool frameHasLoaded() const;
     void transferLoadingResourcesFromPage(Page*);
-    void dispatchTransferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*);
+    void dispatchTransferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
 
     int numPendingOrLoadingRequests(bool recurse) const;
     String referrer() const;
index 6776170..c2117eb 100644 (file)
@@ -253,7 +253,7 @@ namespace WebCore {
         virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
                                    const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0;
         virtual void didTransferChildFrameToNewDocument(Page* oldPage) = 0;
-        virtual void transferLoadingResourceFromPage(unsigned long identifier, DocumentLoader*, const ResourceRequest&, Page* oldPage) = 0;
+        virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page* oldPage) = 0;
         virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0;
         virtual void redirectDataToPlugin(Widget* pluginWidget) = 0;
 
index 96bd5f6..61eacf4 100644 (file)
@@ -144,12 +144,12 @@ void ResourceLoadNotifier::dispatchDidFinishLoading(DocumentLoader* loader, unsi
     InspectorInstrumentation::didFinishLoading(m_frame, loader, identifier, finishTime);
 }
 
-void ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request, Page* oldPage)
+void ResourceLoadNotifier::dispatchTransferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
 {
     ASSERT(oldPage != m_frame->page());
-    m_frame->loader()->client()->transferLoadingResourceFromPage(identifier, loader, request, oldPage);
+    m_frame->loader()->client()->transferLoadingResourceFromPage(loader, request, oldPage);
 
-    oldPage->progress()->completeProgress(identifier);
+    oldPage->progress()->completeProgress(loader->identifier());
 }
 
 void ResourceLoadNotifier::sendRemainingDelegateMessages(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const char* data, int dataLength, int encodedDataLength, const ResourceError& error)
index 6a9296c..5e020ec 100644 (file)
@@ -62,7 +62,7 @@ public:
     void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&);
     void dispatchDidReceiveData(DocumentLoader*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
     void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, double finishTime);
-    void dispatchTransferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*);
+    void dispatchTransferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
 
     void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const char* data, int dataLength, int encodedDataLength, const ResourceError&);
 
index 793a222..924448c 100644 (file)
@@ -136,7 +136,7 @@ bool ResourceLoader::init(const ResourceRequest& r)
         return false;
     }
 
-    m_request = clientRequest;
+    m_originalRequest = m_request = clientRequest;
     return true;
 }
 
index 9e21380..afe9f9e 100644 (file)
@@ -56,6 +56,7 @@ namespace WebCore {
 
         FrameLoader* frameLoader() const;
         DocumentLoader* documentLoader() const { return m_documentLoader.get(); }
+        const ResourceRequest& originalRequest() const { return m_originalRequest; }
         
         virtual void cancel(const ResourceError&);
         ResourceError cancelledError();
@@ -166,6 +167,7 @@ namespace WebCore {
         virtual void didCancel(const ResourceError&) = 0;
 
         ResourceRequest m_request;
+        ResourceRequest m_originalRequest; // Before redirects.
         RefPtr<SharedBuffer> m_resourceData;
         
         unsigned long m_identifier;
index 7c95c26..338e4e9 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * src/FrameLoaderClientImpl.cpp:
+        (WebKit::FrameLoaderClientImpl::transferLoadingResourceFromPage):
+        * src/FrameLoaderClientImpl.h:
+
 2011-08-15  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r93060.
index 1eca020..5bad600 100644 (file)
@@ -54,6 +54,7 @@
 #include "PluginData.h"
 #include "PluginDataChromium.h"
 #include "ProgressTracker.h"
+#include "ResourceLoader.h"
 #include "Settings.h"
 #include "StringExtras.h"
 #include "WebDataSourceImpl.h"
@@ -1459,13 +1460,13 @@ void FrameLoaderClientImpl::didTransferChildFrameToNewDocument(Page*)
     m_webFrame->setClient(newParent->client());
 }
 
-void FrameLoaderClientImpl::transferLoadingResourceFromPage(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request, Page* oldPage)
+void FrameLoaderClientImpl::transferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
 {
-    assignIdentifierToInitialRequest(identifier, loader, request);
+    assignIdentifierToInitialRequest(loader->identifier(), loader->documentLoader(), request);
 
     WebFrameImpl* oldWebFrame = WebFrameImpl::fromFrame(oldPage->mainFrame());
     if (oldWebFrame && oldWebFrame->client())
-        oldWebFrame->client()->removeIdentifierForRequest(identifier);
+        oldWebFrame->client()->removeIdentifierForRequest(loader->identifier());
 }
 
 PassRefPtr<Widget> FrameLoaderClientImpl::createPlugin(
index 6f1426d..1afb811 100644 (file)
@@ -187,7 +187,7 @@ public:
         const WTF::String& referrer, bool allowsScrolling,
         int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-    virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
     virtual PassRefPtr<WebCore::Widget> createPlugin(
         const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&,
         const Vector<WTF::String>&, const Vector<WTF::String>&,
index 465b5fd..ff18f6a 100755 (executable)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/FrameLoaderClientEfl.cpp:
+        (WebCore::FrameLoaderClientEfl::transferLoadingResourceFromPage):
+        * WebCoreSupport/FrameLoaderClientEfl.h:
+
 2011-08-10  Adam Roben  <aroben@apple.com>
 
         Clear up scale factor terminology
index 8e7b2e9..5a0c1f8 100644 (file)
@@ -368,7 +368,7 @@ void FrameLoaderClientEfl::didTransferChildFrameToNewDocument(Page*)
 {
 }
 
-void FrameLoaderClientEfl::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
+void FrameLoaderClientEfl::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
 {
 }
 
index 6bb326c..022712a 100644 (file)
@@ -136,7 +136,7 @@ class FrameLoaderClientEfl : public FrameLoaderClient {
     virtual PassRefPtr<Frame> createFrame(const KURL&, const String& name, HTMLFrameOwnerElement*,
                                const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(Page*);
-    virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const ResourceRequest&, WebCore::Page*);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const ResourceRequest&, WebCore::Page*);
 
     virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const WTF::Vector<String>&, const WTF::Vector<String>&, const String&, bool);
     virtual void redirectDataToPlugin(Widget* pluginWidget);
index 3e33602..8c64fd6 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/FrameLoaderClientGtk.cpp:
+        (WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
+        * WebCoreSupport/FrameLoaderClientGtk.h:
+
 2011-08-10  Adam Roben  <aroben@apple.com>
 
         Clear up scale factor terminology
index 9d10c59..c948602 100644 (file)
@@ -60,6 +60,7 @@
 #include "RenderPart.h"
 #include "RenderView.h"
 #include "ResourceHandle.h"
+#include "ResourceLoader.h"
 #include "ResourceRequest.h"
 #include "ScriptController.h"
 #include "Settings.h"
@@ -583,14 +584,14 @@ void FrameLoaderClient::didTransferChildFrameToNewDocument(WebCore::Page*)
     ASSERT(core(getViewFromFrame(m_frame)) == coreFrame->page());
 }
 
-void FrameLoaderClient::transferLoadingResourceFromPage(unsigned long identifier, WebCore::DocumentLoader* docLoader, const WebCore::ResourceRequest& request, WebCore::Page* oldPage)
+void FrameLoaderClient::transferLoadingResourceFromPage(WebCore::ResourceLoader* loader, const WebCore::ResourceRequest& request, WebCore::Page* oldPage)
 {
     ASSERT(oldPage != core(m_frame)->page());
 
-    GOwnPtr<gchar> identifierString(toString(identifier));
+    GOwnPtr<gchar> identifierString(toString(loader->identifier()));
     ASSERT(!webkit_web_view_get_resource(getViewFromFrame(m_frame), identifierString.get()));
 
-    assignIdentifierToInitialRequest(identifier, docLoader, request);
+    assignIdentifierToInitialRequest(loader->identifier(), loader->documentLoader(), request);
 
     webkit_web_view_remove_resource(kit(oldPage), identifierString.get());
 }
index f0de2fc..a2aae30 100644 (file)
@@ -115,7 +115,7 @@ namespace WebKit {
         virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
                                    const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
         virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-        virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
+        virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
         virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
         virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
         virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues);
index 356abde..312971b 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/FrameLoaderClientHaiku.cpp:
+        (WebCore::FrameLoaderClientHaiku::transferLoadingResourceFromPage):
+        * WebCoreSupport/FrameLoaderClientHaiku.h:
+
 2011-08-10  Adam Roben  <aroben@apple.com>
 
         Clear up scale factor terminology
index 9c4839a..511a480 100644 (file)
@@ -750,7 +750,7 @@ void FrameLoaderClientHaiku::didTransferChildFrameToNewDocument(Page*)
 {
 }
 
-void FrameLoaderClientHaiku::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
+void FrameLoaderClientHaiku::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
 {
 }
 
index 51741a1..f0ff154 100644 (file)
@@ -228,7 +228,7 @@ namespace WebCore {
                                               HTMLFrameOwnerElement*, const String& referrer,
                                               bool allowsScrolling, int marginWidth, int marginHeight);
         virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-        virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const ResourceRequest&, WebCore::Page*);
+        virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const ResourceRequest&, WebCore::Page*);
         virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&,
                                                 const Vector<String>&, const Vector<String>&, const String&,
                                                 bool loadManually);
index 7bca623..2810543 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/WebFrameLoaderClient.h:
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (WebFrameLoaderClient::transferLoadingResourceFromPage):
+
 2011-08-15  Mark Hahnenberg  <mhahnenberg@apple.com>
 
         Refactor JS objects to allocate in static create methods rather than constructors
index 467f047..77d7c1a 100644 (file)
@@ -201,7 +201,7 @@ private:
     virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement*,
                                         const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(WebCore::Page* oldPage);
-    virtual void transferLoadingResourceFromPage(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page* oldPage);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page* oldPage);
     virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&,
                                           const Vector<WTF::String>&, const WTF::String&, bool);
     virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
index ec843d4..727c4e6 100644 (file)
@@ -1463,12 +1463,14 @@ void WebFrameLoaderClient::didTransferChildFrameToNewDocument(Page* oldPage)
 {
 }
 
-void WebFrameLoaderClient::transferLoadingResourceFromPage(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request, Page* oldPage)
+void WebFrameLoaderClient::transferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& originalRequest, Page* oldPage)
 {
     ASSERT(oldPage != core(m_webFrame.get())->page());
+
+    unsigned long identifier = loader->identifier();
     ASSERT(![getWebView(m_webFrame.get()) _objectForIdentifier:identifier]);
 
-    assignIdentifierToInitialRequest(identifier, loader, request);
+    assignIdentifierToInitialRequest(identifier, loader->documentLoader(), originalRequest);
 
     [kit(oldPage) _removeObjectForIdentifier:identifier];
 }
index 040a471..94d3aff 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/FrameLoaderClientQt.cpp:
+        (WebCore::FrameLoaderClientQt::transferLoadingResourceFromPage):
+        * WebCoreSupport/FrameLoaderClientQt.h:
+
 2011-08-10  Adam Roben  <aroben@apple.com>
 
         Clear up scale factor terminology
index 58d76cf..08b9cd0 100644 (file)
@@ -1355,7 +1355,7 @@ void FrameLoaderClientQt::didTransferChildFrameToNewDocument(Page*)
     }
 }
 
-void FrameLoaderClientQt::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
+void FrameLoaderClientQt::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
 {
 }
 
index b300b69..6af852b 100644 (file)
@@ -210,7 +210,7 @@ public:
     virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
                                const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-    virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
     virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
     virtual void redirectDataToPlugin(Widget* pluginWidget);
 
index 6f0c287..4c399b6 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebFrameLoaderClient::transferLoadingResourceFromPage):
+        * WebCoreSupport/WebFrameLoaderClient.h:
+
 2011-08-15  Adam Roben  <aroben@apple.com>
 
         Touch a file to trigger a Windows build
index 33e50c9..f0aa50c 100644 (file)
@@ -68,6 +68,7 @@
 #include <WebCore/PluginView.h>
 #include <WebCore/RenderPart.h>
 #include <WebCore/ResourceHandle.h>
+#include <WebCore/ResourceLoader.h>
 #include <WebCore/Settings.h>
 
 using namespace WebCore;
@@ -777,9 +778,9 @@ void WebFrameLoaderClient::didTransferChildFrameToNewDocument(Page*)
         m_webFrame->setWebView(webView);
 }
 
-void WebFrameLoaderClient::transferLoadingResourceFromPage(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request, Page* oldPage)
+void WebFrameLoaderClient::transferLoadingResourceFromPage(ResourceLoader* loader, const ResourceRequest& request, Page* oldPage)
 {
-    assignIdentifierToInitialRequest(identifier, loader, request);
+    assignIdentifierToInitialRequest(loader->identifier(), loader->documentLoader(), request);
 
     WebView* oldWebView = kit(oldPage);
     if (!oldWebView)
@@ -792,7 +793,7 @@ void WebFrameLoaderClient::transferLoadingResourceFromPage(unsigned long identif
     COMPtr<IWebResourceLoadDelegatePrivate2> oldResourceLoadDelegatePrivate2(Query, oldResourceLoadDelegate);
     if (!oldResourceLoadDelegatePrivate2)
         return;
-    oldResourceLoadDelegatePrivate2->removeIdentifierForRequest(oldWebView, identifier);
+    oldResourceLoadDelegatePrivate2->removeIdentifierForRequest(oldWebView, loader->identifier());
 }
 
 PassRefPtr<Frame> WebFrameLoaderClient::createFrame(const KURL& URL, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer)
index 0df31e8..c43a716 100644 (file)
@@ -119,7 +119,7 @@ public:
     virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
                                const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-    virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
     virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&, bool loadManually);
     virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
 
index 5a6701a..63cbda2 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebCoreSupport/FrameLoaderClientWinCE.cpp:
+        (WebKit::FrameLoaderClientWinCE::transferLoadingResourceFromPage):
+        * WebCoreSupport/FrameLoaderClientWinCE.h:
+
 2011-08-10  Adam Roben  <aroben@apple.com>
 
         Clear up scale factor terminology
index 54c1264..1e4537a 100644 (file)
@@ -176,7 +176,7 @@ void FrameLoaderClientWinCE::didTransferChildFrameToNewDocument(Page*)
 {
 }
 
-void FrameLoaderClientWinCE::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const WebCore::ResourceRequest&, Page*)
+void FrameLoaderClientWinCE::transferLoadingResourceFromPage(ResourceLoader*, const WebCore::ResourceRequest&, Page*)
 {
 }
 
index c5d3009..00918ba 100644 (file)
@@ -110,7 +110,7 @@ public:
     virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
                                const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-    virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
     virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
     virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
     virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues);
index 893bfd4..5df8874 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebKitSupport/FrameLoaderClientWx.cpp:
+        (WebCore::FrameLoaderClientWx::transferLoadingResourceFromPage):
+        * WebKitSupport/FrameLoaderClientWx.h:
+
 2011-08-10  Adam Roben  <aroben@apple.com>
 
         Clear up scale factor terminology
index e380fb0..18c1d03 100644 (file)
@@ -878,7 +878,7 @@ void FrameLoaderClientWx::didTransferChildFrameToNewDocument(Page*)
 {
 }
 
-void FrameLoaderClientWx::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
+void FrameLoaderClientWx::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
 {
 }
 
index e1481c6..1c207f1 100644 (file)
@@ -214,7 +214,7 @@ namespace WebCore {
         virtual PassRefPtr<Frame> createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
                                    const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
         virtual void didTransferChildFrameToNewDocument(Page*);
-        virtual void transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*);
+        virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*);
         virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) ;
         virtual void redirectDataToPlugin(Widget* pluginWidget);
         virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&);
index 8c7f276..62ddb7e 100644 (file)
@@ -1,3 +1,14 @@
+2011-08-15  Dmitry Titov  <dimich@chromium.org>
+
+        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
+        https://bugs.webkit.org/show_bug.cgi?id=66165
+
+        Reviewed by Darin Fisher.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
 
         [Qt][WK2] Unreviewed build fix after r93058.
index 336c229..0249e96 100644 (file)
@@ -1231,7 +1231,7 @@ void WebFrameLoaderClient::didTransferChildFrameToNewDocument(Page*)
     notImplemented();
 }
 
-void WebFrameLoaderClient::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
+void WebFrameLoaderClient::transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&, Page*)
 {
     notImplemented();
 }
index fe7c11e..82a3bc2 100644 (file)
@@ -186,7 +186,7 @@ private:
     virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
                                           const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
     virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
-    virtual void transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
+    virtual void transferLoadingResourceFromPage(WebCore::ResourceLoader*, const WebCore::ResourceRequest&, WebCore::Page*);
     
     virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually);
     virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);