Implement fetch metadata headers (#33830)

* Implement sec-fetch-dest header

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Implement "is same site" algorithm

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Implement remaining sec-fetch-* headers

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix casing of header names

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix handling Destination::None in sec-fetch-dest

This also removes the comment about wanting to upgrade
to a newer content-security-protocol version because
the csp doesn't implement the "empty" case.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Remove colon from spec comment

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Adjust expected default headers

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix test expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2024-10-16 06:15:56 +02:00 committed by GitHub
parent a2f81d69c1
commit ed959d7a1a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
38 changed files with 471 additions and 656 deletions

View file

@ -1,34 +1,16 @@
[element-script.https.sub.html]
[sec-fetch-site - Same origin, no attributes]
expected: FAIL
[sec-fetch-site - Same origin, attributes: type=module]
expected: FAIL
[sec-fetch-site - Cross-site, no attributes]
expected: FAIL
[sec-fetch-site - Cross-site, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same site, no attributes]
expected: FAIL
[sec-fetch-site - Same site, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect, no attributes]
expected: FAIL
[sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, no attributes]
expected: FAIL
[sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, attributes: type=module]
expected: FAIL
[sec-fetch-site - Cross-Site -> Same Origin, no attributes]
expected: FAIL
@ -47,56 +29,14 @@
[sec-fetch-site - Cross-Site -> Cross-Site, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Origin -> Same Origin, no attributes]
expected: FAIL
[sec-fetch-site - Same-Origin -> Same Origin, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Origin -> Same-Site, no attributes]
expected: FAIL
[sec-fetch-site - Same-Origin -> Same-Site, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Origin -> Cross-Site, no attributes]
expected: FAIL
[sec-fetch-site - Same-Origin -> Cross-Site, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Site -> Same Origin, no attributes]
expected: FAIL
[sec-fetch-site - Same-Site -> Same Origin, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Site -> Same-Site, no attributes]
expected: FAIL
[sec-fetch-site - Same-Site -> Same-Site, attributes: type=module]
expected: FAIL
[sec-fetch-site - Same-Site -> Cross-Site, no attributes]
expected: FAIL
[sec-fetch-site - Same-Site -> Cross-Site, attributes: type=module]
expected: FAIL
[sec-fetch-mode - no attributes]
expected: FAIL
[sec-fetch-mode - attributes: type=module]
expected: FAIL
[sec-fetch-mode - attributes: crossorigin]
expected: FAIL
[sec-fetch-mode - attributes: crossorigin=anonymous]
expected: FAIL
[sec-fetch-mode - attributes: crossorigin=use-credentials]
expected: FAIL
[sec-fetch-dest - no attributes]
expected: FAIL