Title: [161549] trunk
Revision
161549
Author
[email protected]
Date
2014-01-09 00:05:00 -0800 (Thu, 09 Jan 2014)

Log Message

REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=126518

Reviewed by Martin Robinson.

Source/WebCore:

Clear the credentials before calling willSendRequest on the client
to avoid sending the credentials to the API layer, but apply them
again to the request right before creating the new SoupRequest.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::continueAfterWillSendRequest):
(WebCore::doRedirect):

LayoutTests:

Unskip
http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
and http/tests/security/redirect-BLOCKED-to-localURL.html.

* platform/gtk/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (161548 => 161549)


--- trunk/LayoutTests/ChangeLog	2014-01-09 07:14:37 UTC (rev 161548)
+++ trunk/LayoutTests/ChangeLog	2014-01-09 08:05:00 UTC (rev 161549)
@@ -1,3 +1,16 @@
+2014-01-08  Carlos Garcia Campos  <[email protected]>
+
+        REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=126518
+
+        Reviewed by Martin Robinson.
+
+        Unskip
+        http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
+        and http/tests/security/redirect-BLOCKED-to-localURL.html.
+
+        * platform/gtk/TestExpectations:
+
 2014-01-08  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r161532.

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (161548 => 161549)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2014-01-09 07:14:37 UTC (rev 161548)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2014-01-09 08:05:00 UTC (rev 161549)
@@ -1530,9 +1530,6 @@
 webkit.org/b/126425 fast/block/float/overhanging-tall-block.html [ Failure ]
 webkit.org/b/126425 scrollbars/scrollbar-large-overflow-rectangle.html [ Failure ]
 
-webkit.org/b/126518 http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html [ Failure ]
-webkit.org/b/126518 http/tests/security/redirect-BLOCKED-to-localURL.html [ Failure ]
-
 webkit.org/b/126519 inspector-protocol/model/highlight-shape-outside-margin.html [ Failure ]
 
 webkit.org/b/126520 media/click-volume-bar-not-pausing.html [ Failure ]

Modified: trunk/Source/WebCore/ChangeLog (161548 => 161549)


--- trunk/Source/WebCore/ChangeLog	2014-01-09 07:14:37 UTC (rev 161548)
+++ trunk/Source/WebCore/ChangeLog	2014-01-09 08:05:00 UTC (rev 161549)
@@ -1,3 +1,18 @@
+2014-01-08  Carlos Garcia Campos  <[email protected]>
+
+        REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=126518
+
+        Reviewed by Martin Robinson.
+
+        Clear the credentials before calling willSendRequest on the client
+        to avoid sending the credentials to the API layer, but apply them
+        again to the request right before creating the new SoupRequest.
+
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::continueAfterWillSendRequest):
+        (WebCore::doRedirect):
+
 2014-01-08  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r161532.

Modified: trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp (161548 => 161549)


--- trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp	2014-01-09 07:14:37 UTC (rev 161548)
+++ trunk/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp	2014-01-09 08:05:00 UTC (rev 161549)
@@ -455,14 +455,19 @@
     return false;
 }
 
-static void continueAfterWillSendRequest(ResourceHandle* handle, const ResourceRequest& newRequest)
+static void continueAfterWillSendRequest(ResourceHandle* handle, const ResourceRequest& request)
 {
     // willSendRequest might cancel the load.
     if (handle->cancelledOrClientless())
         return;
 
+    ResourceRequest newRequest(request);
+    ResourceHandleInternal* d = handle->getInternal();
+    if (protocolHostAndPortAreEqual(newRequest.url(), d->m_response.url()))
+        applyAuthenticationToRequest(handle, newRequest, true);
+
     if (!createSoupRequestAndMessageForHandle(handle, newRequest, true)) {
-        handle->getInternal()->client()->cannotShowURL(handle);
+        d->client()->cannotShowURL(handle);
         return;
     }
 
@@ -513,13 +518,8 @@
 
         // TODO: We are losing any username and password specified in the redirect URL, as this is the 
         // same behavior as the CFNet port. We should investigate if this is really what we want.
-    } else
-        applyAuthenticationToRequest(handle, newRequest, true);
+    }
 
-    // If we sent credentials with this request's URL, we don't want the response to carry them to
-    // the WebKit layer. They were only placed in the URL for the benefit of libsoup.
-    newRequest.removeCredentials();
-
     cleanupSoupRequestOperation(handle);
 
     if (d->client()->usesAsyncCallbacks())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to