Skip to content

Commit

Permalink
Bug 1578739 [wpt PR 18838] - Set Sec-Fetch-Mode from the network se…
Browse files Browse the repository at this point in the history
…rvice., a=testonly

Automatic update from web-platform-tests
Set `Sec-Fetch-Mode` from the network service.

In order to move `Sec-Fetch-Mode` into the network service to ensure
that it's consistently set every time `Sec-Fetch-Site` is set, this
patch does a few things:

1.  Based on the conversation in [1] and [2], this patch extends
    `network::mojom::RequestMode` to include two new values to
    represent nested navigations and object/embed navigations as
    distinct from main-frame navigations.

2.  It introduces a new `network::IsNavigationRequestMode()` function
    to replace direct comparisons to `kNavigate` in various parts of
    the codebase.

3.  It refactors `network::SetSecFetchSiteHeader()` into
    `network::SetFetchMetadataHeaders()`. This creates a single entry
    point from `URLLoader` to set all Fetch Metadata headers, and
    fleshes out the `Sec-Fetch-Mode` header.

[1]: w3c/webappsec-fetch-metadata#37
[2]: whatwg/fetch#755

Bug: 972263, 990864
Change-Id: Icd20c7640d3d08ecb34a739f0203140fdcc195d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1780725
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Łukasz Anforowicz <[email protected]>
Commit-Queue: Mike West <[email protected]>
Cr-Commit-Position: refs/heads/master@{#693517}

--
Mark appcache.tentative.https.sub.html as slow
--

wpt-commits: 4f6052ac7224c6bd0c859bea09d73f4a846920f8, d6b04f2d1e8a3268ab31b373ec0d14fa55829dc9
wpt-pr: 18838
  • Loading branch information
mikewest authored and moz-wptsync-bot committed Sep 12, 2019
1 parent 1055ed2 commit 4872ace
Showing 1 changed file with 23 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html manifest="/fetch/sec-metadata/resources/record-header.py?file=appcache-manifest">
<meta name="timeout" content="long">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/fetch/sec-metadata/resources/helper.js></script>
<script src=/common/utils.js></script>
<body></body>
<script>
async_test(t => {
window.applicationCache.oncached = window.applicationCache.onnoupdate = window.applicationCache.onerror = t.step_func(e => {
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=appcache-manifest")
.then(t.step_func(response => response.text()))
.then(t.step_func_done(text => assert_header_equals(text, {
"dest": "",
"site": "same-origin",
"user": "",
"mode": "no-cors"
})))
.catch(t.unreached_func("Fetching and verifying the results should succeed."));
});
}, "Appcache!");
</script>

0 comments on commit 4872ace

Please sign in to comment.