Changeset 290507 in webkit
- Timestamp:
- Feb 25, 2022 7:49:58 AM (5 months ago)
- Location:
- trunk
- Files:
-
- 1 added
- 5 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/http/wpt/service-workers/cache-control-request-expected.txt (modified) (1 diff)
-
LayoutTests/http/wpt/service-workers/cache-control-request.html (modified) (2 diffs)
-
LayoutTests/http/wpt/service-workers/resources/cross-origin-allow-for-beacon.py (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/Modules/beacon/NavigatorBeacon.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r290505 r290507 1 2022-02-25 Youenn Fablet <youenn@apple.com> 2 3 Non-simple CORS preflight fails due to cache-control header 4 https://bugs.webkit.org/show_bug.cgi?id=236837 5 <rdar://problem/89382796> 6 7 Reviewed by Chris Dumez. 8 9 * http/wpt/service-workers/cache-control-request-expected.txt: 10 * http/wpt/service-workers/cache-control-request.html: 11 * http/wpt/service-workers/resources/cross-origin-allow-for-beacon.py: Added. 12 1 13 2022-02-25 Kimmo Kinnunen <kkinnunen@apple.com> 2 14 -
trunk/LayoutTests/http/wpt/service-workers/cache-control-request-expected.txt
r286655 r290507 2 2 PASS Setup worker 3 3 PASS Ensure cache-control does not break service worker fetch handling 4 PASS Ensure beacon headers are not broken by service worker fetch handling 4 5 -
trunk/LayoutTests/http/wpt/service-workers/cache-control-request.html
r286655 r290507 6 6 <script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> 7 7 <script src="/common/get-host-info.sub.js"></script> 8 <script src="/common/utils.js"></script> 8 9 </head> 9 10 <body> … … 34 35 iframe.remove(); 35 36 }, "Ensure cache-control does not break service worker fetch handling"); 37 38 promise_test(async (test) => { 39 const iframe = await with_iframe("resources/empty.html"); 40 41 const id = token(); 42 const blob = new Blob(["test"], { type: "application/badabaoo" }); 43 44 iframe.contentWindow.navigator.sendBeacon(get_host_info().HTTP_REMOTE_ORIGIN + "/WebKit/service-workers/resources/cross-origin-allow-for-beacon.py?token=" + id, blob); 45 await new Promise(resolve => setTimeout(resolve, 50)); 46 47 const response = await fetch("/WebKit/service-workers/resources/cross-origin-allow-for-beacon.py?token=" + id); 48 assert_equals(await response.text(), "preflight ok"); 49 50 iframe.remove(); 51 }, "Ensure beacon headers are not broken by service worker fetch handling"); 36 52 </script> 37 53 </body> -
trunk/Source/WebCore/ChangeLog
r290506 r290507 1 2022-02-25 Youenn Fablet <youenn@apple.com> 2 3 Non-simple CORS preflight fails due to cache-control header 4 https://bugs.webkit.org/show_bug.cgi?id=236837 5 <rdar://problem/89382796> 6 7 Reviewed by Chris Dumez. 8 9 We fixed cache-control in https://bugs.webkit.org/show_bug.cgi?id=233916. 10 The fix to make the website work is to ensure that Content-Type is not cleared when going to service worker. 11 Covered by updated tests. 12 13 * Modules/beacon/NavigatorBeacon.cpp: 14 1 15 2022-02-25 Zan Dobersek <zdobersek@igalia.com> 2 16 -
trunk/Source/WebCore/Modules/beacon/NavigatorBeacon.cpp
r287675 r290507 146 146 if (!mimeType.isEmpty()) { 147 147 request.setHTTPContentType(mimeType); 148 if (!isCrossOriginSafeRequestHeader(HTTPHeaderName::ContentType, mimeType)) 148 if (!isCrossOriginSafeRequestHeader(HTTPHeaderName::ContentType, mimeType)) { 149 149 options.mode = FetchOptions::Mode::Cors; 150 options.httpHeadersToKeep.add(HTTPHeadersToKeepFromCleaning::ContentType); 151 } 150 152 } 151 153 }
Note: See TracChangeset
for help on using the changeset viewer.