Update web-platform-tests to revision d4f8820261cce3f9ee37353b6d76d247cb12a972

This commit is contained in:
WPT Sync Bot 2019-03-30 21:38:35 -04:00
parent 793b41299b
commit 7cb8ac2fe2
36 changed files with 278 additions and 279 deletions

View file

@ -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

View file

@ -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": [

View file

@ -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

View file

@ -11,6 +11,3 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
[Content-Type-Options%3A%20nosniff]
expected: FAIL

View file

@ -1,4 +0,0 @@
[javascript-url-abort-return-value-string.tentative.html]
[Aborting fetch for javascript:string navigation]
expected: FAIL

View file

@ -1,4 +1,4 @@
[traverse_the_history_5.html]
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,2 @@
[scroll_root.html]
expected: FAIL

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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))

View file

@ -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",
});
});

View file

@ -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))

View file

@ -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>
const USER = true;
const FORCED = false;
function create_test(host, user_activated, expectations) {
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;
assert_header_equals(e.data, {
assert_header_equals(e.data, expectations);
t.done();
}));
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!";
document.body.appendChild(i);
document.body.appendChild(a);
test_driver.click(a);
}
}, `{{host}} -> ${host} iframe: ${user_activated ? "user-activated" : "forced"}`);
}
create_test("{{host}}:{{ports[https][0]}}", FORCED, {
"dest": "nested-document",
"site": "same-origin",
"user": "?F",
"user": "",
"mode": "nested-navigate"
});
t.done();
}));
document.body.appendChild(i);
}, "Same-origin iframe");
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;
assert_header_equals(e.data, {
create_test("{{hosts[][www]}}:{{ports[https][0]}}", FORCED, {
"dest": "nested-document",
"site": "same-site",
"user": "?F",
"user": "",
"mode": "nested-navigate"
});
t.done();
}));
document.body.appendChild(i);
}, "Same-site iframe");
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;
assert_header_equals(e.data, {
create_test("{{hosts[alt][www]}}:{{ports[https][0]}}", FORCED, {
"dest": "nested-document",
"site": "cross-site",
"user": "?F",
"user": "",
"mode": "nested-navigate"
});
t.done();
}));
document.body.appendChild(i);
}, "Cross-site iframe");
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>

View file

@ -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`
});
}),

View file

@ -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))

View file

@ -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())

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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();
}

View file

@ -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");

View file

@ -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))

View file

@ -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())

View file

@ -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))

View file

@ -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)

View file

@ -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",
});
});

View file

@ -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",
});

View file

@ -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))

View file

@ -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));

View file

@ -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>

View file

@ -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>

View file

@ -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;