diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 570c138fcbb..322da5eff25 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -19449,6 +19449,18 @@
{}
]
],
+ "css/CSS2/abspos/between-float-and-text.html": [
+ [
+ "/css/CSS2/abspos/between-float-and-text.html",
+ [
+ [
+ "/css/reference/ref-filled-green-200px-square.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/CSS2/abspos/hypothetical-inline-alone-on-second-line.html": [
[
"/css/CSS2/abspos/hypothetical-inline-alone-on-second-line.html",
@@ -159893,6 +159905,18 @@
{}
]
],
+ "css/css-writing-modes/scrollbar-vertical-rl.html": [
+ [
+ "/css/css-writing-modes/scrollbar-vertical-rl.html",
+ [
+ [
+ "/css/css-writing-modes/reference/scrollbar-vertical-rl-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-writing-modes/sizing-orthog-htb-in-vlr-001.xht": [
[
"/css/css-writing-modes/sizing-orthog-htb-in-vlr-001.xht",
@@ -165481,6 +165505,18 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/break3/moz-block-fragmentation-001.html": [
[
"/css/vendor-imports/mozilla/mozilla-central-reftests/break3/moz-block-fragmentation-001.html",
@@ -166225,6 +166261,66 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001a.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001a.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001b.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001b.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-stacking-context-001a.html": [
[
"/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-stacking-context-001a.html",
@@ -173209,6 +173305,18 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-border-box-001.html": [
[
"/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-border-box-001.html",
@@ -175669,6 +175777,18 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor.html": [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor.html",
+ [
+ [
+ "/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/text3/hyphenation-control-1.html": [
[
"/css/vendor-imports/mozilla/mozilla-central-reftests/text3/hyphenation-control-1.html",
@@ -216832,6 +216952,16 @@
{}
]
],
+ "cookie-store/serviceworker_cookieStore_subscriptions_empty.js": [
+ [
+ {}
+ ]
+ ],
+ "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js": [
+ [
+ {}
+ ]
+ ],
"cookies/META.yml": [
[
{}
@@ -217537,6 +217667,11 @@
{}
]
],
+ "cors/resources/cache-304.py": [
+ [
+ {}
+ ]
+ ],
"cors/resources/checkandremove.py": [
[
{}
@@ -240782,6 +240917,11 @@
{}
]
],
+ "css/css-box/parsing/resources/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-break/META.yml": [
[
{}
@@ -241542,6 +241682,11 @@
{}
]
],
+ "css/css-env/META.yml": [
+ [
+ {}
+ ]
+ ],
"css/css-exclusions/META.yml": [
[
{}
@@ -262027,6 +262172,11 @@
{}
]
],
+ "css/css-writing-modes/parsing/resources/parsing-testcommon.js": [
+ [
+ {}
+ ]
+ ],
"css/css-writing-modes/reference/available-size-001-ref.html": [
[
{}
@@ -262607,6 +262757,11 @@
{}
]
],
+ "css/css-writing-modes/reference/scrollbar-vertical-rl-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-writing-modes/reference/svg-aliasing-001-ref.html": [
[
{}
@@ -268067,6 +268222,11 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list": [
[
{}
@@ -268247,6 +268407,26 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-stacking-context-001-ref.html": [
[
{}
@@ -270272,6 +270452,11 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/reftest.list": [
[
{}
@@ -270932,6 +271117,11 @@
{}
]
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/text3/hyphenation-control-1-ref.html": [
[
{}
@@ -273932,6 +274122,11 @@
{}
]
],
+ "encrypted-media/scripts/playback-temporary-encrypted-clear-segmented-sources.js": [
+ [
+ {}
+ ]
+ ],
"encrypted-media/scripts/playback-temporary-encrypted-clear-sources.js": [
[
{}
@@ -288452,11 +288647,6 @@
{}
]
],
- "infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini": [
- [
- {}
- ]
- ],
"infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini": [
[
{}
@@ -288657,6 +288847,11 @@
{}
]
],
+ "interfaces/credential-management.idl": [
+ [
+ {}
+ ]
+ ],
"interfaces/css-animations.idl": [
[
{}
@@ -288782,6 +288977,11 @@
{}
]
],
+ "interfaces/image-capture.idl": [
+ [
+ {}
+ ]
+ ],
"interfaces/input-events.idl": [
[
{}
@@ -288817,11 +289017,6 @@
{}
]
],
- "interfaces/mediacapture-image.idl": [
- [
- {}
- ]
- ],
"interfaces/mediacapture-main.idl": [
[
{}
@@ -289007,6 +289202,11 @@
{}
]
],
+ "interfaces/webappsec-subresource-integrity.idl": [
+ [
+ {}
+ ]
+ ],
"interfaces/webaudio.idl": [
[
{}
@@ -289127,6 +289327,11 @@
{}
]
],
+ "lifecycle/META.yml": [
+ [
+ {}
+ ]
+ ],
"lifecycle/resources/foo.txt": [
[
{}
@@ -291342,11 +291547,26 @@
{}
]
],
+ "quirks/hashless-hex-color/support/common.js": [
+ [
+ {}
+ ]
+ ],
"quirks/historical/list-item-bullet-size-ref.html": [
[
{}
]
],
+ "quirks/support/test-ref-iframe.js": [
+ [
+ {}
+ ]
+ ],
+ "quirks/unitless-length/support/common.js": [
+ [
+ {}
+ ]
+ ],
"referrer-policy/META.yml": [
[
{}
@@ -298672,6 +298892,11 @@
{}
]
],
+ "webaudio/resources/audiobuffersource-testing.js": [
+ [
+ {}
+ ]
+ ],
"webaudio/resources/audionodeoptions.js": [
[
{}
@@ -298732,6 +298957,11 @@
{}
]
],
+ "webaudio/resources/note-grain-on-testing.js": [
+ [
+ {}
+ ]
+ ],
"webaudio/resources/panner-formulas.js": [
[
{}
@@ -298772,6 +299002,11 @@
{}
]
],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels-expected.wav": [
+ [
+ {}
+ ]
+ ],
"webaudio/the-audio-api/the-audiocontext-interface/.gitkeep": [
[
{}
@@ -299397,7 +299632,12 @@
{}
]
],
- "webrtc/tools/package-lock.json": [
+ "webrtc/tools/codemod-peerconnection-addcleanup": [
+ [
+ {}
+ ]
+ ],
+ "webrtc/tools/html-codemod.js": [
[
{}
]
@@ -315516,123 +315756,99 @@
{}
]
],
- "cookie-store/cookieListItem_attributes.tentative.window.js": [
+ "cookie-store/cookieListItem_attributes.tentative.https.window.js": [
[
- "/cookie-store/cookieListItem_attributes.tentative.window.html",
+ "/cookie-store/cookieListItem_attributes.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_delete_arguments.tentative.window.js": [
+ "cookie-store/cookieStore_delete_arguments.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_delete_arguments.tentative.window.html",
+ "/cookie-store/cookieStore_delete_arguments.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_delete_basic.tentative.window.js": [
+ "cookie-store/cookieStore_delete_basic.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_delete_basic.tentative.window.html",
+ "/cookie-store/cookieStore_delete_basic.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_event_arguments.tenative.window.js": [
+ "cookie-store/cookieStore_event_arguments.tenative.https.window.js": [
[
- "/cookie-store/cookieStore_event_arguments.tenative.window.html",
+ "/cookie-store/cookieStore_event_arguments.tenative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_event_basic.tentative.window.js": [
+ "cookie-store/cookieStore_event_basic.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_event_basic.tentative.window.html",
+ "/cookie-store/cookieStore_event_basic.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_event_delete.tenative.window.js": [
+ "cookie-store/cookieStore_event_delete.tenative.https.window.js": [
[
- "/cookie-store/cookieStore_event_delete.tenative.window.html",
+ "/cookie-store/cookieStore_event_delete.tenative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_event_overwrite.tentative.window.js": [
+ "cookie-store/cookieStore_event_overwrite.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_event_overwrite.tentative.window.html",
+ "/cookie-store/cookieStore_event_overwrite.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_getAll_arguments.tentative.window.js": [
+ "cookie-store/cookieStore_getAll_arguments.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_getAll_arguments.tentative.window.html",
+ "/cookie-store/cookieStore_getAll_arguments.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_getAll_set_basic.tentative.window.js": [
+ "cookie-store/cookieStore_getAll_multiple.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_getAll_set_basic.tentative.window.html",
+ "/cookie-store/cookieStore_getAll_multiple.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_get_arguments.tentative.window.js": [
+ "cookie-store/cookieStore_getAll_set_basic.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_get_arguments.tentative.window.html",
+ "/cookie-store/cookieStore_getAll_set_basic.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_get_delete_basic.tentative.window.js": [
+ "cookie-store/cookieStore_get_arguments.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_get_delete_basic.tentative.window.html",
+ "/cookie-store/cookieStore_get_arguments.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_get_set_basic.tentative.window.js": [
+ "cookie-store/cookieStore_get_delete_basic.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_get_set_basic.tentative.window.html",
+ "/cookie-store/cookieStore_get_delete_basic.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_has_arguments.tentative.window.js": [
+ "cookie-store/cookieStore_get_set_basic.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_has_arguments.tentative.window.html",
+ "/cookie-store/cookieStore_get_set_basic.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_has_basic.tentative.window.js": [
+ "cookie-store/cookieStore_in_detached_frame.tentative.https.html": [
[
- "/cookie-store/cookieStore_has_basic.tentative.window.html",
+ "/cookie-store/cookieStore_in_detached_frame.tentative.https.html",
{}
]
],
- "cookie-store/cookieStore_in_detached_frame.tentative.html": [
+ "cookie-store/cookieStore_set_arguments.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_in_detached_frame.tentative.html",
+ "/cookie-store/cookieStore_set_arguments.tentative.https.window.html",
{}
]
],
- "cookie-store/cookieStore_set_arguments.tentative.window.js": [
+ "cookie-store/cookieStore_special_names.tentative.https.window.js": [
[
- "/cookie-store/cookieStore_set_arguments.tentative.window.html",
- {}
- ]
- ],
- "cookie-store/cookieStore_set_expires_option.tentative.window.js": [
- [
- "/cookie-store/cookieStore_set_expires_option.tentative.window.html",
- {}
- ]
- ],
- "cookie-store/cookieStore_special_names.tentative.html": [
- [
- "/cookie-store/cookieStore_special_names.tentative.html",
- {}
- ]
- ],
- "cookie-store/cookieStore_special_names.tentative.https.html": [
- [
- "/cookie-store/cookieStore_special_names.tentative.https.html",
- {}
- ]
- ],
- "cookie-store/document_cookie.tentative.html": [
- [
- "/cookie-store/document_cookie.tentative.html",
+ "/cookie-store/cookieStore_special_names.tentative.https.window.html",
{}
]
],
@@ -315642,33 +315858,21 @@
{}
]
],
- "cookie-store/document_getAll_multiple.tentative.html": [
- [
- "/cookie-store/document_getAll_multiple.tentative.html",
- {}
- ]
- ],
- "cookie-store/http_cookie_and_set_cookie_headers.tentative.html": [
- [
- "/cookie-store/http_cookie_and_set_cookie_headers.tentative.html",
- {}
- ]
- ],
"cookie-store/http_cookie_and_set_cookie_headers.tentative.https.html": [
[
"/cookie-store/http_cookie_and_set_cookie_headers.tentative.https.html",
{}
]
],
- "cookie-store/httponly_cookies.window.js": [
+ "cookie-store/httponly_cookies.https.window.js": [
[
- "/cookie-store/httponly_cookies.window.html",
+ "/cookie-store/httponly_cookies.https.window.html",
{}
]
],
- "cookie-store/idlharness.tentative.html": [
+ "cookie-store/idlharness.tentative.https.html": [
[
- "/cookie-store/idlharness.tentative.html",
+ "/cookie-store/idlharness.tentative.https.html",
{}
]
],
@@ -315678,36 +315882,18 @@
{}
]
],
- "cookie-store/no_name_and_no_value.tentative.html": [
- [
- "/cookie-store/no_name_and_no_value.tentative.html",
- {}
- ]
- ],
"cookie-store/no_name_and_no_value.tentative.https.html": [
[
"/cookie-store/no_name_and_no_value.tentative.https.html",
{}
]
],
- "cookie-store/no_name_equals_in_value.tentative.html": [
- [
- "/cookie-store/no_name_equals_in_value.tentative.html",
- {}
- ]
- ],
"cookie-store/no_name_equals_in_value.tentative.https.html": [
[
"/cookie-store/no_name_equals_in_value.tentative.https.html",
{}
]
],
- "cookie-store/no_name_multiple_values.tentative.html": [
- [
- "/cookie-store/no_name_multiple_values.tentative.html",
- {}
- ]
- ],
"cookie-store/no_name_multiple_values.tentative.https.html": [
[
"/cookie-store/no_name_multiple_values.tentative.https.html",
@@ -315744,6 +315930,18 @@
{}
]
],
+ "cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html": [
+ [
+ "/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html",
+ {}
+ ]
+ ],
+ "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html": [
+ [
+ "/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html",
+ {}
+ ]
+ ],
"cookies/http-state/attribute-tests.html": [
[
"/cookies/http-state/attribute-tests.html",
@@ -316020,6 +316218,12 @@
{}
]
],
+ "cors/script-304.html": [
+ [
+ "/cors/script-304.html",
+ {}
+ ]
+ ],
"cors/simple-requests.htm": [
[
"/cors/simple-requests.htm",
@@ -316058,9 +316262,9 @@
{}
]
],
- "credential-management/idl.https.html": [
+ "credential-management/idlharness.https.window.js": [
[
- "/credential-management/idl.https.html",
+ "/credential-management/idlharness.https.window.html",
{}
]
],
@@ -317032,6 +317236,156 @@
{}
]
],
+ "css/css-box/parsing/clear-invalid.html": [
+ [
+ "/css/css-box/parsing/clear-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/clear-valid.html": [
+ [
+ "/css/css-box/parsing/clear-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/float-invalid.html": [
+ [
+ "/css/css-box/parsing/float-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/float-valid.html": [
+ [
+ "/css/css-box/parsing/float-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/height-invalid.html": [
+ [
+ "/css/css-box/parsing/height-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/height-valid.html": [
+ [
+ "/css/css-box/parsing/height-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/margin-invalid.html": [
+ [
+ "/css/css-box/parsing/margin-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/margin-valid.html": [
+ [
+ "/css/css-box/parsing/margin-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/max-height-invalid.html": [
+ [
+ "/css/css-box/parsing/max-height-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/max-height-valid.html": [
+ [
+ "/css/css-box/parsing/max-height-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/max-width-invalid.html": [
+ [
+ "/css/css-box/parsing/max-width-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/max-width-valid.html": [
+ [
+ "/css/css-box/parsing/max-width-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/min-height-invalid.html": [
+ [
+ "/css/css-box/parsing/min-height-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/min-height-valid.html": [
+ [
+ "/css/css-box/parsing/min-height-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/min-width-invalid.html": [
+ [
+ "/css/css-box/parsing/min-width-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/min-width-valid.html": [
+ [
+ "/css/css-box/parsing/min-width-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/overflow-invalid.html": [
+ [
+ "/css/css-box/parsing/overflow-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/overflow-valid.html": [
+ [
+ "/css/css-box/parsing/overflow-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/padding-invalid.html": [
+ [
+ "/css/css-box/parsing/padding-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/padding-valid.html": [
+ [
+ "/css/css-box/parsing/padding-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/visibility-invalid.html": [
+ [
+ "/css/css-box/parsing/visibility-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/visibility-valid.html": [
+ [
+ "/css/css-box/parsing/visibility-valid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/width-invalid.html": [
+ [
+ "/css/css-box/parsing/width-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-box/parsing/width-valid.html": [
+ [
+ "/css/css-box/parsing/width-valid.html",
+ {}
+ ]
+ ],
+ "css/css-cascade/all-prop-initial-xml.html": [
+ [
+ "/css/css-cascade/all-prop-initial-xml.html",
+ {}
+ ]
+ ],
"css/css-cascade/inherit-initial.html": [
[
"/css/css-cascade/inherit-initial.html",
@@ -319434,6 +319788,12 @@
{}
]
],
+ "css/css-logical/logical-box-border-shorthands.html": [
+ [
+ "/css/css-logical/logical-box-border-shorthands.html",
+ {}
+ ]
+ ],
"css/css-logical/logical-box-border-style.html": [
[
"/css/css-logical/logical-box-border-style.html",
@@ -320004,6 +320364,12 @@
{}
]
],
+ "css/css-scroll-snap/overflowing-snap-areas.html": [
+ [
+ "/css/css-scroll-snap/overflowing-snap-areas.html",
+ {}
+ ]
+ ],
"css/css-scroll-snap/scroll-snap-type-proximity.html": [
[
"/css/css-scroll-snap/scroll-snap-type-proximity.html",
@@ -322182,6 +322548,12 @@
{}
]
],
+ "css/css-text/white-space/trailing-space-before-br-001.html": [
+ [
+ "/css/css-text/white-space/trailing-space-before-br-001.html",
+ {}
+ ]
+ ],
"css/css-text/white-space/white-space-collapse-000.html": [
[
"/css/css-text/white-space/white-space-collapse-000.html",
@@ -322296,6 +322668,42 @@
{}
]
],
+ "css/css-transforms/parsing/transform-box-invalid.html": [
+ [
+ "/css/css-transforms/parsing/transform-box-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-transforms/parsing/transform-box-valid.html": [
+ [
+ "/css/css-transforms/parsing/transform-box-valid.html",
+ {}
+ ]
+ ],
+ "css/css-transforms/parsing/transform-invalid.html": [
+ [
+ "/css/css-transforms/parsing/transform-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-transforms/parsing/transform-origin-invalid.html": [
+ [
+ "/css/css-transforms/parsing/transform-origin-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-transforms/parsing/transform-origin-valid.html": [
+ [
+ "/css/css-transforms/parsing/transform-origin-valid.html",
+ {}
+ ]
+ ],
+ "css/css-transforms/parsing/transform-valid.html": [
+ [
+ "/css/css-transforms/parsing/transform-valid.html",
+ {}
+ ]
+ ],
"css/css-transforms/parsing/translate-parsing-invalid.html": [
[
"/css/css-transforms/parsing/translate-parsing-invalid.html",
@@ -325224,6 +325632,66 @@
{}
]
],
+ "css/css-writing-modes/parsing/direction-invalid.html": [
+ [
+ "/css/css-writing-modes/parsing/direction-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/direction-valid.html": [
+ [
+ "/css/css-writing-modes/parsing/direction-valid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/text-combine-upright-invalid.html": [
+ [
+ "/css/css-writing-modes/parsing/text-combine-upright-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/text-combine-upright-valid.html": [
+ [
+ "/css/css-writing-modes/parsing/text-combine-upright-valid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/text-orientation-invalid.html": [
+ [
+ "/css/css-writing-modes/parsing/text-orientation-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/text-orientation-valid.html": [
+ [
+ "/css/css-writing-modes/parsing/text-orientation-valid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/unicode-bidi-invalid.html": [
+ [
+ "/css/css-writing-modes/parsing/unicode-bidi-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/unicode-bidi-valid.html": [
+ [
+ "/css/css-writing-modes/parsing/unicode-bidi-valid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/writing-mode-invalid.html": [
+ [
+ "/css/css-writing-modes/parsing/writing-mode-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-writing-modes/parsing/writing-mode-valid.html": [
+ [
+ "/css/css-writing-modes/parsing/writing-mode-valid.html",
+ {}
+ ]
+ ],
"css/css-writing-modes/text-combine-upright-parsing-digits-001.html": [
[
"/css/css-writing-modes/text-combine-upright-parsing-digits-001.html",
@@ -337190,6 +337658,12 @@
{}
]
],
+ "encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html": [
+ [
+ "/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html",
+ {}
+ ]
+ ],
"encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https.html": [
[
"/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https.html",
@@ -339196,10 +339670,20 @@
],
"fetch/api/request/request-keepalive-quota.html": [
[
- "/fetch/api/request/request-keepalive-quota.html",
- {
- "timeout": "long"
- }
+ "/fetch/api/request/request-keepalive-quota.html?include=fast",
+ {}
+ ],
+ [
+ "/fetch/api/request/request-keepalive-quota.html?include=slow-1",
+ {}
+ ],
+ [
+ "/fetch/api/request/request-keepalive-quota.html?include=slow-2",
+ {}
+ ],
+ [
+ "/fetch/api/request/request-keepalive-quota.html?include=slow-3",
+ {}
]
],
"fetch/api/request/request-keepalive.html": [
@@ -339454,9 +339938,19 @@
{}
]
],
- "fetch/cross-origin-resource-policy/fetch.html": [
+ "fetch/cross-origin-resource-policy/fetch-in-service-worker.html": [
[
- "/fetch/cross-origin-resource-policy/fetch.html",
+ "/fetch/cross-origin-resource-policy/fetch-in-service-worker.html",
+ {}
+ ]
+ ],
+ "fetch/cross-origin-resource-policy/fetch.any.js": [
+ [
+ "/fetch/cross-origin-resource-policy/fetch.any.html",
+ {}
+ ],
+ [
+ "/fetch/cross-origin-resource-policy/fetch.any.worker.html",
{}
]
],
@@ -343888,6 +344382,12 @@
{}
]
],
+ "html/scripting/the-noscript-element/non-html-noscript.html": [
+ [
+ "/html/scripting/the-noscript-element/non-html-noscript.html",
+ {}
+ ]
+ ],
"html/semantics/disabled-elements/disabledElement.html": [
[
"/html/semantics/disabled-elements/disabledElement.html",
@@ -366320,9 +366820,25 @@
{}
]
],
- "quirks/hashless-hex-color.html": [
+ "quirks/hashless-hex-color/limited-quirks.html": [
[
- "/quirks/hashless-hex-color.html",
+ "/quirks/hashless-hex-color/limited-quirks.html",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "quirks/hashless-hex-color/no-quirks.html": [
+ [
+ "/quirks/hashless-hex-color/no-quirks.html",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "quirks/hashless-hex-color/quirks.html": [
+ [
+ "/quirks/hashless-hex-color/quirks.html",
{
"timeout": "long"
}
@@ -366358,9 +366874,21 @@
{}
]
],
- "quirks/unitless-length.html": [
+ "quirks/unitless-length/limited-quirks.html": [
[
- "/quirks/unitless-length.html",
+ "/quirks/unitless-length/limited-quirks.html",
+ {}
+ ]
+ ],
+ "quirks/unitless-length/no-quirks.html": [
+ [
+ "/quirks/unitless-length/no-quirks.html",
+ {}
+ ]
+ ],
+ "quirks/unitless-length/quirks.html": [
+ [
+ "/quirks/unitless-length/quirks.html",
{}
]
],
@@ -379322,6 +379850,12 @@
{}
]
],
+ "subresource-integrity/idlharness.window.js": [
+ [
+ "/subresource-integrity/idlharness.window.html",
+ {}
+ ]
+ ],
"subresource-integrity/subresource-css-ed25519.tentative.html": [
[
"/subresource-integrity/subresource-css-ed25519.tentative.html",
@@ -381066,12 +381600,90 @@
{}
]
],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-basic.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-basic.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-ended.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-ended.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits.html",
+ {}
+ ]
+ ],
"webaudio/the-audio-api/the-audiobuffersourcenode-interface/ctor-audiobuffersource.html": [
[
"/webaudio/the-audio-api/the-audiobuffersourcenode-interface/ctor-audiobuffersource.html",
{}
]
],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing.html",
+ {}
+ ]
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling.html": [
+ [
+ "/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling.html",
+ {}
+ ]
+ ],
"webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html": [
[
"/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html",
@@ -381582,6 +382194,12 @@
{}
]
],
+ "webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-already-has-value.html": [
+ [
+ "/webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-already-has-value.html",
+ {}
+ ]
+ ],
"webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-null.html": [
[
"/webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-null.html",
@@ -408742,7 +409360,7 @@
"support"
],
"./lint.whitelist": [
- "7f96383c023ae0602813a441202c3be6bc44e624",
+ "1fd41d38b2af42fffea5bc09c0348feb0f078e85",
"support"
],
"./serve.py": [
@@ -439857,107 +440475,83 @@
"40595162d15dec7e315ef16f94646045596d7b1c",
"support"
],
- "cookie-store/cookieListItem_attributes.tentative.window.js": [
- "7d89e9ee77bad065c75bdb4f3467852dbf256b09",
+ "cookie-store/cookieListItem_attributes.tentative.https.window.js": [
+ "773ad9b5ea3636497f9f90c57e5bc5a2fa63c289",
"testharness"
],
- "cookie-store/cookieStore_delete_arguments.tentative.window.js": [
+ "cookie-store/cookieStore_delete_arguments.tentative.https.window.js": [
"740fccd53713d8ffdd84aa388580630025fc016c",
"testharness"
],
- "cookie-store/cookieStore_delete_basic.tentative.window.js": [
+ "cookie-store/cookieStore_delete_basic.tentative.https.window.js": [
"c0a5c01ffcdd3755eb3db3dc4a6ec398fd2aba37",
"testharness"
],
- "cookie-store/cookieStore_event_arguments.tenative.window.js": [
+ "cookie-store/cookieStore_event_arguments.tenative.https.window.js": [
"a61074b6062928c29a83e0f7d456fdce9e3a3d47",
"testharness"
],
- "cookie-store/cookieStore_event_basic.tentative.window.js": [
+ "cookie-store/cookieStore_event_basic.tentative.https.window.js": [
"f6f20c4b587ed51d31ffc9f8bed1dfb7d092a064",
"testharness"
],
- "cookie-store/cookieStore_event_delete.tenative.window.js": [
+ "cookie-store/cookieStore_event_delete.tenative.https.window.js": [
"b492c6567ef91ea0def4195b049f9553bbc8271d",
"testharness"
],
- "cookie-store/cookieStore_event_overwrite.tentative.window.js": [
+ "cookie-store/cookieStore_event_overwrite.tentative.https.window.js": [
"cd238bae3c79a5f3c6e385466fe29487bf0e4c70",
"testharness"
],
- "cookie-store/cookieStore_getAll_arguments.tentative.window.js": [
- "4804767f6398c3d10d726d21895ae3b72c8f23f3",
+ "cookie-store/cookieStore_getAll_arguments.tentative.https.window.js": [
+ "ea9bc48ed9d2da2523b97d92de84c65226206211",
"testharness"
],
- "cookie-store/cookieStore_getAll_set_basic.tentative.window.js": [
+ "cookie-store/cookieStore_getAll_multiple.tentative.https.window.js": [
+ "f54045073f8db4f16682da3a4cabc98feb6bdd2e",
+ "testharness"
+ ],
+ "cookie-store/cookieStore_getAll_set_basic.tentative.https.window.js": [
"d3c3430fa08d8573e6d95c56e0b91604286eb632",
"testharness"
],
- "cookie-store/cookieStore_get_arguments.tentative.window.js": [
- "1f63b8fc5b9e6a1e0a4aa925d2d3084cb1ea093a",
+ "cookie-store/cookieStore_get_arguments.tentative.https.window.js": [
+ "ea197608e10369f700585066bb91e6846df2fe73",
"testharness"
],
- "cookie-store/cookieStore_get_delete_basic.tentative.window.js": [
+ "cookie-store/cookieStore_get_delete_basic.tentative.https.window.js": [
"a5f91a2bbe6c619b01a9e3deb473645a36c85b44",
"testharness"
],
- "cookie-store/cookieStore_get_set_basic.tentative.window.js": [
+ "cookie-store/cookieStore_get_set_basic.tentative.https.window.js": [
"475f0cdc18f63a0b3a710800a7a4ed82fd7b8ee8",
"testharness"
],
- "cookie-store/cookieStore_has_arguments.tentative.window.js": [
- "2a73b3ce79da4a3a49cd1580a1c8796b5c54c3a1",
- "testharness"
- ],
- "cookie-store/cookieStore_has_basic.tentative.window.js": [
- "e258d62c411d54d7d5cf016adf78132bb9aa9fae",
- "testharness"
- ],
- "cookie-store/cookieStore_in_detached_frame.tentative.html": [
+ "cookie-store/cookieStore_in_detached_frame.tentative.https.html": [
"600452c1a496b8335b27bd24943b8834e37bf4d5",
"testharness"
],
- "cookie-store/cookieStore_set_arguments.tentative.window.js": [
- "86cdff2d6d564eef090342adb3d41c0b1e1c4513",
+ "cookie-store/cookieStore_set_arguments.tentative.https.window.js": [
+ "832b25b61626d3c9656731470ea06e0f95028958",
"testharness"
],
- "cookie-store/cookieStore_set_expires_option.tentative.window.js": [
- "1425be76976edef1e9c8ef222ab90e956eb21bae",
- "testharness"
- ],
- "cookie-store/cookieStore_special_names.tentative.html": [
- "f839e2825dd18a6f54639fc2b7d4a18ce9906b25",
- "testharness"
- ],
- "cookie-store/cookieStore_special_names.tentative.https.html": [
- "4d53aaecbf9fea2865ca6492bc69b2ec3a47af79",
- "testharness"
- ],
- "cookie-store/document_cookie.tentative.html": [
- "23916c5325b2c98875eac4ab7291622b44974daf",
+ "cookie-store/cookieStore_special_names.tentative.https.window.js": [
+ "36bcdc14981a5d71f5e46f1cef4ee2031434bc62",
"testharness"
],
"cookie-store/document_cookie.tentative.https.html": [
"447ba96e7bb23a0def44817e584891097bb81998",
"testharness"
],
- "cookie-store/document_getAll_multiple.tentative.html": [
- "270700a50ac04a995665700688297b81c372ce37",
- "testharness"
- ],
- "cookie-store/http_cookie_and_set_cookie_headers.tentative.html": [
- "7fb04dc519bafed5f35493f65664b51e23131a1d",
- "testharness"
- ],
"cookie-store/http_cookie_and_set_cookie_headers.tentative.https.html": [
"2ccfc03ad6fedb063e2cd3ff9726b8d482ab5cf0",
"testharness"
],
- "cookie-store/httponly_cookies.window.js": [
+ "cookie-store/httponly_cookies.https.window.js": [
"29d9c0bfaa9aa3e7115758731156dbeca9e736dc",
"testharness"
],
- "cookie-store/idlharness.tentative.html": [
+ "cookie-store/idlharness.tentative.https.html": [
"043875184fa56ad41cda11e6f84314a7aebdb17f",
"testharness"
],
@@ -439969,26 +440563,14 @@
"0c8a1302ab1839cab71c87db2bda1ca6abcb6a23",
"testharness"
],
- "cookie-store/no_name_and_no_value.tentative.html": [
- "da68f9d93ef6f0f91da4827240e32a1e93a8df73",
- "testharness"
- ],
"cookie-store/no_name_and_no_value.tentative.https.html": [
"61cfa6f1e5ee1e9165dcc16e32486660a1da9c42",
"testharness"
],
- "cookie-store/no_name_equals_in_value.tentative.html": [
- "07d5e9462c4395002f23aa4aaf25ae795f9f2452",
- "testharness"
- ],
"cookie-store/no_name_equals_in_value.tentative.https.html": [
"61e7a3cc1f5b197d924c76098b66979d00444012",
"testharness"
],
- "cookie-store/no_name_multiple_values.tentative.html": [
- "edab422cf19fcdb906e20dcba9dc4a90dde41415",
- "testharness"
- ],
"cookie-store/no_name_multiple_values.tentative.https.html": [
"aa3ed15714a1ed2b7cac4ba2fc7998d9792b7339",
"testharness"
@@ -440030,7 +440612,7 @@
"support"
],
"cookie-store/serviceworker_cookieStore_arguments.js": [
- "a90956237d63fd51556f2d9e50967522870816d4",
+ "3260186907a9b4779e1a303eec499f880a270ac7",
"support"
],
"cookie-store/serviceworker_cookieStore_arguments.tentative.https.html": [
@@ -440038,7 +440620,7 @@
"testharness"
],
"cookie-store/serviceworker_cookieStore_basic.js": [
- "38fe0bc6fbf08e5387f81e32348252c481af03c0",
+ "515dc7d31bbc6af83276939dbb997ccd0e8de3ec",
"support"
],
"cookie-store/serviceworker_cookieStore_basic.tentative.https.html": [
@@ -440046,7 +440628,7 @@
"testharness"
],
"cookie-store/serviceworker_cookieStore_subscriptions.js": [
- "4fb3574d207f1dc09e488830714eb70b8bda55b4",
+ "7e140635e7587de1c606a0faf4a0bf8d8eb8c41e",
"support"
],
"cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html": [
@@ -440054,13 +440636,29 @@
"testharness"
],
"cookie-store/serviceworker_cookieStore_subscriptions_basic.js": [
- "9de2007372d39f2c8552d476582a482b6a4bd1b4",
+ "9b477518ee4c8cdc103d3cab11cca371b7b2f72d",
"support"
],
"cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html": [
"3836f1d36746ae11b76ee420ba34d902d48bc0af",
"testharness"
],
+ "cookie-store/serviceworker_cookieStore_subscriptions_empty.js": [
+ "fd8cf9d3dab06824cf0497c44a388c0cea7d02d6",
+ "support"
+ ],
+ "cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html": [
+ "3f8ec6177bc54738213fab8a1f8947d58714456d",
+ "testharness"
+ ],
+ "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js": [
+ "fa57006fdb09070feb6c7a83553d300d725761b6",
+ "support"
+ ],
+ "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html": [
+ "594f019786ffb316e8140e9f30a2cecadceda2fa",
+ "testharness"
+ ],
"cookies/META.yml": [
"7456d333deb42015924578efc2a9269fbfa696bf",
"support"
@@ -441697,6 +442295,10 @@
"9cf4e4db6b0a74fa25f1ab500e91acf90b1c9db6",
"support"
],
+ "cors/resources/cache-304.py": [
+ "d95bb900081cf25253c758c1979e214021f21825",
+ "support"
+ ],
"cors/resources/checkandremove.py": [
"d891a6e489124e4ef7f82faa51a5e2a7221925f9",
"support"
@@ -441733,6 +442335,10 @@
"e26f213e67940865d3d535f9fa173c999dbef31e",
"testharness"
],
+ "cors/script-304.html": [
+ "f3b0b2090f2ef74458a32a9805b4289aba5fd534",
+ "testharness"
+ ],
"cors/simple-requests.htm": [
"608ea76c3209d7e803b4d4c1b02035e8493d52d5",
"testharness"
@@ -441765,8 +442371,8 @@
"561636e62d50da2d14e50516c62cbaea1c5bb924",
"testharness"
],
- "credential-management/idl.https.html": [
- "e9a108beef51c52bbaaf2e53371aec57e69541c0",
+ "credential-management/idlharness.https.window.js": [
+ "9680556aa4d42fa7f86451640a2860caee06a042",
"testharness"
],
"credential-management/passwordcredential-framed-get.sub.https.html": [
@@ -441921,6 +442527,10 @@
"f060b356887b9ceb49be019634657b847bfffe81",
"reftest"
],
+ "css/CSS2/abspos/between-float-and-text.html": [
+ "9594a6d5643108ccd06b2d4a230a1c3c9e4b1bdd",
+ "reftest"
+ ],
"css/CSS2/abspos/hypothetical-inline-alone-on-second-line-ref.html": [
"1b59f53e07a23d5adcff80646ed1c2e644590674",
"support"
@@ -504537,6 +505147,106 @@
"ceb5773fc9d6264d1f9210d8675b7bf48764d296",
"reftest"
],
+ "css/css-box/parsing/clear-invalid.html": [
+ "ee593f2639cdfb9a26edad7eb5de002e4d077850",
+ "testharness"
+ ],
+ "css/css-box/parsing/clear-valid.html": [
+ "c7a6815b7ba52412c376fef82115b6253fe76bdb",
+ "testharness"
+ ],
+ "css/css-box/parsing/float-invalid.html": [
+ "dda7379c1d0a45dae405ac599c9ab6ec82bba7de",
+ "testharness"
+ ],
+ "css/css-box/parsing/float-valid.html": [
+ "450d8e39065e1b70fef54da8f71ee4d964d0874c",
+ "testharness"
+ ],
+ "css/css-box/parsing/height-invalid.html": [
+ "1e64c2115fab346fe519e4f82d6e8cbd5eadd6df",
+ "testharness"
+ ],
+ "css/css-box/parsing/height-valid.html": [
+ "6748edae8c0116264361f1677176788751a3f5fd",
+ "testharness"
+ ],
+ "css/css-box/parsing/margin-invalid.html": [
+ "02b8f1197408b5e6266e429d4e86f97aec7573ae",
+ "testharness"
+ ],
+ "css/css-box/parsing/margin-valid.html": [
+ "6c63a5bf1b5d44b2429d0d1e6df6149db626c04c",
+ "testharness"
+ ],
+ "css/css-box/parsing/max-height-invalid.html": [
+ "f5681a9b9166e6ad1e0dd9dffe6e9086d9f2aa45",
+ "testharness"
+ ],
+ "css/css-box/parsing/max-height-valid.html": [
+ "39eba8c0f2cb7a928f906d2114318d02adfa931e",
+ "testharness"
+ ],
+ "css/css-box/parsing/max-width-invalid.html": [
+ "79a162578c69e2894e1b5ad1e6e8157736b74c2a",
+ "testharness"
+ ],
+ "css/css-box/parsing/max-width-valid.html": [
+ "36b408f3adcb3f511e95e99d0e222fc863793752",
+ "testharness"
+ ],
+ "css/css-box/parsing/min-height-invalid.html": [
+ "5dbcd534780891103b98ef2f8a7ac2e55a0e5d4c",
+ "testharness"
+ ],
+ "css/css-box/parsing/min-height-valid.html": [
+ "7c2b05368598f29e9961ffc4b79a481ccf56e473",
+ "testharness"
+ ],
+ "css/css-box/parsing/min-width-invalid.html": [
+ "2aec4d98131be0de37aada0d6ea22a7128eab11c",
+ "testharness"
+ ],
+ "css/css-box/parsing/min-width-valid.html": [
+ "c98fa942b4300deb4b53cd897c7edbf036946214",
+ "testharness"
+ ],
+ "css/css-box/parsing/overflow-invalid.html": [
+ "9be5ab7e7006147705f999ff81a5bde9cd5335c9",
+ "testharness"
+ ],
+ "css/css-box/parsing/overflow-valid.html": [
+ "03c026f82b3a915e16fd8570491c5e11f11e7bfb",
+ "testharness"
+ ],
+ "css/css-box/parsing/padding-invalid.html": [
+ "d0cc715ad6ce1e2488bd874d9ee3eeb1a3ffaf8d",
+ "testharness"
+ ],
+ "css/css-box/parsing/padding-valid.html": [
+ "c5d31987e637c39891d4568bbc1076714025898a",
+ "testharness"
+ ],
+ "css/css-box/parsing/resources/parsing-testcommon.js": [
+ "14f32b772f27a9bc75fe90e2ea1d8e4fb3649e95",
+ "support"
+ ],
+ "css/css-box/parsing/visibility-invalid.html": [
+ "6a6c23d644c887c81b4456b8262ca18107b4370f",
+ "testharness"
+ ],
+ "css/css-box/parsing/visibility-valid.html": [
+ "91f1bca19b97a3d7b0adffedf01110bf548e39d9",
+ "testharness"
+ ],
+ "css/css-box/parsing/width-invalid.html": [
+ "8630f0656bd070b707cbd48ef7d0c24a183b913b",
+ "testharness"
+ ],
+ "css/css-box/parsing/width-valid.html": [
+ "2fe349753adc16ea57af2ad0759c567b6c6e83d3",
+ "testharness"
+ ],
"css/css-break/META.yml": [
"4840f714501765d5bf6f0986fd453d5bf1ac3787",
"support"
@@ -504561,6 +505271,10 @@
"1013a238512119cb926cf98db0e3cb2e33143ec3",
"reftest"
],
+ "css/css-cascade/all-prop-initial-xml.html": [
+ "aace7279b07ffc726175baeab325018eddcc792b",
+ "testharness"
+ ],
"css/css-cascade/important-prop-ref.html": [
"3633b0204ab1cb13060656736d05c8666a5886d7",
"support"
@@ -505774,7 +506488,7 @@
"reftest"
],
"css/css-contain/contain-size-013.html": [
- "22031a540503764e51111a7e5f9c91a0509b01f8",
+ "8974279263fbd89e1b781ee9481c7466ce073f1e",
"reftest"
],
"css/css-contain/contain-size-breaks-001.html": [
@@ -505874,7 +506588,7 @@
"support"
],
"css/css-contain/reference/contain-paint-007-ref.html": [
- "090aba85ddcf927a33de227157ac8e411fd5c268",
+ "c34cc4f333edcc4949ae8418ca736154632dc5eb",
"support"
],
"css/css-contain/reference/contain-paint-008-ref.html": [
@@ -507957,6 +508671,10 @@
"f9699f59878f869cf0eb62d6b46ff118f6abfcf3",
"support"
],
+ "css/css-env/META.yml": [
+ "f05175dd6526e7891c551bb034d190c937a7d555",
+ "support"
+ ],
"css/css-env/at-supports.tentative.html": [
"a93a3fe4ce531b5693060c3bb3c1c340a25ea490",
"testharness"
@@ -521122,7 +521840,7 @@
"support"
],
"css/css-images/parsing/gradient-position-invalid.html": [
- "5bae73095070f46bc8f38a58fb3808d473d60058",
+ "dbddb52f007c399a575f3fcd3714f037cc5c9ed1",
"testharness"
],
"css/css-images/parsing/gradient-position-valid.html": [
@@ -521853,6 +522571,10 @@
"9e3a2a3796bf840f0e3ff78e54ad0382adff5b36",
"testharness"
],
+ "css/css-logical/logical-box-border-shorthands.html": [
+ "c02cf997b0f7046a0332079a57deaea78f132057",
+ "testharness"
+ ],
"css/css-logical/logical-box-border-style.html": [
"b4e50119630c3b3b82f8ffbd03d7e221d77735f7",
"testharness"
@@ -521898,7 +522620,7 @@
"testharness"
],
"css/css-logical/resources/test-box-properties.js": [
- "132f6024928641f0cd1f0580e69126a8ab02eba8",
+ "ce6a045e4afb9992c0ac13312f8b6516162d19a7",
"support"
],
"css/css-masking/META.yml": [
@@ -527653,12 +528375,16 @@
"d6432e3ad547c16ead21070cc04278b13ec49b58",
"support"
],
+ "css/css-scroll-snap/overflowing-snap-areas.html": [
+ "d290c9e941ee860e1d7f16e40c60c9f9696788c8",
+ "testharness"
+ ],
"css/css-scroll-snap/scroll-snap-type-proximity.html": [
"75bfc0b6c7686afbbf431e653ab674496ad3fe46",
"testharness"
],
"css/css-scroll-snap/scrollTo-scrollBy-snaps.html": [
- "6e921f3b1c54df09d594d5e450674618eee42143",
+ "1cd26585c857250870a3cafdfa077110b7403e5c",
"testharness"
],
"css/css-scroll-snap/snap-at-user-scroll-end-manual.html": [
@@ -534001,6 +534727,10 @@
"4a0b79a1d58df46801162579c9d76f7854f1dc73",
"reftest"
],
+ "css/css-text/white-space/trailing-space-before-br-001.html": [
+ "e00364180ce0af22bcb38312dd1e578527f06b2b",
+ "testharness"
+ ],
"css/css-text/white-space/white-space-collapse-000.html": [
"311f61dd93bf7b39b07f14aacad5d4bd77639cb2",
"testharness"
@@ -535457,6 +536187,30 @@
"b715fd67ba6e2aa0d0bddd7c0342c80af1f70690",
"testharness"
],
+ "css/css-transforms/parsing/transform-box-invalid.html": [
+ "68bba0550ce8a7a2439ff750f5f570b3bb8745ca",
+ "testharness"
+ ],
+ "css/css-transforms/parsing/transform-box-valid.html": [
+ "ec155f1a87f57f6b21803816fd4fd740bb88295a",
+ "testharness"
+ ],
+ "css/css-transforms/parsing/transform-invalid.html": [
+ "1fef3227ea79618e5ce262c9052ef323515e7ae9",
+ "testharness"
+ ],
+ "css/css-transforms/parsing/transform-origin-invalid.html": [
+ "ef7189aed47a3425cb8ac99792f0be5a14187fdd",
+ "testharness"
+ ],
+ "css/css-transforms/parsing/transform-origin-valid.html": [
+ "dad6cd0f561a7c786b71be7acec320f41475ea8f",
+ "testharness"
+ ],
+ "css/css-transforms/parsing/transform-valid.html": [
+ "81df9ceb4a0205b2bb6a0a8d63397d94d591814e",
+ "testharness"
+ ],
"css/css-transforms/parsing/translate-parsing-invalid.html": [
"1f4abad86af0f7be1ccafe8892c8a0a34b4e41b4",
"testharness"
@@ -548133,6 +548887,50 @@
"b7079a0dd1cc46e8252deff8a3b08e0915ea5a31",
"manual"
],
+ "css/css-writing-modes/parsing/direction-invalid.html": [
+ "9f1076e0da9353816521cf34646981c33d82badb",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/direction-valid.html": [
+ "c68d1dd7d9c2eef8d95c9c90c697a61125dd47b0",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/resources/parsing-testcommon.js": [
+ "14f32b772f27a9bc75fe90e2ea1d8e4fb3649e95",
+ "support"
+ ],
+ "css/css-writing-modes/parsing/text-combine-upright-invalid.html": [
+ "21ca5f024035630875f14a5f45b165548333733f",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/text-combine-upright-valid.html": [
+ "680c92d6c12a38ec1f5689a5c2b9969041ee3672",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/text-orientation-invalid.html": [
+ "cb38e4ab395dfabc99813ee8459ebaae4d79e2d0",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/text-orientation-valid.html": [
+ "d047527d687a9b240e27e835de0fb8786189e399",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/unicode-bidi-invalid.html": [
+ "911e697b065db6e6f7b6e563e84601cf176eb99e",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/unicode-bidi-valid.html": [
+ "21c01cd648f6b465fdb46d85a9d247882ca14317",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/writing-mode-invalid.html": [
+ "d41cb214ab942064e064191c7db41b9b5dff1674",
+ "testharness"
+ ],
+ "css/css-writing-modes/parsing/writing-mode-valid.html": [
+ "fa0a2060cda483bf479203069ad53432a4a36b36",
+ "testharness"
+ ],
"css/css-writing-modes/percent-margin-vlr-003.xht": [
"4dc2d772b9fedfc4f498ed488cd8d31c00c50c71",
"reftest"
@@ -548645,6 +549443,10 @@
"6718fb7f117b02d835e5019ec884902669263f7f",
"support"
],
+ "css/css-writing-modes/reference/scrollbar-vertical-rl-ref.html": [
+ "352bb555091f87a1308dcfa69ca973d3aac211a5",
+ "support"
+ ],
"css/css-writing-modes/reference/svg-aliasing-001-ref.html": [
"8156e1ec7df883cc2aef362a0d477dd3853f52d6",
"support"
@@ -548789,6 +549591,10 @@
"252c877b6b62e93b69b97a9dcc99498c5f56db65",
"reftest"
],
+ "css/css-writing-modes/scrollbar-vertical-rl.html": [
+ "e0bd3a11b16f322beb29f3c83c1b26ecc9b037d6",
+ "reftest"
+ ],
"css/css-writing-modes/sizing-orthog-htb-in-vlr-001-ref.xht": [
"31223eeb2b9b8e7077fd90fc18d29221c63cdb6b",
"support"
@@ -553074,7 +553880,7 @@
"support"
],
"css/mediaqueries/test_media_queries.html": [
- "cff3585932589f611a7101329d3b5b6ca27820aa",
+ "a7d78b13e119f8cd1ffa8812a9af67e59280084d",
"testharness"
],
"css/mediaqueries/viewport-script-dynamic-ref.html": [
@@ -556337,8 +557143,16 @@
"250751245e07ef7b57020a8dc32735693091a69f",
"reftest"
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor-ref.html": [
+ "16b29eb7d10d6fc81c47375c80b4b152d61f8ed6",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor.html": [
+ "65d934b6ffa0462610dc3adb457824e1b9e0eb59",
+ "reftest"
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list": [
- "ba3f91bdf65eaa53a76efc11d870f81a23d757dd",
+ "16df7ae11a37944c42a7f3e2aec16ad0b54f3c3a",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/background/support/aqua-yellow-32x32.png": [
@@ -556654,79 +557468,115 @@
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-001-ref.html": [
- "1e710115a6ddf673f771a4f668c0be2912609442",
+ "0b5688cf2bed82383c358c80272652df9eafac34",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-001.html": [
- "3688553c5cfd25d76feee6021794cc7273fe6cff",
+ "ae677f9c21fb64a02e0a2d9fb5197038800dcf60",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-002-ref.html": [
- "185fa9ad94e9045ca490303e7256fd6ffb2cda03",
+ "92c69890e77216eda8056fc107e1a63ccf01e810",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-002.html": [
- "449b89844cf89f6ba2e3d27620255dab114a0755",
+ "0bcaab50f6db9335f1ae5cf02d440d6b6f5d612f",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-003-ref.html": [
- "3189218f9d3312f56f4ffaa04be17db936004c57",
+ "e87010a85ae9ffdcb4fbf6793a77222090bfe72d",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-003.html": [
- "354b9a2fdc94912d917d9528a268e46cae3ff83c",
+ "001e102c7ca511c410b1a0392fead919fd4e9a04",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-004-ref.html": [
- "ce9682abc33ecf2e394c63ac5e941d4e50c689eb",
+ "aa96e24835b8ea7d20d476252696ad5472e6097c",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-004.html": [
- "14271abdfab8e9495dd4c8e73bc7ea72ec45dfab",
+ "4dc86fc798bd388f58b239e551c5319fecc6a732",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-005.html": [
- "5ab4438dae36c8fa2af8ee2bba12bb60be3837ac",
+ "2c395f72eb7ed6498b390d05227d70ff5fbae87e",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-006-ref.html": [
- "a54e26fbb340e92d8049ae84191f7a59149e8bc2",
+ "79a496a7814ee9e1f7cb3688d8e182bb58fb687c",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-006.html": [
- "64b9266835318fb192c4d82319f98f64a8a1c03a",
+ "732f4c88901981765fc91918e1755af0a23a4a59",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-containing-block-absolute-001-ref.html": [
- "15047fbe1c488711c1d6c309242eb2d5838f8c7e",
+ "36b131c631aef3e8279af91651ac492341e40359",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-containing-block-absolute-001.html": [
- "e4c76a59f93fe875cd85be120d9b492621c6b13b",
+ "31e0e1a2abab1d54d915021ea158bf3da93cb788",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-containing-block-fixed-001-ref.html": [
- "15047fbe1c488711c1d6c309242eb2d5838f8c7e",
+ "36b131c631aef3e8279af91651ac492341e40359",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-containing-block-fixed-001.html": [
- "75da07ab71aaa13d847201e545a07c5048aa4d0a",
+ "ab222e28e7f9060860e910384c9e6e95d3f422be",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-formatting-context-float-001-ref.html": [
- "62ecb754d87f4923a9a46f64a0d69da1fafff6a6",
+ "e69eda30a4601b11a6f1d0551c29a4632dfa4276",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-formatting-context-float-001.html": [
- "f81a30fc22f9d90a107724378ca6f8e66ac78fd6",
+ "ee93a0a9794588c33606ed23b343bbe1db231e26",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-formatting-context-margin-001-ref.html": [
- "0d45e6ef79bbb757a8b47c06408ffc919a81545a",
+ "5f079f29a5998ee2d811ec693e660512894633d6",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-formatting-context-margin-001.html": [
- "360f5b95b4eef2bf80101f172557f2fe65f57ca7",
+ "045d302528444a645e5b6d2fa824ff2a8983b723",
+ "reftest"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001-ref.html": [
+ "ee338f9f2dd0054acae169489ef73c7d5b1b562c",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001a.html": [
+ "028f9b002b099182d98045b83cbd353e16ab0fb0",
+ "reftest"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001b.html": [
+ "127c86614b76a2d851f36bffecbdafa75e7b25f0",
+ "reftest"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001-ref.html": [
+ "f1d384a53c3345a7e8c3ea404bd7a83b30723567",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001.html": [
+ "7577aef073596faddef3ce2c72b2537410a4be8d",
+ "reftest"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001-ref.html": [
+ "6d7823a0486acad2c53e10419992a1cdb6ede29d",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001.html": [
+ "ce22eaf6214d0f732195704a91c1424b4f4d8331",
+ "reftest"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html": [
+ "5de4b9db5002c425b7ed7840f8107662bdb73bce",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html": [
+ "e3691848b9d0dff5ce6a8faf573b5c59fadd5d87",
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-stacking-context-001-ref.html": [
@@ -556742,7 +557592,7 @@
"reftest"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/contain/reftest.list": [
- "f13efa449db3e07a7fcec53072121e9d906f8562",
+ "865b3c38162cfb5ef744335416302ca0960f635e",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/counter-styles-3/dependent-builtin-ref.html": [
@@ -560877,8 +561727,16 @@
"e4736754b5c44b272e94a2988dce8feb2e5478f2",
"support"
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push-ref.html": [
+ "f99113a1b1e389df8e87f71d6490af0c3d586325",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push.html": [
+ "7cba915a32e329fb93d3d953c54032cd2d9892cf",
+ "reftest"
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/reftest.list": [
- "93dca478ad98d04ac4d0c15188afcff9f7072a3c",
+ "b47bd519da1b51828d2f4134348badd42280357f",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-border-box-001-ref.html": [
@@ -561614,7 +562472,7 @@
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/reftest.list": [
- "3d686cfc2e832a735cc69da4e62b5fc82ff981db",
+ "25c3ec740acaaed780e14a8544dcf4b66672f2d2",
"support"
],
"css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/ruby-text-decoration-01-ref.html": [
@@ -562225,6 +563083,14 @@
"d10f62aadf7d4ee16da590a634ec78019122c7f5",
"reftest"
],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor-ref.html": [
+ "835e5fb9057ca23376d6f4b9c6b2904541f8cd54",
+ "support"
+ ],
+ "css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor.html": [
+ "572c9c56dc399638dfea85fcd70ef9fd82ec6509",
+ "reftest"
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/text3/hyphenation-control-1-ref.html": [
"31e1e0060f4c0c852998a12897627faf55e1cf25",
"support"
@@ -564590,7 +565456,7 @@
"support"
],
"docs/_writing-tests/assumptions.md": [
- "8bb7a1cda9084f179e1373b8600d597d1072c08c",
+ "8ac61662756849f43124883e27be13a87a7a3a0f",
"support"
],
"docs/_writing-tests/css-metadata.md": [
@@ -564650,7 +565516,7 @@
"support"
],
"docs/_writing-tests/testharness-api.md": [
- "ccad9b2b76eb48205d1f30847e0472e565d22156",
+ "a4109b95dfdd98b9f83d15dce8c47867fd0f37ff",
"support"
],
"docs/_writing-tests/testharness.md": [
@@ -565902,7 +566768,7 @@
"testharness"
],
"dom/nodes/attributes.html": [
- "a39c668569ca64cddb49ea050884580fcb18aa68",
+ "a4d3431ba8a583734ec92977e0e392407012e4bc",
"testharness"
],
"dom/nodes/attributes.js": [
@@ -568245,6 +569111,10 @@
"3db3dfc846598a30218f740201e48ca6112f4d93",
"testharness"
],
+ "encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html": [
+ "95a9b4b96c73fb769a1b34570127a3ba356886a3",
+ "testharness"
+ ],
"encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https.html": [
"bade72126b9a42409ef2b1901b84aef7778b2eac",
"testharness"
@@ -568753,6 +569623,10 @@
"bfe606669dc2c87c3813c119860f00317102a5bd",
"support"
],
+ "encrypted-media/scripts/playback-temporary-encrypted-clear-segmented-sources.js": [
+ "bbecdf6fad52b2b6a9bf9c73ddcbef194b53cac1",
+ "support"
+ ],
"encrypted-media/scripts/playback-temporary-encrypted-clear-sources.js": [
"be851927ab25d4c4c107546aee3c2231f030840c",
"support"
@@ -569398,7 +570272,7 @@
"testharness"
],
"feature-policy/experimental-features/vertical-scroll-touch-action-manual.tentative.html": [
- "5bfd2aa12d15de053f7b6408dc35654dfb690caf",
+ "752cc2b2febca0f9910e5fe11c01317f02fc2144",
"manual"
],
"feature-policy/experimental-features/vertical-scroll-touch-block-manual.tentative.html": [
@@ -569606,7 +570480,7 @@
"support"
],
"feature-policy/resources/featurepolicy.js": [
- "e43c54ef8b92deb077f9061681a83261552ef2ef",
+ "559a8ebe478ba82f6616382e19e6e94a49139cb1",
"support"
],
"feature-policy/resources/picture-in-picture.js": [
@@ -570178,7 +571052,7 @@
"testharness"
],
"fetch/api/request/request-keepalive-quota.html": [
- "0b9786a3878a361ba8ec3291216d475bd5148541",
+ "bcaae1cb50860be535b9ba72ba447a9aa7c333b1",
"testharness"
],
"fetch/api/request/request-keepalive.html": [
@@ -570597,8 +571471,12 @@
"4d836bed1e90a2d14b1651c0f3229b3f3d0b6b91",
"testharness"
],
- "fetch/cross-origin-resource-policy/fetch.html": [
- "6a881615d9df0750b640298725be56e60cd5804c",
+ "fetch/cross-origin-resource-policy/fetch-in-service-worker.html": [
+ "d9db1c57557b20c40909bf91a12f85bfa243b39d",
+ "testharness"
+ ],
+ "fetch/cross-origin-resource-policy/fetch.any.js": [
+ "497663ca6aa5d76bfead06e176b3f7004e0e7774",
"testharness"
],
"fetch/cross-origin-resource-policy/iframe-loads.html": [
@@ -571618,7 +572496,7 @@
"testharness"
],
"fullscreen/api/element-request-fullscreen-and-exit-iframe-manual.html": [
- "6b06ccdca77fda2a6777a6b22ca1dd6baadd65f7",
+ "1a4b1290dfa3c40e9d9927860d1635f526940efb",
"manual"
],
"fullscreen/api/element-request-fullscreen-and-move-manual.html": [
@@ -571714,7 +572592,7 @@
"testharness"
],
"fullscreen/model/move-to-fullscreen-iframe-manual.html": [
- "62aec7e1d5065bf99a00fc533c8c6d6704ac2010",
+ "b6ac159c13ba1df9e209089a98b6abbab5629231",
"manual"
],
"fullscreen/model/move-to-iframe-manual.html": [
@@ -572850,7 +573728,7 @@
"testharness"
],
"html/browsers/browsing-the-web/scroll-to-fragid/004.html": [
- "787654af224115c4282b7d6a89509d57c17d3ed1",
+ "3265bbcc88866bd3d1fa97b20041e634d2b3c1f5",
"testharness"
],
"html/browsers/browsing-the-web/scroll-to-fragid/005.html": [
@@ -582513,6 +583391,10 @@
"0f18ee2c61b99893cfe2a3d1ff549b170a8d715d",
"support"
],
+ "html/scripting/the-noscript-element/non-html-noscript.html": [
+ "121760184777008c2ddeb598278216e40b34e367",
+ "testharness"
+ ],
"html/semantics/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
@@ -591794,7 +592676,7 @@
"reftest"
],
"infrastructure/assumptions/html-elements.html": [
- "9585f8fff4f585b8b4f31ea485f9d0195173772d",
+ "f220b1d79989287aef4aa450ea6978a7f23890c7",
"testharness"
],
"infrastructure/assumptions/initial-color-ref.html": [
@@ -591845,10 +592727,6 @@
"a91279f3455bdaf63412e9487192502da1e51baf",
"testharness"
],
- "infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini": [
- "0f536ac59a959769966d56c5a546f9f2c2557e97",
- "support"
- ],
"infrastructure/metadata/infrastructure/browsers/firefox/__dir__.ini": [
"29d2053e55e60d4e8a15def3a96a3501db03ec54",
"support"
@@ -592066,7 +592944,7 @@
"support"
],
"interfaces/DOM-Parsing.idl": [
- "4324fb1908608583b898ae01ad44d9f8e1da89ac",
+ "61b8e622931ffee1b779e798e4a381959457ef45",
"support"
],
"interfaces/FileAPI.idl": [
@@ -592134,13 +593012,17 @@
"support"
],
"interfaces/cookie-store.idl": [
- "bb4c385873deafd746f186058b111193c8aebf01",
+ "427e33a156cad6978e1c9c5ef5a9f906aa67a4c4",
"support"
],
"interfaces/cors-rfc1918.idl": [
"d7f133c8dd6e1656f82c077d9795714827b9c869",
"support"
],
+ "interfaces/credential-management.idl": [
+ "29a0bcde9ddd6629c7bf05757cea45c831fe9a6b",
+ "support"
+ ],
"interfaces/css-animations.idl": [
"520ed1f6d245c75551aed3f74f988026edf3ff59",
"support"
@@ -592241,6 +593123,10 @@
"fe86c7370a537be87884d1b9da1f7b7630c6af41",
"support"
],
+ "interfaces/image-capture.idl": [
+ "9060a5d260bb68509a1709abf5c3ed59027293ce",
+ "support"
+ ],
"interfaces/input-events.idl": [
"99bcfa971e6b2628ab8ba174b772d56b23dee38b",
"support"
@@ -592269,10 +593155,6 @@
"501b9ce0b557e52c122a2bb7f3be1a3e360da512",
"support"
],
- "interfaces/mediacapture-image.idl": [
- "22f1cdf8c2c07e72570786750f50168d0a5ba782",
- "support"
- ],
"interfaces/mediacapture-main.idl": [
"a2a5e12acdc863828532e28574ed4904f0b0b2b8",
"support"
@@ -592421,6 +593303,10 @@
"21b54128664c5962c29fd708ebba3d8d90987f26",
"support"
],
+ "interfaces/webappsec-subresource-integrity.idl": [
+ "059b8faf32b557e4303a8c119ab46fe58ca85102",
+ "support"
+ ],
"interfaces/webaudio.idl": [
"a2adb319de88d1d33080a837972caefa5c5c1946",
"support"
@@ -592725,6 +593611,10 @@
"545a86cb977d49303debac90d00339f1348f7f76",
"support"
],
+ "lifecycle/META.yml": [
+ "c99bd5330e9e8c1620ce3e97b9a0d7a307ee285d",
+ "support"
+ ],
"lifecycle/freeze.html": [
"79f45af08ff1cfe5c29d318fe6a32d281e990960",
"testharness"
@@ -593926,7 +594816,7 @@
"support"
],
"mediacapture-image/idlharness.html": [
- "69441fcf969ff3bd014ac6109c1f8b1a18a8ec54",
+ "963b96c7cffd42051fa9586ddd9105dac71819a7",
"testharness"
],
"mediacapture-record/BlobEvent-constructor.html": [
@@ -602770,11 +603660,11 @@
"testharness"
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
- "be817481f663888d8ee58f40906caf0744746d04",
+ "82bd1a4f366b664fb19d38e9e58507fedba6e6ef",
"testharness"
],
"payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html": [
- "891494d8f44efe3f741e809bd6e7ac7e07ec786e",
+ "f21447dfe6f5fdf03166517ec406e98948f442ea",
"testharness"
],
"payment-request/PaymentRequestUpdateEvent/constructor.http.html": [
@@ -602946,7 +603836,7 @@
"testharness"
],
"payment-request/payment-response/complete-method-manual.https.html": [
- "3a3e57155d5267e515f7d1711e99fb6a7d170eb7",
+ "366751b4fed2b18c08ce4daa7f77e4d557af5039",
"manual"
],
"payment-request/payment-response/helpers.js": [
@@ -603102,7 +603992,7 @@
"support"
],
"permissions/interfaces.any.js": [
- "2b16f91ae23a516d2c58299b81e0b3895cba117b",
+ "255271bea21cf7c43e6b99296bd93ef210d36c49",
"testharness"
],
"picture-in-picture/META.yml": [
@@ -604045,10 +604935,22 @@
"a9fd790c46562057d00b9a042f548d28259042d0",
"testharness"
],
- "quirks/hashless-hex-color.html": [
- "161c0bfaabbfb59c426e855b9dcfa746ea9e8f95",
+ "quirks/hashless-hex-color/limited-quirks.html": [
+ "4e4e6074a7669550604c749f3a9b8ebcbcc02785",
"testharness"
],
+ "quirks/hashless-hex-color/no-quirks.html": [
+ "eb5b9ca4db25184918c811c63db7ab1deb7ec643",
+ "testharness"
+ ],
+ "quirks/hashless-hex-color/quirks.html": [
+ "9011c6a7246a5db05ce1f431d42e99ff4e53baf4",
+ "testharness"
+ ],
+ "quirks/hashless-hex-color/support/common.js": [
+ "d3b9c9c0f81547e7bff3d277593b4034e015d1b1",
+ "support"
+ ],
"quirks/historical/list-item-bullet-size-ref.html": [
"2579fff5cb55faf66c71dfed695f05db8774d98d",
"support"
@@ -604062,9 +604964,13 @@
"testharness"
],
"quirks/percentage-height-calculation.html": [
- "de9964d89f79db9a85df6bf65b5bc039aa244380",
+ "a81a06f7183fbc033e793b03e811e4669e15cb24",
"testharness"
],
+ "quirks/support/test-ref-iframe.js": [
+ "aa4182c108b7aa802b91d3e573a28c1920c58576",
+ "support"
+ ],
"quirks/supports.html": [
"cac590a930dab33ba0ab7981c31b868861931493",
"testharness"
@@ -604077,10 +604983,22 @@
"b7a8466a3842237ddf9446bd3ab49de043001526",
"testharness"
],
- "quirks/unitless-length.html": [
- "578d2aed4afa7cd6739610d353aebc591d832418",
+ "quirks/unitless-length/limited-quirks.html": [
+ "5d34a17086a2f3abb58b0e3e3f0599bc39f8486e",
"testharness"
],
+ "quirks/unitless-length/no-quirks.html": [
+ "3871b7abd2c53bbf264759db7e1e4be873f8f4bd",
+ "testharness"
+ ],
+ "quirks/unitless-length/quirks.html": [
+ "cf342d1743ca615601e6891fc502d4785afb8647",
+ "testharness"
+ ],
+ "quirks/unitless-length/support/common.js": [
+ "ab9f15bb0b89b188fcbfa866cfe040cc0b15b31e",
+ "support"
+ ],
"referrer-policy/META.yml": [
"f4454894fc36bdc73ea3fde9d4b97efb5c999b2f",
"support"
@@ -604122,7 +605040,7 @@
"testharness"
],
"referrer-policy/generic/common.js": [
- "583f61d9d6f30742f8144ded8ea31035a07034a3",
+ "99a7fec378d204fd0fafc4bb845acd7c54a2613f",
"support"
],
"referrer-policy/generic/iframe-inheritance.html": [
@@ -614378,7 +615296,7 @@
"testharness"
],
"service-workers/service-worker/referrer-policy-header.https.html": [
- "eef44dace34ca278172d59a609ab4193c3c5af28",
+ "c44985a9be68e83af6b9c4521310bfaeec88aea8",
"testharness"
],
"service-workers/service-worker/register-closed-window.https.html": [
@@ -615222,7 +616140,7 @@
"support"
],
"service-workers/service-worker/resources/performance-timeline-worker.js": [
- "fc275abc58d82c338ff369ba62994bd3d5609a67",
+ "c4c32d5b7ca352a3f18548928570a8a7339fa687",
"support"
],
"service-workers/service-worker/resources/postmessage-blob-url.js": [
@@ -615910,7 +616828,7 @@
"testharness"
],
"shadow-dom/Document-prototype-currentScript.html": [
- "c19ae5aa7d8ee63a50514fedd66231e48c31297e",
+ "dfaf976147656d81e23341d6e6fd9c74d4ca88cb",
"testharness"
],
"shadow-dom/Document-prototype-importNode.html": [
@@ -617805,6 +618723,10 @@
"40773896fa85b0ac6545d3064f7e594e4e9b4339",
"support"
],
+ "subresource-integrity/idlharness.window.js": [
+ "c4d81b58ea18d76c95cc84e43ca5145dbc06f0a3",
+ "testharness"
+ ],
"subresource-integrity/matching-digest.js": [
"c28fd94f8c51bd90da2464338e91281304818e0a",
"support"
@@ -622722,7 +623644,7 @@
"testharness"
],
"web-animations/animation-model/animation-types/property-list.js": [
- "9416f470f1ac1d320bb4d46461938e85946439e2",
+ "5a818163c3ddcb6e0901b4f0086d555e9d440e27",
"support"
],
"web-animations/animation-model/animation-types/property-types.js": [
@@ -623189,6 +624111,10 @@
"d1b1f1fdeb695b9fe72857aa9fca1320b6c36ee1",
"support"
],
+ "webaudio/resources/audiobuffersource-testing.js": [
+ "9cce2e47d6fa8e9e28ca55f35d35a48d1745c067",
+ "support"
+ ],
"webaudio/resources/audionodeoptions.js": [
"d7712311bddd23e171e7e1f024aec0a565b08a13",
"support"
@@ -623202,7 +624128,7 @@
"support"
],
"webaudio/resources/audit.js": [
- "1e7c1c4169bc54bd2046ff5b3392f846c6b7b40f",
+ "eb55fd24237ac7ea4a69c109202e27d6ccd82f80",
"support"
],
"webaudio/resources/biquad-filters.js": [
@@ -623237,6 +624163,10 @@
"4508f0205419865b6166340ce6d4f955f914b6b1",
"support"
],
+ "webaudio/resources/note-grain-on-testing.js": [
+ "e843543633018830e25884d5f89a8446b77d9066",
+ "support"
+ ],
"webaudio/resources/panner-formulas.js": [
"872d9aa271558ee3e7aa293c8e3e44fd525461c0",
"support"
@@ -623321,16 +624251,72 @@
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-basic.html": [
+ "79d7953fd8bf9fe307d071ee32f8a41851ae7462",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels.html": [
+ "07642a64398f3b18017608cde7f90cacb277cc9a",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-ended.html": [
+ "7e7c6e9458cb02883c1d53877875ba9723a1fe2d",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain.html": [
+ "3eda7864e8749d3a2fcf84b9fb13be9ac43765f0",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels-expected.wav": [
+ "52b39bb00bcc72be9a0e41ceef17210b1cd0be43",
+ "support"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html": [
+ "9f8f807e8753c2942d31645bc797219482453fb3",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop.html": [
+ "ff8217615accf70197c350f3bead193acacec1c2",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero.html": [
+ "27bf6a32d45e85dab0ef1001b0c49236559d3022",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start.html": [
+ "ff1a7586221fea1bf47595bdae834350a790bb2d",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended.html": [
+ "d3350fa17ae71bca0daf02c7ad26e221a4511f3a",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits.html": [
+ "d22ac86e59241f9b3e58aae954bb57079bc35955",
+ "testharness"
+ ],
"webaudio/the-audio-api/the-audiobuffersourcenode-interface/ctor-audiobuffersource.html": [
"ce84d25460435564021a13dc9e26384bc30e9d96",
"testharness"
],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play.html": [
+ "4434f6a668dccbaa76d68ecd2fe2a27c71ae1f3c",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing.html": [
+ "e39fdae0e19cd733e2644396adf434bf7a33e323",
+ "testharness"
+ ],
+ "webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling.html": [
+ "5b43eb5c5aa96738fc9262130fda1cc1ff002ee3",
+ "testharness"
+ ],
"webaudio/the-audio-api/the-audiocontext-interface/.gitkeep": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
],
"webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html": [
- "03d32deacab7a98f3cce29562b84158e3f512668",
+ "d930208c2626370bab10256e1ab05e701b5a88b6",
"testharness"
],
"webaudio/the-audio-api/the-audiocontext-interface/audiocontext-suspend-resume.html": [
@@ -623749,6 +624735,10 @@
"8fac11e0ecfa8bfb9b49d68d0792793f44e94ad4",
"testharness"
],
+ "webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-already-has-value.html": [
+ "673bc5a4ff452dd83bd9209b33f40ccdadd0cf43",
+ "testharness"
+ ],
"webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-null.html": [
"f32f5acdf031b1a2b32bc37324b105d1df7c5fdb",
"testharness"
@@ -624070,7 +625060,7 @@
"support"
],
"webauthn/interfaces.https.any.js": [
- "3ca7a0855f38bf8d0250d0a352dd60c2ee6515fa",
+ "f143ec75c75322b368f808d7d36be5b7d4cb3c62",
"testharness"
],
"webauthn/securecontext.http.html": [
@@ -624230,15 +625220,15 @@
"wdspec"
],
"webdriver/tests/element_click/interactability.py": [
- "b022a9c9c222cfdcce208a4934eb1bc52de90495",
+ "b365c3e0e1e8c75da3e196e98d890338f0c15883",
"wdspec"
],
"webdriver/tests/element_click/navigate.py": [
- "4e6186b1352b71cca8444f9752634d6b04dbaf16",
+ "ec45e1e3ecb091b5853298704f9944d0f4a04ae9",
"wdspec"
],
"webdriver/tests/element_click/scroll_into_view.py": [
- "cc9084d4782fdcad3ee82204749109c9c15e28d2",
+ "d18edb83617f60faf13fcb20aaf7446a30484cfd",
"wdspec"
],
"webdriver/tests/element_click/select.py": [
@@ -625174,7 +626164,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-add-track-no-deadlock.https.html": [
- "a16eaf6805528c2b73650694f26568f41be5d5ff",
+ "d08414aefa6b0f082a0fcb7f5d05933636c012bb",
"testharness"
],
"webrtc/RTCPeerConnection-addIceCandidate.html": [
@@ -625182,7 +626172,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-addTrack.https.html": [
- "fe5aa5d0a69b1131575624a0a8c3031674b12c85",
+ "eddb5aedbfea3636ae03c0920c4450afc8e70658",
"testharness"
],
"webrtc/RTCPeerConnection-addTransceiver.html": [
@@ -625266,7 +626256,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-removeTrack.https.html": [
- "0cc7f4a5694e69e9e604fda5849c0b81f360db7d",
+ "f4251f373bce768c30c5da9253029319921f3cf0",
"testharness"
],
"webrtc/RTCPeerConnection-setDescription-transceiver.html": [
@@ -625314,7 +626304,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html": [
- "b40a9d3d52fd846f695482671877634359e86ab3",
+ "b3d025c0a50886293e340afc27081212b0bead95",
"testharness"
],
"webrtc/RTCPeerConnection-setRemoteDescription.html": [
@@ -625374,7 +626364,7 @@
"testharness"
],
"webrtc/RTCRtpReceiver-getStats.https.html": [
- "0ead17ad0504866cac28dbb9be20376b55e60a1a",
+ "ebbca119f90320469cb311cac234c82d230f1191",
"testharness"
],
"webrtc/RTCRtpReceiver-getSynchronizationSources.https.html": [
@@ -625386,7 +626376,7 @@
"testharness"
],
"webrtc/RTCRtpSender-getStats.https.html": [
- "ba31d1217805d647f5efc31e6d4cadc09a8ae426",
+ "7cea6806ce165a32f5f28d6df215a2af07da7bd2",
"testharness"
],
"webrtc/RTCRtpSender-replaceTrack.html": [
@@ -625485,12 +626475,16 @@
"4a7dfd32e2129c362e153a83e4645fcc77b74247",
"support"
],
- "webrtc/tools/package-lock.json": [
- "731c41b82c17db5d5c3e0c636c197fcba01df344",
+ "webrtc/tools/codemod-peerconnection-addcleanup": [
+ "745b67efbb6422f4abac66fb93783f7c5e7e1e01",
+ "support"
+ ],
+ "webrtc/tools/html-codemod.js": [
+ "031e1282376e76e2e88f6b61f3dbd0bafb63db8f",
"support"
],
"webrtc/tools/package.json": [
- "67474f98b40d247ebac9cdee2146019a8e0b10b1",
+ "3f4c576b69a55927877e64ba022fa2ba8d191156",
"support"
],
"websockets/Close-1000-reason.any.js": [
@@ -630426,7 +631420,7 @@
"testharness"
],
"workers/modules/dedicated-worker-import-referrer.html": [
- "309df42ef9329addc1fc59e2d3c0443454e14ad7",
+ "9495c1f58acf7062267fd59e682541950a659731",
"testharness"
],
"workers/modules/dedicated-worker-import.any.js": [
@@ -631102,15 +632096,15 @@
"support"
],
"worklets/resources/referrer-checker.py": [
- "9e4cce637b7402da3b6a17d4cb33dc706f222c41",
+ "3de9f5d0d90e5c360edd453a539cc2b83f45d42e",
"support"
],
"worklets/resources/referrer-tests.js": [
- "bfa2e28259a44abf3aac6be528e51976c9ff782d",
+ "e072f492d6aa19866245b357a623c60ec3382c9a",
"support"
],
"worklets/resources/referrer-window.html": [
- "adfb1c116fedb6396f970ed8072ee73edfc755fc",
+ "5900ef7037397bc3eb956b97c40cfd7a3a12c95f",
"support"
],
"worklets/resources/service-worker-interception-tests.js": [
diff --git a/tests/wpt/metadata/cors/script-304.html.ini b/tests/wpt/metadata/cors/script-304.html.ini
new file mode 100644
index 00000000000..914b364b684
--- /dev/null
+++ b/tests/wpt/metadata/cors/script-304.html.ini
@@ -0,0 +1,7 @@
+[script-304.html]
+ [Load a fresh cross-origin script]
+ expected: FAIL
+
+ [Reload same cross-origin script from the memory cache after revalidation]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/CSS2/abspos/between-float-and-text.html.ini b/tests/wpt/metadata/css/CSS2/abspos/between-float-and-text.html.ini
new file mode 100644
index 00000000000..07973158f98
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/abspos/between-float-and-text.html.ini
@@ -0,0 +1,2 @@
+[between-float-and-text.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
index 7c80799aece..b075270b5f3 100644
--- a/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
+++ b/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
@@ -38,3 +38,6 @@
[Test @font-face matching for weight 249]
expected: FAIL
+ [Test @font-face matching for weight 420]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-text/white-space/trailing-space-before-br-001.html.ini b/tests/wpt/metadata/css/css-text/white-space/trailing-space-before-br-001.html.ini
new file mode 100644
index 00000000000..08a2433c8d4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/trailing-space-before-br-001.html.ini
@@ -0,0 +1,4 @@
+[trailing-space-before-br-001.html]
+ [CSS Text: A sequence of collapsible spaces at the end of a line is removed]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transforms/parsing/transform-box-valid.html.ini b/tests/wpt/metadata/css/css-transforms/parsing/transform-box-valid.html.ini
new file mode 100644
index 00000000000..7479cbb5a20
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transforms/parsing/transform-box-valid.html.ini
@@ -0,0 +1,16 @@
+[transform-box-valid.html]
+ [e.style['transform-box'\] = "content-box" should set the property value]
+ expected: FAIL
+
+ [e.style['transform-box'\] = "border-box" should set the property value]
+ expected: FAIL
+
+ [e.style['transform-box'\] = "fill-box" should set the property value]
+ expected: FAIL
+
+ [e.style['transform-box'\] = "stroke-box" should set the property value]
+ expected: FAIL
+
+ [e.style['transform-box'\] = "view-box" should set the property value]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini
deleted file mode 100644
index 26435e28b09..00000000000
--- a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[vh_not_refreshing_on_chrome.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini b/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini
index c226b13e8fb..f7296240e99 100644
--- a/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini
+++ b/tests/wpt/metadata/css/mediaqueries/test_media_queries.html.ini
@@ -11,9 +11,6 @@
[subtest_6]
expected: FAIL
- [subtest_7]
- expected: FAIL
-
[subtest_8]
expected: FAIL
@@ -23,18 +20,9 @@
[subtest_10]
expected: FAIL
- [subtest_11]
- expected: FAIL
-
[subtest_12]
expected: FAIL
- [subtest_13]
- expected: FAIL
-
- [subtest_14]
- expected: FAIL
-
[subtest_15]
expected: FAIL
@@ -854,3 +842,1026 @@
[subtest_385]
expected: FAIL
+ [subtest_2]
+ expected: FAIL
+
+ [subtest_79]
+ expected: FAIL
+
+ [subtest_82]
+ expected: FAIL
+
+ [subtest_84]
+ expected: FAIL
+
+ [subtest_85]
+ expected: FAIL
+
+ [subtest_86]
+ expected: FAIL
+
+ [subtest_89]
+ expected: FAIL
+
+ [subtest_90]
+ expected: FAIL
+
+ [subtest_92]
+ expected: FAIL
+
+ [subtest_95]
+ expected: FAIL
+
+ [subtest_97]
+ expected: FAIL
+
+ [subtest_98]
+ expected: FAIL
+
+ [subtest_99]
+ expected: FAIL
+
+ [subtest_102]
+ expected: FAIL
+
+ [subtest_103]
+ expected: FAIL
+
+ [subtest_105]
+ expected: FAIL
+
+ [subtest_108]
+ expected: FAIL
+
+ [subtest_110]
+ expected: FAIL
+
+ [subtest_111]
+ expected: FAIL
+
+ [subtest_112]
+ expected: FAIL
+
+ [subtest_115]
+ expected: FAIL
+
+ [subtest_116]
+ expected: FAIL
+
+ [subtest_118]
+ expected: FAIL
+
+ [subtest_121]
+ expected: FAIL
+
+ [subtest_123]
+ expected: FAIL
+
+ [subtest_124]
+ expected: FAIL
+
+ [subtest_125]
+ expected: FAIL
+
+ [subtest_128]
+ expected: FAIL
+
+ [subtest_129]
+ expected: FAIL
+
+ [subtest_131]
+ expected: FAIL
+
+ [subtest_135]
+ expected: FAIL
+
+ [subtest_136]
+ expected: FAIL
+
+ [subtest_138]
+ expected: FAIL
+
+ [subtest_139]
+ expected: FAIL
+
+ [subtest_140]
+ expected: FAIL
+
+ [subtest_150]
+ expected: FAIL
+
+ [subtest_151]
+ expected: FAIL
+
+ [subtest_153]
+ expected: FAIL
+
+ [subtest_154]
+ expected: FAIL
+
+ [subtest_156]
+ expected: FAIL
+
+ [subtest_157]
+ expected: FAIL
+
+ [subtest_158]
+ expected: FAIL
+
+ [subtest_163]
+ expected: FAIL
+
+ [subtest_164]
+ expected: FAIL
+
+ [subtest_165]
+ expected: FAIL
+
+ [subtest_170]
+ expected: FAIL
+
+ [subtest_171]
+ expected: FAIL
+
+ [subtest_172]
+ expected: FAIL
+
+ [subtest_173]
+ expected: FAIL
+
+ [subtest_177]
+ expected: FAIL
+
+ [subtest_180]
+ expected: FAIL
+
+ [subtest_181]
+ expected: FAIL
+
+ [subtest_183]
+ expected: FAIL
+
+ [subtest_184]
+ expected: FAIL
+
+ [subtest_187]
+ expected: FAIL
+
+ [subtest_188]
+ expected: FAIL
+
+ [subtest_189]
+ expected: FAIL
+
+ [subtest_191]
+ expected: FAIL
+
+ [subtest_193]
+ expected: FAIL
+
+ [subtest_195]
+ expected: FAIL
+
+ [subtest_196]
+ expected: FAIL
+
+ [subtest_197]
+ expected: FAIL
+
+ [subtest_199]
+ expected: FAIL
+
+ [subtest_231]
+ expected: FAIL
+
+ [subtest_234]
+ expected: FAIL
+
+ [subtest_236]
+ expected: FAIL
+
+ [subtest_237]
+ expected: FAIL
+
+ [subtest_243]
+ expected: FAIL
+
+ [subtest_245]
+ expected: FAIL
+
+ [subtest_265]
+ expected: FAIL
+
+ [subtest_267]
+ expected: FAIL
+
+ [subtest_269]
+ expected: FAIL
+
+ [subtest_270]
+ expected: FAIL
+
+ [subtest_271]
+ expected: FAIL
+
+ [subtest_314]
+ expected: FAIL
+
+ [subtest_315]
+ expected: FAIL
+
+ [subtest_316]
+ expected: FAIL
+
+ [subtest_319]
+ expected: FAIL
+
+ [subtest_321]
+ expected: FAIL
+
+ [subtest_323]
+ expected: FAIL
+
+ [subtest_324]
+ expected: FAIL
+
+ [subtest_326]
+ expected: FAIL
+
+ [subtest_337]
+ expected: FAIL
+
+ [subtest_338]
+ expected: FAIL
+
+ [subtest_339]
+ expected: FAIL
+
+ [subtest_350]
+ expected: FAIL
+
+ [subtest_354]
+ expected: FAIL
+
+ [subtest_359]
+ expected: FAIL
+
+ [subtest_361]
+ expected: FAIL
+
+ [subtest_364]
+ expected: FAIL
+
+ [subtest_366]
+ expected: FAIL
+
+ [subtest_367]
+ expected: FAIL
+
+ [subtest_368]
+ expected: FAIL
+
+ [subtest_369]
+ expected: FAIL
+
+ [subtest_370]
+ expected: FAIL
+
+ [subtest_372]
+ expected: FAIL
+
+ [subtest_373]
+ expected: FAIL
+
+ [subtest_376]
+ expected: FAIL
+
+ [subtest_377]
+ expected: FAIL
+
+ [subtest_380]
+ expected: FAIL
+
+ [subtest_381]
+ expected: FAIL
+
+ [subtest_386]
+ expected: FAIL
+
+ [subtest_389]
+ expected: FAIL
+
+ [subtest_390]
+ expected: FAIL
+
+ [subtest_391]
+ expected: FAIL
+
+ [subtest_392]
+ expected: FAIL
+
+ [subtest_394]
+ expected: FAIL
+
+ [subtest_398]
+ expected: FAIL
+
+ [subtest_399]
+ expected: FAIL
+
+ [subtest_402]
+ expected: FAIL
+
+ [subtest_405]
+ expected: FAIL
+
+ [subtest_406]
+ expected: FAIL
+
+ [subtest_409]
+ expected: FAIL
+
+ [subtest_410]
+ expected: FAIL
+
+ [subtest_413]
+ expected: FAIL
+
+ [subtest_414]
+ expected: FAIL
+
+ [subtest_417]
+ expected: FAIL
+
+ [subtest_418]
+ expected: FAIL
+
+ [subtest_419]
+ expected: FAIL
+
+ [subtest_420]
+ expected: FAIL
+
+ [subtest_422]
+ expected: FAIL
+
+ [subtest_426]
+ expected: FAIL
+
+ [subtest_427]
+ expected: FAIL
+
+ [subtest_430]
+ expected: FAIL
+
+ [subtest_433]
+ expected: FAIL
+
+ [subtest_434]
+ expected: FAIL
+
+ [subtest_437]
+ expected: FAIL
+
+ [subtest_438]
+ expected: FAIL
+
+ [subtest_441]
+ expected: FAIL
+
+ [subtest_442]
+ expected: FAIL
+
+ [subtest_445]
+ expected: FAIL
+
+ [subtest_446]
+ expected: FAIL
+
+ [subtest_447]
+ expected: FAIL
+
+ [subtest_448]
+ expected: FAIL
+
+ [subtest_450]
+ expected: FAIL
+
+ [subtest_454]
+ expected: FAIL
+
+ [subtest_455]
+ expected: FAIL
+
+ [subtest_458]
+ expected: FAIL
+
+ [subtest_461]
+ expected: FAIL
+
+ [subtest_462]
+ expected: FAIL
+
+ [subtest_465]
+ expected: FAIL
+
+ [subtest_466]
+ expected: FAIL
+
+ [subtest_469]
+ expected: FAIL
+
+ [subtest_470]
+ expected: FAIL
+
+ [subtest_473]
+ expected: FAIL
+
+ [subtest_474]
+ expected: FAIL
+
+ [subtest_475]
+ expected: FAIL
+
+ [subtest_476]
+ expected: FAIL
+
+ [subtest_478]
+ expected: FAIL
+
+ [subtest_482]
+ expected: FAIL
+
+ [subtest_483]
+ expected: FAIL
+
+ [subtest_486]
+ expected: FAIL
+
+ [subtest_489]
+ expected: FAIL
+
+ [subtest_490]
+ expected: FAIL
+
+ [subtest_493]
+ expected: FAIL
+
+ [subtest_494]
+ expected: FAIL
+
+ [subtest_497]
+ expected: FAIL
+
+ [subtest_498]
+ expected: FAIL
+
+ [subtest_500]
+ expected: FAIL
+
+ [subtest_501]
+ expected: FAIL
+
+ [subtest_502]
+ expected: FAIL
+
+ [subtest_505]
+ expected: FAIL
+
+ [subtest_509]
+ expected: FAIL
+
+ [subtest_510]
+ expected: FAIL
+
+ [subtest_511]
+ expected: FAIL
+
+ [subtest_512]
+ expected: FAIL
+
+ [subtest_513]
+ expected: FAIL
+
+ [subtest_514]
+ expected: FAIL
+
+ [subtest_515]
+ expected: FAIL
+
+ [subtest_516]
+ expected: FAIL
+
+ [subtest_517]
+ expected: FAIL
+
+ [subtest_520]
+ expected: FAIL
+
+ [subtest_523]
+ expected: FAIL
+
+ [subtest_527]
+ expected: FAIL
+
+ [subtest_528]
+ expected: FAIL
+
+ [subtest_529]
+ expected: FAIL
+
+ [subtest_530]
+ expected: FAIL
+
+ [subtest_534]
+ expected: FAIL
+
+ [subtest_535]
+ expected: FAIL
+
+ [subtest_536]
+ expected: FAIL
+
+ [subtest_537]
+ expected: FAIL
+
+ [subtest_542]
+ expected: FAIL
+
+ [subtest_543]
+ expected: FAIL
+
+ [subtest_544]
+ expected: FAIL
+
+ [subtest_546]
+ expected: FAIL
+
+ [subtest_547]
+ expected: FAIL
+
+ [subtest_550]
+ expected: FAIL
+
+ [subtest_553]
+ expected: FAIL
+
+ [subtest_554]
+ expected: FAIL
+
+ [subtest_558]
+ expected: FAIL
+
+ [subtest_560]
+ expected: FAIL
+
+ [subtest_562]
+ expected: FAIL
+
+ [subtest_566]
+ expected: FAIL
+
+ [subtest_568]
+ expected: FAIL
+
+ [subtest_569]
+ expected: FAIL
+
+ [subtest_570]
+ expected: FAIL
+
+ [subtest_571]
+ expected: FAIL
+
+ [subtest_572]
+ expected: FAIL
+
+ [subtest_573]
+ expected: FAIL
+
+ [subtest_574]
+ expected: FAIL
+
+ [subtest_575]
+ expected: FAIL
+
+ [subtest_576]
+ expected: FAIL
+
+ [subtest_577]
+ expected: FAIL
+
+ [subtest_578]
+ expected: FAIL
+
+ [subtest_579]
+ expected: FAIL
+
+ [subtest_580]
+ expected: FAIL
+
+ [subtest_581]
+ expected: FAIL
+
+ [subtest_582]
+ expected: FAIL
+
+ [subtest_583]
+ expected: FAIL
+
+ [subtest_584]
+ expected: FAIL
+
+ [subtest_585]
+ expected: FAIL
+
+ [subtest_586]
+ expected: FAIL
+
+ [subtest_587]
+ expected: FAIL
+
+ [subtest_588]
+ expected: FAIL
+
+ [subtest_589]
+ expected: FAIL
+
+ [subtest_590]
+ expected: FAIL
+
+ [subtest_591]
+ expected: FAIL
+
+ [subtest_592]
+ expected: FAIL
+
+ [subtest_593]
+ expected: FAIL
+
+ [subtest_594]
+ expected: FAIL
+
+ [subtest_595]
+ expected: FAIL
+
+ [subtest_596]
+ expected: FAIL
+
+ [subtest_597]
+ expected: FAIL
+
+ [subtest_598]
+ expected: FAIL
+
+ [subtest_600]
+ expected: FAIL
+
+ [subtest_601]
+ expected: FAIL
+
+ [subtest_603]
+ expected: FAIL
+
+ [subtest_606]
+ expected: FAIL
+
+ [subtest_607]
+ expected: FAIL
+
+ [subtest_608]
+ expected: FAIL
+
+ [subtest_609]
+ expected: FAIL
+
+ [subtest_610]
+ expected: FAIL
+
+ [subtest_612]
+ expected: FAIL
+
+ [subtest_614]
+ expected: FAIL
+
+ [subtest_615]
+ expected: FAIL
+
+ [subtest_616]
+ expected: FAIL
+
+ [subtest_617]
+ expected: FAIL
+
+ [subtest_618]
+ expected: FAIL
+
+ [subtest_619]
+ expected: FAIL
+
+ [subtest_620]
+ expected: FAIL
+
+ [subtest_621]
+ expected: FAIL
+
+ [subtest_622]
+ expected: FAIL
+
+ [subtest_623]
+ expected: FAIL
+
+ [subtest_624]
+ expected: FAIL
+
+ [subtest_625]
+ expected: FAIL
+
+ [subtest_626]
+ expected: FAIL
+
+ [subtest_627]
+ expected: FAIL
+
+ [subtest_628]
+ expected: FAIL
+
+ [subtest_629]
+ expected: FAIL
+
+ [subtest_630]
+ expected: FAIL
+
+ [subtest_631]
+ expected: FAIL
+
+ [subtest_632]
+ expected: FAIL
+
+ [subtest_634]
+ expected: FAIL
+
+ [subtest_636]
+ expected: FAIL
+
+ [subtest_640]
+ expected: FAIL
+
+ [subtest_641]
+ expected: FAIL
+
+ [subtest_642]
+ expected: FAIL
+
+ [subtest_643]
+ expected: FAIL
+
+ [subtest_644]
+ expected: FAIL
+
+ [subtest_645]
+ expected: FAIL
+
+ [subtest_646]
+ expected: FAIL
+
+ [subtest_647]
+ expected: FAIL
+
+ [subtest_648]
+ expected: FAIL
+
+ [subtest_649]
+ expected: FAIL
+
+ [subtest_650]
+ expected: FAIL
+
+ [subtest_651]
+ expected: FAIL
+
+ [subtest_652]
+ expected: FAIL
+
+ [subtest_653]
+ expected: FAIL
+
+ [subtest_654]
+ expected: FAIL
+
+ [subtest_655]
+ expected: FAIL
+
+ [subtest_656]
+ expected: FAIL
+
+ [subtest_657]
+ expected: FAIL
+
+ [subtest_658]
+ expected: FAIL
+
+ [subtest_659]
+ expected: FAIL
+
+ [subtest_660]
+ expected: FAIL
+
+ [subtest_661]
+ expected: FAIL
+
+ [subtest_662]
+ expected: FAIL
+
+ [subtest_663]
+ expected: FAIL
+
+ [subtest_664]
+ expected: FAIL
+
+ [subtest_665]
+ expected: FAIL
+
+ [subtest_666]
+ expected: FAIL
+
+ [subtest_667]
+ expected: FAIL
+
+ [subtest_668]
+ expected: FAIL
+
+ [subtest_669]
+ expected: FAIL
+
+ [subtest_670]
+ expected: FAIL
+
+ [subtest_671]
+ expected: FAIL
+
+ [subtest_672]
+ expected: FAIL
+
+ [subtest_673]
+ expected: FAIL
+
+ [subtest_674]
+ expected: FAIL
+
+ [subtest_675]
+ expected: FAIL
+
+ [subtest_676]
+ expected: FAIL
+
+ [subtest_677]
+ expected: FAIL
+
+ [subtest_678]
+ expected: FAIL
+
+ [subtest_679]
+ expected: FAIL
+
+ [subtest_680]
+ expected: FAIL
+
+ [subtest_681]
+ expected: FAIL
+
+ [subtest_685]
+ expected: FAIL
+
+ [subtest_686]
+ expected: FAIL
+
+ [subtest_688]
+ expected: FAIL
+
+ [subtest_690]
+ expected: FAIL
+
+ [subtest_693]
+ expected: FAIL
+
+ [subtest_695]
+ expected: FAIL
+
+ [subtest_696]
+ expected: FAIL
+
+ [subtest_697]
+ expected: FAIL
+
+ [subtest_698]
+ expected: FAIL
+
+ [subtest_699]
+ expected: FAIL
+
+ [subtest_700]
+ expected: FAIL
+
+ [subtest_701]
+ expected: FAIL
+
+ [subtest_702]
+ expected: FAIL
+
+ [subtest_703]
+ expected: FAIL
+
+ [subtest_704]
+ expected: FAIL
+
+ [subtest_708]
+ expected: FAIL
+
+ [subtest_709]
+ expected: FAIL
+
+ [subtest_710]
+ expected: FAIL
+
+ [subtest_711]
+ expected: FAIL
+
+ [subtest_712]
+ expected: FAIL
+
+ [subtest_713]
+ expected: FAIL
+
+ [subtest_714]
+ expected: FAIL
+
+ [subtest_715]
+ expected: FAIL
+
+ [subtest_716]
+ expected: FAIL
+
+ [subtest_717]
+ expected: FAIL
+
+ [subtest_719]
+ expected: FAIL
+
+ [subtest_720]
+ expected: FAIL
+
+ [subtest_721]
+ expected: FAIL
+
+ [subtest_723]
+ expected: FAIL
+
+ [subtest_724]
+ expected: FAIL
+
+ [subtest_725]
+ expected: FAIL
+
+ [subtest_726]
+ expected: FAIL
+
+ [subtest_728]
+ expected: FAIL
+
+ [subtest_730]
+ expected: FAIL
+
+ [subtest_731]
+ expected: FAIL
+
+ [subtest_733]
+ expected: FAIL
+
+ [subtest_739]
+ expected: FAIL
+
+ [subtest_742]
+ expected: FAIL
+
+ [subtest_743]
+ expected: FAIL
+
+ [subtest_746]
+ expected: FAIL
+
+ [subtest_747]
+ expected: FAIL
+
+ [subtest_750]
+ expected: FAIL
+
+ [subtest_751]
+ expected: FAIL
+
+ [subtest_752]
+ expected: FAIL
+
+ [subtest_753]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/dom/nodes/attributes.html.ini b/tests/wpt/metadata/dom/nodes/attributes.html.ini
index bd75d0af9bd..c04bd404470 100644
--- a/tests/wpt/metadata/dom/nodes/attributes.html.ini
+++ b/tests/wpt/metadata/dom/nodes/attributes.html.ini
@@ -3,3 +3,6 @@
[When qualifiedName does not match the QName production, an INVALID_CHARACTER_ERR exception is to be thrown.]
expected: FAIL
+ [Toggling element with inline style should make inline style disappear]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini b/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini
index e4d7c3be226..2319416bd2b 100644
--- a/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini
+++ b/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini
@@ -9,3 +9,20 @@
[A Keep-Alive fetch() should return only its allocated Quota upon promise resolution.]
expected: FAIL
+
+[request-keepalive-quota.html?include=slow-3]
+ [A Keep-Alive fetch() should not be allowed if the Quota is used up.]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?include=slow-1]
+
+[request-keepalive-quota.html?include=slow-2]
+ [A Keep-Alive fetch() should return only its allocated Quota upon promise resolution.]
+ expected: FAIL
+
+
+[request-keepalive-quota.html?include=fast]
+ [A Keep-Alive fetch() with a body over the Quota Limit should reject.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-service-worker.html.ini b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-service-worker.html.ini
new file mode 100644
index 00000000000..58cf496b960
--- /dev/null
+++ b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-service-worker.html.ini
@@ -0,0 +1,4 @@
+[fetch-in-service-worker.html]
+ [Cross-Origin-Resource-Policy in Service Worker]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch.any.js.ini b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch.any.js.ini
new file mode 100644
index 00000000000..e04b8c545dd
--- /dev/null
+++ b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch.any.js.ini
@@ -0,0 +1,9 @@
+[fetch.any.html]
+ [fetch]
+ expected: FAIL
+
+
+[fetch.any.worker.html]
+ [fetch]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch.html.ini b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch.html.ini
deleted file mode 100644
index 74b60b89b01..00000000000
--- a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[fetch.html]
- [Untitled]
- expected: FAIL
-
- [fetch]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini
index 78879bad5f1..5b38c37b086 100644
--- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini
@@ -1,5 +1,4 @@
[javascript-url-abort-return-value-undefined.tentative.html]
- expected: TIMEOUT
[Not aborting fetch for javascript:undefined navigation]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/quirks/unitless-length.html.ini b/tests/wpt/metadata/quirks/unitless-length.html.ini
deleted file mode 100644
index 132f45e8141..00000000000
--- a/tests/wpt/metadata/quirks/unitless-length.html.ini
+++ /dev/null
@@ -1,1412 +0,0 @@
-[unitless-length.html]
- type: testharness
- [bottom: 1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1.5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1.5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1.5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1.5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1.5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1.5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1.5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1.5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1.5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1.5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1.5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1.5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1.5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1.5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1.5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1.5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1.5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1.5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: \\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: \\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: \\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: \\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: \\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: \\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: \\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: \\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: \\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: \\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: \\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: \\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1\\31 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1\\31 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1\\31 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1\\31 .5 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1\\31 .5 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1\\31 .5 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: 1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: 1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +1A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +1A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -1A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -1A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -A (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -A (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -A (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: @1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @1a (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @1a (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: @1a (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "a" (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "a" (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "a" (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "a" (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "a" (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "a" (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "1" (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "1" (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "1" (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "1" (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "1" (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "1" (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "1a" (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "1a" (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: "1a" (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "1a" (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "1a" (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: "1a" (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: url(1) (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: url(1) (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: url(1) (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: url(1) (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: url(1) (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: url(1) (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: url('1') (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: url('1') (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: url('1') (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: url('1') (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: url('1') (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: url('1') (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #01 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #01 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #01 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #01 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #01 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #01 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #0001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #0001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #0001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #0001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #0001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #0001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #00001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #00001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #00001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #00001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #00001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #00001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #000001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #000001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: #000001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #000001 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #000001 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: #000001 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +/**/1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +/**/1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: +/**/1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +/**/1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +/**/1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: +/**/1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -/**/1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -/**/1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: -/**/1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -/**/1 (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -/**/1 (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: -/**/1 (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: calc(1) (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: calc(1) (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: calc(1) (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: calc(1) (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: calc(1) (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: calc(1) (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: calc(2 * 2px) (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: calc(2 * 2px) (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [bottom: calc(2 * 2px) (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: calc(2 * 2px) (quirks)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: calc(2 * 2px) (almost standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
- [top: calc(2 * 2px) (standards)]
- expected:
- if os == "mac": FAIL
- if not debug and (os == "linux") and (version == "Ubuntu 14.04") and (processor == "x86_64") and (bits == 64): FAIL
-
diff --git a/tests/wpt/metadata/subresource-integrity/idlharness.window.js.ini b/tests/wpt/metadata/subresource-integrity/idlharness.window.js.ini
new file mode 100644
index 00000000000..e663f693ac3
--- /dev/null
+++ b/tests/wpt/metadata/subresource-integrity/idlharness.window.js.ini
@@ -0,0 +1,4 @@
+[idlharness.window.html]
+ [idlharness]
+ expected: FAIL
+
diff --git a/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini b/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini
deleted file mode 100644
index ba813a41144..00000000000
--- a/tests/wpt/mozilla/meta/css/border_radius_elliptical_a.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[border_radius_elliptical_a.html]
- expected: FAIL
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieListItem_attributes.tentative.https.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieListItem_attributes.tentative.https.window.js
new file mode 100644
index 00000000000..8093ec40bff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieListItem_attributes.tentative.https.window.js
@@ -0,0 +1,235 @@
+'use strict';
+
+// Workaround because add_cleanup doesn't support async functions yet.
+// See https://github.com/web-platform-tests/wpt/issues/6075
+async function async_cleanup(cleanup_function) {
+ try {
+ await cleanup_function();
+ } catch (e) {
+ // Errors in cleanup functions shouldn't result in test failures.
+ }
+}
+
+const kCurrentHostname = (new URL(self.location.href)).hostname;
+
+const kOneDay = 24 * 60 * 60 * 1000;
+const kTenYears = 10 * 365 * kOneDay;
+const kTenYearsFromNow = Date.now() + kTenYears;
+
+const kCookieListItemKeys =
+ ['domain', 'expires', 'name', 'path', 'sameSite', 'secure', 'value'].sort();
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set('cookie-name', 'cookie-value');
+
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'CookieListItem - cookieStore.set defaults with positional name and value');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set({ name: 'cookie-name', value: 'cookie-value' });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'CookieListItem - cookieStore.set defaults with name and value in options');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set('cookie-name', 'cookie-value',
+ { expires: kTenYearsFromNow });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_approx_equals(cookie.expires, kTenYearsFromNow, kOneDay);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'CookieListItem - cookieStore.set with expires set to a timestamp 10 ' +
+ 'years in the future');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set({ name: 'cookie-name', value: 'cookie-value',
+ expires: kTenYearsFromNow });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_approx_equals(cookie.expires, kTenYearsFromNow, kOneDay);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'CookieListItem - cookieStore.set with name and value in options and ' +
+ 'expires set to a future timestamp');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set('cookie-name', 'cookie-value',
+ { expires: new Date(kTenYearsFromNow) });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_approx_equals(cookie.expires, kTenYearsFromNow, kOneDay);
+ assert_equals(cookie.secure, true);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'CookieListItem - cookieStore.set with expires set to a Date 10 ' +
+ 'years in the future');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set({ name: 'cookie-name', value: 'cookie-value',
+ expires: new Date(kTenYearsFromNow) });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_approx_equals(cookie.expires, kTenYearsFromNow, kOneDay);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'CookieListItem - cookieStore.set with name and value in options and ' +
+ 'expires set to a future Date');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name', { domain: kCurrentHostname });
+
+ await cookieStore.set('cookie-name', 'cookie-value',
+ { domain: kCurrentHostname });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, kCurrentHostname);
+ assert_equals(cookie.path, '/');
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(async () => {
+ await cookieStore.delete('cookie-name', { domain: kCurrentHostname });
+ });
+}, 'CookieListItem - cookieStore.set with domain set to the current hostname');
+
+promise_test(async testCase => {
+ const currentUrl = new URL(self.location.href);
+ const currentPath = currentUrl.pathname;
+ const currentDirectory =
+ currentPath.substr(0, currentPath.lastIndexOf('/') + 1);
+ await cookieStore.delete('cookie-name', { path: currentDirectory });
+
+ await cookieStore.set('cookie-name', 'cookie-value',
+ { path: currentDirectory });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, currentDirectory);
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(async () => {
+ await cookieStore.delete('cookie-name', { path: currentDirectory });
+ });
+}, 'CookieListItem - cookieStore.set with path set to the current directory');
+
+promise_test(async testCase => {
+ await cookieStore.delete('cookie-name', { secure: false });
+
+ await cookieStore.set('cookie-name', 'cookie-value', { secure: false });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, false);
+ assert_equals(cookie.sameSite, 'strict');
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(async () => {
+ await cookieStore.delete('cookie-name', { secure: false });
+ });
+}, 'CookieListItem - cookieStore.set with secure set to false');
+
+['strict', 'lax', 'unrestricted'].forEach(sameSiteValue => {
+ promise_test(async testCase => {
+ await cookieStore.delete('cookie-name', { sameSite: sameSiteValue });
+
+ await cookieStore.set({
+ name: 'cookie-name', value: 'cookie-value', sameSite: sameSiteValue });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, sameSiteValue);
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(async () => {
+ await cookieStore.delete('cookie-name', { secure: sameSiteValue });
+ });
+ }, `CookieListItem - cookieStore.set with sameSite set to ${sameSiteValue}`);
+
+ promise_test(async testCase => {
+ await cookieStore.delete('cookie-name', { sameSite: sameSiteValue });
+
+ await cookieStore.set('cookie-name', 'cookie-value',
+ { sameSite: sameSiteValue });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+ assert_equals(cookie.domain, null);
+ assert_equals(cookie.path, '/');
+ assert_equals(cookie.expires, null);
+ assert_equals(cookie.secure, true);
+ assert_equals(cookie.sameSite, sameSiteValue);
+ assert_array_equals(Object.keys(cookie).sort(), kCookieListItemKeys);
+
+ await async_cleanup(async () => {
+ await cookieStore.delete('cookie-name', { secure: sameSiteValue });
+ });
+ }, 'CookieListItem - cookieStore.set with positional name and value and ' +
+ `sameSite set to ${sameSiteValue}`);
+});
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieListItem_attributes.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieListItem_attributes.tentative.window.js
deleted file mode 100644
index 4b4b211b44d..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/cookieListItem_attributes.tentative.window.js
+++ /dev/null
@@ -1,121 +0,0 @@
-'use strict';
-
-// Workaround because add_cleanup doesn't support async functions yet.
-// See https://github.com/web-platform-tests/wpt/issues/6075
-async function async_cleanup(cleanup_function) {
- try {
- await cleanup_function();
- } catch (e) {
- // Errors in cleanup functions shouldn't result in test failures.
- }
-}
-
-const kCurrentHostname = (new URL(self.location.href)).hostname;
-const kIsSecureTransport = (new URL(self.location.href)).protocol === 'https:';
-
-const kOneDay = 24 * 60 * 60 * 1000;
-const kTenYears = 10 * 365 * kOneDay;
-const kTenYearsFromNow = Date.now() + kTenYears;
-
-promise_test(async testCase => {
- await cookieStore.delete('cookie-name');
-
- await cookieStore.set('cookie-name', 'cookie-value');
-
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
- assert_equals(cookie.domain, null);
- assert_equals(cookie.path, '/');
- assert_equals(cookie.expires, null);
- assert_equals(cookie.secure, kIsSecureTransport);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set defaults with positional name and value');
-
-promise_test(async testCase => {
- await cookieStore.delete('cookie-name');
-
- await cookieStore.set({ name: 'cookie-name', value: 'cookie-value' });
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
- assert_equals(cookie.domain, null);
- assert_equals(cookie.path, '/');
- assert_equals(cookie.expires, null);
- assert_equals(cookie.secure, kIsSecureTransport);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set defaults with name and value in options');
-
-promise_test(async testCase => {
- await cookieStore.delete('cookie-name');
-
- await cookieStore.set('cookie-name', 'cookie-value',
- { expires: kTenYearsFromNow });
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
- assert_equals(cookie.domain, null);
- assert_equals(cookie.path, '/');
- assert_approx_equals(cookie.expires, kTenYearsFromNow, kOneDay);
- assert_equals(cookie.secure, kIsSecureTransport);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with expires set to 10 years in the future');
-
-promise_test(async testCase => {
- await cookieStore.delete('cookie-name');
-
- await cookieStore.set({ name: 'cookie-name', value: 'cookie-value',
- expires: kTenYearsFromNow });
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
- assert_equals(cookie.domain, null);
- assert_equals(cookie.path, '/');
- assert_approx_equals(cookie.expires, kTenYearsFromNow, kOneDay);
- assert_equals(cookie.secure, kIsSecureTransport);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with name and value in options and expires in the future');
-
-promise_test(async testCase => {
- await cookieStore.delete('cookie-name', { domain: kCurrentHostname });
-
- await cookieStore.set('cookie-name', 'cookie-value',
- { domain: kCurrentHostname });
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
- assert_equals(cookie.domain, kCurrentHostname);
- assert_equals(cookie.path, '/');
- assert_equals(cookie.expires, null);
- assert_equals(cookie.secure, kIsSecureTransport);
-
- await async_cleanup(async () => {
- await cookieStore.delete('cookie-name', { domain: kCurrentHostname });
- });
-}, 'cookieStore.set with domain set to the current hostname');
-
-promise_test(async testCase => {
- const currentUrl = new URL(self.location.href);
- const currentPath = currentUrl.pathname;
- const currentDirectory =
- currentPath.substr(0, currentPath.lastIndexOf('/') + 1);
- await cookieStore.delete('cookie-name', { path: currentDirectory });
-
- await cookieStore.set('cookie-name', 'cookie-value',
- { path: currentDirectory });
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
- assert_equals(cookie.domain, null);
- assert_equals(cookie.path, currentDirectory);
- assert_equals(cookie.expires, null);
- assert_equals(cookie.secure, kIsSecureTransport);
-
- await async_cleanup(async () => {
- await cookieStore.delete('cookie-name', { path: currentDirectory });
- });
-}, 'cookieStore.set with path set to the current directory');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_arguments.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_arguments.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_arguments.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_arguments.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_delete_basic.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_arguments.tenative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_arguments.tenative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_event_arguments.tenative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_event_arguments.tenative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_basic.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_event_basic.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_event_basic.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_delete.tenative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_delete.tenative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_event_delete.tenative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_event_delete.tenative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_overwrite.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_event_overwrite.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_event_overwrite.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_event_overwrite.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_arguments.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_arguments.tentative.https.window.js
similarity index 94%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_arguments.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_arguments.tentative.https.window.js
index 4519a1eabda..ef7611d78c8 100644
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_arguments.tentative.window.js
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_arguments.tentative.https.window.js
@@ -84,14 +84,14 @@ promise_test(async testCase => {
await cookieStore.set('cookie-name-2', 'cookie-value-2');
const cookies = await cookieStore.getAll(
- 'cookie-name-', { matchType: 'startsWith' });
+ 'cookie-name-', { matchType: 'starts-with' });
assert_equals(cookies.length, 1);
assert_equals(cookies[0].name, 'cookie-name-2');
assert_equals(cookies[0].value, 'cookie-value-2');
await async_cleanup(() => cookieStore.delete('cookie-name'));
await async_cleanup(() => cookieStore.delete('cookie-name-2'));
-}, 'cookieStore.getAll with matchType set to startsWith');
+}, 'cookieStore.getAll with matchType set to starts-with');
promise_test(async testCase => {
await cookieStore.set('cookie-name', 'cookie-value');
@@ -109,11 +109,11 @@ promise_test(async testCase => {
await cookieStore.set('cookie-name-2', 'cookie-value-2');
const cookies = await cookieStore.getAll(
- { matchType: 'startsWith', name: 'cookie-name-' });
+ { matchType: 'starts-with', name: 'cookie-name-' });
assert_equals(cookies.length, 1);
assert_equals(cookies[0].name, 'cookie-name-2');
assert_equals(cookies[0].value, 'cookie-value-2');
await async_cleanup(() => cookieStore.delete('cookie-name'));
await async_cleanup(() => cookieStore.delete('cookie-name-2'));
-}, 'cookieStore.getAll with matchType set to startsWith and name in options');
+}, 'cookieStore.getAll with matchType set to starts-with and name in options');
diff --git a/tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html b/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_multiple.tentative.https.window.js
similarity index 76%
rename from tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_multiple.tentative.https.window.js
index 82fd2e6358d..78b3c56fdd3 100644
--- a/tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_multiple.tentative.https.window.js
@@ -1,11 +1,3 @@
-
-
-
Async Cookies: cookieStore.getAll() sees cookieStore.set() cookie
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_set_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_set_basic.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_set_basic.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_getAll_set_basic.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_arguments.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_arguments.tentative.https.window.js
similarity index 92%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_get_arguments.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_get_arguments.tentative.https.window.js
index 66d815f3053..ddc73bec890 100644
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_arguments.tentative.window.js
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_arguments.tentative.https.window.js
@@ -58,12 +58,12 @@ promise_test(async testCase => {
await cookieStore.set('cookie-name', 'cookie-value');
const cookie = await cookieStore.get(
- 'cookie-na', { matchType: 'startsWith' });
+ 'cookie-na', { matchType: 'starts-with' });
assert_equals(cookie.name, 'cookie-name');
assert_equals(cookie.value, 'cookie-value');
async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.get with matchType set to startsWith');
+}, 'cookieStore.get with matchType set to starts-with');
promise_test(async testCase => {
await cookieStore.set('cookie-name', 'cookie-value');
@@ -78,9 +78,9 @@ promise_test(async testCase => {
await cookieStore.set('cookie-name', 'cookie-value');
const cookie = await cookieStore.get(
- { matchType: 'startsWith', name: 'cookie-na' });
+ { matchType: 'starts-with', name: 'cookie-na' });
assert_equals(cookie.name, 'cookie-name');
assert_equals(cookie.value, 'cookie-value');
async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.get with matchType set to startsWith and name in options');
+}, 'cookieStore.get with matchType set to starts-with and name in options');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_delete_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_delete_basic.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_get_delete_basic.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_get_delete_basic.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_set_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_get_set_basic.tentative.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_get_set_basic.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_get_set_basic.tentative.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_has_arguments.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_has_arguments.tentative.window.js
deleted file mode 100644
index c013b720094..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_has_arguments.tentative.window.js
+++ /dev/null
@@ -1,92 +0,0 @@
-'use strict';
-
-// Workaround because add_cleanup doesn't support async functions yet.
-// See https://github.com/web-platform-tests/wpt/issues/6075
-async function async_cleanup(cleanup_function) {
- try {
- await cleanup_function();
- } catch (e) {
- // Errors in cleanup functions shouldn't result in test failures.
- }
-}
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
- await cookieStore.delete('cookie-name-2');
-
- const has_cookie = await cookieStore.has('cookie-name');
- assert_equals(has_cookie, true);
- const has_cookie2 = await cookieStore.has('cookie-name-2');
- assert_equals(has_cookie2, false);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with positional name');
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
- await cookieStore.delete('cookie-name-2');
-
- const has_cookie = await cookieStore.has({ name: 'cookie-name' });
- assert_equals(has_cookie, true);
- const has_cookie2 = await cookieStore.has({ name: 'cookie-name-2' });
- assert_equals(has_cookie2, false);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with name in options');
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
-
- await promise_rejects(testCase, new TypeError(), cookieStore.has(
- 'cookie-name', { name: 'cookie-name' }));
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with name in both positional arguments and options');
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
-
- const has_cookie = await cookieStore.has(
- 'cookie-na', { matchType: 'equals' });
- assert_equals(has_cookie, false);
- const has_cookie2 = await cookieStore.has(
- 'cookie-name', { matchType: 'equals' });
- assert_equals(has_cookie2, true);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with matchType explicitly set to equals');
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
-
- const has_cookie = await cookieStore.has(
- 'cookie-na', { matchType: 'startsWith' });
- assert_equals(has_cookie, true);
- const has_cookie2 = await cookieStore.has(
- 'cookie-name-', { matchType: 'startsWith' });
- assert_equals(has_cookie2, false);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with matchType set to startsWith');
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
-
- await promise_rejects(testCase, new TypeError(), cookieStore.has(
- 'cookie-name', { matchType: 'invalid' }));
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with invalid matchType');
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
-
- const has_cookie = await cookieStore.has(
- { matchType: 'startsWith', name: 'cookie-na' });
- assert_equals(has_cookie, true);
- const has_cookie2 = await cookieStore.has(
- { matchType: 'startsWith', name: 'cookie-name-' });
- assert_equals(has_cookie2, false);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has with matchType set to startsWith and name in options');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_has_basic.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_has_basic.tentative.window.js
deleted file mode 100644
index 0bef0b18dbc..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_has_basic.tentative.window.js
+++ /dev/null
@@ -1,25 +0,0 @@
-'use strict';
-
-// Workaround because add_cleanup doesn't support async functions yet.
-// See https://github.com/web-platform-tests/wpt/issues/6075
-async function async_cleanup(cleanup_function) {
- try {
- await cleanup_function();
- } catch (e) {
- // Errors in cleanup functions shouldn't result in test failures.
- }
-}
-
-promise_test(async testCase => {
- await cookieStore.set('cookie-name', 'cookie-value');
- assert_equals(await cookieStore.has('cookie-name'), true);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has returns true for cookie set by cookieStore.set()');
-
-promise_test(async testCase => {
- await cookieStore.delete('cookie-name');
- assert_equals(await cookieStore.has('cookie-name'), false);
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.has returns false for cookie deleted by cookieStore.delete()');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_in_detached_frame.tentative.html b/tests/wpt/web-platform-tests/cookie-store/cookieStore_in_detached_frame.tentative.https.html
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_in_detached_frame.tentative.html
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_in_detached_frame.tentative.https.html
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_arguments.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_arguments.tentative.https.window.js
similarity index 88%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_set_arguments.tentative.window.js
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_set_arguments.tentative.https.window.js
index c35e8deb117..7f4982ed7c9 100644
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_arguments.tentative.window.js
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_arguments.tentative.https.window.js
@@ -67,7 +67,7 @@ promise_test(async testCase => {
assert_equals(cookie.value, 'cookie-value');
await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with expires in the future');
+}, 'cookieStore.set with expires set to a future timestamp');
promise_test(async testCase => {
const tenYears = 10 * 365 * 24 * 60 * 60 * 1000;
@@ -80,7 +80,34 @@ promise_test(async testCase => {
assert_equals(cookie, null);
await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with expires in the past');
+}, 'cookieStore.set with expires set to a past timestamp');
+
+promise_test(async testCase => {
+ const tenYears = 10 * 365 * 24 * 60 * 60 * 1000;
+ const tenYearsFromNow = Date.now() + tenYears;
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set(
+ 'cookie-name', 'cookie-value', { expires: new Date(tenYearsFromNow) });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie.name, 'cookie-name');
+ assert_equals(cookie.value, 'cookie-value');
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'cookieStore.set with expires set to a future Date');
+
+promise_test(async testCase => {
+ const tenYears = 10 * 365 * 24 * 60 * 60 * 1000;
+ const tenYearsAgo = Date.now() - tenYears;
+ await cookieStore.delete('cookie-name');
+
+ await cookieStore.set(
+ 'cookie-name', 'cookie-value', { expires: new Date(tenYearsAgo) });
+ const cookie = await cookieStore.get('cookie-name');
+ assert_equals(cookie, null);
+
+ await async_cleanup(() => cookieStore.delete('cookie-name'));
+}, 'cookieStore.set with expires set to a past Date');
promise_test(async testCase => {
const tenYears = 10 * 365 * 24 * 60 * 60 * 1000;
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_expires_option.tentative.window.js b/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_expires_option.tentative.window.js
deleted file mode 100644
index 6f3e6f4980e..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_set_expires_option.tentative.window.js
+++ /dev/null
@@ -1,59 +0,0 @@
-'use strict';
-
-// Workaround because add_cleanup doesn't support async functions yet.
-// See https://github.com/web-platform-tests/wpt/issues/6075
-async function async_cleanup(cleanup_function) {
- try {
- await cleanup_function();
- } catch (e) {
- // Errors in cleanup functions shouldn't result in test failures.
- }
-}
-
-promise_test(async testCase => {
- const inTwentyFourHours = new Date(Date.now() + 24 * 60 * 60 * 1000);
-
- assert_equals(
- await cookieStore.set(
- 'cookie-name', 'cookie-value', { expires: inTwentyFourHours }),
- undefined);
-
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with expires option: Date object');
-
-promise_test(async testCase => {
- const inTwentyFourHours = Date.now() + 24 * 60 * 60 * 1000;
-
- assert_equals(
- await cookieStore.set(
- 'cookie-name', 'cookie-value', { expires: inTwentyFourHours }),
- undefined);
-
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with expires option: milliseconds since epoch object');
-
-promise_test(async testCase => {
- const year = (new Date()).getUTCFullYear() + 1;
- const date = new Date('07 Jun ' + year + ' 07:07:07 UTC');
- const day = ('Sun Mon Tue Wed Thu Fri Sat'.split(' '))[date.getUTCDay()];
- const nextJune = `${day}, 07 Jun ${year} + ' 07:07:07 GMT`;
-
- assert_equals(
- await cookieStore.set(
- 'cookie-name', 'cookie-value', { expires: nextJune }),
- undefined);
-
- const cookie = await cookieStore.get('cookie-name');
- assert_equals(cookie.name, 'cookie-name');
- assert_equals(cookie.value, 'cookie-value');
-
- await async_cleanup(() => cookieStore.delete('cookie-name'));
-}, 'cookieStore.set with expires option: HTTP date string');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.html b/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.html
deleted file mode 100644
index 9859e100521..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.html
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-Cookie Store: cookieStore handles special cookie names correctly
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.https.window.js
similarity index 77%
rename from tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.https.html
rename to tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.https.window.js
index 0d1be12fa18..c82883a6069 100644
--- a/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.https.html
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStore_special_names.tentative.https.window.js
@@ -1,11 +1,3 @@
-
-
-Cookie Store: cookieStore handles special cookie names correctly (secure context)
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/document_cookie.tentative.html b/tests/wpt/web-platform-tests/cookie-store/document_cookie.tentative.html
deleted file mode 100644
index f5528d2d96c..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/document_cookie.tentative.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-Async Cookies: document.cookie
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/http_cookie_and_set_cookie_headers.tentative.html b/tests/wpt/web-platform-tests/cookie-store/http_cookie_and_set_cookie_headers.tentative.html
deleted file mode 100644
index 4370350a948..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/http_cookie_and_set_cookie_headers.tentative.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-Async Cookies: HTTP Cookie and Set-Cookie headers
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/httponly_cookies.window.js b/tests/wpt/web-platform-tests/cookie-store/httponly_cookies.https.window.js
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/httponly_cookies.window.js
rename to tests/wpt/web-platform-tests/cookie-store/httponly_cookies.https.window.js
diff --git a/tests/wpt/web-platform-tests/cookie-store/idlharness.tentative.html b/tests/wpt/web-platform-tests/cookie-store/idlharness.tentative.https.html
similarity index 100%
rename from tests/wpt/web-platform-tests/cookie-store/idlharness.tentative.html
rename to tests/wpt/web-platform-tests/cookie-store/idlharness.tentative.https.html
diff --git a/tests/wpt/web-platform-tests/cookie-store/no_name_and_no_value.tentative.html b/tests/wpt/web-platform-tests/cookie-store/no_name_and_no_value.tentative.html
deleted file mode 100644
index 79923b5ae8c..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/no_name_and_no_value.tentative.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-Async Cookies: Test No Name and No Value
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/no_name_equals_in_value.tentative.html b/tests/wpt/web-platform-tests/cookie-store/no_name_equals_in_value.tentative.html
deleted file mode 100644
index 17597038c08..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/no_name_equals_in_value.tentative.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-Async Cookies: Test No Name, '=' in Value
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/no_name_multiple_values.tentative.html b/tests/wpt/web-platform-tests/cookie-store/no_name_multiple_values.tentative.html
deleted file mode 100644
index 755d1066799..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/no_name_multiple_values.tentative.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-Async Cookies: Test No Name, Multiple Values
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_arguments.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_arguments.js
index 0ffe6f8b0b0..7e19c985139 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_arguments.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_arguments.js
@@ -5,10 +5,12 @@ self.GLOBAL = {
importScripts("/resources/testharness.js");
importScripts(
- "cookieStore_delete_arguments.tentative.window.js",
- "cookieStore_get_arguments.tentative.window.js",
- "cookieStore_getAll_arguments.tentative.window.js",
- "cookieStore_has_arguments.tentative.window.js",
- "cookieStore_set_arguments.tentative.window.js");
+ "cookieListItem_attributes.tentative.https.window.js",
+ "cookieStore_delete_arguments.tentative.https.window.js",
+ "cookieStore_get_arguments.tentative.https.window.js",
+ "cookieStore_getAll_arguments.tentative.https.window.js",
+ "cookieStore_getAll_multiple.tentative.https.window.js",
+ "cookieStore_set_arguments.tentative.https.window.js",
+ "cookieStore_special_names.tentative.https.window.js");
done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_basic.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_basic.js
index 0d8039f9d33..7461ef5f98d 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_basic.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_basic.js
@@ -5,9 +5,9 @@ self.GLOBAL = {
importScripts("/resources/testharness.js");
importScripts(
- "cookieStore_get_delete_basic.tentative.window.js",
- "cookieStore_get_set_basic.tentative.window.js",
- "cookieStore_getAll_set_basic.tentative.window.js",
- "cookieStore_has_basic.tentative.window.js");
+ "cookieStore_delete_basic.tentative.https.window.js",
+ "cookieStore_get_delete_basic.tentative.https.window.js",
+ "cookieStore_get_set_basic.tentative.https.window.js",
+ "cookieStore_getAll_set_basic.tentative.https.window.js");
done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js
index a2affed5eac..93566cd2443 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js
@@ -13,7 +13,7 @@ self.addEventListener('install', (event) => {
{ name: 'cookie-name1', matchType: 'equals', url: '/scope/path1' }]);
await cookieStore.subscribeToChanges([
{ }, // Test the default values for subscription properties.
- { name: 'cookie-prefix', matchType: 'startsWith' },
+ { name: 'cookie-prefix', matchType: 'starts-with' },
]);
})());
});
@@ -54,10 +54,10 @@ promise_test(async testCase => {
assert_equals('equals', subscriptions[0].matchType);
assert_equals(subscriptions[1].name, 'cookie-prefix');
- assert_equals('startsWith', subscriptions[1].matchType);
+ assert_equals('starts-with', subscriptions[1].matchType);
assert_false('name' in subscriptions[2]);
- assert_equals('startsWith', subscriptions[2].matchType);
+ assert_equals('starts-with', subscriptions[2].matchType);
}, 'getChangeSubscriptions returns subscriptions passed to subscribeToChanges');
promise_test(async testCase => {
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
index 2b602f4c5f0..ef4ddfbd60c 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
@@ -40,7 +40,7 @@ promise_test(async testCase => {
promise_test(async testCase => {
await kServiceWorkerActivatedPromise;
- cookie_change_received_promise = new Promise((resolve) => {
+ const cookie_change_received_promise = new Promise((resolve) => {
self.addEventListener('cookiechange', (event) => {
resolve(event);
});
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js
new file mode 100644
index 00000000000..0da734d63d1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js
@@ -0,0 +1,36 @@
+self.GLOBAL = {
+ isWindow: function() { return false; },
+ isWorker: function() { return true; },
+};
+importScripts("/resources/testharness.js");
+
+self.addEventListener('install', (event) => {
+ event.waitUntil((async () => {
+ cookieStore.subscribeToChanges([]);
+ })());
+});
+
+// Workaround because add_cleanup doesn't support async functions yet.
+// See https://github.com/w3c/web-platform-tests/issues/6075
+async function async_cleanup(cleanup_function) {
+ try {
+ await cleanup_function();
+ } catch (e) {
+ // Errors in cleanup functions shouldn't result in test failures.
+ }
+}
+
+// Resolves when the service worker receives the 'activate' event.
+const kServiceWorkerActivatedPromise = new Promise(resolve => {
+ self.addEventListener('activate', event => { resolve(); });
+});
+
+promise_test(async testCase => {
+ await kServiceWorkerActivatedPromise;
+
+ const subscriptions = await cookieStore.getChangeSubscriptions();
+ assert_equals(subscriptions.length, 0);
+
+}, 'getChangeSubscriptions returns an empty array when there are no subscriptions');
+
+done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html
new file mode 100644
index 00000000000..38690fe3c72
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html
@@ -0,0 +1,21 @@
+
+
+Async Cookies: ServiceWorker without cookie change subscriptions
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js
new file mode 100644
index 00000000000..5e4ec4355f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js
@@ -0,0 +1,53 @@
+self.GLOBAL = {
+ isWindow: function() { return false; },
+ isWorker: function() { return true; },
+};
+importScripts("/resources/testharness.js");
+
+self.addEventListener('install', (event) => {
+ event.waitUntil((async () => {
+ cookieStore.subscribeToChanges([
+ { name: 'cookie-name', matchType: 'equals', url: '/scope/path' }]);
+ })());
+});
+
+// Workaround because add_cleanup doesn't support async functions yet.
+// See https://github.com/w3c/web-platform-tests/issues/6075
+async function async_cleanup(cleanup_function) {
+ try {
+ await cleanup_function();
+ } catch (e) {
+ // Errors in cleanup functions shouldn't result in test failures.
+ }
+}
+
+// Resolves when the service worker receives the 'activate' event.
+const kServiceWorkerActivatedPromise = new Promise(resolve => {
+ self.addEventListener('activate', event => { resolve(); });
+});
+
+promise_test(async testCase => {
+ await kServiceWorkerActivatedPromise;
+
+ const cookie_change_received_promise = new Promise((resolve) => {
+ self.addEventListener('cookiechange', (event) => {
+ resolve(event);
+ });
+ });
+
+ await cookieStore.set('another-cookie-name', 'cookie-value');
+ await cookieStore.set('cookie-name', 'cookie-value');
+
+ const event = await cookie_change_received_promise;
+ assert_equals(event.type, 'cookiechange');
+ assert_equals(event.changed.length, 1);
+ assert_equals(event.changed[0].name, 'cookie-name');
+ assert_equals(event.changed[0].value, 'cookie-value');
+
+ await async_cleanup(() => {
+ cookieStore.delete('another-cookie-name');
+ cookieStore.delete('cookie-name');
+ });
+}, 'cookiechange not dispatched for change that does not match subscription');
+
+done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html
new file mode 100644
index 00000000000..ea70a1efcd0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html
@@ -0,0 +1,21 @@
+
+
+Async Cookies: ServiceWorker cookiechange event filtering
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/cors/resources/cache-304.py b/tests/wpt/web-platform-tests/cors/resources/cache-304.py
new file mode 100644
index 00000000000..7acdfd69768
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cors/resources/cache-304.py
@@ -0,0 +1,10 @@
+def main(request, response):
+ match = request.headers.get("If-None-Match", None)
+ if match is not None and match == "mybestscript-v1":
+ response.status = (304, "YEP")
+ return ""
+ response.headers.set("Access-Control-Allow-Origin", "*")
+ response.headers.set("Cache-Control", "must-revalidate")
+ response.headers.set("ETag", "mybestscript-v1")
+ response.headers.set("Content-Type", "text/javascript")
+ return "function hep() { }"
diff --git a/tests/wpt/web-platform-tests/cors/script-304.html b/tests/wpt/web-platform-tests/cors/script-304.html
new file mode 100644
index 00000000000..e164ca6f41b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cors/script-304.html
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/credential-management/idl.https.html b/tests/wpt/web-platform-tests/credential-management/idl.https.html
deleted file mode 100644
index 8754b5a30b6..00000000000
--- a/tests/wpt/web-platform-tests/credential-management/idl.https.html
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/credential-management/idlharness.https.window.js b/tests/wpt/web-platform-tests/credential-management/idlharness.https.window.js
new file mode 100644
index 00000000000..15508b872ed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/credential-management/idlharness.https.window.js
@@ -0,0 +1,35 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://w3c.github.io/webappsec-credential-management/
+
+'use strict';
+
+promise_test(async () => {
+ const idl = await fetch('/interfaces/credential-management.idl').then(r => r.text());
+ const html = await fetch('/interfaces/html.idl').then(r => r.text());
+
+ var idl_array = new IdlArray();
+ idl_array.add_idls(idl);
+ idl_array.add_dependency_idls(html);
+ idl_array.add_objects({
+ CredentialsContainer: ['navigator.credentials'],
+ PasswordCredential: [
+ `new PasswordCredential({
+ id: "id",
+ password: "pencil",
+ iconURL: "https://example.com/",
+ name: "name"
+ })`
+ ],
+ FederatedCredential: [
+ `new FederatedCredential({
+ id: "id",
+ provider: "https://example.com",
+ iconURL: "https://example.com/",
+ name: "name"
+ })`
+ ]
+ });
+ idl_array.test();
+})
diff --git a/tests/wpt/web-platform-tests/css/CSS2/abspos/between-float-and-text.html b/tests/wpt/web-platform-tests/css/CSS2/abspos/between-float-and-text.html
new file mode 100644
index 00000000000..b4c933e8d80
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/abspos/between-float-and-text.html
@@ -0,0 +1,11 @@
+
+Auto-positioned abspos after text, before float
+
+
+
+Test passes if there is a filled green square and no red .
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html
new file mode 100644
index 00000000000..6c2980cc23e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+CSS basic box model: parsing clear with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html
new file mode 100644
index 00000000000..59b68f1923b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/clear-valid.html
@@ -0,0 +1,21 @@
+
+
+
+
+CSS basic box model: parsing clear with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html
new file mode 100644
index 00000000000..f20183f0527
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/float-invalid.html
@@ -0,0 +1,20 @@
+
+
+
+
+CSS basic box model: parsing float with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html
new file mode 100644
index 00000000000..be91602a4a2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/float-valid.html
@@ -0,0 +1,29 @@
+
+
+
+
+CSS basic box model: parsing float with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html
new file mode 100644
index 00000000000..120cce6fcfa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/height-invalid.html
@@ -0,0 +1,30 @@
+
+
+
+
+CSS basic box model: parsing height with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html
new file mode 100644
index 00000000000..9b3df67c11d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/height-valid.html
@@ -0,0 +1,30 @@
+
+
+
+
+CSS basic box model: parsing height with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html
new file mode 100644
index 00000000000..d28c4823b6c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-invalid.html
@@ -0,0 +1,25 @@
+
+
+
+
+CSS basic box model: parsing margin with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html
new file mode 100644
index 00000000000..9986222e263
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/margin-valid.html
@@ -0,0 +1,34 @@
+
+
+
+
+CSS basic box model: parsing margin with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html
new file mode 100644
index 00000000000..9f37619f334
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-invalid.html
@@ -0,0 +1,30 @@
+
+
+
+
+CSS basic box model: parsing max-height with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html
new file mode 100644
index 00000000000..846eb1da92b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-height-valid.html
@@ -0,0 +1,31 @@
+
+
+
+
+CSS basic box model: parsing max-height with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html
new file mode 100644
index 00000000000..32f51ef4529
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-invalid.html
@@ -0,0 +1,30 @@
+
+
+
+
+CSS basic box model: parsing max-width with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html
new file mode 100644
index 00000000000..73e175918f8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/max-width-valid.html
@@ -0,0 +1,31 @@
+
+
+
+
+CSS basic box model: parsing max-width with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html
new file mode 100644
index 00000000000..846d1888362
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-invalid.html
@@ -0,0 +1,33 @@
+
+
+
+
+CSS basic box model: parsing min-height with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html
new file mode 100644
index 00000000000..728667015e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-height-valid.html
@@ -0,0 +1,29 @@
+
+
+
+
+CSS basic box model: parsing min-height with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html
new file mode 100644
index 00000000000..e6998b0001c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-invalid.html
@@ -0,0 +1,33 @@
+
+
+
+
+CSS basic box model: parsing min-width with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html
new file mode 100644
index 00000000000..5440b8793d7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/min-width-valid.html
@@ -0,0 +1,29 @@
+
+
+
+
+CSS basic box model: parsing min-width with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html
new file mode 100644
index 00000000000..dd97b9823f7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-invalid.html
@@ -0,0 +1,24 @@
+
+
+
+
+CSS basic box model: parsing overflow with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html
new file mode 100644
index 00000000000..d4411c80367
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/overflow-valid.html
@@ -0,0 +1,35 @@
+
+
+
+
+CSS basic box model: parsing overflow with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html
new file mode 100644
index 00000000000..54bfc69cfe3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-invalid.html
@@ -0,0 +1,34 @@
+
+
+
+
+CSS basic box model: parsing padding with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html
new file mode 100644
index 00000000000..f3cda52a4a2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/padding-valid.html
@@ -0,0 +1,25 @@
+
+
+
+
+CSS basic box model: parsing padding with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/resources/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-box/parsing/resources/parsing-testcommon.js
new file mode 100644
index 00000000000..b075882f89a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/resources/parsing-testcommon.js
@@ -0,0 +1,39 @@
+'use strict';
+
+// serializedValue can be the expected serialization of value,
+// or an array of permitted serializations,
+// or omitted if value should serialize as value.
+function test_valid_value(property, value, serializedValue) {
+ if (arguments.length < 3)
+ serializedValue = value;
+
+ var stringifiedValue = JSON.stringify(value);
+
+ test(function(){
+ var div = document.createElement('div');
+ div.style[property] = value;
+ assert_not_equals(div.style.getPropertyValue(property), "", "property should be set");
+
+ var div = document.createElement('div');
+ div.style[property] = value;
+ var readValue = div.style.getPropertyValue(property);
+ if (serializedValue instanceof Array)
+ assert_in_array(readValue, serializedValue, "serialization should be sound");
+ else
+ assert_equals(readValue, serializedValue, "serialization should be canonical");
+
+ div.style[property] = readValue;
+ assert_equals(div.style.getPropertyValue(property), readValue, "serialization should round-trip");
+
+ }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value");
+}
+
+function test_invalid_value(property, value) {
+ var stringifiedValue = JSON.stringify(value);
+
+ test(function(){
+ var div = document.createElement('div');
+ div.style[property] = value;
+ assert_equals(div.style.getPropertyValue(property), "");
+ }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value");
+}
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html
new file mode 100644
index 00000000000..39050694101
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+CSS basic box model: parsing visibility with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html
new file mode 100644
index 00000000000..fbff1f09812
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/visibility-valid.html
@@ -0,0 +1,20 @@
+
+
+
+
+CSS basic box model: parsing visibility with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html
new file mode 100644
index 00000000000..f573ba2c5f4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/width-invalid.html
@@ -0,0 +1,31 @@
+
+
+
+
+CSS basic box model: parsing width with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html b/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html
new file mode 100644
index 00000000000..7ae55ccb2d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-box/parsing/width-valid.html
@@ -0,0 +1,29 @@
+
+
+
+
+CSS basic box model: parsing width with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/all-prop-initial-xml.html b/tests/wpt/web-platform-tests/css/css-cascade/all-prop-initial-xml.html
new file mode 100644
index 00000000000..a04956a52d1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-cascade/all-prop-initial-xml.html
@@ -0,0 +1,34 @@
+
+all: initial on unknown XML tree
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-013.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-013.html
index f1bbc085454..4d1cbc403bd 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-013.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-013.html
@@ -14,4 +14,4 @@ img {
Test passes if there is a filled green square and no red .
-
+
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-007-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-007-ref.html
index 3048d55f11a..ae3c424f726 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-007-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-007-ref.html
@@ -9,7 +9,11 @@ rtc {
display: ruby-text-container;
font-size: 1rem;
}
+rtc::after {
+ content: "PASS";
+ position: absolute;
+}
This test passes if you can see the word PASS below.
-
PASS
+
diff --git a/tests/wpt/web-platform-tests/css/css-env/META.yml b/tests/wpt/web-platform-tests/css/css-env/META.yml
new file mode 100644
index 00000000000..51a24d0b7a3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-env/META.yml
@@ -0,0 +1,3 @@
+suggested_reviewers:
+ - rebeccahughes
+ - lilles
diff --git a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html
index e53486e62d1..7a636481beb 100644
--- a/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-images/parsing/gradient-position-invalid.html
@@ -12,6 +12,8 @@
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-logical/resources/test-box-properties.js b/tests/wpt/web-platform-tests/css/css-logical/resources/test-box-properties.js
index a52b8fdbba1..da4774771a7 100644
--- a/tests/wpt/web-platform-tests/css/css-logical/resources/test-box-properties.js
+++ b/tests/wpt/web-platform-tests/css/css-logical/resources/test-box-properties.js
@@ -90,14 +90,14 @@
* }, logical: {
* inlineStart: "margin-inline-start", inlineEnd: "margin-inline-end",
* blockStart: "margin-block-start", blockEnd: "margin-block-end",
- * }, type: "length", prerequisites: "...", property: "'margin-*'" }
+ * }, type: ["length"], prerequisites: "...", property: "'margin-*'" }
*
* @param {string} property
* A string representing the property names, like "margin-*".
* @param {Object} descriptor
- * @param {string} descriptor.type
+ * @param {string|string[]} descriptor.type
* Describes the kind of values accepted by the property, like "length".
- * Must be a key from the `testValues` object.
+ * Must be a key or a collection of keys from the `testValues` object.
* @param {Object={}} descriptor.prerequisites
* Represents property declarations that are needed by `property` to work.
* For example, border-width properties require a border style.
@@ -115,7 +115,8 @@
physical[physicalSide] = isInset ? physicalSide : property.replace("*", physicalSide);
prerequisites += makeDeclaration(descriptor.prerequisites, physicalSide);
}
- return {name, logical, physical, type: descriptor.type, prerequisites, property};
+ const type = [].concat(descriptor.type);
+ return {name, logical, physical, type, prerequisites, property};
};
/**
@@ -134,7 +135,7 @@
horizontal: `${prefix}width`,
vertical: `${prefix}height`,
},
- type: "length",
+ type: ["length"],
prerequisites: makeDeclaration({display: "block"}),
property: (prefix ? prefix.slice(0, -1) + " " : "") + "sizing",
};
@@ -147,7 +148,9 @@
* An object returned by createBoxPropertyGroup or createSizingPropertyGroup.
*/
exports.runTests = function(group) {
- const values = testValues[group.type];
+ const values = testValues[group.type[0]].map(function(_, i) {
+ return group.type.map(type => testValues[type][i]).join(" ");
+ });
const logicals = Object.values(group.logical);
const physicals = Object.values(group.physical);
@@ -158,8 +161,8 @@
expected.push([logicalProp, values[i]]);
}
testCSSValues("logical properties in inline style", testElement.style, expected);
- testElement.style.cssText = "";
}, `Test that logical ${group.property} properties are supported.`);
+ testElement.style.cssText = "";
for (const writingMode of writingModes) {
for (const style of writingMode.styles) {
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/overflowing-snap-areas.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/overflowing-snap-areas.html
new file mode 100644
index 00000000000..6d3c1865fe7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/overflowing-snap-areas.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
index 766cf57a047..58807a6836f 100644
--- a/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
@@ -8,41 +8,55 @@ body {
overflow: scroll;
scroll-snap-type: both mandatory;
}
+div {
+ position: absolute;
+}
.scroller {
overflow: scroll;
scroll-snap-type: both mandatory;
}
-#div-scroller {
+#inner-scroller {
+ top: 3000px;
width: 800px;
height: 800px;
}
-.content {
+.space {
+ left: 0px;
+ top: 0px;
width: 2100px;
height: 2100px;
}
.target {
- width: 1000px;
- height: 1000px;
+ width: 600px;
+ height: 600px;
scroll-snap-align: start;
- float: left;
+}
+
+.left {
+ left: 0px;
+}
+.right {
+ left: 1000px;
+}
+.top {
+ top: 0px;
+}
+.bottom {
+ top: 1000px;
}
-
-
-
-
-
+
+
+
+
+
+
@@ -55,7 +69,7 @@ function format_dict(dict) {
return `{${props.join(', ')}}`;
}
-var divScroller = document.getElementById("div-scroller");
+var divScroller = document.getElementById("inner-scroller");
var viewport = document.scrollingElement;
[
[{left: 800}, 1000, 0],
@@ -140,6 +154,4 @@ var viewport = document.scrollingElement;
assert_equals(window.scrollY, expectedY);
}, `scrollBy(${format_dict(input)}) on window lands on (${expectedX}, ${expectedY})`);
});
-
-document.body.removeChild(document.getElementById("content"));
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/trailing-space-before-br-001.html b/tests/wpt/web-platform-tests/css/css-text/white-space/trailing-space-before-br-001.html
new file mode 100644
index 00000000000..2ecd4d3767a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/trailing-space-before-br-001.html
@@ -0,0 +1,44 @@
+
+
CSS Text: A sequence of collapsible spaces at the end of a line is removed
+
+
+
+
+
+
+
+
1111
+
1111
+
1111
+
1111
+
1111
+
1111
+
1111
+
1111
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html
new file mode 100644
index 00000000000..3af91965883
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-invalid.html
@@ -0,0 +1,20 @@
+
+
+
+
+
CSS Transform Module Level 1: parsing transform-box with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html
new file mode 100644
index 00000000000..742750b6677
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-box-valid.html
@@ -0,0 +1,22 @@
+
+
+
+
+
CSS Transform Module Level 1: parsing transform-box with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
new file mode 100644
index 00000000000..dc81069c9e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
@@ -0,0 +1,45 @@
+
+
+
+
+
CSS Transform Module Level 2: parsing transform with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html
new file mode 100644
index 00000000000..dab56a04231
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-invalid.html
@@ -0,0 +1,24 @@
+
+
+
+
+
CSS Transform Module Level 1: parsing transform-origin with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html
new file mode 100644
index 00000000000..ab36024ef2b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-origin-valid.html
@@ -0,0 +1,35 @@
+
+
+
+
+
CSS Transform Module Level 1: parsing transform-origin with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
new file mode 100644
index 00000000000..9a5b9c0696e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
@@ -0,0 +1,53 @@
+
+
+
+
+
CSS Transform Module Level 2: parsing transform with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html
new file mode 100644
index 00000000000..a587b9fb0e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing direction with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html
new file mode 100644
index 00000000000..436226a9187
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/direction-valid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing direction with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/resources/parsing-testcommon.js b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/resources/parsing-testcommon.js
new file mode 100644
index 00000000000..b075882f89a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/resources/parsing-testcommon.js
@@ -0,0 +1,39 @@
+'use strict';
+
+// serializedValue can be the expected serialization of value,
+// or an array of permitted serializations,
+// or omitted if value should serialize as value.
+function test_valid_value(property, value, serializedValue) {
+ if (arguments.length < 3)
+ serializedValue = value;
+
+ var stringifiedValue = JSON.stringify(value);
+
+ test(function(){
+ var div = document.createElement('div');
+ div.style[property] = value;
+ assert_not_equals(div.style.getPropertyValue(property), "", "property should be set");
+
+ var div = document.createElement('div');
+ div.style[property] = value;
+ var readValue = div.style.getPropertyValue(property);
+ if (serializedValue instanceof Array)
+ assert_in_array(readValue, serializedValue, "serialization should be sound");
+ else
+ assert_equals(readValue, serializedValue, "serialization should be canonical");
+
+ div.style[property] = readValue;
+ assert_equals(div.style.getPropertyValue(property), readValue, "serialization should round-trip");
+
+ }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value");
+}
+
+function test_invalid_value(property, value) {
+ var stringifiedValue = JSON.stringify(value);
+
+ test(function(){
+ var div = document.createElement('div');
+ div.style[property] = value;
+ assert_equals(div.style.getPropertyValue(property), "");
+ }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value");
+}
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
new file mode 100644
index 00000000000..8807997de8b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing text-combine-upright with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
new file mode 100644
index 00000000000..f599f12bf17
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-combine-upright-valid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing text-combine-upright with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html
new file mode 100644
index 00000000000..4461dbeea2f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing text-orientation with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html
new file mode 100644
index 00000000000..f6304fd4d8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/text-orientation-valid.html
@@ -0,0 +1,20 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing text-orientation with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
new file mode 100644
index 00000000000..10907cbe931
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing unicode-bidi with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
new file mode 100644
index 00000000000..49c42345a36
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/unicode-bidi-valid.html
@@ -0,0 +1,23 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing unicode-bidi with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html
new file mode 100644
index 00000000000..7b36e47cc56
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing writing-mode with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html
new file mode 100644
index 00000000000..4264e3840db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/parsing/writing-mode-valid.html
@@ -0,0 +1,20 @@
+
+
+
+
+
CSS Writing Modes Level 3: parsing writing-mode with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/reference/scrollbar-vertical-rl-ref.html b/tests/wpt/web-platform-tests/css/css-writing-modes/reference/scrollbar-vertical-rl-ref.html
new file mode 100644
index 00000000000..2ee601d16d2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/reference/scrollbar-vertical-rl-ref.html
@@ -0,0 +1,21 @@
+
+
+
+
CSS Writing Modes Test: vertical-rl painting with vertical scrollbar reference
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/scrollbar-vertical-rl.html b/tests/wpt/web-platform-tests/css/css-writing-modes/scrollbar-vertical-rl.html
new file mode 100644
index 00000000000..71e57efb09a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/scrollbar-vertical-rl.html
@@ -0,0 +1,29 @@
+
+
+
+
CSS Writing Modes Test: vertical-rl painting with vertical scrollbar
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/test_media_queries.html b/tests/wpt/web-platform-tests/css/mediaqueries/test_media_queries.html
index 57830f4d47f..a239efdc116 100644
--- a/tests/wpt/web-platform-tests/css/mediaqueries/test_media_queries.html
+++ b/tests/wpt/web-platform-tests/css/mediaqueries/test_media_queries.html
@@ -99,35 +99,55 @@ function run() {
// The no-type syntax doesn't mix with the not and only keywords.
query_should_be_parseable("(orientation)");
- query_should_not_be_parseable("not (orientation)");
+ query_should_be_parseable("not (orientation)");
query_should_not_be_parseable("only (orientation)");
query_should_be_parseable("all and (orientation)");
query_should_be_parseable("not all and (orientation)");
query_should_be_parseable("only all and (orientation)");
+ query_should_not_be_parseable("not not (orientation)");
+ query_should_be_parseable("(orientation) and (orientation)");
+ query_should_be_parseable("(orientation) or (orientation)");
+ query_should_be_parseable("(orientation) or ((orientation) and ((orientation) or (orientation) or (not (orientation))))");
+
+ query_should_not_be_parseable("all and (orientation) or (orientation)");
+ query_should_be_parseable("all and (orientation) and (orientation)");
+
+ query_should_not_be_parseable("(orientation) and (orientation) or (orientation)");
+ query_should_not_be_parseable("(orientation) and not (orientation)");
+
+
var features = [ "width", "height", "device-width", "device-height" ];
+ var separators = [ ":", ">", ">=", "=", "<=", "<" ];
var feature;
var i;
for (i in features) {
feature = features[i];
expression_should_be_parseable(feature);
- expression_should_be_parseable(feature + ": 0");
- expression_should_be_parseable(feature + ": 0px");
- expression_should_be_parseable(feature + ": 0em");
- expression_should_be_parseable(feature + ": -0");
- expression_should_be_parseable("min-" + feature + ": -0");
- expression_should_be_parseable("max-" + feature + ": -0");
- expression_should_be_parseable(feature + ": -0cm");
- expression_should_be_parseable(feature + ": 1px");
- expression_should_be_parseable(feature + ": 0.001mm");
- expression_should_be_parseable(feature + ": 100000px");
- expression_should_not_be_parseable(feature + ": -1px");
- expression_should_not_be_parseable("min-" + feature + ": -1px");
- expression_should_not_be_parseable("max-" + feature + ": -1px");
- expression_should_not_be_parseable(feature + ": -0.00001mm");
- expression_should_not_be_parseable(feature + ": -100000em");
expression_should_not_be_parseable("min-" + feature);
expression_should_not_be_parseable("max-" + feature);
+ for (let separator of separators) {
+ expression_should_be_parseable(feature + " " + separator + " 0");
+ expression_should_be_parseable(feature + " " + separator + " 0px");
+ expression_should_be_parseable(feature + " " + separator + " 0em");
+ expression_should_be_parseable(feature + " " + separator + " -0");
+ expression_should_be_parseable(feature + " " + separator + " -0cm");
+ expression_should_be_parseable(feature + " " + separator + " 1px");
+ expression_should_be_parseable(feature + " " + separator + " 0.001mm");
+ expression_should_be_parseable(feature + " " + separator + " 100000px");
+ if (separator == ":") {
+ expression_should_be_parseable("min-" + feature + " " + separator + " -0");
+ expression_should_be_parseable("max-" + feature + " " + separator + " -0");
+ } else {
+ expression_should_not_be_parseable("min-" + feature + " " + separator + " -0");
+ expression_should_not_be_parseable("max-" + feature + " " + separator + " -0");
+ }
+ expression_should_not_be_parseable(feature + " " + separator + " -1px");
+ expression_should_not_be_parseable("min-" + feature + " " + separator + " -1px");
+ expression_should_not_be_parseable("max-" + feature + " " + separator + " -1px");
+ expression_should_not_be_parseable(feature + " " + separator + " -0.00001mm");
+ expression_should_not_be_parseable(feature + " " + separator + " -100000em");
+ }
}
var content_div = document.getElementById("content");
@@ -142,15 +162,21 @@ function run() {
iframe_style.height = height_val + "px";
var device_width = window.screen.width;
var device_height = window.screen.height;
- features = { "width": width_val,
- "height": height_val,
- "device-width": device_width,
- "device-height": device_height };
+ features = {
+ "width": width_val,
+ "height": height_val,
+ "device-width": device_width,
+ "device-height": device_height
+ };
for (feature in features) {
var value = features[feature];
should_apply("all and (" + feature + ": " + value + "px)");
+ should_apply("all and (" + feature + " = " + value + "px)");
should_not_apply("all and (" + feature + ": " + (value + 1) + "px)");
should_not_apply("all and (" + feature + ": " + (value - 1) + "px)");
+ should_not_apply("all and (" + feature + " = " + (value + 1) + "px)");
+ should_not_apply("all and (" + feature + " = " + (value - 1) + "px)");
+
should_apply("all and (min-" + feature + ": " + value + "px)");
should_not_apply("all and (min-" + feature + ": " + (value + 1) + "px)");
should_apply("all and (min-" + feature + ": " + (value - 1) + "px)");
@@ -165,6 +191,21 @@ function run() {
(Math.ceil(value/em_size) + 1) + "em)");
should_not_apply("all and (max-" + feature + ": " +
(Math.floor(value/em_size) - 1) + "em)");
+
+ should_apply("(" + feature + " <= " + value + "px)");
+ should_apply("(" + feature + " >= " + value + "px)");
+ should_not_apply("(" + feature + " < " + value + "px)");
+ should_not_apply("(" + feature + " > " + value + "px)");
+
+ should_apply("(" + feature + " < " + (value + 1) + "px)");
+ should_apply("(" + feature + " <= " + (value + 1) + "px)");
+ should_not_apply("(" + feature + " > " + (value + 1) + "px)");
+ should_not_apply("(" + feature + " >= " + (value + 1) + "px)");
+
+ should_apply("(" + feature + " > " + (value - 1) + "px)");
+ should_apply("(" + feature + " >= " + (value - 1) + "px)");
+ should_not_apply("(" + feature + " < " + (value - 1) + "px)");
+ should_not_apply("(" + feature + " <= " + (value - 1) + "px)");
}
iframe_style.width = "0";
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor-ref.html
new file mode 100644
index 00000000000..4bb4cbd4178
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor-ref.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
CSS Reftest Reference
+
+
+
+
+
+
+
+ This box should have a green box shadow.
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor.html
new file mode 100644
index 00000000000..cdb0b9d9fc2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/box-shadow-currentcolor.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
CSS Test: 'box-shadow' respects 'currentcolor'
+
+
+
+
+
+
+
+
+
+
+ This box should have a green box shadow.
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list
index 541e9872beb..e60bdb947f5 100644
--- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/background/reftest.list
@@ -36,3 +36,6 @@
# background-attachment test cases
== background-attachment-fixed-inside-transform-1.html background-attachment-fixed-inside-transform-1-ref.html
+
+# box-shadow with currentcolor test cases
+== box-shadow-currentcolor.html box-shadow-currentcolor-ref.html
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-001-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-001-ref.html
index 9cffaf9a398..629cb939e01 100644
--- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-001-ref.html
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-clip-001-ref.html
@@ -5,9 +5,6 @@
CSS Reftest Reference
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001a.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001a.html
new file mode 100644
index 00000000000..283b8b941a4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001a.html
@@ -0,0 +1,34 @@
+
+
+
+
+
CSS-contain test: paint containment on internal table elements except table-cell.
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001b.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001b.html
new file mode 100644
index 00000000000..cff28b8b5c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-internal-table-001b.html
@@ -0,0 +1,36 @@
+
+
+
+
+
CSS-contain test: paint containment on internal table elements except table-cell.
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001-ref.html
new file mode 100644
index 00000000000..b4513709e51
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001-ref.html
@@ -0,0 +1,57 @@
+
+
+
+
+
CSS Reftest Reference
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001.html
new file mode 100644
index 00000000000..4b9c9072099
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-no-principal-box-001.html
@@ -0,0 +1,61 @@
+
+
+
+
+
CSS Test: 'contain: paint' with 'display: contents'.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001-ref.html
new file mode 100644
index 00000000000..5df0b246292
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001-ref.html
@@ -0,0 +1,37 @@
+
+
+
+
+
CSS Reftest Reference
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001.html
new file mode 100644
index 00000000000..71764e18558
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-containing-block-001.html
@@ -0,0 +1,41 @@
+
+
+
+
+
CSS-contain test: paint containment on internal ruby elements.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html
new file mode 100644
index 00000000000..02f7a406656
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html
@@ -0,0 +1,52 @@
+
+
+
+
+
CSS Reftest Reference
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html
new file mode 100644
index 00000000000..1f1c147f94f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html
@@ -0,0 +1,60 @@
+
+
+
+
+
CSS-contain test: paint containment on internal ruby elements.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/reftest.list b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/reftest.list
index d503f7e5c66..7e762eceb77 100644
--- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/reftest.list
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/reftest.list
@@ -9,5 +9,10 @@
== contain-paint-containing-block-fixed-001.html contain-paint-containing-block-fixed-001-ref.html
== contain-paint-formatting-context-float-001.html contain-paint-formatting-context-float-001-ref.html
== contain-paint-formatting-context-margin-001.html contain-paint-formatting-context-margin-001-ref.html
+== contain-paint-ignored-cases-internal-table-001a.html contain-paint-ignored-cases-internal-table-001-ref.html
+== contain-paint-ignored-cases-internal-table-001b.html contain-paint-ignored-cases-internal-table-001-ref.html
+== contain-paint-ignored-cases-no-principal-box-001.html contain-paint-ignored-cases-no-principal-box-001-ref.html
+== contain-paint-ignored-cases-ruby-containing-block-001.html contain-paint-ignored-cases-ruby-containing-block-001-ref.html
+== contain-paint-ignored-cases-ruby-stacking-and-clipping-001.html contain-paint-ignored-cases-ruby-stacking-and-clipping-001-ref.html
== contain-paint-stacking-context-001a.html contain-paint-stacking-context-001-ref.html
== contain-paint-stacking-context-001b.html contain-paint-stacking-context-001-ref.html
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push-ref.html
new file mode 100644
index 00000000000..6a349fd359f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push-ref.html
@@ -0,0 +1,72 @@
+
+
+
Reference: Ensure shape-outside floats that don't cover their margin-rect affect layout properly
+
+
+
+
+
+
All light blue bars should be pushed below the square floats, regardless of how those floats are defined.
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push.html
new file mode 100644
index 00000000000..c6bcfe576b6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/float-should-push.html
@@ -0,0 +1,77 @@
+
+
+
Ensure shape-outside floats that don't cover their margin-rect affect layout properly
+
+
+
+
+
+
+
+
+
All light blue bars should be pushed below the square floats, regardless of how those floats are defined.
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/reftest.list b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/reftest.list
index 14933dcd024..75a318005eb 100644
--- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/reftest.list
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/reftest.list
@@ -106,6 +106,8 @@
# Tests of shape-outside layout behavior with too-wide inline elements
== float-retry-push-circle.html float-retry-push-ref.html
+# The next test offsets a 250px wide element up to one pixel due to small offsets in gradient generation.
== float-retry-push-image.html float-retry-push-ref.html
== float-retry-push-inset.html float-retry-push-ref.html
== float-retry-push-polygon.html float-retry-push-ref.html
+== float-should-push.html float-should-push-ref.html
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/reftest.list b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/reftest.list
index a6e18f3f389..8d1b308ec9c 100644
--- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/reftest.list
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/reftest.list
@@ -130,3 +130,6 @@
== text-emphasis-line-height-004d.html text-emphasis-line-height-004-ref.html
# END tests from support/generate-text-emphasis-line-height-tests.py
== text-emphasis-line-height-001z.html text-emphasis-line-height-001-ref.html
+
+# text-shadow 'currentcolor' test cases
+== text-shadow-currentcolor.html text-shadow-currentcolor-ref.html
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor-ref.html
new file mode 100644
index 00000000000..943c750f6f2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor-ref.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
CSS Reftest Reference
+
+
+
+
+
+
This text should have a green drop shadow
+
+
diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor.html
new file mode 100644
index 00000000000..34a35cd6397
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/text-decor-3/text-shadow-currentcolor.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
CSS Test: 'text-shadow' respects 'currentcolor'
+
+
+
+
+
+
+
+
+
This text should have a green drop shadow
+
+
diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/assumptions.md b/tests/wpt/web-platform-tests/docs/_writing-tests/assumptions.md
index 6e12f96a6ef..d1ab75b0f1d 100644
--- a/tests/wpt/web-platform-tests/docs/_writing-tests/assumptions.md
+++ b/tests/wpt/web-platform-tests/docs/_writing-tests/assumptions.md
@@ -16,8 +16,13 @@ tests can freely rely on these assumptions being true:
* The user stylesheet is empty (except where indicated by the tests).
* The device is interactive and uses scroll bars.
* The device has the Ahem font installed.
- * The HTML `div` element is assigned `display: block;` and no other
- property declaration.
+ * The HTML `div` element is assigned `display: block;`, the
+ `unicode-bidi` property may be declared, and no other property
+ declarations.
+
* The HTML `span` element is assigned `display: inline;` and no other
property declaration.
* The HTML `p` element is assigned `display: block;`
diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/testharness-api.md b/tests/wpt/web-platform-tests/docs/_writing-tests/testharness-api.md
index 737804741bd..92a9536b690 100644
--- a/tests/wpt/web-platform-tests/docs/_writing-tests/testharness-api.md
+++ b/tests/wpt/web-platform-tests/docs/_writing-tests/testharness-api.md
@@ -700,6 +700,11 @@ Relies on `===`, distinguishes between `-0` and `+0`, and has a specific check f
asserts that `expected` is an Array, and `actual` is equal to one of the
members i.e. `expected.indexOf(actual) != -1`
+### `assert_object_equals(actual, expected, description)`
+asserts that `actual` is an object and not null and that all enumerable
+properties on `actual` are own properties on `expected` with the same values,
+recursing if the value is an object and not null.
+
### `assert_array_equals(actual, expected, description)`
asserts that `actual` and `expected` have the same
length and the value of each indexed property in `actual` is the strictly equal
diff --git a/tests/wpt/web-platform-tests/dom/nodes/attributes.html b/tests/wpt/web-platform-tests/dom/nodes/attributes.html
index 486cafaad9f..21188933ea4 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/attributes.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/attributes.html
@@ -136,6 +136,12 @@ test(function() {
attr_is(el.attributes[0], "2", "bat", "foo", "foo", "foo:bat")
}, "toggleAttribute should set the attribute with the given qualified name")
+test(function() {
+ var el = document.createElement("foo")
+ el.style = "color: red; background-color: green"
+ assert_equals(el.toggleAttribute("style"), false)
+}, "Toggling element with inline style should make inline style disappear")
+
// setAttribute exhaustive tests
// Step 1
test(function() {
diff --git a/tests/wpt/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html b/tests/wpt/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html
new file mode 100644
index 00000000000..f63fd51ca80
--- /dev/null
+++ b/tests/wpt/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-segmented.https.html
@@ -0,0 +1,60 @@
+
+
+
+
+
Encrypted Media Extensions: Successful Playback, Temporary session with Clear Key, mp4, clear then encrypted using segmented media
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/encrypted-media/scripts/playback-temporary-encrypted-clear-segmented-sources.js b/tests/wpt/web-platform-tests/encrypted-media/scripts/playback-temporary-encrypted-clear-segmented-sources.js
new file mode 100644
index 00000000000..8f5af2cd6bd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/encrypted-media/scripts/playback-temporary-encrypted-clear-segmented-sources.js
@@ -0,0 +1,109 @@
+function runTest(configEncrypted,configClear,qualifier) {
+
+ var testname = testnamePrefix(qualifier, configEncrypted.keysystem)
+ + ', temporary, '
+ + /video\/([^;]*)/.exec(configEncrypted.videoType)[1]
+ + ', playback, encrypted and clear sources in separate segments';
+
+ var configuration = { initDataTypes: [ configEncrypted.initDataType ],
+ audioCapabilities: [ { contentType: configEncrypted.audioType } ],
+ videoCapabilities: [ { contentType: configEncrypted.videoType } ],
+ sessionTypes: [ 'temporary' ] };
+
+ async_test(function(test) {
+ var didAppendEncrypted = false,
+ _video = configEncrypted.video,
+ _mediaKeys,
+ _mediaKeySession,
+ _mediaSource,
+ _sourceBuffer;
+
+ function onFailure(error) {
+ forceTestFailureFromPromise(test, error);
+ }
+
+ function onVideoError(event) {
+ var message = (_video.error || {}).message || 'Got unknown error from
';
+ forceTestFailureFromPromise(test, new Error(message));
+ }
+
+ function onMessage(event) {
+ assert_equals(event.target, _mediaKeySession);
+ assert_true(event instanceof window.MediaKeyMessageEvent);
+ assert_equals(event.type, 'message');
+ assert_in_array(event.messageType, ['license-request', 'individualization-request']);
+
+ configEncrypted.messagehandler(event.messageType, event.message).then(function(response) {
+ return _mediaKeySession.update(response);
+ }).catch(onFailure);
+ }
+
+ function onEncrypted(event) {
+ assert_equals(event.target, _video);
+ assert_true(event instanceof window.MediaEncryptedEvent);
+ assert_equals(event.type, 'encrypted');
+
+ var initDataType = configEncrypted.initDataType || event.initDataType;
+ var initData = configEncrypted.initData || event.initData;
+
+ _mediaKeySession = _mediaKeys.createSession('temporary');
+ waitForEventAndRunStep('message', _mediaKeySession, onMessage, test);
+ _mediaKeySession.generateRequest(initDataType, initData).catch(onFailure);
+ }
+
+ function onPlaying(event) {
+ // Not using waitForEventAndRunStep() to avoid too many
+ // EVENT(onTimeUpdate) logs.
+ _video.addEventListener('timeupdate', onTimeupdate, true);
+ }
+
+ function onTimeupdate(event) {
+ if (_video.currentTime > (configEncrypted.duration || 1) + (configClear.duration || 1)) {
+ _video.pause();
+ test.done();
+ }
+ if (_video.currentTime > 1 && !didAppendEncrypted) {
+ didAppendEncrypted = true;
+ _sourceBuffer.timestampOffset = configClear.duration;
+ fetchAndAppend(configEncrypted.videoPath).then(function() {
+ _mediaSource.endOfStream();
+ }).catch(onFailure);
+ }
+ }
+
+ function fetchAndAppend(path) {
+ return fetch(path).then(function(response) {
+ if (!response.ok) throw new Error('Resource fetch failed');
+ return response.arrayBuffer();
+ }).then(function(data) {
+ return new Promise(function(resolve, reject) {
+ _sourceBuffer.appendBuffer(data);
+ _sourceBuffer.addEventListener('updateend', resolve);
+ _sourceBuffer.addEventListener('error', reject);
+ });
+ });
+ }
+
+ _video.addEventListener('error', onVideoError);
+ navigator.requestMediaKeySystemAccess(configEncrypted.keysystem, [configuration]).then(function(access) {
+ return access.createMediaKeys();
+ }).then(function(mediaKeys) {
+ _mediaKeys = mediaKeys;
+ return _video.setMediaKeys(_mediaKeys);
+ }).then(function(){
+ waitForEventAndRunStep('encrypted', _video, onEncrypted, test);
+ waitForEventAndRunStep('playing', _video, onPlaying, test);
+
+ return new Promise(function(resolve, reject) {
+ _mediaSource = new MediaSource();
+ _mediaSource.addEventListener('sourceopen', resolve);
+ _video.src = URL.createObjectURL(_mediaSource);
+ });
+ }).then(function() {
+ _sourceBuffer = _mediaSource.addSourceBuffer(configEncrypted.videoType);
+ return fetchAndAppend(configClear.videoPath);
+ }).then(function() {
+ _video.play();
+ }).catch(onFailure);
+ }, testname);
+}
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-touch-action-manual.tentative.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-touch-action-manual.tentative.html
index 03da3704403..c1b5f1d0762 100644
--- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-touch-action-manual.tentative.html
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/vertical-scroll-touch-action-manual.tentative.html
@@ -1,4 +1,5 @@
+
vertical-scroll test for touch-action
diff --git a/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js b/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js
index 55c7f98a8db..f3784b2adfd 100644
--- a/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js
+++ b/tests/wpt/web-platform-tests/feature-policy/resources/featurepolicy.js
@@ -22,7 +22,7 @@ function assert_feature_policy_supported() {
// attribute. "feature_name" is the feature name of a policy controlled
// feature (https://wicg.github.io/feature-policy/#features).
// See examples at:
-// https://github.com/WICG/feature-policy/blob/gh-pages/features.md
+// https://github.com/WICG/feature-policy/blob/master/features.md
// allow_attribute: Optional argument, only used for testing fullscreen or
// payment: either "allowfullscreen" or "allowpaymentrequest" is passed.
function test_feature_availability(
diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive-quota.html b/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive-quota.html
index 19596cea2c8..f71b1b2996a 100644
--- a/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive-quota.html
+++ b/tests/wpt/web-platform-tests/fetch/api/request/request-keepalive-quota.html
@@ -6,9 +6,13 @@
-
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.html b/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.any.js
similarity index 86%
rename from tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.html
rename to tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.any.js
index 7cf8d60050a..758c52a695a 100644
--- a/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.html
+++ b/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.any.js
@@ -1,17 +1,17 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/fullscreen/api/element-request-fullscreen-and-exit-iframe-manual.html b/tests/wpt/web-platform-tests/fullscreen/api/element-request-fullscreen-and-exit-iframe-manual.html
index fc7f57525c6..dc2a99c1e83 100644
--- a/tests/wpt/web-platform-tests/fullscreen/api/element-request-fullscreen-and-exit-iframe-manual.html
+++ b/tests/wpt/web-platform-tests/fullscreen/api/element-request-fullscreen-and-exit-iframe-manual.html
@@ -37,6 +37,6 @@ async_test(t => {
document.onfullscreenerror = t.unreached_func('fullscreenerror event');
iframeDoc.onfullscreenerror = t.unreached_func('iframe fullscreenerror event');
- trusted_request(t, iframeBody, document.body);
+ trusted_request(t, iframeBody, iframeBody);
});
diff --git a/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html b/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html
index 683865a0e00..69082cacc2b 100644
--- a/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html
+++ b/tests/wpt/web-platform-tests/fullscreen/model/move-to-fullscreen-iframe-manual.html
@@ -10,7 +10,7 @@ async_test(t => {
const iframeDoc = iframe.contentDocument;
// Enter fullscreen for the iframe's body element.
- trusted_request(t, iframeDoc.body, document.body);
+ trusted_request(t, iframeDoc.body, iframeDoc.body);
document.onfullscreenchange = t.step_func(() => {
assert_equals(document.fullscreenElement, iframe, "document's initial fullscreen element");
assert_equals(iframeDoc.fullscreenElement, iframeDoc.body, "iframe's initial fullscreen element");
diff --git a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/004.html b/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/004.html
index 950172d7b99..c365c6fd29f 100644
--- a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/004.html
+++ b/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/004.html
@@ -15,7 +15,7 @@ t.step(function() {
t.step_func(function(e) {
assert_equals(e.target, window);
assert_equals(e.type, "hashchange");
- assert_true(e.bubbles, "bubbles");
+ assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
t.done();
}), true)
diff --git a/tests/wpt/web-platform-tests/html/scripting/the-noscript-element/non-html-noscript.html b/tests/wpt/web-platform-tests/html/scripting/the-noscript-element/non-html-noscript.html
new file mode 100644
index 00000000000..2f85d1d47dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/scripting/the-noscript-element/non-html-noscript.html
@@ -0,0 +1,16 @@
+
+noscript rules don't apply to non-html elements
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/infrastructure/assumptions/html-elements.html b/tests/wpt/web-platform-tests/infrastructure/assumptions/html-elements.html
index 1cfe1d1fee5..3fe3d201ff6 100644
--- a/tests/wpt/web-platform-tests/infrastructure/assumptions/html-elements.html
+++ b/tests/wpt/web-platform-tests/infrastructure/assumptions/html-elements.html
@@ -67,7 +67,9 @@ test(function() {
for (var i = 0; i < a_styles.length; i++) {
var property = a_styles[i];
assert_equals(property, b_styles[i], "Same property on div.a and div.b");
- assert_equals(a_styles[property], b_styles[property], "Different value for " + property);
+ if (property !== "unicode-bidi") {
+ assert_equals(a_styles[property], b_styles[property], "Different value for " + property);
+ }
}
}, "Compare CSS div definitions (only valid if pre-reqs pass)");
diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini
deleted file mode 100644
index 93a497dc562..00000000000
--- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/assumptions/html-elements.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[html-elements.html]
- [Compare CSS div definitions (only valid if pre-reqs pass)]
- expected:
- if product == "chrome": FAIL
-
-
diff --git a/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl b/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl
index 11d5d8bc372..71d659bac1f 100644
--- a/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl
+++ b/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl
@@ -1,6 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT
-// Content of this file was automatically extracted from the DOM Parsing and Serialization spec.
-// See https://w3c.github.io/DOM-Parsing/
+// Content of this file was automatically extracted from the
+// "DOM Parsing and Serialization" spec.
+// See: https://w3c.github.io/DOM-Parsing/
[Constructor, Exposed=Window]
interface DOMParser {
@@ -14,18 +15,15 @@ enum SupportedType {
"application/xhtml+xml",
"image/svg+xml"
};
-
[Constructor, Exposed=Window]
interface XMLSerializer {
DOMString serializeToString(Node root);
};
-
partial interface Element {
[CEReactions, TreatNullAs=EmptyString] attribute DOMString innerHTML;
[CEReactions, TreatNullAs=EmptyString] attribute DOMString outerHTML;
[CEReactions] void insertAdjacentHTML(DOMString position, DOMString text);
};
-
partial interface Range {
[CEReactions, NewObject] DocumentFragment createContextualFragment(DOMString fragment);
};
diff --git a/tests/wpt/web-platform-tests/interfaces/cookie-store.idl b/tests/wpt/web-platform-tests/interfaces/cookie-store.idl
index b38f61e749d..63ddc090778 100644
--- a/tests/wpt/web-platform-tests/interfaces/cookie-store.idl
+++ b/tests/wpt/web-platform-tests/interfaces/cookie-store.idl
@@ -1,8 +1,19 @@
// https://github.com/WICG/cookie-store/blob/gh-pages/explainer.md
+enum CookieSameSite {
+ "strict",
+ "lax",
+ "unrestricted"
+};
+
dictionary CookieListItem {
USVString name;
USVString value;
+ USVString? domain;
+ USVString path;
+ DOMTimeStamp? expires;
+ boolean secure;
+ CookieSameSite sameSite;
};
typedef sequence CookieList;
@@ -14,6 +25,7 @@ dictionary CookieChangeEventInit : EventInit {
[
Exposed=Window,
+ SecureContext,
Constructor(DOMString type, optional CookieChangeEventInit eventInitDict)
] interface CookieChangeEvent : Event {
readonly attribute CookieList changed;
@@ -35,7 +47,7 @@ dictionary ExtendableCookieChangeEventInit : ExtendableEventInit {
enum CookieMatchType {
"equals",
- "startsWith"
+ "starts-with"
};
dictionary CookieStoreGetOptions {
@@ -50,12 +62,14 @@ dictionary CookieStoreSetOptions {
DOMTimeStamp? expires = null;
USVString domain;
USVString path = "/";
- boolean? secure;
+ boolean secure = true;
boolean httpOnly = false;
+ CookieSameSite sameSite = "strict";
};
[
- Exposed=(ServiceWorker,Window)
+ Exposed=(ServiceWorker,Window),
+ SecureContext
] interface CookieStore : EventTarget {
Promise getAll(USVString name, optional CookieStoreGetOptions options);
Promise getAll(optional CookieStoreGetOptions options);
@@ -63,9 +77,6 @@ dictionary CookieStoreSetOptions {
Promise get(USVString name, optional CookieStoreGetOptions options);
Promise get(optional CookieStoreGetOptions options);
- Promise has(USVString name, optional CookieStoreGetOptions options);
- Promise has(optional CookieStoreGetOptions options);
-
Promise set(USVString name, USVString value, optional CookieStoreSetOptions options);
Promise set(CookieStoreSetOptions options);
@@ -79,6 +90,7 @@ dictionary CookieStoreSetOptions {
[Exposed=Window] attribute EventHandler onchange;
};
+[SecureContext]
partial interface Window {
[Replaceable, SameObject] readonly attribute CookieStore cookieStore;
};
diff --git a/tests/wpt/web-platform-tests/interfaces/credential-management.idl b/tests/wpt/web-platform-tests/interfaces/credential-management.idl
new file mode 100644
index 00000000000..7c3a928ab5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/interfaces/credential-management.idl
@@ -0,0 +1,103 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content of this file was automatically extracted from the
+// "Credential Management Level 1" spec.
+// See: https://w3c.github.io/webappsec-credential-management/
+
+[Exposed=Window, SecureContext]
+interface Credential {
+ readonly attribute USVString id;
+ readonly attribute DOMString type;
+};
+
+[SecureContext]
+interface mixin CredentialUserData {
+ readonly attribute USVString name;
+ readonly attribute USVString iconURL;
+};
+
+partial interface Navigator {
+ [SecureContext, SameObject] readonly attribute CredentialsContainer credentials;
+};
+
+[Exposed=Window, SecureContext]
+interface CredentialsContainer {
+ Promise get(optional CredentialRequestOptions options);
+ Promise store(Credential credential);
+ Promise create(optional CredentialCreationOptions options);
+ Promise preventSilentAccess();
+};
+
+dictionary CredentialData {
+ required USVString id;
+};
+
+dictionary CredentialRequestOptions {
+ CredentialMediationRequirement mediation = "optional";
+ AbortSignal signal;
+};
+
+enum CredentialMediationRequirement {
+ "silent",
+ "optional",
+ "required"
+};
+
+dictionary CredentialCreationOptions {
+ AbortSignal signal;
+};
+
+typedef (FormData or URLSearchParams) CredentialBodyType;
+
+[Constructor(HTMLFormElement form),
+ Constructor(PasswordCredentialData data),
+ Exposed=Window,
+ SecureContext]
+interface PasswordCredential : Credential {
+ readonly attribute USVString password;
+};
+PasswordCredential includes CredentialUserData;
+
+partial dictionary CredentialRequestOptions {
+ boolean password = false;
+};
+
+dictionary PasswordCredentialData : CredentialData {
+ USVString name;
+ USVString iconURL;
+ required USVString password;
+};
+
+typedef (PasswordCredentialData or HTMLFormElement) PasswordCredentialInit;
+
+partial dictionary CredentialCreationOptions {
+ PasswordCredentialInit password;
+};
+
+[Constructor(FederatedCredentialInit data),
+ Exposed=Window,
+ SecureContext]
+interface FederatedCredential : Credential {
+ readonly attribute USVString provider;
+ readonly attribute DOMString? protocol;
+};
+FederatedCredential includes CredentialUserData;
+
+dictionary FederatedCredentialRequestOptions {
+ sequence providers;
+ sequence protocols;
+};
+
+partial dictionary CredentialRequestOptions {
+ FederatedCredentialRequestOptions federated;
+};
+
+dictionary FederatedCredentialInit : CredentialData {
+ USVString name;
+ USVString iconURL;
+ required USVString provider;
+ DOMString protocol;
+};
+
+partial dictionary CredentialCreationOptions {
+ FederatedCredentialInit federated;
+};
diff --git a/tests/wpt/web-platform-tests/interfaces/mediacapture-image.idl b/tests/wpt/web-platform-tests/interfaces/image-capture.idl
similarity index 96%
rename from tests/wpt/web-platform-tests/interfaces/mediacapture-image.idl
rename to tests/wpt/web-platform-tests/interfaces/image-capture.idl
index 3aeb6ebfa99..740475d7205 100644
--- a/tests/wpt/web-platform-tests/interfaces/mediacapture-image.idl
+++ b/tests/wpt/web-platform-tests/interfaces/image-capture.idl
@@ -1,6 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT
-// Content of this file was automatically extracted from the MediaStream Image Capture spec.
-// See https://w3c.github.io/mediacapture-image/
+// Content of this file was automatically extracted from the
+// "MediaStream Image Capture" spec.
+// See: https://w3c.github.io/mediacapture-image/
[Exposed=Window, Constructor(MediaStreamTrack videoTrack)]
interface ImageCapture {
diff --git a/tests/wpt/web-platform-tests/interfaces/webappsec-subresource-integrity.idl b/tests/wpt/web-platform-tests/interfaces/webappsec-subresource-integrity.idl
new file mode 100644
index 00000000000..899f4710188
--- /dev/null
+++ b/tests/wpt/web-platform-tests/interfaces/webappsec-subresource-integrity.idl
@@ -0,0 +1,11 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content of this file was automatically extracted from the Subresource Integrity spec.
+// See https://w3c.github.io/webappsec-subresource-integrity/
+
+partial interface HTMLLinkElement {
+ attribute DOMString integrity;
+};
+
+partial interface HTMLScriptElement {
+ attribute DOMString integrity;
+};
diff --git a/tests/wpt/web-platform-tests/lifecycle/META.yml b/tests/wpt/web-platform-tests/lifecycle/META.yml
new file mode 100644
index 00000000000..3f09265b002
--- /dev/null
+++ b/tests/wpt/web-platform-tests/lifecycle/META.yml
@@ -0,0 +1,2 @@
+suggested_reviewers:
+ - fmeawad
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index 948f1df6606..7c9a703cc23 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -110,6 +110,8 @@ CONSOLE: streams/resources/test-utils.js
CONSOLE: service-workers/service-worker/resources/navigation-redirect-other-origin.html
CONSOLE: service-workers/service-worker/navigation-redirect.https.html
CONSOLE: service-workers/service-worker/resources/clients-get-other-origin.html
+CONSOLE: webrtc/tools/*
+CONSOLE: webaudio/resources/audit.js:39
# use of console in a public library - annotation-model ensures
# it is not actually used
diff --git a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html b/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html
index 4b19b5893a7..252281eefa6 100644
--- a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html
+++ b/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html
@@ -17,15 +17,21 @@
'use strict';
promise_test(async () => {
- const srcs = ['mediacapture-image', 'mediacapture-main', 'html', 'dom'];
+ const srcs = ['image-capture', 'mediacapture-main', 'html', 'dom'];
const [idl, main, html, dom] = await Promise.all(
srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
- var canvas = document.getElementById('canvas');
- var context = canvas.getContext("2d");
- context.fillStyle = "red";
- context.fillRect(0, 0, 10, 10);
- var track = canvas.captureStream().getVideoTracks()[0];
+ let capture;
+ try {
+ var canvas = document.getElementById('canvas');
+ var context = canvas.getContext("2d");
+ context.fillStyle = "red";
+ context.fillRect(0, 0, 10, 10);
+ var track = canvas.captureStream().getVideoTracks()[0];
+ capture = new ImageCapture(track);
+ } catch (e) {
+ // Will be surfaced in idlharness.js's test_object below.
+ }
var idl_array = new IdlArray();
idl_array.add_idls(idl);
@@ -33,7 +39,7 @@
idl_array.add_dependency_idls(html);
idl_array.add_dependency_idls(dom);
idl_array.add_objects({
- ImageCapturer : [new ImageCapture(track)]
+ ImageCapture : [capture]
});
idl_array.test();
}, 'Test mediacapture-image IDL interfaces');
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html
index 331e8ef2b36..a478c559d49 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html
@@ -19,3 +19,4 @@ test(() => {
assert_equals(test, "pass");
assert_equals(event.methodDetails, methodDetails);
}, "Must have a methodDetails IDL attribute, which is initialized with to the methodName dictionary value");
+
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html
index 13ea515bf96..e6e0bf9a919 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentMethodChangeEvent/methodName-attribute.https.html
@@ -14,3 +14,4 @@ test(() => {
const { methodName } = event;
assert_equals(methodName, "wpt-test");
}, "Must have a methodName IDL attribute, which is initialized with to the methodName dictionary value");
+
diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/complete-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/complete-method-manual.https.html
index a67f0664d99..9c87b75b78b 100644
--- a/tests/wpt/web-platform-tests/payment-request/payment-response/complete-method-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/payment-response/complete-method-manual.https.html
@@ -16,6 +16,9 @@ async function runManualTest({ completeWith: result }, button) {
// We .complete() as normal, using the passed test value
const promise = response.complete(result);
assert_true(promise instanceof Promise, "returns a promise");
+ // Immediately calling complete() again yields a rejected promise.
+ await promise_rejects(t, "InvalidStateError", response.complete(result));
+ // but the original promise is unaffected
const returnedValue = await promise;
assert_equals(
returnedValue,
@@ -23,17 +26,8 @@ async function runManualTest({ completeWith: result }, button) {
"Returned value must always be undefined"
);
// We now call .complete() again, to force an exception
- // because [[completeCalled]] is true.
- try {
- await response.complete(result);
- assert_unreached("Expected InvalidStateError to be thrown");
- } catch (err) {
- assert_equals(
- err.code,
- DOMException.INVALID_STATE_ERR,
- "Must throw an InvalidStateError"
- );
- }
+ // because [[complete]] is true.
+ await promise_rejects(t, "InvalidStateError", response.complete(result));
button.innerHTML = `✅ ${button.textContent}`;
} catch (err) {
button.innerHTML = `❌ ${button.textContent}`;
diff --git a/tests/wpt/web-platform-tests/permissions/interfaces.any.js b/tests/wpt/web-platform-tests/permissions/interfaces.any.js
index c20f422bf43..78f1fc65b79 100644
--- a/tests/wpt/web-platform-tests/permissions/interfaces.any.js
+++ b/tests/wpt/web-platform-tests/permissions/interfaces.any.js
@@ -11,18 +11,20 @@ if (self.importScripts) {
// https://w3c.github.io/permissions/#idl-index
promise_test(async () => {
+ const idl = await fetch("/interfaces/permissions.idl").then(r => r.text());
+ const dom = await fetch("/interfaces/dom.idl").then(r => r.text());
+ const html = await fetch("/interfaces/html.idl").then(r => r.text());
- const permissions_idl = await fetch("/interfaces/permissions.idl")
- .then(response => response.text());
const idl_array = new IdlArray();
+ idl_array.add_idls(idl);
+ idl_array.add_dependency_idls(dom);
+ idl_array.add_dependency_idls(html);
- idl_array.add_untested_idls('interface Navigator {};');
- idl_array.add_untested_idls('[Exposed=(Window,Worker)] interface EventTarget {};');
- idl_array.add_untested_idls('interface EventHandler {};');
- idl_array.add_untested_idls('interface WorkerNavigator {};');
- idl_array.add_idls(permissions_idl);
-
- self.permissionStatus = await navigator.permissions.query({ name: "geolocation" });
+ try {
+ self.permissionStatus = await navigator.permissions.query({ name: "geolocation" });
+ } catch (e) {
+ // Will be surfaced in idlharness.js's test_object below.
+ }
if (self.GLOBAL.isWorker()) {
idl_array.add_objects({ WorkerNavigator: ['navigator'] });
diff --git a/tests/wpt/web-platform-tests/quirks/hashless-hex-color.html b/tests/wpt/web-platform-tests/quirks/hashless-hex-color.html
deleted file mode 100644
index cbda90c0af7..00000000000
--- a/tests/wpt/web-platform-tests/quirks/hashless-hex-color.html
+++ /dev/null
@@ -1,498 +0,0 @@
-
-
-
- The hashless hex color quirk
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/quirks/hashless-hex-color/limited-quirks.html b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/limited-quirks.html
new file mode 100644
index 00000000000..f7dd7ed4bd4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/limited-quirks.html
@@ -0,0 +1,16 @@
+
+
+
+ The hashless hex color quirk (limited-quirks)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/quirks/hashless-hex-color/no-quirks.html b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/no-quirks.html
new file mode 100644
index 00000000000..2ea5c666b74
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/no-quirks.html
@@ -0,0 +1,16 @@
+
+
+
+ The hashless hex color quirk (no-quirks)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/quirks/hashless-hex-color/quirks.html b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/quirks.html
new file mode 100644
index 00000000000..bc45da2eab8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/quirks.html
@@ -0,0 +1,16 @@
+
+
+
+ The hashless hex color quirk (quirks)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/quirks/hashless-hex-color/support/common.js b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/support/common.js
new file mode 100644
index 00000000000..eea618050da
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/hashless-hex-color/support/common.js
@@ -0,0 +1,423 @@
+setup({explicit_done:true});
+onload = function() {
+ setupIframe();
+
+ var tests = [
+ {input:"123", q:"#000123"},
+ {input:"023", q:"#000023"},
+ {input:"003", q:"#000003"},
+ {input:"000", q:"#000"},
+ {input:"abc", q:"#abc"},
+ {input:"ABC", q:"#abc"},
+ {input:"1ab", q:"#0001ab"},
+ {input:"1AB", q:"#0001ab"},
+ {input:"112233", q:"#123"},
+ {input:"012233", q:"#012233"},
+ {input:"002233", q:"#023"},
+ {input:"000233", q:"#000233"},
+ {input:"000033", q:"#003"},
+ {input:"000003", q:"#000003"},
+ {input:"000000", q:"#000000"},
+ {input:"aabbcc", q:"#abc"},
+ {input:"AABBCC", q:"#abc"},
+ {input:"11aabb", q:"#1ab"},
+ {input:"11AABB", q:"#1ab"},
+ {input:"\\31 23", q:"#123"},
+ {input:"\\61 bc", q:"#abc"},
+ {input:"\\41 BC", q:"#abc"},
+ {input:"\\31 ab", q:"#1ab"},
+ {input:"\\31 AB", q:"#1ab"},
+ {input:"\\31 12233", q:"#123"},
+ {input:"\\61 abbcc", q:"#abc"},
+ {input:"\\41 ABBCC", q:"#abc"},
+ {input:"\\31 1aabb", q:"#1ab"},
+ {input:"\\31 1AABB", q:"#1ab"},
+ {input:"12\\33 ", q:"#000123"},
+ {input:"1", q:"#000001"},
+ {input:"12", q:"#000012"},
+ {input:"1234", q:"#001234"},
+ {input:"12345", q:"#012345"},
+ {input:"1234567"},
+ {input:"12345678"},
+ {input:"a"},
+ {input:"aa"},
+ {input:"aaaa"},
+ {input:"aaaaa"},
+ {input:"aaaaaaa"},
+ {input:"aaaaaaaa"},
+ {input:"A"},
+ {input:"AA"},
+ {input:"AAAA"},
+ {input:"AAAAA"},
+ {input:"AAAAAAA"},
+ {input:"AAAAAAAA"},
+ {input:"1a", q:"#00001a"},
+ {input:"1abc", q:"#001abc"},
+ {input:"1abcd", q:"#01abcd"},
+ {input:"1abcdef"},
+ {input:"1abcdeff"},
+ {input:"+1", q:"#000001"},
+ {input:"+12", q:"#000012"},
+ {input:"+123", q:"#000123"},
+ {input:"+1234", q:"#001234"},
+ {input:"+12345", q:"#012345"},
+ {input:"+123456", q:"#123456"},
+ {input:"+1234567"},
+ {input:"+12345678"},
+ {input:"-1"},
+ {input:"-12"},
+ {input:"-123"},
+ {input:"-1234"},
+ {input:"-12345"},
+ {input:"-123456"},
+ {input:"-1234567"},
+ {input:"-12345678"},
+ {input:"+1a", q:"#00001a"},
+ {input:"+12a", q:"#00012a"},
+ {input:"+123a", q:"#00123a"},
+ {input:"+1234a", q:"#01234a"},
+ {input:"+12345a", q:"#12345a"},
+ {input:"+123456a"},
+ {input:"+1234567a"},
+ {input:"-1a"},
+ {input:"-12a"},
+ {input:"-123a"},
+ {input:"-1234a"},
+ {input:"-12345a"},
+ {input:"-123456a"},
+ {input:"-1234567a"},
+ {input:"-12345678a"},
+ {input:"+1A", q:"#00001a"},
+ {input:"+12A", q:"#00012a"},
+ {input:"+123A", q:"#00123a"},
+ {input:"+1234A", q:"#01234a"},
+ {input:"+12345A", q:"#12345a"},
+ {input:"+123456A"},
+ {input:"+1234567A"},
+ {input:"-1A"},
+ {input:"-12A"},
+ {input:"-123A"},
+ {input:"-1234A"},
+ {input:"-12345A"},
+ {input:"-123456A"},
+ {input:"-1234567A"},
+ {input:"-12345678A"},
+ {input:"+a"},
+ {input:"+aa"},
+ {input:"+aaa"},
+ {input:"+aaaa"},
+ {input:"+aaaaa"},
+ {input:"+aaaaaa"},
+ {input:"+aaaaaaa"},
+ {input:"+aaaaaaaa"},
+ {input:"-a"},
+ {input:"-aa"},
+ {input:"-aaa"},
+ {input:"-aaaa"},
+ {input:"-aaaaa"},
+ {input:"-aaaaaa"},
+ {input:"-aaaaaaa"},
+ {input:"-aaaaaaaa"},
+ {input:"-aaaaaaaaa"},
+ {input:"+A"},
+ {input:"+AA"},
+ {input:"+AAA"},
+ {input:"+AAAA"},
+ {input:"+AAAAA"},
+ {input:"+AAAAAA"},
+ {input:"+AAAAAAA"},
+ {input:"+AAAAAAAA"},
+ {input:"-A"},
+ {input:"-AA"},
+ {input:"-AAA"},
+ {input:"-AAAA"},
+ {input:"-AAAAA"},
+ {input:"-AAAAAA"},
+ {input:"-AAAAAAA"},
+ {input:"-AAAAAAAA"},
+ {input:"-AAAAAAAAA"},
+ {input:"1.1"},
+ {input:"1.11"},
+ {input:"1.111"},
+ {input:"1.1111"},
+ {input:"1.11111"},
+ {input:"1.111111"},
+ {input:"1.1111111"},
+ {input:"+1.1"},
+ {input:"+1.11"},
+ {input:"+1.111"},
+ {input:"+1.1111"},
+ {input:"+1.11111"},
+ {input:"+1.111111"},
+ {input:"+1.1111111"},
+ {input:"-1.1"},
+ {input:"-1.11"},
+ {input:"-1.111"},
+ {input:"-1.1111"},
+ {input:"-1.11111"},
+ {input:"-1.111111"},
+ {input:"-1.1111111"},
+ {input:"1.1a"},
+ {input:"1.11a"},
+ {input:"1.111a"},
+ {input:"1.1111a"},
+ {input:"1.11111a"},
+ {input:"1.111111a"},
+ {input:"+1.1a"},
+ {input:"+1.11a"},
+ {input:"+1.111a"},
+ {input:"+1.1111a"},
+ {input:"+1.11111a"},
+ {input:"+1.111111a"},
+ {input:"-1.1a"},
+ {input:"-1.11a"},
+ {input:"-1.111a"},
+ {input:"-1.1111a"},
+ {input:"-1.11111a"},
+ {input:"-1.111111a"},
+ {input:"1.0"},
+ {input:"11.0"},
+ {input:"111.0"},
+ {input:"1111.0"},
+ {input:"11111.0"},
+ {input:"111111.0"},
+ {input:"1111111.0"},
+ {input:"11111111.0"},
+ {input:"+1.0"},
+ {input:"+11.0"},
+ {input:"+111.0"},
+ {input:"+1111.0"},
+ {input:"+11111.0"},
+ {input:"+111111.0"},
+ {input:"+1111111.0"},
+ {input:"+11111111.0"},
+ {input:"-1.0"},
+ {input:"-11.0"},
+ {input:"-111.0"},
+ {input:"-1111.0"},
+ {input:"-11111.0"},
+ {input:"-111111.0"},
+ {input:"-1111111.0"},
+ {input:"-11111111.0"},
+ {input:"1.0a"},
+ {input:"11.0a"},
+ {input:"111.0a"},
+ {input:"1111.0a"},
+ {input:"11111.0a"},
+ {input:"111111.0a"},
+ {input:"1111111.0a"},
+ {input:"+1.0a"},
+ {input:"+11.0a"},
+ {input:"+111.0a"},
+ {input:"+1111.0a"},
+ {input:"+11111.0a"},
+ {input:"+111111.0a"},
+ {input:"+1111111.0a"},
+ {input:"-1.0a"},
+ {input:"-11.0a"},
+ {input:"-111.0a"},
+ {input:"-1111.0a"},
+ {input:"-11111.0a"},
+ {input:"-111111.0a"},
+ {input:"-1111111.0a"},
+ {input:"+/**/123"},
+ {input:"-/**/123"},
+ {input:"+/**/123456"},
+ {input:"-/**/123456"},
+ {input:"+/**/abc"},
+ {input:"-/**/abc"},
+ {input:"+/**/abcdef"},
+ {input:"-/**/abcdef"},
+ {input:"+/**/12a"},
+ {input:"-/**/12a"},
+ {input:"+/**/12345a"},
+ {input:"-/**/12345a"},
+ {input:"abg"},
+ {input:"aabbcg"},
+ {input:"1ag"},
+ {input:"1122ag"},
+ {input:"ABG"},
+ {input:"AABBCG"},
+ {input:"1AG"},
+ {input:"1122AG"},
+ {input:"@a"},
+ {input:"@ab"},
+ {input:"@abc"},
+ {input:"@abcd"},
+ {input:"@abcde"},
+ {input:"@abcdef"},
+ {input:"@1"},
+ {input:"@11"},
+ {input:"@111"},
+ {input:"@1111"},
+ {input:"@11111"},
+ {input:"@111111"},
+ {input:"@1a"},
+ {input:"@11a"},
+ {input:"@111a"},
+ {input:"@1111a"},
+ {input:"@11111a"},
+ {input:'"a"'},
+ {input:'"ab"'},
+ {input:'"abc"'},
+ {input:'"abcd"'},
+ {input:'"abcde"'},
+ {input:'"abcdef"'},
+ {input:'"1"'},
+ {input:'"11"'},
+ {input:'"111"'},
+ {input:'"1111"'},
+ {input:'"11111"'},
+ {input:'"111111"'},
+ {input:'"1a"'},
+ {input:'"11a"'},
+ {input:'"111a"'},
+ {input:'"1111a"'},
+ {input:'"11111a"'},
+ {input:"url(a)", svg:'url(a)'},
+ {input:"url(aa)", svg:'url(aa)'},
+ {input:"url(aaa)", svg:'url(aaa)'},
+ {input:"url(aaaa)", svg:'url(aaaa)'},
+ {input:"url(aaaaa)", svg:'url(aaaaa)'},
+ {input:"url(aaaaaa)", svg:'url(aaaaaa)'},
+ {input:"url('a')", svg:'url(a)'},
+ {input:"url('aa')", svg:'url(aa)'},
+ {input:"url('aaa')", svg:'url(aaa)'},
+ {input:"url('aaaa')", svg:'url(aaaa)'},
+ {input:"url('aaaaa')", svg:'url(aaaaa)'},
+ {input:"url('aaaaaa')", svg:'url(aaaaaa)'},
+ {input:"#a"},
+ {input:"#aa"},
+ {input:"#aaaaa"},
+ {input:"#aaaaaaa"},
+ {input:"#1"},
+ {input:"#11"},
+ {input:"#11111"},
+ {input:"#1111111"},
+ {input:"#1a"},
+ {input:"#1111a"},
+ {input:"#111111a"},
+ {input:"1%"},
+ {input:"11%"},
+ {input:"111%"},
+ {input:"1111%"},
+ {input:"11111%"},
+ {input:"111111%"},
+ {input:"calc(123)"},
+ {input:"rgb(119, 255, 255)", q:"#7ff", s:"#7ff", svg:"#7ff"},
+ {input:"rgba(119, 255, 255, 001)", q:"#7ff", s:"#7ff", svg:"#7ff"},
+ {input:"hsl(100, 100%, 100%)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"hsla(100, 100%, 100%, 001)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"rgb(calc(100 + 155), 255, 255)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"rgba(calc(100 + 155), 255, 255, 001)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"hsl(calc(050 + 050), 100%, 100%)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"hsla(calc(050 + 050), 100%, 100%, 001)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"rgb(/**/255, 255, 255)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"rgb(/**/255/**/, /**/255/**/, /**/255/**/)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"rgb(calc(/**/100/**/ + /**/155/**/), 255, 255)", q:"#fff", s:"#fff", svg:"#fff"},
+ {input:"#123 123 abc 12a", q:"#123 #000123 #abc #00012a", shorthand:true},
+ {input:"rgb(119, 255, 255) 123", q:"#7ff #000123", shorthand:true},
+ {input:"123 rgb(119, 255, 255)", q:"#000123 #7ff", shorthand:true},
+ {input:"1e1"},
+ {input:"11e1"},
+ {input:"111e1"},
+ {input:"1111e1"},
+ {input:"11111e1"},
+ {input:"111111e1"},
+ {input:"1e+1"},
+ {input:"11e+1"},
+ {input:"111e+1"},
+ {input:"1111e+1"},
+ {input:"11111e+1"},
+ {input:"111111e+1"},
+ {input:"1e-0"},
+ {input:"11e-0"},
+ {input:"111e-0"},
+ {input:"1111e-0"},
+ {input:"11111e-0"},
+ {input:"111111e-0"},
+ {input:"1e1a"},
+ {input:"11e1a"},
+ {input:"111e1a"},
+ {input:"1111e1a"},
+ {input:"11111e1a"},
+ {input:"111111e1a"},
+ {desc:"1111111111...", input:"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},
+ {desc:"1111111111...a", input:"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111a"},
+ {desc:"a1111111111...", input:"a1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"},
+ ];
+
+ var props = [
+ {prop:'background-color', check:'background-color'},
+ {prop:'border-color', check:'border-top-color', check_also:['border-right-color', 'border-bottom-color', 'border-left-color']},
+ {prop:'border-top-color', check:'border-top-color'},
+ {prop:'border-right-color', check:'border-right-color'},
+ {prop:'border-bottom-color', check:'border-bottom-color'},
+ {prop:'border-left-color', check:'border-left-color'},
+ {prop:'color', check:'color'},
+ ];
+ var style_template = '#test{{prop}:{test};}' +
+ '#ref{{prop}:{ref};}';
+
+ tests.forEach(function(t) {
+ var name = t.desc || t.input;
+ var test_html = async_test(name);
+ var test_svg = async_test(name + ' (SVG)');
+ for (var i in props) {
+ if (t.shorthand && !(props[i].check_also)) {
+ continue;
+ }
+ test_html.step(function() {
+ win.style.textContent = style_template.replace('{test}', t.input)
+ .replace('{ref}', quirks ? t.q : t.s).replace(/\{prop\}/g, props[i].prop);
+ assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check),
+ win.getComputedStyle(win.ref).getPropertyValue(props[i].check),
+ props[i].prop);
+ if (t.shorthand && props[i].check_also) {
+ for (var j in props[i].check_also) {
+ assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check_also[j]),
+ win.getComputedStyle(win.ref).getPropertyValue(props[i].check_also[j]),
+ props[i].prop + ' checking ' + props[i].check_also[j]);
+ }
+ }
+ });
+ test_svg.step(function() {
+ win.svg.setAttribute('fill', t.input);
+ if (t.svg) {
+ win.svg_ref.setAttribute('fill', t.svg);
+ } else {
+ win.svg_ref.removeAttribute('fill');
+ }
+ assert_equals(win.getComputedStyle(win.svg).fill, win.getComputedStyle(win.svg_ref).fill, 'SVG fill=""');
+ });
+ }
+ test_html.done();
+ test_svg.done();
+ });
+
+ if (quirks) {
+ var other_tests = [
+ {input:'background:abc', prop:'background-color'},
+ {input:'border-top:1px solid abc', prop:'border-top-color'},
+ {input:'border-right:1px solid abc', prop:'border-right-color'},
+ {input:'border-bottom:1px solid abc', prop:'border-bottom-color'},
+ {input:'border-left:1px solid abc', prop:'border-left-color'},
+ {input:'border:1px solid abc', prop:'border-top-color'},
+ {input:'outline-color:abc', prop:'outline-color'},
+ {input:'outline:1px solid abc', prop:'outline-color'}
+ ];
+
+ var other_template = "#test{{test};}"
+
+ other_tests.forEach(function(t) {
+ test(function() {
+ win.style.textContent = other_template.replace('{test}', t.input);
+ assert_equals(win.getComputedStyle(win.test).getPropertyValue(t.prop),
+ win.getComputedStyle(win.ref).getPropertyValue(t.prop),
+ 'quirk was supported');
+ }, document.title+', excluded property '+t.input);
+ });
+ }
+
+ done();
+}
diff --git a/tests/wpt/web-platform-tests/quirks/percentage-height-calculation.html b/tests/wpt/web-platform-tests/quirks/percentage-height-calculation.html
index 7cadd8b0faf..987cc245ca2 100644
--- a/tests/wpt/web-platform-tests/quirks/percentage-height-calculation.html
+++ b/tests/wpt/web-platform-tests/quirks/percentage-height-calculation.html
@@ -64,7 +64,7 @@
{style:'#foo { height:100px } #test { height:calc(100% + 1px) }', body:'', q:101, s:101},
{style:'#foo { height:100px } #test { height:5px; height:calc(100% + 1px) }', body:'', q:0, s:0},
{style:'html { display:inline } #test { height:100% }', body:'
', q:184, s:0}, // display:inline on root has no effect
- {style:'html { margin:10px } body { display:inline } #test { height:100% }', body:'
', q:200, s:0},
+ {style:'html { margin:10px } body { display:inline } #test { height:100% }', body:'
', q:180, s:0},
{style:'body { margin:0 } #test { height:100% }', body:'
', q:200, s:0},
{style:'body { margin:0; padding:10px } #test { height:100% }', body:'
', q:180, s:0},
{style:'body { margin:0; border:10px solid } #test { height:100% }', body:'
', q:180, s:0},
@@ -118,10 +118,10 @@
{input:'
', q:200, s:0},
{input:'
', q:200, s:0},
{input:'
', q:200, s:0},
- {input:'
', q:200, s:0},
- {input:'', q:200, s:0},
+ {input:'
', q:184, s:0},
+ {input:'', q:184, s:0},
{input:'
', q:200, s:0},
- {input:'
', q:200, s:0},
+ {input:'
', q:184, s:0},
{input:'
', q:200, s:0},
];
diff --git a/tests/wpt/web-platform-tests/quirks/support/test-ref-iframe.js b/tests/wpt/web-platform-tests/quirks/support/test-ref-iframe.js
new file mode 100644
index 00000000000..e5df41d4249
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/support/test-ref-iframe.js
@@ -0,0 +1,17 @@
+function setupIframe() {
+ var iframe = document.querySelector('iframe');
+ var html = "
";
+ if (iframe.className === "limited-quirks") {
+ html = '' + html;
+ } else if (iframe.className === "no-quirks") {
+ html = '' + html;
+ }
+ window.quirks = iframe.className === "quirks";
+ window.win = iframe.contentWindow;
+ win.document.open();
+ win.document.write(html);
+ win.document.close();
+ ['style', 'test', 'ref', 'svg', 'svg_ref'].forEach(function(id) {
+ win[id] = win.document.getElementById(id);
+ });
+}
diff --git a/tests/wpt/web-platform-tests/quirks/unitless-length.html b/tests/wpt/web-platform-tests/quirks/unitless-length.html
deleted file mode 100644
index 944c91fe395..00000000000
--- a/tests/wpt/web-platform-tests/quirks/unitless-length.html
+++ /dev/null
@@ -1,219 +0,0 @@
-
-
-
- The unitless length quirk
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/quirks/unitless-length/limited-quirks.html b/tests/wpt/web-platform-tests/quirks/unitless-length/limited-quirks.html
new file mode 100644
index 00000000000..fab0b3b805b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/unitless-length/limited-quirks.html
@@ -0,0 +1,15 @@
+
+
+
+ The unitless length quirk (limited-quirks)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/quirks/unitless-length/no-quirks.html b/tests/wpt/web-platform-tests/quirks/unitless-length/no-quirks.html
new file mode 100644
index 00000000000..cd192029df4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/unitless-length/no-quirks.html
@@ -0,0 +1,15 @@
+
+
+
+ The unitless length quirk (no-quirks)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/quirks/unitless-length/quirks.html b/tests/wpt/web-platform-tests/quirks/unitless-length/quirks.html
new file mode 100644
index 00000000000..80bda7a3929
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/unitless-length/quirks.html
@@ -0,0 +1,15 @@
+
+
+
+ The unitless length quirk (quirks)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/quirks/unitless-length/support/common.js b/tests/wpt/web-platform-tests/quirks/unitless-length/support/common.js
new file mode 100644
index 00000000000..f2f7eab4e33
--- /dev/null
+++ b/tests/wpt/web-platform-tests/quirks/unitless-length/support/common.js
@@ -0,0 +1,152 @@
+setup({explicit_done:true});
+onload = function() {
+ setupIframe();
+
+ var tests = [
+ {input:"1", q:"1px"},
+ {input:"+1", q:"1px"},
+ {input:"-1", q:"-1px"},
+ {input:"1.5", q:"1.5px"},
+ {input:"+1.5", q:"1.5px"},
+ {input:"-1.5", q:"-1.5px"},
+ {input:"\\31 "},
+ {input:"+\\31 "},
+ {input:"-\\31 "},
+ {input:"\\31 .5"},
+ {input:"+\\31 .5"},
+ {input:"-\\31 .5"},
+ {input:"1\\31 "},
+ {input:"+1\\31 "},
+ {input:"-1\\31 "},
+ {input:"1\\31 .5"},
+ {input:"+1\\31 .5"},
+ {input:"-1\\31 .5"},
+ {input:"a"},
+ {input:"A"},
+ {input:"1a"},
+ {input:"+1a"},
+ {input:"-1a"},
+ {input:"+1A"},
+ {input:"-1A"},
+ {input:"+a"},
+ {input:"-a"},
+ {input:"+A"},
+ {input:"-A"},
+ {input:"@a"},
+ {input:"@1"},
+ {input:"@1a"},
+ {input:'"a"'},
+ {input:'"1"'},
+ {input:'"1a"'},
+ {input:"url(1)"},
+ {input:"url('1')"},
+ {input:"#1"},
+ {input:"#01"},
+ {input:"#001"},
+ {input:"#0001"},
+ {input:"#00001"},
+ {input:"#000001"},
+ {input:"+/**/1"},
+ {input:"-/**/1"},
+ {input:"calc(1)"},
+ {input:"calc(2 * 2px)", q:"4px", s:"4px"},
+ {input:"1px 2", q:"1px 2px", shorthand:true},
+ {input:"1 2px", q:"1px 2px", shorthand:true},
+ {input:"1px calc(2)", shorthand:true},
+ {input:"calc(1) 2px", shorthand:true},
+ {input:"1 +2", q:"1px 2px", shorthand:true},
+ {input:"1 -2", q:"1px -2px", shorthand:true},
+ ];
+
+ var props = [
+ {prop:'background-position', check:'background-position', check_also:[]},
+ {prop:'border-spacing', check:'border-spacing', check_also:[]},
+ {prop:'border-top-width', check:'border-top-width'},
+ {prop:'border-right-width', check:'border-right-width'},
+ {prop:'border-bottom-width', check:'border-bottom-width'},
+ {prop:'border-left-width', check:'border-left-width'},
+ {prop:'border-width', check:'border-top-width', check_also:['border-right-width', 'border-bottom-width', 'border-left-width']},
+ {prop:'bottom', check:'bottom'},
+ {prop:'clip', check:'clip'},
+ {prop:'font-size', check:'font-size'},
+ {prop:'height', check:'height'},
+ {prop:'left', check:'left'},
+ {prop:'letter-spacing', check:'letter-spacing'},
+ {prop:'margin-right', check:'margin-right'},
+ {prop:'margin-left', check:'margin-left'},
+ {prop:'margin-top', check:'margin-top'},
+ {prop:'margin-bottom', check:'margin-bottom'},
+ {prop:'margin', check:'margin-top', check_also:['margin-right', 'margin-bottom', 'margin-left']},
+ {prop:'max-height', check:'max-height'},
+ {prop:'max-width', check:'max-width'},
+ {prop:'min-height', check:'min-height'},
+ {prop:'min-width', check:'min-width'},
+ {prop:'padding-top', check:'padding-top'},
+ {prop:'padding-right', check:'padding-right'},
+ {prop:'padding-bottom', check:'padding-bottom'},
+ {prop:'padding-left', check:'padding-left'},
+ {prop:'padding', check:'padding-top', check_also:['padding-right', 'padding-bottom', 'padding-left']},
+ {prop:'right', check:'right'},
+ {prop:'text-indent', check:'text-indent'},
+ {prop:'top', check:'top'},
+ {prop:'vertical-align', check:'vertical-align'},
+ {prop:'width', check:'width'},
+ {prop:'word-spacing', check:'word-spacing'},
+ ];
+ var style_template = '#test{border-style:solid;position:relative;{prop}:{test};}' +
+ '#ref{border-style:solid;position:relative;{prop}:{ref};}';
+
+ tests.forEach(function(t) {
+ for (var i in props) {
+ if (t.shorthand && !(props[i].check_also)) {
+ continue;
+ }
+ test(function() {
+ win.style.textContent = style_template.replace('{test}', t.input)
+ .replace('{ref}', quirks ? t.q : t.s).replace(/\{prop\}/g, props[i].prop)
+ .replace(/clip:[^;]+/g, function(match) {
+ return 'clip:rect(auto, auto, auto, ' + match.substr(5) + ')';
+ });
+ assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check),
+ win.getComputedStyle(win.ref).getPropertyValue(props[i].check),
+ props[i].prop);
+ if (t.shorthand && props[i].check_also) {
+ for (var j in props[i].check_also) {
+ assert_equals(win.getComputedStyle(win.test).getPropertyValue(props[i].check_also[j]),
+ win.getComputedStyle(win.ref).getPropertyValue(props[i].check_also[j]),
+ props[i].prop + ', checking ' + props[i].check_also[j]);
+ }
+ }
+ }, props[i].prop + ": " + t.input);
+
+ }
+ });
+
+ if (quirks) {
+ var other_tests = [
+ {input:'background:1 1', prop:'background-position'},
+ {input:'border-top:red solid 1', prop:'border-top-width'},
+ {input:'border-right:red solid 1', prop:'border-right-width'},
+ {input:'border-bottom:red solid 1', prop:'border-bottom-width'},
+ {input:'border-left:red solid 1', prop:'border-left-width'},
+ {input:'border:red solid 1', prop:'border-top-width'},
+ {input:'font:normal normal normal 40 sans-serif', prop:'font-size'},
+ {input:'outline:red solid 1', prop:'outline-width'},
+ {input:'outline-width:1', prop:'outline-width'},
+ ];
+
+ var other_template = "#test{position:relative;outline-style:solid;{test}}" +
+ "#ref{outline-style:solid}";
+
+ other_tests.forEach(function(t) {
+ test(function() {
+ win.style.textContent = other_template.replace('{test}', t.input);
+ assert_equals(win.getComputedStyle(win.test).getPropertyValue(t.prop),
+ win.getComputedStyle(win.ref).getPropertyValue(t.prop),
+ 'quirk was supported');
+ }, 'Excluded property '+t.input);
+ });
+ }
+
+ done();
+}
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/common.js b/tests/wpt/web-platform-tests/referrer-policy/generic/common.js
index 1ccdaabf077..c98056f680b 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/common.js
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/common.js
@@ -230,9 +230,10 @@ function queryAreaLink(url, callback, referrer_policy) {
queryNavigable(area, url, callback, referrer_policy)
}
-function queryScript(url, callback) {
+function queryScript(url, callback, attributes, referrer_policy) {
var script = document.createElement("script");
script.src = url;
+ script.referrerPolicy = referrer_policy;
var listener = function(event) {
var server_data = event.data;
diff --git a/tests/wpt/web-platform-tests/resources/chromium/generic_sensor_mocks.js b/tests/wpt/web-platform-tests/resources/chromium/generic_sensor_mocks.js
index 2cdf868b9bf..24a469199ff 100644
--- a/tests/wpt/web-platform-tests/resources/chromium/generic_sensor_mocks.js
+++ b/tests/wpt/web-platform-tests/resources/chromium/generic_sensor_mocks.js
@@ -167,23 +167,13 @@ var GenericSensorTest = (() => {
initParams: initParams};
}
- async reset() {
+ reset() {
if (this.activeSensor_ !== null) {
this.activeSensor_.reset();
this.activeSensor_ = null;
}
- // Wait for an event loop iteration to let
- // the pending mojo commands pass.
- function schedule(func) {
- return new Promise(resolve => {
- setTimeout(() => {
- func();
- resolve();
- }, 0);
- });
- }
- await schedule(this.binding_.close.bind(this.binding_));
- await schedule(this.interceptor_.stop.bind(this.interceptor_));
+ this.binding_.close();
+ this.interceptor_.stop();
}
}
@@ -216,9 +206,13 @@ var GenericSensorTest = (() => {
async reset() {
if (!testInternal.initialized)
throw new Error('Call initialize() before reset().');
- await testInternal.sensorProvider.reset();
+ testInternal.sensorProvider.reset();
testInternal.sensorProvider = null;
testInternal.initialized = false;
+
+ // Wait for an event loop iteration to let any pending mojo commands in
+ // the sensor provider finish.
+ await new Promise(resolve => setTimeout(resolve, 0));
}
}
diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js
index d4bf2920616..54379c665a8 100644
--- a/tests/wpt/web-platform-tests/resources/testharness.js
+++ b/tests/wpt/web-platform-tests/resources/testharness.js
@@ -997,6 +997,9 @@ policies and contribution forms [3].
function assert_object_equals(actual, expected, description)
{
+ assert(typeof actual === "object" && actual !== null, "assert_object_equals", description,
+ "value is ${actual}, expected object",
+ {actual: actual});
//This needs to be improved a great deal
function check_equal(actual, expected, stack)
{
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/referrer-policy-header.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/referrer-policy-header.https.html
index f2e91d472c0..05d773e3144 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/referrer-policy-header.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/referrer-policy-header.https.html
@@ -5,39 +5,41 @@
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js
index 6f7df75e921..a752b436524 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/performance-timeline-worker.js
@@ -44,12 +44,22 @@ promise_test(function(test) {
assert_greater_than(entry.startTime, 0);
assert_greater_than(entry.responseEnd, entry.startTime);
}
- return new Promise(function(resolve) {
- performance.onresourcetimingbufferfull = resolve;
+ return Promise.race([
+ new Promise(function(resolve) {
+ performance.onresourcetimingbufferfull = _ => {
+ resolve('bufferfull');
+ }
performance.setResourceTimingBufferSize(expectedResources.length);
- });
+ }),
+
+ // Race the bufferfull event against another fetch. We should get the
+ // event before this completes. This allows us to detect a failure
+ // to dispatch the event without timing out the entire test.
+ fetch('dummy.txt').then(resp => resp.text())
+ ]);
})
- .then(function() {
+ .then(function(result) {
+ assert_equals(result, 'bufferfull');
performance.clearResourceTimings();
assert_equals(performance.getEntriesByType('resource').length, 0);
})
diff --git a/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-currentScript.html b/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-currentScript.html
index ff0344fe493..176ef348fcb 100644
--- a/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-currentScript.html
+++ b/tests/wpt/web-platform-tests/shadow-dom/Document-prototype-currentScript.html
@@ -1,6 +1,7 @@
+
HTML: Document.prototype.currentScript
@@ -12,11 +13,16 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels.html
new file mode 100644
index 00000000000..0af05d3a8e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-channels.html
@@ -0,0 +1,97 @@
+
+
+
+
+ audiobuffersource-channels.html
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-ended.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-ended.html
new file mode 100644
index 00000000000..b9922f61ef3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-ended.html
@@ -0,0 +1,40 @@
+
+
+
+
+ audiobuffersource-ended.html
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain.html
new file mode 100644
index 00000000000..f554304a21e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-grain.html
@@ -0,0 +1,71 @@
+
+
+
+
+ Test Start Grain with Delayed Buffer Setting
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels-expected.wav b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels-expected.wav
new file mode 100644
index 00000000000..ab9d5fe5a9d
Binary files /dev/null and b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels-expected.wav differ
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html
new file mode 100644
index 00000000000..01ba3b122d8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+ audiobuffersource-multi-channels.html
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop.html
new file mode 100644
index 00000000000..af1454a5a9f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-one-sample-loop.html
@@ -0,0 +1,47 @@
+
+
+
+
+ Test AudioBufferSourceNode With Looping a Single-Sample Buffer
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero.html
new file mode 100644
index 00000000000..58ee49e42d2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-playbackrate-zero.html
@@ -0,0 +1,80 @@
+
+
+
+
+ audiobuffersource-playbackrate-zero.html
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start.html
new file mode 100644
index 00000000000..19331954b0b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-start.html
@@ -0,0 +1,174 @@
+
+
+
+
+ audiobuffersource-start.html
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended.html
new file mode 100644
index 00000000000..20ef4a1c638
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-onended.html
@@ -0,0 +1,101 @@
+
+
+
+
+ Test Onended Event Listener
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits.html
new file mode 100644
index 00000000000..3ac9c05938c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiosource-time-limits.html
@@ -0,0 +1,74 @@
+
+
+
+
+ Test Scheduled Sources with Huge Time Limits
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play.html
new file mode 100644
index 00000000000..37c4462addb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-play.html
@@ -0,0 +1,121 @@
+
+
+
+
+ note-grain-on-play.html
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing.html
new file mode 100644
index 00000000000..0db297b42cc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/note-grain-on-timing.html
@@ -0,0 +1,47 @@
+
+
+
+
+ note-grain-on-timing.html
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling.html
new file mode 100644
index 00000000000..5fafd024eef
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sample-accurate-scheduling.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+ sample-accurate-scheduling.html
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html
index cd09696e689..952f38b1edc 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-getoutputtimestamp.html
@@ -19,9 +19,10 @@
should(timestamp.contextTime, 'timestamp.contextTime').exist();
should(timestamp.performanceTime, 'timestamp.performanceTime').exist();
- should(timestamp.contextTime, 'timestamp.contextTime').beEqualTo(0);
+ should(timestamp.contextTime, 'timestamp.contextTime')
+ .beGreaterThanOrEqualTo(0);
should(timestamp.performanceTime, 'timestamp.performanceTime')
- .beEqualTo(0);
+ .beGreaterThanOrEqualTo(0);
task.done();
});
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-already-has-value.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-already-has-value.html
new file mode 100644
index 00000000000..31f115da532
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-setBuffer-already-has-value.html
@@ -0,0 +1,51 @@
+
+
+
+
+ convolver-setBuffer-already-has-value.html
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/webauthn/interfaces.https.any.js b/tests/wpt/web-platform-tests/webauthn/interfaces.https.any.js
index 22766e650ce..97c3020189c 100644
--- a/tests/wpt/web-platform-tests/webauthn/interfaces.https.any.js
+++ b/tests/wpt/web-platform-tests/webauthn/interfaces.https.any.js
@@ -1,28 +1,17 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
-'use strict';
-
-if (self.importScripts) {
- importScripts('/resources/testharness.js');
- importScripts('/resources/WebIDLParser.js', '/resources/idlharness.js');
-}
-
// https://w3c.github.io/webauthn/
+'use strict';
+
promise_test(async () => {
const webauthnIdl = await fetch('/interfaces/webauthn.idl').then(r => r.text());
+ const creds = await fetch('/interfaces/credential-management.idl').then(r => r.text());
const idlArray = new IdlArray();
idlArray.add_idls(webauthnIdl);
-
- // static IDL tests
- idlArray.add_untested_idls('interface CredentialCreationOptions {};');
- idlArray.add_untested_idls('interface CredentialRequestOptions {};');
- idlArray.add_untested_idls("interface Navigator { };");
- idlArray.add_untested_idls("interface Credential { };");
- // TODO: change to "tested" for real browsers?
- idlArray.add_untested_idls("partial interface Navigator { readonly attribute WebAuthentication authentication; };");
+ idlArray.add_dependency_idls(creds);
idlArray.add_objects({
WebAuthentication: ["navigator.authentication"]
});
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/interactability.py b/tests/wpt/web-platform-tests/webdriver/tests/element_click/interactability.py
index a94bc197af3..7af1197ac71 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/interactability.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/element_click/interactability.py
@@ -59,4 +59,4 @@ def test_element_not_visible_overflow_hidden(session):
element = session.find.css("input", all=False)
response = element_click(session, element)
- assert_error(response, "element not visible")
+ assert_error(response, "element not interactable")
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py b/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py
index 34c71f09eb2..ead4f5aa04b 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/element_click/navigate.py
@@ -44,11 +44,12 @@ def test_link_unload_event(session, server_config):
click here
""".format(url=link))
+
element = session.find.css("a", all=False)
response = element_click(session, element)
assert_success(response)
@@ -61,7 +62,7 @@ def test_link_unload_event(session, server_config):
element = session.find.css("input", all=False)
response = session.execute_script("""
- let [input] = arguments;
+ let input = arguments[0];
return input.checked;
""", args=(element,))
assert response is True
@@ -84,7 +85,7 @@ def test_link_hash(session):
element = session.find.css("p", all=False)
assert session.execute_script("""
- let [input] = arguments;
+ let input = arguments[0];
rect = input.getBoundingClientRect();
return rect["top"] >= 0 && rect["left"] >= 0 &&
(rect["top"] + rect["height"]) <= window.innerHeight &&
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/element_click/scroll_into_view.py b/tests/wpt/web-platform-tests/webdriver/tests/element_click/scroll_into_view.py
index d7eda81207d..dde83a4244c 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/element_click/scroll_into_view.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/element_click/scroll_into_view.py
@@ -21,7 +21,7 @@ def test_scroll_into_view(session):
# Check if element clicked is scrolled into view
assert session.execute_script("""
- let [input] = arguments;
+ let input = arguments[0];
rect = input.getBoundingClientRect();
return rect["top"] >= 0 && rect["left"] >= 0 &&
(rect["top"] + rect["height"]) <= window.innerHeight &&
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html
index 0bf58d947ca..0a69431edc0 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html
@@ -14,8 +14,8 @@
t.add_cleanup(() => pc1.close());
const stream = await navigator.mediaDevices.getUserMedia(
{audio: false, video: true});
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const videoTrack = stream.getVideoTracks()[0];
- t.add_cleanup(() => videoTrack.stop());
pc1.addTrack(videoTrack, stream);
const offer = await pc1.createOffer();
await pc1.setLocalDescription(offer);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html
index 4e56e667c3a..6864f091255 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https.html
@@ -42,6 +42,7 @@
t.add_cleanup(() => pc.close());
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
pc.close();
@@ -64,6 +65,7 @@
t.add_cleanup(() => pc.close());
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
const sender = pc.addTrack(track);
@@ -95,6 +97,7 @@
t.add_cleanup(() => pc.close());
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
const sender = pc.addTrack(track, stream);
@@ -111,6 +114,7 @@
t.add_cleanup(() => pc.close());
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
const stream2 = new MediaStream([track]);
@@ -134,6 +138,7 @@
t.add_cleanup(() => pc.close());
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
pc.addTrack(track, stream);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
index c6e2d43336d..51d199d53ed 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
@@ -46,19 +46,17 @@
}, 'addTransceiver - Calling removeTrack when connection is closed should throw InvalidStateError');
- promise_test(t => {
+ promise_test(async t => {
const pc = new RTCPeerConnection();
-
t.add_cleanup(() => pc.close());
- return navigator.mediaDevices.getUserMedia({ audio: true })
- .then(mediaStream => {
- const [track] = mediaStream.getTracks();
- const sender = pc.addTrack(track, mediaStream);
+ const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
+ const [track] = stream.getTracks();
+ const sender = pc.addTrack(track, stream);
- pc.close();
- assert_throws('InvalidStateError', () => pc.removeTrack(sender));
- });
+ pc.close();
+ assert_throws('InvalidStateError', () => pc.removeTrack(sender));
}, 'addTrack - Calling removeTrack when connection is closed should throw InvalidStateError');
test(t => {
@@ -73,20 +71,18 @@
}, 'addTransceiver - Calling removeTrack on different connection that is closed should throw InvalidStateError');
- promise_test(t => {
+ promise_test(async t => {
const pc = new RTCPeerConnection();
-
t.add_cleanup(() => pc.close());
- return navigator.mediaDevices.getUserMedia({ audio: true })
- .then(mediaStream => {
- const [track] = mediaStream.getTracks();
- const sender = pc.addTrack(track, mediaStream);
+ const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
+ const [track] = stream.getTracks();
+ const sender = pc.addTrack(track, stream);
- const pc2 = new RTCPeerConnection();
- pc2.close();
- assert_throws('InvalidStateError', () => pc2.removeTrack(sender));
- });
+ const pc2 = new RTCPeerConnection();
+ pc2.close();
+ assert_throws('InvalidStateError', () => pc2.removeTrack(sender));
}, 'addTrack - Calling removeTrack on different connection that is closed should throw InvalidStateError');
/*
@@ -104,19 +100,17 @@
}, 'addTransceiver - Calling removeTrack on different connection should throw InvalidAccessError');
- promise_test(t => {
+ promise_test(async t => {
const pc = new RTCPeerConnection();
-
t.add_cleanup(() => pc.close());
- return navigator.mediaDevices.getUserMedia({ audio: true })
- .then(mediaStream => {
- const [track] = mediaStream.getTracks();
- const sender = pc.addTrack(track, mediaStream);
+ const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
+ const [track] = stream.getTracks();
+ const sender = pc.addTrack(track, stream);
- const pc2 = new RTCPeerConnection();
- assert_throws('InvalidAccessError', () => pc2.removeTrack(sender));
- });
+ const pc2 = new RTCPeerConnection();
+ assert_throws('InvalidAccessError', () => pc2.removeTrack(sender));
}, 'addTrack - Calling removeTrack on different connection should throw InvalidAccessError')
/*
@@ -139,21 +133,19 @@
}, 'addTransceiver - Calling removeTrack with valid sender should set sender.track to null');
- promise_test(t => {
+ promise_test(async t => {
const pc = new RTCPeerConnection();
-
t.add_cleanup(() => pc.close());
- return navigator.mediaDevices.getUserMedia({ audio: true })
- .then(mediaStream => {
- const [track] = mediaStream.getTracks();
- const sender = pc.addTrack(track, mediaStream);
+ const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
+ const [track] = stream.getTracks();
+ const sender = pc.addTrack(track, stream);
- assert_equals(sender.track, track);
+ assert_equals(sender.track, track);
- pc.removeTrack(sender);
- assert_equals(sender.track, null);
- });
+ pc.removeTrack(sender);
+ assert_equals(sender.track, null);
}, 'addTrack - Calling removeTrack with valid sender should set sender.track to null');
/*
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html
index 251d28243ed..eb2510dd499 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html
@@ -24,6 +24,7 @@
t.add_cleanup(() => callee.close());
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
caller.addTrack(localStream.getTracks()[0]);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_equals(e.track.id, localStream.getTracks()[0].id,
@@ -41,6 +42,7 @@
t.add_cleanup(() => callee.close());
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
caller.addTrack(localStream.getTracks()[0], localStream);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_equals(e.track.id, localStream.getTracks()[0].id,
@@ -63,6 +65,7 @@
let eventSequence = '';
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
caller.addTrack(localStream.getTracks()[0], localStream);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
eventSequence += 'ontrack;';
@@ -213,6 +216,7 @@
t.add_cleanup(() => callee.close());
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
caller.addTrack(localStream.getTracks()[0]);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_array_equals(callee.getReceivers(), [e.receiver],
@@ -229,6 +233,7 @@
t.add_cleanup(() => callee.close());
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
const sender = caller.addTrack(localStream.getTracks()[0]);
const ontrackPromise = addEventListenerPromise(t, callee, 'track');
await exchangeOfferAnswer(caller, callee);
@@ -246,7 +251,9 @@
t.add_cleanup(() => callee.close());
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
- const sender = caller.addTrack(localStream.getTracks()[0], localStream);
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
+ const [track] = localStream.getTracks();
+ const sender = caller.addTrack(track, localStream);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_equals(e.streams.length, 1);
return e.streams[0];
@@ -273,6 +280,7 @@
let eventSequence = '';
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
const sender = caller.addTrack(localStream.getTracks()[0], localStream);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_equals(e.streams.length, 1);
@@ -299,6 +307,7 @@
t.add_cleanup(() => callee.close());
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
const sender = caller.addTrack(localStream.getTracks()[0], localStream);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_equals(e.streams.length, 1);
@@ -324,6 +333,7 @@
let eventSequence = '';
const localStream =
await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => localStream.getTracks().forEach(track => track.stop()));
const sender = caller.addTrack(localStream.getTracks()[0], localStream);
const ontrackPromise = addEventListenerPromise(t, callee, 'track', e => {
assert_equals(e.streams.length, 1);
@@ -347,6 +357,7 @@
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const sender = pc.addTrack(stream.getTracks()[0]);
pc.removeTrack(sender);
pc.removeTrack(sender);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getStats.https.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getStats.https.html
index 30b15851fd6..083f9e12245 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getStats.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getStats.https.html
@@ -63,6 +63,7 @@
const callee = new RTCPeerConnection();
t.add_cleanup(() => callee.close());
const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
caller.addTrack(track, stream);
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-getStats.https.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-getStats.https.html
index a0e2b9dbcf2..dc403bbe6cd 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-getStats.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpSender-getStats.https.html
@@ -58,6 +58,7 @@
const callee = new RTCPeerConnection();
t.add_cleanup(() => callee.close());
const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
const [track] = stream.getTracks();
const sender = caller.addTrack(track, stream);
diff --git a/tests/wpt/web-platform-tests/webrtc/tools/codemod-peerconnection-addcleanup b/tests/wpt/web-platform-tests/webrtc/tools/codemod-peerconnection-addcleanup
new file mode 100644
index 00000000000..920921d2e4e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webrtc/tools/codemod-peerconnection-addcleanup
@@ -0,0 +1,58 @@
+/* a codemod for ensuring RTCPeerConnection is cleaned up in tests.
+ * For each `new RTCPeerConnection` add a
+ * `test.add_cleanup(() => pc.close())`
+ * Only applies in promise_tests if there is no add_cleanup in the
+ * test function body.
+ */
+export default function transformer(file, api) {
+ const j = api.jscodeshift;
+ return j(file.source)
+ // find each RTCPeerConnection constructor
+ .find(j.NewExpression, {callee: {type: 'Identifier', name: 'RTCPeerConnection'}})
+
+ // check it is inside a promise_test
+ .filter(path => {
+ // iterate parentPath until you find a CallExpression
+ let nextPath = path.parentPath;
+ while (nextPath && nextPath.value.type !== 'CallExpression') {
+ nextPath = nextPath.parentPath;
+ }
+ return nextPath && nextPath.value.callee.name === 'promise_test';
+ })
+ // check there is no add_cleanup in the function body
+ .filter(path => {
+ let nextPath = path.parentPath;
+ while (nextPath && nextPath.value.type !== 'CallExpression') {
+ nextPath = nextPath.parentPath;
+ }
+ const body = nextPath.value.arguments[0].body;
+ return j(body).find(j.Identifier, {name: 'add_cleanup'}).length === 0;
+ })
+ .forEach(path => {
+ // iterate parentPath until you find a CallExpression
+ let nextPath = path.parentPath;
+ while (nextPath && nextPath.value.type !== 'CallExpression') {
+ nextPath = nextPath.parentPath;
+ }
+ const declaration = path.parentPath.parentPath.parentPath;
+ const pc = path.parentPath.value.id;
+
+ declaration.insertAfter(
+ j.expressionStatement(
+ j.callExpression(
+ j.memberExpression(
+ nextPath.node.arguments[0].params[0],
+ j.identifier('add_cleanup')
+ ),
+ [j.arrowFunctionExpression([],
+ j.callExpression(
+ j.memberExpression(pc, j.identifier('close'), false),
+ []
+ )
+ )]
+ )
+ )
+ );
+ })
+ .toSource();
+};
diff --git a/tests/wpt/web-platform-tests/webrtc/tools/html-codemod.js b/tests/wpt/web-platform-tests/webrtc/tools/html-codemod.js
new file mode 100644
index 00000000000..6a31e8c4c60
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webrtc/tools/html-codemod.js
@@ -0,0 +1,34 @@
+/*
+ * extract script content from a series of html files, run a
+ * jscodeshift codemod on them and overwrite the original file.
+ *
+ * Usage: node html-codemod.js codemod-file list of files to process
+ */
+const { JSDOM } = require('jsdom');
+const fs = require('fs');
+const {execFileSync} = require('child_process');
+
+const codemod = process.argv[2];
+const filenames = process.argv.slice(3);
+filenames.forEach((filename) => {
+ const originalContent = fs.readFileSync(filename, 'utf-8');
+ const dom = new JSDOM(originalContent);
+ const document = dom.window.document;
+ const scriptTags = document.querySelectorAll('script');
+ const lastTag = scriptTags[scriptTags.length - 1];
+ const script = lastTag.innerHTML;
+ if (!script) {
+ console.log('NO SCRIPT FOUND', filename);
+ return;
+ }
+ const scriptFilename = filename + '.codemod.js';
+ const scriptFile = fs.writeFileSync(scriptFilename, script);
+ // exec jscodeshift
+ const output = execFileSync('./node_modules/.bin/jscodeshift', ['-t', codemod, scriptFilename]);
+ console.log(filename, output.toString()); // output jscodeshift output.
+ // read back file, resubstitute
+ const newScript = fs.readFileSync(scriptFilename, 'utf-8').toString();
+ const modifiedContent = originalContent.split(script).join(newScript);
+ fs.writeFileSync(filename, modifiedContent);
+ fs.unlinkSync(scriptFilename);
+});
diff --git a/tests/wpt/web-platform-tests/webrtc/tools/package-lock.json b/tests/wpt/web-platform-tests/webrtc/tools/package-lock.json
deleted file mode 100644
index 79e603949cf..00000000000
--- a/tests/wpt/web-platform-tests/webrtc/tools/package-lock.json
+++ /dev/null
@@ -1,1213 +0,0 @@
-{
- "name": "webrtc-testing-tools",
- "version": "1.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "acorn": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz",
- "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==",
- "dev": true
- },
- "acorn-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
- "dev": true,
- "requires": {
- "acorn": "3.3.0"
- },
- "dependencies": {
- "acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
- "dev": true
- }
- }
- },
- "ajv": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz",
- "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=",
- "dev": true,
- "requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.0.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
- }
- },
- "ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
- "dev": true
- },
- "ansi-escapes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz",
- "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==",
- "dev": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
- "dev": true,
- "requires": {
- "sprintf-js": "1.0.3"
- }
- },
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "1.0.3"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
- "dev": true
- },
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "requires": {
- "chalk": "1.1.3",
- "esutils": "2.0.2",
- "js-tokens": "3.0.2"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
- }
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
- "dev": true,
- "requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "caller-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
- "dev": true,
- "requires": {
- "callsites": "0.2.0"
- }
- },
- "callsites": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
- "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
- "dev": true
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.1"
- }
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
- }
- },
- "chardet": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.0.tgz",
- "integrity": "sha1-C74TVaxE16PtSpJXB8TvcPgZD2w=",
- "dev": true
- },
- "circular-json": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
- "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
- "dev": true
- },
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
- "requires": {
- "restore-cursor": "2.0.0"
- }
- },
- "cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
- "dev": true
- },
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true
- },
- "color-convert": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
- "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "concat-stream": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
- "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
- "dev": true,
- "requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.3",
- "typedarray": "0.0.6"
- }
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "requires": {
- "lru-cache": "4.1.1",
- "shebang-command": "1.2.0",
- "which": "1.3.0"
- }
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true,
- "requires": {
- "globby": "5.0.0",
- "is-path-cwd": "1.0.0",
- "is-path-in-cwd": "1.0.0",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "rimraf": "2.6.2"
- }
- },
- "doctrine": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
- "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=",
- "dev": true,
- "requires": {
- "esutils": "2.0.2",
- "isarray": "1.0.0"
- }
- },
- "dom-serializer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
- "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
- "dev": true,
- "requires": {
- "domelementtype": "1.1.3",
- "entities": "1.1.1"
- },
- "dependencies": {
- "domelementtype": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
- "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
- "dev": true
- }
- }
- },
- "domelementtype": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
- "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
- "dev": true
- },
- "domhandler": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz",
- "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=",
- "dev": true,
- "requires": {
- "domelementtype": "1.3.0"
- }
- },
- "domutils": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.6.2.tgz",
- "integrity": "sha1-GVjMC0yUJuntNn+xyOhUiRsPo/8=",
- "dev": true,
- "requires": {
- "dom-serializer": "0.1.0",
- "domelementtype": "1.3.0"
- }
- },
- "entities": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
- "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "eslint": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.11.0.tgz",
- "integrity": "sha512-UWbhQpaKlm8h5x/VLwm0S1kheMrDj8jPwhnBMjr/Dlo3qqT7MvcN/UfKAR3E1N4lr4YNtOvS4m3hwsrVc/ky7g==",
- "dev": true,
- "requires": {
- "ajv": "5.3.0",
- "babel-code-frame": "6.26.0",
- "chalk": "2.3.0",
- "concat-stream": "1.6.0",
- "cross-spawn": "5.1.0",
- "debug": "3.1.0",
- "doctrine": "2.0.0",
- "eslint-scope": "3.7.1",
- "espree": "3.5.2",
- "esquery": "1.0.0",
- "estraverse": "4.2.0",
- "esutils": "2.0.2",
- "file-entry-cache": "2.0.0",
- "functional-red-black-tree": "1.0.1",
- "glob": "7.1.2",
- "globals": "9.18.0",
- "ignore": "3.3.7",
- "imurmurhash": "0.1.4",
- "inquirer": "3.3.0",
- "is-resolvable": "1.0.0",
- "js-yaml": "3.10.0",
- "json-stable-stringify-without-jsonify": "1.0.1",
- "levn": "0.3.0",
- "lodash": "4.17.4",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "natural-compare": "1.4.0",
- "optionator": "0.8.2",
- "path-is-inside": "1.0.2",
- "pluralize": "7.0.0",
- "progress": "2.0.0",
- "require-uncached": "1.0.3",
- "semver": "5.4.1",
- "strip-ansi": "4.0.0",
- "strip-json-comments": "2.0.1",
- "table": "4.0.2",
- "text-table": "0.2.0"
- }
- },
- "eslint-plugin-html": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-4.0.0.tgz",
- "integrity": "sha512-xK/909qOTq5JVzuO2jo4a24nQcWhkOBz9dOIkORvB7RxC75a4b6B9wFpBXAl8WDhwJGFDj5gBDRN+/L3kK/ghw==",
- "dev": true,
- "requires": {
- "htmlparser2": "3.9.2"
- }
- },
- "eslint-scope": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
- "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
- "dev": true,
- "requires": {
- "esrecurse": "4.2.0",
- "estraverse": "4.2.0"
- }
- },
- "espree": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz",
- "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==",
- "dev": true,
- "requires": {
- "acorn": "5.2.1",
- "acorn-jsx": "3.0.1"
- }
- },
- "esprima": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
- "dev": true
- },
- "esquery": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
- "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=",
- "dev": true,
- "requires": {
- "estraverse": "4.2.0"
- }
- },
- "esrecurse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz",
- "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
- "dev": true,
- "requires": {
- "estraverse": "4.2.0",
- "object-assign": "4.1.1"
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "external-editor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz",
- "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==",
- "dev": true,
- "requires": {
- "chardet": "0.4.0",
- "iconv-lite": "0.4.19",
- "tmp": "0.0.33"
- }
- },
- "fast-deep-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
- "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
- "dev": true
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "1.0.5"
- }
- },
- "file-entry-cache": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
- "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
- "dev": true,
- "requires": {
- "flat-cache": "1.3.0",
- "object-assign": "4.1.1"
- }
- },
- "flat-cache": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
- "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
- "dev": true,
- "requires": {
- "circular-json": "0.3.3",
- "del": "2.2.2",
- "graceful-fs": "4.1.11",
- "write": "0.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
- "dev": true
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "1.0.2",
- "arrify": "1.0.1",
- "glob": "7.1.2",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
- },
- "htmlparser2": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
- "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
- "dev": true,
- "requires": {
- "domelementtype": "1.3.0",
- "domhandler": "2.4.1",
- "domutils": "1.6.2",
- "entities": "1.1.1",
- "inherits": "2.0.3",
- "readable-stream": "2.3.3"
- }
- },
- "iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
- "dev": true
- },
- "ignore": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
- "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "3.0.0",
- "chalk": "2.3.0",
- "cli-cursor": "2.1.0",
- "cli-width": "2.2.0",
- "external-editor": "2.1.0",
- "figures": "2.0.0",
- "lodash": "4.17.4",
- "mute-stream": "0.0.7",
- "run-async": "2.3.0",
- "rx-lite": "4.0.8",
- "rx-lite-aggregates": "4.0.8",
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "through": "2.3.8"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
- "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
- "dev": true,
- "requires": {
- "is-path-inside": "1.0.0"
- }
- },
- "is-path-inside": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
- "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
- "dev": true,
- "requires": {
- "path-is-inside": "1.0.2"
- }
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
- "dev": true
- },
- "is-resolvable": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
- "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=",
- "dev": true,
- "requires": {
- "tryit": "1.0.3"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "js-yaml": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
- "dev": true,
- "requires": {
- "argparse": "1.0.9",
- "esprima": "4.0.0"
- }
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
- }
- },
- "lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
- "dev": true
- },
- "lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
- "dev": true,
- "requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
- }
- },
- "mimic-fn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
- "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "1.1.8"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "1.1.0"
- }
- },
- "optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "dev": true,
- "requires": {
- "deep-is": "0.1.3",
- "fast-levenshtein": "2.0.6",
- "levn": "0.3.0",
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2",
- "wordwrap": "1.0.0"
- }
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
- "dev": true
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "2.0.4"
- }
- },
- "pluralize": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
- "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
- "dev": true
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "progress": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
- "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
- "dev": true,
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.0.3",
- "util-deprecate": "1.0.2"
- }
- },
- "require-uncached": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
- "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
- "dev": true,
- "requires": {
- "caller-path": "0.1.0",
- "resolve-from": "1.0.1"
- }
- },
- "resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
- "dev": true
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
- "requires": {
- "onetime": "2.0.1",
- "signal-exit": "3.0.2"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
- "requires": {
- "glob": "7.1.2"
- }
- },
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "2.1.0"
- }
- },
- "rx-lite": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
- "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
- "dev": true
- },
- "rx-lite-aggregates": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
- "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
- "dev": true,
- "requires": {
- "rx-lite": "4.0.8"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
- "dev": true
- },
- "semver": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "requires": {
- "shebang-regex": "1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "slice-ansi": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "2.0.0"
- }
- },
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- }
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- },
- "table": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
- "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
- "dev": true,
- "requires": {
- "ajv": "5.3.0",
- "ajv-keywords": "2.1.1",
- "chalk": "2.3.0",
- "lodash": "4.17.4",
- "slice-ansi": "1.0.0",
- "string-width": "2.1.1"
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "requires": {
- "os-tmpdir": "1.0.2"
- }
- },
- "tryit": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz",
- "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=",
- "dev": true
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "requires": {
- "prelude-ls": "1.1.2"
- }
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "which": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
- "dev": true,
- "requires": {
- "isexe": "2.0.0"
- }
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "write": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
- "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
- "dev": true,
- "requires": {
- "mkdirp": "0.5.1"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- }
- }
-}
diff --git a/tests/wpt/web-platform-tests/webrtc/tools/package.json b/tests/wpt/web-platform-tests/webrtc/tools/package.json
index 70515d8b715..e0c1cfda3e8 100644
--- a/tests/wpt/web-platform-tests/webrtc/tools/package.json
+++ b/tests/wpt/web-platform-tests/webrtc/tools/package.json
@@ -7,7 +7,9 @@
},
"devDependencies": {
"eslint": "^4.11.0",
- "eslint-plugin-html": "^4.0.0"
+ "eslint-plugin-html": "^4.0.0",
+ "jscodeshift": "^0.5.1",
+ "jsdom": "^11.11.0"
},
"license": "BSD",
"private": true
diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-referrer.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-referrer.html
index bed66d81ff6..e84b0ad39fe 100644
--- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-referrer.html
+++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-referrer.html
@@ -36,7 +36,7 @@ function removeParams(url_string) {
// scriptURL: 'resources/referrer-checker.sub.js',
// windowReferrerPolicy: 'no-referrer',
// workerReferrerPolicy: 'same-origin',
-// expectedReferrer: 'https://example.com/referrer-checker.py'
+// moduleGraphLevel: 'top-level' (or 'descendant')
// };
//
// - |scriptURL| is used for starting a new worker.
@@ -45,8 +45,7 @@ function removeParams(url_string) {
// loading and static imports.
// - |workerReferrerPolicy| is set to the ReferrerPolicy HTTP header of the
// worker. This policy should be applied to dynamic imports.
-// - |expectedReferrer| is compared with the actual referrer. URL parameters are
-// ignored.
+// - |moduleGraphLevel| indicates a script whose referrer will be tested.
function import_referrer_test(settings, description) {
promise_test(async () => {
let windowURL = 'resources/new-worker-window.html';
@@ -69,141 +68,144 @@ function import_referrer_test(settings, description) {
win.postMessage(scriptURL, '*');
const msgEvent = await new Promise(resolve => window.onmessage = resolve);
- // Delete query parameters from the referrers to make it easy to match the
- // actual referrer with the expected referrer.
- const expectedReferrer = removeParams(settings.expectedReferrer);
+ let expectedReferrer;
+ if (settings.moduleGraphLevel == 'top-level')
+ expectedReferrer = createURLString('resources/new-worker-window.html');
+ else
+ expectedReferrer = createURLString('resources/' + settings.scriptURL);
+
+ // Delete query parameters from the actual referrer to make it easy to match
+ // it with the expected referrer.
const actualReferrer = removeParams(msgEvent.data);
+
assert_equals(actualReferrer, expectedReferrer);
}, description);
}
// Tests for top-level worker module script loading.
//
-// Top-level worker module script loading should obey the window's
-// ReferrerPolicy, and send the window's URL as a referrer.
+// Top-level worker module script loading should obey the default referrer
+// policy (not the window's referrer policy), and send the window's URL as a
+// referrer.
//
// [Current document]
// --(open)--> [Window] whose referrer policy is |windowReferrerPolicy|.
// --(new Worker)--> [Worker] should be loaded with [Window]'s URL as a
-// referrer if it's allowed by |windowReferrerPolicy|.
+// referrer regardless of |windowReferrerPolicy|.
import_referrer_test(
{ scriptURL: 'referrer-checker.py',
windowReferrerPolicy: 'no-referrer',
- expectedReferrer: '' },
+ moduleGraphLevel: 'top-level' },
'Same-origin top-level module script loading with "no-referrer" referrer ' +
'policy');
import_referrer_test(
{ scriptURL: 'referrer-checker.py',
windowReferrerPolicy: 'origin',
- expectedReferrer: window.location.origin + '/' },
+ moduleGraphLevel: 'top-level' },
'Same-origin top-level module script loading with "origin" referrer ' +
'policy');
import_referrer_test(
{ scriptURL: 'referrer-checker.py',
windowReferrerPolicy: 'same-origin',
- expectedReferrer: createURLString('resources/new-worker-window.html') },
+ moduleGraphLevel: 'top-level' },
'Same-origin top-level module script loading with "same-origin" referrer ' +
'policy');
// Tests for static imports.
//
-// Static imports should obey the window's ReferrerPolicy, and send the worker's
+// Static imports should obey the default referrer policy, and send the worker's
// URL as a referrer.
//
// [Current document]
// --(open)--> [Window] whose referrer policy is |windowReferrerPolicy|.
// --(new Worker)--> [Worker]
// --(static import)--> [Script] should be loaded with [Worker]'s URL as a
-// referrer if it's allowed by |windowReferrerPolicy|.
+// referrer regardless of |windowReferrerPolicy|.
import_referrer_test(
{ scriptURL: 'static-import-same-origin-referrer-checker-worker.js',
windowReferrerPolicy: 'no-referrer',
- expectedReferrer: '' },
+ moduleGraphLevel: 'descendant' },
'Same-origin static import with "no-referrer" referrer policy.');
import_referrer_test(
{ scriptURL: 'static-import-same-origin-referrer-checker-worker.js',
windowReferrerPolicy: 'origin',
- expectedReferrer: window.location.origin + '/' },
+ moduleGraphLevel: 'descendant' },
'Same-origin static import with "origin" referrer policy.');
import_referrer_test(
{ scriptURL: 'static-import-same-origin-referrer-checker-worker.js',
windowReferrerPolicy: 'same-origin',
- expectedReferrer: createURLString(
- 'resources/static-import-same-origin-referrer-checker-worker.js') },
+ moduleGraphLevel: 'descendant' },
'Same-origin static import with "same-origin" referrer policy.');
import_referrer_test(
{ scriptURL: 'static-import-remote-origin-referrer-checker-worker.sub.js',
windowReferrerPolicy: 'no-referrer',
- expectedReferrer: '' },
+ moduleGraphLevel: 'descendant' },
'Cross-origin static import with "no-referrer" referrer policy.');
import_referrer_test(
{ scriptURL: 'static-import-remote-origin-referrer-checker-worker.sub.js',
windowReferrerPolicy: 'origin',
- expectedReferrer: window.location.origin + '/' },
+ moduleGraphLevel: 'descendant' },
'Cross-origin static import with "origin" referrer policy.');
import_referrer_test(
{ scriptURL: 'static-import-remote-origin-referrer-checker-worker.sub.js',
windowReferrerPolicy: 'same-origin',
- expectedReferrer: '' },
+ moduleGraphLevel: 'descendant' },
'Cross-origin static import with "same-origin" referrer policy.');
// Tests for dynamic imports.
//
-// Dynamic imports should obey the worker's ReferrerPolicy, and send the
-// worker's URL as a referrer. Note that the worker doesn't inherit the window's
-// referrer policy and it's set by the ReferrerPolicy HTTP header on the
-// response of the top-level worker module script.
+// Dynamic imports should obey the default referrer policy (not the worker's
+// referrer policy), and send the worker's URL as a referrer.
//
// [Current document]
// --(open)--> [Window]
// --(new Worker)--> [Worker] whose referrer policy is |workerReferrerPolicy|.
// --(dynamic import)--> [Script] should be loaded with [Worker]'s URL as a
-// referrer if it's allowed by |workerReferrerPolicy|.
+// referrer regardless of |workerReferrerPolicy|.
import_referrer_test(
{ scriptURL: 'dynamic-import-same-origin-referrer-checker-worker.js',
workerReferrerPolicy: 'no-referrer',
- expectedReferrer: '' },
+ moduleGraphLevel: 'descendant' },
'Same-origin dynamic import with "no-referrer" referrer policy.');
import_referrer_test(
{ scriptURL: 'dynamic-import-same-origin-referrer-checker-worker.js',
workerReferrerPolicy: 'origin',
- expectedReferrer: window.location.origin + '/' },
+ moduleGraphLevel: 'descendant' },
'Same-origin dynamic import with "origin" referrer policy.');
import_referrer_test(
{ scriptURL: 'dynamic-import-same-origin-referrer-checker-worker.js',
workerReferrerPolicy: 'same-origin',
- expectedReferrer: createURLString(
- 'resources/dynamic-import-same-origin-referrer-checker-worker.js') },
+ moduleGraphLevel: 'descendant' },
'Same-origin dynamic import with "same-origin" referrer policy.');
import_referrer_test(
{ scriptURL: 'dynamic-import-remote-origin-referrer-checker-worker.sub.js',
workerReferrerPolicy: 'no-referrer',
- expectedReferrer: '' },
+ moduleGraphLevel: 'descendant' },
'Cross-origin dynamic import with "no-referrer" referrer policy.');
import_referrer_test(
{ scriptURL: 'dynamic-import-remote-origin-referrer-checker-worker.sub.js',
workerReferrerPolicy: 'origin',
- expectedReferrer: window.location.origin + '/' },
+ moduleGraphLevel: 'descendant' },
'Cross-origin dynamic import with "origin" referrer policy.');
import_referrer_test(
{ scriptURL: 'dynamic-import-remote-origin-referrer-checker-worker.sub.js',
workerReferrerPolicy: 'same-origin',
- expectedReferrer: '' },
+ moduleGraphLevel: 'descendant' },
'Cross-origin dynamic import with "same-origin" referrer policy.');
diff --git a/tests/wpt/web-platform-tests/worklets/resources/referrer-checker.py b/tests/wpt/web-platform-tests/worklets/resources/referrer-checker.py
index 184d547f493..3d9afb4ab89 100644
--- a/tests/wpt/web-platform-tests/worklets/resources/referrer-checker.py
+++ b/tests/wpt/web-platform-tests/worklets/resources/referrer-checker.py
@@ -2,25 +2,14 @@
# |expected_referrer|.
def main(request, response):
referrer = request.headers.get("referer", "")
- referrer_policy = request.GET.first("referrer_policy")
expected_referrer = request.GET.first("expected_referrer", "")
response_headers = [("Content-Type", "text/javascript"),
("Access-Control-Allow-Origin", "*")]
- if referrer_policy == "no-referrer" or referrer_policy == "origin":
- if referrer == expected_referrer:
- return (200, response_headers, "")
- return (404, response_headers)
-
- if referrer_policy == "same-origin":
- if referrer == expected_referrer:
- return (200, response_headers, "")
- # The expected referrer doesn't contain query params for simplification,
- # so we check the referrer by startswith() here.
- if (expected_referrer != "" and
- referrer.startswith(expected_referrer + "?")):
- return (200, response_headers, "")
- return (404, response_headers)
-
+ # The expected referrer doesn't contain query params for simplification, so
+ # we check the referrer by startswith() here.
+ if (expected_referrer != "" and
+ referrer.startswith(expected_referrer + "?")):
+ return (200, response_headers, "")
return (404, response_headers)
diff --git a/tests/wpt/web-platform-tests/worklets/resources/referrer-tests.js b/tests/wpt/web-platform-tests/worklets/resources/referrer-tests.js
index 01b8e2ab57a..e46f93dbc3f 100644
--- a/tests/wpt/web-platform-tests/worklets/resources/referrer-tests.js
+++ b/tests/wpt/web-platform-tests/worklets/resources/referrer-tests.js
@@ -29,7 +29,9 @@ function runReferrerTest(settings) {
}).then(msg_event => assert_equals(msg_event.data, 'RESOLVED'));
}
-// Runs a series of tests related to the referrer policy on a worklet.
+// Runs a series of tests related to the referrer policy on a worklet. Referrer
+// on worklet module loading should always be handled with the default referrer
+// policy.
//
// Usage:
// runReferrerTests("paint");
@@ -44,7 +46,7 @@ function runReferrerTests(workletType) {
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'same' } });
}, 'Importing a same-origin script from a page that has "no-referrer" ' +
- 'referrer policy should not send referrer.');
+ 'referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -52,7 +54,7 @@ function runReferrerTests(workletType) {
referrerPolicy: 'no-referrer',
scriptOrigins: { topLevel: 'remote' } });
}, 'Importing a remote-origin script from a page that has "no-referrer" ' +
- 'referrer policy should not send referrer.');
+ 'referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -60,7 +62,7 @@ function runReferrerTests(workletType) {
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'same' } });
}, 'Importing a same-origin script from a page that has "origin" ' +
- 'referrer policy should send only an origin as referrer.');
+ 'referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -68,7 +70,7 @@ function runReferrerTests(workletType) {
referrerPolicy: 'origin',
scriptOrigins: { topLevel: 'remote' } });
}, 'Importing a remote-origin script from a page that has "origin" ' +
- 'referrer policy should send only an origin as referrer.');
+ 'referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -76,7 +78,7 @@ function runReferrerTests(workletType) {
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'same' } });
}, 'Importing a same-origin script from a page that has "same-origin" ' +
- 'referrer policy should send referrer.');
+ 'referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -84,7 +86,7 @@ function runReferrerTests(workletType) {
referrerPolicy: 'same-origin',
scriptOrigins: { topLevel: 'remote' } });
}, 'Importing a remote-origin script from a page that has "same-origin" ' +
- 'referrer policy should not send referrer.');
+ 'referrer policy.');
// Tests for descendant script fetch -----------------------------------------
@@ -95,7 +97,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'same',
descendant: 'same' } });
}, 'Importing a same-origin script from a same-origin worklet script that ' +
- 'has "no-referrer" referrer policy should not send referrer.');
+ 'has "no-referrer" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -104,7 +106,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'same',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a same-origin worklet script ' +
- 'that has "no-referrer" referrer policy should not send referrer.');
+ 'that has "no-referrer" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -113,7 +115,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'remote',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a remote-origin worklet script ' +
- 'that has "no-referrer" referrer policy should not send referrer.');
+ 'that has "no-referrer" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -122,7 +124,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'same',
descendant: 'same' } });
}, 'Importing a same-origin script from a same-origin worklet script that ' +
- 'has "origin" referrer policy should send referrer.');
+ 'has "origin" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -131,7 +133,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'same',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a same-origin worklet script ' +
- 'that has "origin" referrer policy should send referrer.');
+ 'that has "origin" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -140,7 +142,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'remote',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a remote-origin worklet script ' +
- 'that has "origin" referrer policy should send referrer.');
+ 'that has "origin" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -149,7 +151,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'same',
descendant: 'same' } });
}, 'Importing a same-origin script from a same-origin worklet script that ' +
- 'has "same-origin" referrer policy should send referrer.');
+ 'has "same-origin" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -158,7 +160,7 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'same',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a same-origin worklet script ' +
- 'that has "same-origin" referrer policy should not send referrer.');
+ 'that has "same-origin" referrer policy.');
promise_test(() => {
return runReferrerTest({ workletType: workletType,
@@ -167,5 +169,5 @@ function runReferrerTests(workletType) {
scriptOrigins: { topLevel: 'remote',
descendant: 'remote' } });
}, 'Importing a remote-origin script from a remote-origin worklet script ' +
- 'that has "same-origin" referrer policy should not send referrer.');
+ 'that has "same-origin" referrer policy.');
}
diff --git a/tests/wpt/web-platform-tests/worklets/resources/referrer-window.html b/tests/wpt/web-platform-tests/worklets/resources/referrer-window.html
index 4817f0452a2..331db07935a 100644
--- a/tests/wpt/web-platform-tests/worklets/resources/referrer-window.html
+++ b/tests/wpt/web-platform-tests/worklets/resources/referrer-window.html
@@ -48,47 +48,30 @@ function isDestinationCrossOrigin(fetchType, scriptOrigins) {
assert_unreached('fetchType has an invalid value.');
}
-function createExpectedReferrer(
- importerURL, fetchType, referrerPolicy, scriptOrigins) {
- if (referrerPolicy === 'no-referrer')
- return "";
- if (referrerPolicy === 'same-origin') {
- if (isDestinationCrossOrigin(fetchType, scriptOrigins))
- return "";
- // Delete query params to make it easier to match with an actual referrer in
- // the referrer-checker.py.
- const expectedReferrer = new URL(importerURL);
- for (var key of expectedReferrer.searchParams.keys())
- expectedReferrer.searchParams.delete(key);
- return expectedReferrer;
- }
- if (referrerPolicy === 'origin')
- return (new URL(importerURL)).origin + '/';
- assert_unreached('referrerPolicy has an invalid value.');
-}
-
window.onmessage = e => {
const workletType = e.data.workletType;
const fetchType = e.data.fetchType;
- const referrerPolicy = e.data.referrerPolicy;
const scriptOrigins = e.data.scriptOrigins;
let scriptURL;
let expectedReferrer;
if (fetchType === 'top-level') {
scriptURL = createScriptURLForTopLevel(scriptOrigins.topLevel);
- expectedReferrer = createExpectedReferrer(
- location.href, fetchType, referrerPolicy, scriptOrigins);
+ // The referrer of the top-level script should be this file.
+ // Delete query params to make it easier to match with an actual referrer in
+ // the referrer-checker.py.
+ expectedReferrer = new URL(location.href);
+ for (var key of expectedReferrer.searchParams.keys())
+ expectedReferrer.searchParams.delete(key);
} else if (fetchType === 'descendant') {
scriptURL = createScriptURLForDecendant(scriptOrigins);
- expectedReferrer = createExpectedReferrer(
- scriptURL, fetchType, referrerPolicy, scriptOrigins);
+ // The referrer of the imported script should be the importer script.
+ expectedReferrer = scriptURL;
} else {
assert_unreached('fetchType should be \'top-level\' or \'descendant\'');
}
const params = new URLSearchParams;
- params.append('referrer_policy', referrerPolicy);
params.append('expected_referrer', expectedReferrer);
get_worklet(workletType).addModule(scriptURL + '?' + params)