Title: [199359] releases/WebKitGTK/webkit-2.12
Revision
199359
Author
[email protected]
Date
2016-04-12 09:16:50 -0700 (Tue, 12 Apr 2016)

Log Message

Merge r198050 - WebKit should not be redirected to an invalid URL
https://bugs.webkit.org/show_bug.cgi?id=155263
<rdar://problem/22820172>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/navigation/redirect-to-invalid-url.html

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):

LayoutTests:

* http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
* http/tests/navigation/redirect-to-invalid-url.html: Added.
* http/tests/navigation/resources/redirect-to-invalid-url-frame.php: Added.

Modified Paths

Added Paths

Diff

Modified: releases/WebKitGTK/webkit-2.12/LayoutTests/ChangeLog (199358 => 199359)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/ChangeLog	2016-04-12 16:15:19 UTC (rev 199358)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/ChangeLog	2016-04-12 16:16:50 UTC (rev 199359)
@@ -1,3 +1,15 @@
+2016-03-11  Jiewen Tan  <[email protected]>
+
+        WebKit should not be redirected to an invalid URL
+        https://bugs.webkit.org/show_bug.cgi?id=155263
+        <rdar://problem/22820172>
+
+        Reviewed by Brent Fulgham.
+
+        * http/tests/navigation/redirect-to-invalid-url-expected.txt: Added.
+        * http/tests/navigation/redirect-to-invalid-url.html: Added.
+        * http/tests/navigation/resources/redirect-to-invalid-url-frame.php: Added.
+
 2016-03-10  Jer Noble  <[email protected]>
 
         CRASH at WebCore::RenderView::updateVisibleViewportRect

Added: releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/redirect-to-invalid-url-expected.txt (0 => 199359)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/redirect-to-invalid-url-expected.txt	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/redirect-to-invalid-url-expected.txt	2016-04-12 16:16:50 UTC (rev 199359)
@@ -0,0 +1,6 @@
+http://127.0.0.1:8000/navigation/resources/redirect-to-invalid-url-frame.php - willSendRequest <NSURLRequest URL http://127.0.0.1:8000/navigation/resources/redirect-to-invalid-url-frame.php, main document URL http://127.0.0.1:8000/navigation/redirect-to-invalid-url.html, http method GET> redirectResponse (null)
+http://127.0.0.1:8000/navigation/redirect-to-invalid-url.html - didFinishLoading
+http://127.0.0.1:8000/navigation/resources/redirect-to-invalid-url-frame.php - didFailLoadingWithError: <NSError domain WebKitErrorDomain, code 101, failing URL "http://127.0.0.1:8000/navigation/resources/redirect-to-invalid-url-frame.php">
+Test passes if WebKit doesn't request the redirected URL.
+
+

Added: releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/redirect-to-invalid-url.html (0 => 199359)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/redirect-to-invalid-url.html	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/redirect-to-invalid-url.html	2016-04-12 16:16:50 UTC (rev 199359)
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+    if (window.testRunner) {
+        testRunner.dumpAsText();
+        testRunner.dumpResourceLoadCallbacks();
+        testRunner.waitUntilDone();
+    }
+
+    _onload_ = function() {
+        if (window.testRunner)
+            testRunner.notifyDone();
+    }
+</script>
+</head>
+<body>
+    <p>Test passes if WebKit doesn't request the redirected URL.</p>
+    <iframe src=""
+</body>
+</html>

Added: releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/resources/redirect-to-invalid-url-frame.php (0 => 199359)


--- releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/resources/redirect-to-invalid-url-frame.php	                        (rev 0)
+++ releases/WebKitGTK/webkit-2.12/LayoutTests/http/tests/navigation/resources/redirect-to-invalid-url-frame.php	2016-04-12 16:16:50 UTC (rev 199359)
@@ -0,0 +1,4 @@
+<?php
+header('Location: http://localhost:xyz/none-existed.html');
+?>
+

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog (199358 => 199359)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog	2016-04-12 16:15:19 UTC (rev 199358)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog	2016-04-12 16:16:50 UTC (rev 199359)
@@ -1,3 +1,16 @@
+2016-03-11  Jiewen Tan  <[email protected]>
+
+        WebKit should not be redirected to an invalid URL
+        https://bugs.webkit.org/show_bug.cgi?id=155263
+        <rdar://problem/22820172>
+
+        Reviewed by Brent Fulgham.
+
+        Test: http/tests/navigation/redirect-to-invalid-url.html
+
+        * loader/SubresourceLoader.cpp:
+        (WebCore::SubresourceLoader::willSendRequestInternal):
+
 2016-03-10  Maksim Kisilev <[email protected]>
 
         Fix typo in StyleTreeResolver.cpp

Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/loader/SubresourceLoader.cpp (199358 => 199359)


--- releases/WebKitGTK/webkit-2.12/Source/WebCore/loader/SubresourceLoader.cpp	2016-04-12 16:15:19 UTC (rev 199358)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/loader/SubresourceLoader.cpp	2016-04-12 16:16:50 UTC (rev 199359)
@@ -160,6 +160,11 @@
     URL previousURL = request().url();
     Ref<SubresourceLoader> protect(*this);
 
+    if (!newRequest.url().isValid()) {
+        cancel(cannotShowURLError());
+        return;
+    }
+
     ASSERT(!newRequest.isNull());
     if (!redirectResponse.isNull()) {
         // CachedResources are keyed off their original request URL.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to