Title: [151780] trunk
Revision
151780
Author
[email protected]
Date
2013-06-20 10:14:32 -0700 (Thu, 20 Jun 2013)

Log Message

[BlackBerry] Handle testRunner.setWillSendRequestReturnsNull() in DRT
https://bugs.webkit.org/show_bug.cgi?id=117827

Patch by Carlos Garcia Campos <[email protected]> on 2013-06-20
Reviewed by Rob Buis.

Source/WebKit/blackberry:

Add DumpRenderTreeClient::willSendRequestForFrame() to handle
dispatchWillSendRequest() in DRT.

Fixes tests
fast/loader/onload-willSendRequest-null-for-script.html and
fast/loader/willSendRequest-null-for-preload.html.

* Api/DumpRenderTreeClient.h:
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):

Tools:

Reset the passed in request if willSendRequestReturnsNull() is
true or willSendRequestReturnsNullOnRedirect() is true and it's a
redirection.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::willSendRequestForFrame):
* DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h (151779 => 151780)


--- trunk/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h	2013-06-20 16:59:54 UTC (rev 151779)
+++ trunk/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h	2013-06-20 17:14:32 UTC (rev 151780)
@@ -46,6 +46,7 @@
     virtual void runTests() = 0;
 
     // FrameLoaderClient delegates
+    virtual bool willSendRequestForFrame(WebCore::Frame*, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) = 0;
     virtual void didStartProvisionalLoadForFrame(WebCore::Frame*) = 0;
     virtual void didReceiveResponseForFrame(WebCore::Frame*, const WebCore::ResourceResponse&) = 0;
     virtual void didCommitLoadForFrame(WebCore::Frame*) = 0;

Modified: trunk/Source/WebKit/blackberry/ChangeLog (151779 => 151780)


--- trunk/Source/WebKit/blackberry/ChangeLog	2013-06-20 16:59:54 UTC (rev 151779)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2013-06-20 17:14:32 UTC (rev 151780)
@@ -1,3 +1,21 @@
+2013-06-20  Carlos Garcia Campos  <[email protected]>
+
+        [BlackBerry] Handle testRunner.setWillSendRequestReturnsNull() in DRT
+        https://bugs.webkit.org/show_bug.cgi?id=117827
+
+        Reviewed by Rob Buis.
+
+        Add DumpRenderTreeClient::willSendRequestForFrame() to handle
+        dispatchWillSendRequest() in DRT.
+
+        Fixes tests
+        fast/loader/onload-willSendRequest-null-for-script.html and
+        fast/loader/willSendRequest-null-for-preload.html.
+
+        * Api/DumpRenderTreeClient.h:
+        * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+        (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
+
 2013-06-19  Jakob Petsovits  <[email protected]>
 
         [BlackBerry] Prevent loss of tile buffers in BackingStorePrivate::render()

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp (151779 => 151780)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp	2013-06-20 16:59:54 UTC (rev 151779)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp	2013-06-20 17:14:32 UTC (rev 151780)
@@ -960,7 +960,7 @@
     m_webPagePrivate = 0;
 }
 
-void FrameLoaderClientBlackBerry::dispatchWillSendRequest(DocumentLoader* docLoader, long unsigned, ResourceRequest& request, const ResourceResponse&)
+void FrameLoaderClientBlackBerry::dispatchWillSendRequest(DocumentLoader* docLoader, long unsigned, ResourceRequest& request, const ResourceResponse& redirectResponse)
 {
     // If the request is being loaded by the provisional document loader, then
     // it is a new top level request which has not been commited.
@@ -980,6 +980,12 @@
         BlackBerry::Platform::String headerValueString = it->second;
         request.setHTTPHeaderField(String::fromUTF8WithLatin1Fallback(headerString.data(), headerString.length()), String::fromUTF8WithLatin1Fallback(headerValueString.data(), headerValueString.length()));
     }
+
+    if (m_webPagePrivate->m_dumpRenderTree) {
+        if (!m_webPagePrivate->m_dumpRenderTree->willSendRequestForFrame(m_frame, request, redirectResponse))
+            return;
+    }
+
     if (!isMainResourceLoad) {
         // Do nothing for now.
         // Any processing which is done only for subresources should go here.

Modified: trunk/Tools/ChangeLog (151779 => 151780)


--- trunk/Tools/ChangeLog	2013-06-20 16:59:54 UTC (rev 151779)
+++ trunk/Tools/ChangeLog	2013-06-20 17:14:32 UTC (rev 151780)
@@ -1,3 +1,18 @@
+2013-06-20  Carlos Garcia Campos  <[email protected]>
+
+        [BlackBerry] Handle testRunner.setWillSendRequestReturnsNull() in DRT
+        https://bugs.webkit.org/show_bug.cgi?id=117827
+
+        Reviewed by Rob Buis.
+
+        Reset the passed in request if willSendRequestReturnsNull() is
+        true or willSendRequestReturnsNullOnRedirect() is true and it's a
+        redirection.
+
+        * DumpRenderTree/blackberry/DumpRenderTree.cpp:
+        (BlackBerry::WebKit::DumpRenderTree::willSendRequestForFrame):
+        * DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h:
+
 2013-06-20  Csaba Osztrogonác  <[email protected]>
 
         Commit queue shouldn't reopen unrelated bugs because of flakiness

Modified: trunk/Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp (151779 => 151780)


--- trunk/Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp	2013-06-20 16:59:54 UTC (rev 151779)
+++ trunk/Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp	2013-06-20 17:14:32 UTC (rev 151780)
@@ -617,6 +617,16 @@
 }
 
 // FrameLoadClient delegates.
+bool DumpRenderTree::willSendRequestForFrame(WebCore::Frame* frame, WebCore::ResourceRequest& request, const WebCore::ResourceResponse& redirectResponse)
+{
+    if (!testDone && (gTestRunner->willSendRequestReturnsNull() || (gTestRunner->willSendRequestReturnsNullOnRedirect() && !redirectResponse.isNull()))) {
+        request = WebCore::ResourceRequest();
+        return false;
+    }
+
+    return true;
+}
+
 void DumpRenderTree::didStartProvisionalLoadForFrame(WebCore::Frame* frame)
 {
     if (!testDone && gTestRunner->dumpFrameLoadCallbacks())

Modified: trunk/Tools/DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h (151779 => 151780)


--- trunk/Tools/DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h	2013-06-20 16:59:54 UTC (rev 151779)
+++ trunk/Tools/DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h	2013-06-20 17:14:32 UTC (rev 151780)
@@ -63,6 +63,7 @@
     bool loadFinished() const { return m_loadFinished; }
 
     // FrameLoaderClient delegates
+    bool willSendRequestForFrame(WebCore::Frame*, WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
     void didStartProvisionalLoadForFrame(WebCore::Frame*);
     void didCommitLoadForFrame(WebCore::Frame*);
     void didFailProvisionalLoadForFrame(WebCore::Frame*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to