Title: [225809] trunk
Revision
225809
Author
commit-qu...@webkit.org
Date
2017-12-12 15:01:52 -0800 (Tue, 12 Dec 2017)

Log Message

Fetch Event header filtering should apply in CORS mode only
https://bugs.webkit.org/show_bug.cgi?id=180708

Patch by Youenn Fablet <you...@apple.com> on 2017-12-12
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:

Source/WebCore:

Covered by no-longer failing test.

* workers/service/context/ServiceWorkerFetch.cpp: cleaning headers only in case of CORS mode.

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (225808 => 225809)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-12-12 23:01:52 UTC (rev 225809)
@@ -1,3 +1,12 @@
+2017-12-12  Youenn Fablet  <you...@apple.com>
+
+        Fetch Event header filtering should apply in CORS mode only
+        https://bugs.webkit.org/show_bug.cgi?id=180708
+
+        Reviewed by Alex Christensen.
+
+        * web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
+
 2017-12-12  Javier Fernandez  <jfernan...@igalia.com>
 
         [css-grid] Implement alignment for absolute positioned grid items

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt (225808 => 225809)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt	2017-12-12 23:01:52 UTC (rev 225809)
@@ -8,7 +8,7 @@
 PASS Service Worker does not respond to fetch event 
 PASS Service Worker responds to fetch event with null response body 
 PASS Service Worker fetches other file in fetch event 
-FAIL Service Worker responds to fetch event with POST form assert_unreached: unexpected rejection: assert_equals: expected "POST:application/x-www-form-urlencoded:testName1=testValue1&testName2=testValue2" but got "POST:null:testName1=testValue1&testName2=testValue2" Reached unreachable code
+PASS Service Worker responds to fetch event with POST form 
 PASS Multiple calls of respondWith must throw InvalidStateErrors 
 PASS Service Worker event.respondWith must set the used flag 
 PASS Service Worker should expose FetchEvent URL fragments. 

Modified: trunk/Source/WebCore/ChangeLog (225808 => 225809)


--- trunk/Source/WebCore/ChangeLog	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/Source/WebCore/ChangeLog	2017-12-12 23:01:52 UTC (rev 225809)
@@ -1,3 +1,14 @@
+2017-12-12  Youenn Fablet  <you...@apple.com>
+
+        Fetch Event header filtering should apply in CORS mode only
+        https://bugs.webkit.org/show_bug.cgi?id=180708
+
+        Reviewed by Alex Christensen.
+
+        Covered by no-longer failing test.
+
+        * workers/service/context/ServiceWorkerFetch.cpp: cleaning headers only in case of CORS mode.
+
 2017-12-12  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         REGRESSION (Safari 11): custom <font-face> tag crashes a page

Modified: trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp (225808 => 225809)


--- trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp	2017-12-12 22:51:02 UTC (rev 225808)
+++ trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp	2017-12-12 23:01:52 UTC (rev 225809)
@@ -98,7 +98,8 @@
     auto httpReferrer = request.httpReferrer();
     // We are intercepting fetch calls after going through the HTTP layer, which adds some specific headers.
     // Let's clean them so that cross origin checks do not fail.
-    cleanRedirectedRequestForAccessControl(request);
+    if (options.mode == FetchOptions::Mode::Cors)
+        cleanRedirectedRequestForAccessControl(request);
 
     auto requestHeaders = FetchHeaders::create(FetchHeaders::Guard::Immutable, HTTPHeaderMap { request.httpHeaderFields() });
     auto fetchRequest = FetchRequest::create(globalScope, FetchBody::fromFormData(request.httpBody()), WTFMove(requestHeaders),  WTFMove(request), WTFMove(options), WTFMove(httpReferrer));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to