mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
Update web-platform-tests to revision d4f8820261cce3f9ee37353b6d76d247cb12a972
This commit is contained in:
parent
793b41299b
commit
7cb8ac2fe2
36 changed files with 278 additions and 279 deletions
|
@ -14,6 +14,9 @@
|
|||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[url-with-fetch.any.html]
|
||||
[Untitled]
|
||||
|
@ -34,3 +37,6 @@
|
|||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -126697,6 +126697,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-lists/list-item-definition.html": [
|
||||
[
|
||||
"css/css-lists/list-item-definition.html",
|
||||
[
|
||||
[
|
||||
"/css/css-lists/list-item-definition-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html": [
|
||||
[
|
||||
"css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001.html",
|
||||
|
@ -269042,6 +269054,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-lists/list-item-definition-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001-ref.html": [
|
||||
[
|
||||
{}
|
||||
|
@ -357299,6 +357316,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-position/position-absolute-crash-chrome-004.html": [
|
||||
[
|
||||
"css/css-position/position-absolute-crash-chrome-004.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-position/position-absolute-dynamic-containing-block.html": [
|
||||
[
|
||||
"css/css-position/position-absolute-dynamic-containing-block.html",
|
||||
|
@ -383687,7 +383710,9 @@
|
|||
"fetch/sec-metadata/iframe.tentative.https.sub.html": [
|
||||
[
|
||||
"fetch/sec-metadata/iframe.tentative.https.sub.html",
|
||||
{}
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"fetch/sec-metadata/iframe.tentative.sub.html": [
|
||||
|
@ -394351,18 +394376,6 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-integrity-classic.sub.html": [
|
||||
[
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-integrity-classic.sub.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-integrity-module.sub.html": [
|
||||
[
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-integrity-module.sub.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html": [
|
||||
[
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html",
|
||||
|
@ -593783,6 +593796,14 @@
|
|||
"df54e8fb0df8146f896c2abd136d63d930d92d1c",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-lists/list-item-definition-ref.html": [
|
||||
"72a4c90f4ada6a889fa71a27aea20146ea07bc9b",
|
||||
"support"
|
||||
],
|
||||
"css/css-lists/list-item-definition.html": [
|
||||
"edae4b96bd98876170145cf9bc9c834d188b5640",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001-ref.html": [
|
||||
"ae6486147e28502db80f6b887b1a6b16c30184f2",
|
||||
"support"
|
||||
|
@ -597711,6 +597732,10 @@
|
|||
"c443e836e57a361c7de9bc5f9a6debe7ff832fe0",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-position/position-absolute-crash-chrome-004.html": [
|
||||
"cc6de63e0011a3588592bd7bf27d5230ea8d2a48",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-position/position-absolute-dynamic-containing-block.html": [
|
||||
"3968f685849663574ca213fcb90dc5fb3eaffaa3",
|
||||
"testharness"
|
||||
|
@ -648972,19 +648997,19 @@
|
|||
"support"
|
||||
],
|
||||
"fetch/sec-metadata/embed.tentative.https.sub.html": [
|
||||
"b97de9ef2fd4c0c41a5671ad7cd20c5814ab5223",
|
||||
"c46765b37c6325260882751e9e592c2b55d8b128",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/fetch.tentative.https.sub.html": [
|
||||
"dc4b977ac6ec6544215bcf2a41007a6adde2d36e",
|
||||
"bffb4275df8e99c9d06d4fa4ef518e3b1efba747",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/font.tentative.https.sub.html": [
|
||||
"9792f2dce9427c3e42f595adb4c67113a6bb29d7",
|
||||
"60163ee714686fc1c3f5f9b7011ce03cf3028e6b",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/iframe.tentative.https.sub.html": [
|
||||
"056d8fdba945ddc9e3daed1f6d4f915b084a3da9",
|
||||
"461d9f28fa1e8987e3b05c48cb10fa6f4f8bf326",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/iframe.tentative.sub.html": [
|
||||
|
@ -648992,7 +649017,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/img.tentative.https.sub.html": [
|
||||
"802ae25b775c0b246d162cc8f41df0c47cd52867",
|
||||
"717e385bd040be4b75f1049de05f48726e382d96",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/navigation.https.sub.html": [
|
||||
|
@ -649000,31 +649025,31 @@
|
|||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/object.tentative.https.sub.html": [
|
||||
"474962918b03075b0fa97d199a339b5f504d8c20",
|
||||
"b60ae206c78b3dd8e934dde7a7408fe4a7465932",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/redirect/cross-site-redirect.tentative.https.sub.html": [
|
||||
"1634a29f3791490aa782435a294442d3a925ebda",
|
||||
"06b58744fb5a26f16f5ed8fc923f1c91989e2eb8",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/redirect/multiple-redirect-cross-site.tentative.https.sub.html": [
|
||||
"7647a5b1c89a99ab4c8227a6690c457915e07a62",
|
||||
"e173bb053fedd46f346a0e89990f44cf5cbc1856",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/redirect/multiple-redirect-same-site.tentative.https.sub.html": [
|
||||
"e83d6fd97e844f84dc5fb6c39a3acc99e5e9f087",
|
||||
"d19a1896ad77e69923e219292d9ae4c1ef35e70e",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/redirect/same-origin-redirect.tentative.https.sub.html": [
|
||||
"2033eab5979a619f918443d98788ae3caaefecb5",
|
||||
"0b4fdfeec58b6f353000cf290f345b63c4c9cba9",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/redirect/same-site-redirect.tentative.https.sub.html": [
|
||||
"c5b6830abed5f197f2640fa1ddb18be9f79480fd",
|
||||
"70c0afef22883469a54a874a955a91c89c4336d7",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/report.tentative.https.sub.html": [
|
||||
"405964e08923ae7db3becc5178f99994b8614230",
|
||||
"eb6c76b57c75a70e183ebbc8a9e11e42275ff82e",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/report.tentative.https.sub.html.sub.headers": [
|
||||
|
@ -649064,7 +649089,7 @@
|
|||
"support"
|
||||
],
|
||||
"fetch/sec-metadata/script.tentative.https.sub.html": [
|
||||
"a35e753c7898cc89427fa8dc22ce5fd55325ea8e",
|
||||
"b2874a37da1ebb578d76702bae66abf6fa501b8e",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/script.tentative.sub.html": [
|
||||
|
@ -649072,35 +649097,35 @@
|
|||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/serviceworker.tentative.https.sub.html": [
|
||||
"590a6c33475d26e54ef31e7a766f596d4b6d5215",
|
||||
"ee436d9265ff85c3e307c7c6f565e55d7cc84961",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/sharedworker.tentative.https.sub.html": [
|
||||
"a1c558ad35dfbdb7d2f35535ba26148f31e3f2c6",
|
||||
"ddd4cc9914eb28a3b85d13366dd84ca722d34d52",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/style.tentative.https.sub.html": [
|
||||
"46f64f49bde0ce6c642a517aacaf5af8c3074edc",
|
||||
"19cc16d8017cc2a86c72098fcfdd161ea4080bde",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/track.tentative.https.sub.html": [
|
||||
"817e4845edb215cd1fdf8183e6d306a4fe4172c4",
|
||||
"fe525caf15523310e4f67dc5200cc7877d5f3456",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/trailing-dot.tentative.https.sub.html": [
|
||||
"85f9c73c6ae22fb34a8bd76b624f286367ba0265",
|
||||
"ff0e842d5118cba40b73f09e29cf98be0bcabb12",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/window-open.tentative.https.sub.html": [
|
||||
"ef2bc81824ea5f90551da75daf6e10f41ef2cdcd",
|
||||
"0be9f2ce577d5cdd590e0326ed650455d87f1ee4",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/worker.tentative.https.sub.html": [
|
||||
"dc21d0324f442a8aa801dbddb04e0b2fe93464d0",
|
||||
"940e25b2a51a41610980601e0c97be5e4614c9b0",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/sec-metadata/xslt.tentative.https.sub.html": [
|
||||
"eea2329900e000c43cb0b347c011d6d4adb8bd46",
|
||||
"0d429266288e8a77bcdc5076d3f248bf0ef509b5",
|
||||
"testharness"
|
||||
],
|
||||
"fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html": [
|
||||
|
@ -666083,14 +666108,6 @@
|
|||
"34ea00abc83ce6f8c83c9b31edd77a69d356b214",
|
||||
"testharness"
|
||||
],
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-integrity-classic.sub.html": [
|
||||
"80a298913a09c2cccbdfc917975ddc6e801cf411",
|
||||
"testharness"
|
||||
],
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-integrity-module.sub.html": [
|
||||
"db3d3b1e15a8fa7ab82947c6fd96bb2d1b5fb2dc",
|
||||
"testharness"
|
||||
],
|
||||
"html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-module.html": [
|
||||
"b85d446d8dae01be803e190b593aac6ed921ca08",
|
||||
"testharness"
|
||||
|
@ -670784,7 +670801,7 @@
|
|||
"support"
|
||||
],
|
||||
"interfaces/performance-timeline.idl": [
|
||||
"7766bfd7b09e56e4822643b5fdf56697b20ad3e3",
|
||||
"51752b139589e64088364109d8c5e117c7811e95",
|
||||
"support"
|
||||
],
|
||||
"interfaces/permissions.idl": [
|
||||
|
|
|
@ -312,12 +312,3 @@
|
|||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
expected: FAIL
|
||||
|
||||
[Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[javascript-url-abort-return-value-string.tentative.html]
|
||||
[Aborting fetch for javascript:string navigation]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[toggleEvent.html]
|
||||
[Calling open twice on 'details' fires only one toggle event]
|
||||
expected: FAIL
|
||||
|
||||
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
|
||||
expected: FAIL
|
||||
|
|
@ -37,6 +37,9 @@
|
|||
[PerformanceEntry interface: default toJSON operation on mark]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceObserver interface: operation observe(PerformanceObserverInit)]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[idlharness.any.html]
|
||||
[Untitled]
|
||||
|
@ -72,6 +75,9 @@
|
|||
[PerformanceEntry interface: default toJSON operation on mark]
|
||||
expected: FAIL
|
||||
|
||||
[PerformanceObserver interface: operation observe(PerformanceObserverInit)]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[idlharness.https.any.serviceworker.html]
|
||||
type: testharness
|
||||
|
|
2
tests/wpt/mozilla/meta/mozilla/scroll_root.html.ini
Normal file
2
tests/wpt/mozilla/meta/mozilla/scroll_root.html.ini
Normal file
|
@ -0,0 +1,2 @@
|
|||
[scroll_root.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,11 @@
|
|||
<!doctype html>
|
||||
<title>CSS Test Reference</title>
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<ol>
|
||||
<svg style="display: list-item"></svg>
|
||||
<img style="display: list-item">
|
||||
<img style="display: list-item" alt="Foo">
|
||||
<li value="4">Foo
|
||||
<li>Bar
|
||||
</ol>
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<title>The definition of what a list-item is only depends on the display value, and doesn't account for pseudo-elements</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1539171">
|
||||
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
|
||||
<link rel="author" href="https://mozilla.org" title="Mozilla">
|
||||
<link rel="match" href="list-item-definition-ref.html">
|
||||
<!-- TODO: Test pseudo-elements, see https://github.com/w3c/csswg-drafts/issues/3766 -->
|
||||
<ol>
|
||||
<svg style="display: list-item"></svg>
|
||||
<img style="display: list-item">
|
||||
<img style="display: list-item" alt="Foo">
|
||||
<div style="display: list-item">Foo</div>
|
||||
<li>Bar
|
||||
</ol>
|
|
@ -0,0 +1,41 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Position Absolute: Chrome crash</title>
|
||||
<link rel="author" href="mailto:atotic@chromium.org">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=946986">
|
||||
<meta name="assert" content="Nested abs/fixed/flex do not crash">
|
||||
<style>
|
||||
body { overflow: scroll;}
|
||||
.container {
|
||||
position: relative;
|
||||
contain: paint;
|
||||
}
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
.fixed {
|
||||
position: fixed;
|
||||
}
|
||||
.abs {
|
||||
position: absolute;
|
||||
}
|
||||
</style>
|
||||
<!-- LayoutNG currently does not support display:flex.
|
||||
Propagation of descendants across flex boundaries is error prone -->
|
||||
<div id="one" class="container" style="">
|
||||
<div class="flex">
|
||||
<div class="abs">
|
||||
<div class="flex">
|
||||
<div id="fixed1" class="fixed">
|
||||
<div id="fixed2" class="fixed"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
test(() => {
|
||||
}, 'test passes if it does not crash');
|
||||
</script>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
let e = document.createElement('embed');
|
||||
e.src = "https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"embed", "site":"same-origin", "user":"?F", "mode":"no-cors"};
|
||||
let expected = {"dest":"embed", "site":"same-origin", "user":"", "mode":"no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -35,7 +35,7 @@
|
|||
let e = document.createElement('embed');
|
||||
e.src = "https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"embed", "site":"same-site", "user":"?F", "mode":"no-cors"};
|
||||
let expected = {"dest":"embed", "site":"same-site", "user":"", "mode":"no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -54,7 +54,7 @@
|
|||
let e = document.createElement('embed');
|
||||
e.src = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"embed", "site":"cross-site", "user":"?F", "mode":"no-cors"};
|
||||
let expected = {"dest":"embed", "site":"cross-site", "user":"", "mode":"no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
@ -24,7 +24,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
@ -37,7 +37,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
@ -51,7 +51,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "same-origin",
|
||||
});
|
||||
});
|
||||
|
@ -64,7 +64,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
@ -77,7 +77,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "no-cors",
|
||||
});
|
||||
});
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
promise_test(t => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let key = "font-same-origin";
|
||||
let expected = {"dest":"font", "site":"same-origin", "user":"?F", "mode": "cors"};
|
||||
let expected = {"dest":"font", "site":"same-origin", "user":"", "mode": "cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -58,7 +58,7 @@
|
|||
promise_test(t => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let key = "font-same-site";
|
||||
let expected = {"dest":"font", "site":"same-site", "user":"?F", "mode": "cors"};
|
||||
let expected = {"dest":"font", "site":"same-site", "user":"", "mode": "cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -70,7 +70,7 @@
|
|||
promise_test(t => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let key = "font-cross-site";
|
||||
let expected = {"dest":"font", "site":"cross-site", "user":"?F", "mode": "cors"};
|
||||
let expected = {"dest":"font", "site":"cross-site", "user":"", "mode": "cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
|
|
@ -1,63 +1,85 @@
|
|||
<!DOCTYPE html>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=/resources/testdriver.js></script>
|
||||
<script src=/resources/testdriver-vendor.js></script>
|
||||
<script src=/fetch/sec-metadata/resources/helper.js></script>
|
||||
<script src=/common/utils.js></script>
|
||||
<body>
|
||||
<script>
|
||||
async_test(t => {
|
||||
let i = document.createElement('iframe');
|
||||
i.src = "https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/post-to-owner.py";
|
||||
window.addEventListener('message', t.step_func(e => {
|
||||
if (e.source != i.contentWindow)
|
||||
return;
|
||||
const USER = true;
|
||||
const FORCED = false;
|
||||
|
||||
assert_header_equals(e.data, {
|
||||
"dest": "nested-document",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
t.done();
|
||||
}));
|
||||
function create_test(host, user_activated, expectations) {
|
||||
async_test(t => {
|
||||
let i = document.createElement('iframe');
|
||||
window.addEventListener('message', t.step_func(e => {
|
||||
if (e.source != i.contentWindow)
|
||||
return;
|
||||
|
||||
document.body.appendChild(i);
|
||||
}, "Same-origin iframe");
|
||||
assert_header_equals(e.data, expectations);
|
||||
t.done();
|
||||
}));
|
||||
|
||||
async_test(t => {
|
||||
let i = document.createElement('iframe');
|
||||
i.src = "https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/post-to-owner.py";
|
||||
window.addEventListener('message', t.step_func(e => {
|
||||
if (e.source != i.contentWindow)
|
||||
return;
|
||||
let url = `https://${host}/fetch/sec-metadata/resources/post-to-owner.py`;
|
||||
if (user_activated == FORCED) {
|
||||
i.src = url;
|
||||
document.body.appendChild(i);
|
||||
} else if (user_activated == USER) {
|
||||
let uuid = token();
|
||||
i.name = uuid;
|
||||
let a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.target = uuid;
|
||||
a.text = "This is a link!";
|
||||
|
||||
assert_header_equals(e.data, {
|
||||
"dest": "nested-document",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
t.done();
|
||||
}));
|
||||
document.body.appendChild(i);
|
||||
document.body.appendChild(a);
|
||||
|
||||
document.body.appendChild(i);
|
||||
}, "Same-site iframe");
|
||||
test_driver.click(a);
|
||||
}
|
||||
}, `{{host}} -> ${host} iframe: ${user_activated ? "user-activated" : "forced"}`);
|
||||
}
|
||||
|
||||
async_test(t => {
|
||||
let i = document.createElement('iframe');
|
||||
i.src = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/post-to-owner.py";
|
||||
window.addEventListener('message', t.step_func(e => {
|
||||
if (e.source != i.contentWindow)
|
||||
return;
|
||||
create_test("{{host}}:{{ports[https][0]}}", FORCED, {
|
||||
"dest": "nested-document",
|
||||
"site": "same-origin",
|
||||
"user": "",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
|
||||
assert_header_equals(e.data, {
|
||||
"dest": "nested-document",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
t.done();
|
||||
}));
|
||||
create_test("{{hosts[][www]}}:{{ports[https][0]}}", FORCED, {
|
||||
"dest": "nested-document",
|
||||
"site": "same-site",
|
||||
"user": "",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
|
||||
document.body.appendChild(i);
|
||||
}, "Cross-site iframe");
|
||||
create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", FORCED, {
|
||||
"dest": "nested-document",
|
||||
"site": "cross-site",
|
||||
"user": "",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
|
||||
create_test("{{host}}:{{ports[https][0]}}", USER, {
|
||||
"dest": "nested-document",
|
||||
"site": "same-origin",
|
||||
"user": "?T",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
|
||||
create_test("{{hosts[][www]}}:{{ports[https][0]}}", USER, {
|
||||
"dest": "nested-document",
|
||||
"site": "same-site",
|
||||
"user": "?T",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
|
||||
create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", USER, {
|
||||
"dest": "nested-document",
|
||||
"site": "cross-site",
|
||||
"user": "?T",
|
||||
"mode": "nested-navigate"
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -23,7 +23,9 @@
|
|||
assert_header_equals(got, {
|
||||
"dest": "image",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
// Note that we're using `undefined` here, as opposed to "" elsewhere because of the way
|
||||
// that `image.py` encodes data.
|
||||
"user": undefined,
|
||||
"mode": "cors", // Because `loadImageInWindow` tacks on `crossorigin`
|
||||
});
|
||||
}),
|
||||
|
@ -45,7 +47,9 @@
|
|||
assert_header_equals(got, {
|
||||
"dest": "image",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
// Note that we're using `undefined` here, as opposed to "" elsewhere because of the way
|
||||
// that `image.py` encodes data.
|
||||
"user": undefined,
|
||||
"mode": "cors", // Because `loadImageInWindow` tacks on `crossorigin`
|
||||
});
|
||||
}),
|
||||
|
@ -67,7 +71,9 @@
|
|||
assert_header_equals(got, {
|
||||
"dest": "image",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
// Note that we're using `undefined` here, as opposed to "" elsewhere because of the way
|
||||
// that `image.py` encodes data.
|
||||
"user": undefined,
|
||||
"mode": "cors", // Because `loadImageInWindow` tacks on `crossorigin`
|
||||
});
|
||||
}),
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
let e = document.createElement('object');
|
||||
e.data = "https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"object", "site":"same-origin", "user":"?F", "mode":"no-cors"};
|
||||
let expected = {"dest":"object", "site":"same-origin", "user":"", "mode":"no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -35,7 +35,7 @@
|
|||
let e = document.createElement('object');
|
||||
e.data = "https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"object", "site":"same-site", "user":"?F", "mode":"no-cors"};
|
||||
let expected = {"dest":"object", "site":"same-site", "user":"", "mode":"no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -54,7 +54,7 @@
|
|||
let e = document.createElement('object');
|
||||
e.data = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"object", "site":"cross-site", "user":"?F", "mode":"no-cors"};
|
||||
let expected = {"dest":"object", "site":"cross-site", "user":"", "mode":"no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
|
@ -41,7 +41,7 @@
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
|
@ -67,7 +67,7 @@
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
e.src = "https://{{host}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=" +// same-origin
|
||||
"https://{{hosts[alt][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=" +// cross-site
|
||||
"https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;// same-origin
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
e.src = "https://{{host}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=" +// same-origin
|
||||
"https://{{hosts[][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=" +// same-site
|
||||
"https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;// same-origin
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "/xhr/resources/redirect.py?location=https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"same-origin", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"same-origin", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -42,7 +42,7 @@ promise_test(t => {
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "/xhr/resources/redirect.py?location=https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -69,7 +69,7 @@ promise_test(t => {
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "/xhr/resources/redirect.py?location=https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "https://{{hosts[][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -42,7 +42,7 @@ promise_test(t => {
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "https://{{hosts[][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"same-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -69,7 +69,7 @@ promise_test(t => {
|
|||
|
||||
let e = document.createElement('img');
|
||||
e.src = "https://{{hosts[][www]}}:{{ports[https][0]}}/xhr/resources/redirect.py?location=https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"image", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
|
||||
e.onload = e => {
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
document.addEventListener("securitypolicyviolation", (e) => {
|
||||
counter++;
|
||||
if (counter == 3) {
|
||||
generate_test({"dest":"report", "site":"same-origin", "user":"?F", "mode": "no-cors"}, "same-origin");
|
||||
generate_test({"dest":"report", "site":"same-site", "user":"?F", "mode": "no-cors"}, "same-site");
|
||||
generate_test({"dest":"report", "site":"cross-site", "user":"?F", "mode": "no-cors"}, "cross-site");
|
||||
generate_test({"dest":"report", "site":"same-origin", "user":"", "mode": "no-cors"}, "same-origin");
|
||||
generate_test({"dest":"report", "site":"same-site", "user":"", "mode": "no-cors"}, "same-site");
|
||||
generate_test({"dest":"report", "site":"cross-site", "user":"", "mode": "no-cors"}, "cross-site");
|
||||
|
||||
done();
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
assert_header_equals(header, {
|
||||
"dest": "script",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "no-cors",
|
||||
});
|
||||
}, "Same-origin script");
|
||||
|
@ -27,7 +27,7 @@
|
|||
assert_header_equals(header, {
|
||||
"dest": "script",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "no-cors",
|
||||
});
|
||||
}, "Same-site script");
|
||||
|
@ -42,7 +42,7 @@
|
|||
assert_header_equals(header, {
|
||||
"dest": "script",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "no-cors",
|
||||
});
|
||||
}, "Cross-site script");
|
||||
|
@ -57,7 +57,7 @@
|
|||
assert_header_equals(header, {
|
||||
"dest": "script",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
}, "Same-origin CORS script");
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
function test_same_origin(){
|
||||
promise_test(t => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let expected = {"dest":"serviceworker", "site":"same-origin", "user":"?F", "mode": "same-origin"};
|
||||
let expected = {"dest":"serviceworker", "site":"same-origin", "user":"", "mode": "same-origin"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
function test_same_origin(){
|
||||
promise_test(t => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let expected = {"dest":"sharedworker", "site":"same-origin", "user":"?F", "mode": "same-origin"};
|
||||
let expected = {"dest":"sharedworker", "site":"same-origin", "user":"", "mode": "same-origin"};
|
||||
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
e.rel = "stylesheet";
|
||||
e.href = "https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"style", "site":"same-origin", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"style", "site":"same-origin", "user":"", "mode": "no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -37,7 +37,7 @@
|
|||
e.rel = "stylesheet";
|
||||
e.href = "https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"style", "site":"same-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"style", "site":"same-site", "user":"", "mode": "no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -57,7 +57,7 @@
|
|||
e.rel = "stylesheet";
|
||||
e.href = "https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"style", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"style", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
@ -78,7 +78,7 @@
|
|||
e.href = "https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=" + key;
|
||||
e.crossOrigin = "anonymous";
|
||||
e.onload = e => {
|
||||
let expected = {"dest":"style", "site":"same-origin", "user":"?F", "mode": "cors"};
|
||||
let expected = {"dest":"style", "site":"same-origin", "user":"", "mode": "cors"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
expected = {
|
||||
"dest": "track",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors" // Because the `video` element has `crossorigin`
|
||||
};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -59,7 +59,7 @@
|
|||
expected = {
|
||||
"dest": "track",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors" // Because the `video` element has `crossorigin`
|
||||
};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -84,7 +84,7 @@
|
|||
expected = {
|
||||
"dest": "track",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors" // Because the `video` element has `crossorigin`
|
||||
};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
@ -112,7 +112,7 @@
|
|||
expected = {
|
||||
"dest":"track",
|
||||
"site":"same-origin",
|
||||
"user":"?F",
|
||||
"user":"",
|
||||
"mode": "same-origin"
|
||||
};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
@ -24,7 +24,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
@ -37,7 +37,7 @@
|
|||
assert_header_equals(j, {
|
||||
"dest": "empty",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "cors",
|
||||
});
|
||||
});
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
assert_header_equals(e.data, {
|
||||
"dest": "document",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "navigate",
|
||||
});
|
||||
t.done();
|
||||
|
@ -34,7 +34,7 @@
|
|||
assert_header_equals(e.data, {
|
||||
"dest": "document",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "navigate",
|
||||
});
|
||||
t.done();
|
||||
|
@ -51,7 +51,7 @@
|
|||
assert_header_equals(e.data, {
|
||||
"dest": "document",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "navigate",
|
||||
});
|
||||
t.done();
|
||||
|
@ -70,7 +70,7 @@
|
|||
assert_header_equals(e.data, {
|
||||
"dest": "document",
|
||||
"site": "same-origin",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "navigate",
|
||||
});
|
||||
|
||||
|
@ -94,7 +94,7 @@
|
|||
assert_header_equals(e.data, {
|
||||
"dest": "document",
|
||||
"site": "same-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "navigate",
|
||||
});
|
||||
|
||||
|
@ -118,7 +118,7 @@
|
|||
assert_header_equals(e.data, {
|
||||
"dest": "document",
|
||||
"site": "cross-site",
|
||||
"user": "?F",
|
||||
"user": "",
|
||||
"mode": "navigate",
|
||||
});
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
let key = "worker-same-origin" + nonce;
|
||||
let w = new Worker("/fetch/sec-metadata/resources/record-header.py?file=" + key);
|
||||
w.onmessage = e => {
|
||||
let expected = {"dest":"worker", "site":"same-origin", "user":"?F", "mode": "same-origin"};
|
||||
let expected = {"dest":"worker", "site":"same-origin", "user":"", "mode": "same-origin"};
|
||||
fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected))
|
||||
|
|
|
@ -12,21 +12,21 @@
|
|||
return;
|
||||
|
||||
promise_test(t => {
|
||||
let expected = {"dest":"xslt", "site":"same-origin", "user":"?F", "mode": "same-origin"};
|
||||
let expected = {"dest":"xslt", "site":"same-origin", "user":"", "mode": "same-origin"};
|
||||
return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=xslt-same-origin")
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected));
|
||||
}, "Same-Origin xslt");
|
||||
|
||||
promise_test(t => {
|
||||
let expected = {"dest":"xslt", "site":"same-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"xslt", "site":"same-site", "user":"", "mode": "no-cors"};
|
||||
return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=xslt-same-site")
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected));
|
||||
}, "Same-site xslt");
|
||||
|
||||
promise_test(t => {
|
||||
let expected = {"dest":"xslt", "site":"cross-site", "user":"?F", "mode": "no-cors"};
|
||||
let expected = {"dest":"xslt", "site":"cross-site", "user":"", "mode": "no-cors"};
|
||||
return fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=xslt-cross-site")
|
||||
.then(response => response.text())
|
||||
.then(text => assert_header_equals(text, expected));
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>import() doesn't have any integrity metadata when initiated by compiled strings inside a classic script</title>
|
||||
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
|
||||
<meta http-equiv="Content-Security-Policy" content="require-sri-for script">
|
||||
|
||||
<script src="/resources/testharness.js" integrity="sha384-{{file_hash(sha384, resources/testharness.js)}}"></script>
|
||||
<script src="/resources/testharnessreport.js" integrity="sha384-{{file_hash(sha384, resources/testharnessreport.js)}}"></script>
|
||||
|
||||
<div id="dummy"></div>
|
||||
|
||||
<script>
|
||||
function createTestPromise() {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.continueTest = resolve;
|
||||
window.errorTest = reject;
|
||||
});
|
||||
}
|
||||
|
||||
const dummyDiv = document.querySelector("#dummy");
|
||||
|
||||
const evaluators = {
|
||||
eval,
|
||||
setTimeout,
|
||||
"the Function constructor"(x) {
|
||||
Function(x)();
|
||||
},
|
||||
"reflected inline event handlers"(x) {
|
||||
dummyDiv.setAttribute("onclick", x);
|
||||
dummyDiv.onclick();
|
||||
},
|
||||
"inline event handlers triggered via UA code"(x) {
|
||||
dummyDiv.setAttribute("onclick", x);
|
||||
dummyDiv.click(); // different from .**on**click()
|
||||
}
|
||||
};
|
||||
|
||||
for (const [label, evaluator] of Object.entries(evaluators)) {
|
||||
promise_test(t => {
|
||||
t.add_cleanup(() => {
|
||||
dummyDiv.removeAttribute("onclick");
|
||||
delete window.evaluated_imports_a;
|
||||
});
|
||||
|
||||
const promise = createTestPromise();
|
||||
|
||||
evaluator(`import('../imports-a.js?label=${label}').then(window.continueTest, window.errorTest);`);
|
||||
|
||||
return promise_rejects(t, new TypeError(), promise);
|
||||
}, label + " should fail to import");
|
||||
};
|
||||
</script>
|
|
@ -1,52 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>import() doesn't have any integrity metadata when initiated by compiled strings inside a module script</title>
|
||||
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
|
||||
<meta http-equiv="Content-Security-Policy" content="require-sri-for script">
|
||||
|
||||
<script src="/resources/testharness.js" integrity="sha384-{{file_hash(sha384, resources/testharness.js)}}"></script>
|
||||
<script src="/resources/testharnessreport.js" integrity="sha384-{{file_hash(sha384, resources/testharnessreport.js)}}"></script>
|
||||
|
||||
<div id="dummy"></div>
|
||||
|
||||
<script type="module">
|
||||
function createTestPromise() {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.continueTest = resolve;
|
||||
window.errorTest = reject;
|
||||
});
|
||||
}
|
||||
|
||||
const dummyDiv = document.querySelector("#dummy");
|
||||
|
||||
const evaluators = {
|
||||
eval,
|
||||
setTimeout,
|
||||
"the Function constructor"(x) {
|
||||
Function(x)();
|
||||
},
|
||||
"reflected inline event handlers"(x) {
|
||||
dummyDiv.setAttribute("onclick", x);
|
||||
dummyDiv.onclick();
|
||||
},
|
||||
"inline event handlers triggered via UA code"(x) {
|
||||
dummyDiv.setAttribute("onclick", x);
|
||||
dummyDiv.click(); // different from .**on**click()
|
||||
}
|
||||
};
|
||||
|
||||
for (const [label, evaluator] of Object.entries(evaluators)) {
|
||||
promise_test(t => {
|
||||
t.add_cleanup(() => {
|
||||
dummyDiv.removeAttribute("onclick");
|
||||
delete window.evaluated_imports_a;
|
||||
});
|
||||
|
||||
const promise = createTestPromise();
|
||||
|
||||
evaluator(`import('../imports-a.js?label=${label}').then(window.continueTest, window.errorTest);`);
|
||||
|
||||
return promise_rejects(t, new TypeError(), promise);
|
||||
}, label + " should fail to import");
|
||||
};
|
||||
</script>
|
|
@ -23,7 +23,7 @@ callback PerformanceObserverCallback = void (PerformanceObserverEntryList entrie
|
|||
PerformanceObserver observer);
|
||||
[Constructor(PerformanceObserverCallback callback), Exposed=(Window,Worker)]
|
||||
interface PerformanceObserver {
|
||||
void observe(PerformanceObserverInit options);
|
||||
void observe(optional PerformanceObserverInit options);
|
||||
void disconnect();
|
||||
PerformanceEntryList takeRecords();
|
||||
static readonly attribute FrozenArray<DOMString> supportedEntryTypes;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue