Title: [235076] releases/WebKitGTK/webkit-2.22
Revision
235076
Author
carlo...@webkit.org
Date
2018-08-20 07:08:33 -0700 (Mon, 20 Aug 2018)

Log Message

Merge r235025 - Relax Request constructor around referrers
https://bugs.webkit.org/show_bug.cgi?id=168649

Patch by Rob Buis <rb...@igalia.com> on 2018-08-20
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt:
* web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:

Source/WebCore:

Implement remaining part of fetch change
https://github.com/whatwg/fetch/pull/377, i.e.
if "parsedReferrer’s origin is not same origin with origin",
then set request’s referrer to "client", instead of
throwing an exception [1].

WebKit's new behavior matches that of Chrome and Firefox.

Testing is covered by existing wpt tests.

[1] Step 15.3.3 of https://fetch.spec.whatwg.org/#main-fetch

* Modules/fetch/FetchRequest.cpp:
(WebCore::computeReferrer):

LayoutTests:

* platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-08-20 14:08:33 UTC (rev 235076)
@@ -1,3 +1,12 @@
+2018-08-20  Rob Buis  <rb...@igalia.com>
+
+        Relax Request constructor around referrers
+        https://bugs.webkit.org/show_bug.cgi?id=168649
+
+        Reviewed by Darin Adler.
+
+        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
+
 2018-08-18  Ali Juma  <aj...@chromium.org>
 
         [IntersectionObserver] Fire an initial dummy notification

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/ChangeLog (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/ChangeLog	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/ChangeLog	2018-08-20 14:08:33 UTC (rev 235076)
@@ -1,3 +1,15 @@
+2018-08-20  Rob Buis  <rb...@igalia.com>
+
+        Relax Request constructor around referrers
+        https://bugs.webkit.org/show_bug.cgi?id=168649
+
+        Reviewed by Darin Adler.
+
+        * web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:
+        * web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt:
+        * web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
+        * web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
+
 2018-08-18  Ali Juma  <aj...@chromium.org>
 
         [IntersectionObserver] Fire an initial dummy notification

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-expected.txt	2018-08-20 14:08:33 UTC (rev 235076)
@@ -1,4 +1,4 @@
 
 PASS Request's referrer is origin 
-FAIL Cross-origin referrer is overridden by client origin promise_test: Unhandled rejection with value: object "TypeError: Referrer is not same-origin."
+PASS Cross-origin referrer is overridden by client origin 
 

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worker.https-expected.txt	2018-08-20 14:08:33 UTC (rev 235076)
@@ -1,5 +1,5 @@
 
 PASS Fetch in service worker: referrer with no-referrer policy 
 FAIL Request's referrer is origin assert_equals: request's referrer is https://localhost:9443/ expected "https://localhost:9443/" but got "https://localhost:9443/fetch/api/policies/referrer-origin.js?pipe=sub"
-FAIL Cross-origin referrer is overridden by client origin promise_test: Unhandled rejection with value: object "TypeError: Referrer is not same-origin."
+FAIL Cross-origin referrer is overridden by client origin assert_equals: request's referrer is https://localhost:9443/ expected "https://localhost:9443/" but got "https://localhost:9443/fetch/api/policies/referrer-origin.js?pipe=sub"
 

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt	2018-08-20 14:08:33 UTC (rev 235076)
@@ -1,4 +1,4 @@
 
 FAIL Request's referrer is origin assert_equals: request's referrer is http://localhost:8800/ expected "http://localhost:8800/" but got "http://localhost:8800/fetch/api/policies/referrer-origin.js?pipe=sub"
-FAIL Cross-origin referrer is overridden by client origin promise_test: Unhandled rejection with value: object "TypeError: Referrer is not same-origin."
+FAIL Cross-origin referrer is overridden by client origin assert_equals: request's referrer is http://localhost:8800/ expected "http://localhost:8800/" but got "http://localhost:8800/fetch/api/policies/referrer-origin.js?pipe=sub"
 

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt	2018-08-20 14:08:33 UTC (rev 235076)
@@ -9,7 +9,7 @@
 PASS Check referrer init value of /relative/ressource and associated getter 
 PASS Check referrer init value of http://localhost:8800/relative/ressource?query=true#fragment and associated getter 
 PASS Check referrer init value of http://localhost:8800/ and associated getter 
-FAIL Check referrer init value of http://test.url and associated getter Referrer is not same-origin.
+PASS Check referrer init value of http://test.url and associated getter 
 PASS Check referrer init value of about:client and associated getter 
 PASS Check referrer init value of  and associated getter 
 PASS Check referrerPolicy init value of  and associated getter 

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt	2018-08-20 14:08:33 UTC (rev 235076)
@@ -9,7 +9,7 @@
 PASS Check referrer init value of /relative/ressource and associated getter 
 PASS Check referrer init value of http://localhost:8800/relative/ressource?query=true#fragment and associated getter 
 PASS Check referrer init value of http://localhost:8800/ and associated getter 
-FAIL Check referrer init value of http://test.url and associated getter Referrer is not same-origin.
+PASS Check referrer init value of http://test.url and associated getter 
 PASS Check referrer init value of about:client and associated getter 
 PASS Check referrer init value of  and associated getter 
 PASS Check referrerPolicy init value of  and associated getter 

Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog	2018-08-20 14:08:33 UTC (rev 235076)
@@ -1,3 +1,25 @@
+2018-08-20  Rob Buis  <rb...@igalia.com>
+
+        Relax Request constructor around referrers
+        https://bugs.webkit.org/show_bug.cgi?id=168649
+
+        Reviewed by Darin Adler.
+
+        Implement remaining part of fetch change
+        https://github.com/whatwg/fetch/pull/377, i.e.
+        if "parsedReferrer’s origin is not same origin with origin",
+        then set request’s referrer to "client", instead of
+        throwing an exception [1].
+
+        WebKit's new behavior matches that of Chrome and Firefox.
+
+        Testing is covered by existing wpt tests.
+
+        [1] Step 15.3.3 of https://fetch.spec.whatwg.org/#main-fetch
+
+        * Modules/fetch/FetchRequest.cpp:
+        (WebCore::computeReferrer):
+
 2018-08-19  Yusuke Suzuki  <yusukesuz...@slowstart.org>
 
         Shrink size of WebCore::Event further by reordering members

Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/fetch/FetchRequest.cpp (235075 => 235076)


--- releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/fetch/FetchRequest.cpp	2018-08-20 14:08:21 UTC (rev 235075)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/fetch/FetchRequest.cpp	2018-08-20 14:08:33 UTC (rev 235076)
@@ -48,7 +48,7 @@
 static ExceptionOr<String> computeReferrer(ScriptExecutionContext& context, const String& referrer)
 {
     if (referrer.isEmpty())
-        return String { "no-referrer" };
+        return String { "no-referrer"_s };
 
     // FIXME: Tighten the URL parsing algorithm according https://url.spec.whatwg.org/#concept-url-parser.
     URL referrerURL = context.completeURL(referrer);
@@ -56,10 +56,10 @@
         return Exception { TypeError, "Referrer is not a valid URL."_s };
 
     if (referrerURL.protocolIs("about") && referrerURL.path() == "client")
-        return String { "client" };
+        return String { "client"_s };
 
     if (!(context.securityOrigin() && context.securityOrigin()->canRequest(referrerURL)))
-        return Exception { TypeError, "Referrer is not same-origin."_s };
+        return String { "client"_s };
 
     return String { referrerURL.string() };
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to