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 <kinukochromium.org>
Reviewed-by: Łukasz Anforowicz <lukaszachromium.org>
Commit-Queue: Mike West <mkwstchromium.org>
Cr-Commit-Position: refs/heads/master{#693517}

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

wpt-commits: 4f6052ac7224c6bd0c859bea09d73f4a846920f8, d6b04f2d1e8a3268ab31b373ec0d14fa55829dc9
wpt-pr: 18838

UltraBlame original commit: 7d3b0c03f936cc0fb5a532f740664b0517ec0cc9
  • Loading branch information
marco-c committed Oct 4, 2019
1 parent b0c82d2 commit 1bc98a5
Showing 1 changed file with 281 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
<
!
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 1bc98a5

Please sign in to comment.