diff options
author | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2018-05-29 21:17:45 -0400 |
---|---|---|
committer | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2018-05-29 23:08:06 -0400 |
commit | 8f98acd0e7b9b5f93629765976f067b33c69e371 (patch) | |
tree | e39f123e08eaf037d1803b00db24e361544dc632 /tests | |
parent | 11a89bcc47c73701d8809cf33163a1f61d792b17 (diff) | |
download | servo-8f98acd0e7b9b5f93629765976f067b33c69e371.tar.gz servo-8f98acd0e7b9b5f93629765976f067b33c69e371.zip |
Update web-platform-tests to revision cf261625e2d230ab219eec966f4abe26e3401b64
Diffstat (limited to 'tests')
297 files changed, 3402 insertions, 1561 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini index c8f51681ec5..d1bed36295e 100644 --- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -9,3 +9,9 @@ [Fetching a blob URL immediately before revoking it works in <script> tags.] expected: TIMEOUT + [Opening a blob URL in a new window immediately before revoking it works.] + expected: FAIL + + [Opening a blob URL in a noopener about:blank window immediately before revoking it works.] + expected: FAIL + diff --git a/tests/wpt/metadata/FileAPI/url/url-reload.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-reload.window.js.ini new file mode 100644 index 00000000000..bdfa9b2b8e9 --- /dev/null +++ b/tests/wpt/metadata/FileAPI/url/url-reload.window.js.ini @@ -0,0 +1,4 @@ +[url-reload.window.html] + [Reloading a blob URL succeeds even if the URL was revoked.] + expected: FAIL + diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index f30755260a6..36b95110207 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -6067,399 +6067,399 @@ {} ] ], - "css/css-animations/animation-delay-001.html": [ + "css/css-animations/animation-delay-001-manual.html": [ [ - "/css/css-animations/animation-delay-001.html", + "/css/css-animations/animation-delay-001-manual.html", {} ] ], - "css/css-animations/animation-delay-002.html": [ + "css/css-animations/animation-delay-002-manual.html": [ [ - "/css/css-animations/animation-delay-002.html", + "/css/css-animations/animation-delay-002-manual.html", {} ] ], - "css/css-animations/animation-delay-003.html": [ + "css/css-animations/animation-delay-003-manual.html": [ [ - "/css/css-animations/animation-delay-003.html", + "/css/css-animations/animation-delay-003-manual.html", {} ] ], - "css/css-animations/animation-delay-004.html": [ + "css/css-animations/animation-delay-004-manual.html": [ [ - "/css/css-animations/animation-delay-004.html", + "/css/css-animations/animation-delay-004-manual.html", {} ] ], - "css/css-animations/animation-delay-005.html": [ + "css/css-animations/animation-delay-005-manual.html": [ [ - "/css/css-animations/animation-delay-005.html", + "/css/css-animations/animation-delay-005-manual.html", {} ] ], - "css/css-animations/animation-delay-006.html": [ + "css/css-animations/animation-delay-006-manual.html": [ [ - "/css/css-animations/animation-delay-006.html", + "/css/css-animations/animation-delay-006-manual.html", {} ] ], - "css/css-animations/animation-delay-007.html": [ + "css/css-animations/animation-delay-007-manual.html": [ [ - "/css/css-animations/animation-delay-007.html", + "/css/css-animations/animation-delay-007-manual.html", {} ] ], - "css/css-animations/animation-direction-001.html": [ + "css/css-animations/animation-direction-001-manual.html": [ [ - "/css/css-animations/animation-direction-001.html", + "/css/css-animations/animation-direction-001-manual.html", {} ] ], - "css/css-animations/animation-direction-002.html": [ + "css/css-animations/animation-direction-002-manual.html": [ [ - "/css/css-animations/animation-direction-002.html", + "/css/css-animations/animation-direction-002-manual.html", {} ] ], - "css/css-animations/animation-direction-003.html": [ + "css/css-animations/animation-direction-003-manual.html": [ [ - "/css/css-animations/animation-direction-003.html", + "/css/css-animations/animation-direction-003-manual.html", {} ] ], - "css/css-animations/animation-direction-004.html": [ + "css/css-animations/animation-direction-004-manual.html": [ [ - "/css/css-animations/animation-direction-004.html", + "/css/css-animations/animation-direction-004-manual.html", {} ] ], - "css/css-animations/animation-direction-005.html": [ + "css/css-animations/animation-direction-005-manual.html": [ [ - "/css/css-animations/animation-direction-005.html", + "/css/css-animations/animation-direction-005-manual.html", {} ] ], - "css/css-animations/animation-direction-006.html": [ + "css/css-animations/animation-direction-006-manual.html": [ [ - "/css/css-animations/animation-direction-006.html", + "/css/css-animations/animation-direction-006-manual.html", {} ] ], - "css/css-animations/animation-display.html": [ + "css/css-animations/animation-display-manual.html": [ [ - "/css/css-animations/animation-display.html", + "/css/css-animations/animation-display-manual.html", {} ] ], - "css/css-animations/animation-duration-001.html": [ + "css/css-animations/animation-duration-001-manual.html": [ [ - "/css/css-animations/animation-duration-001.html", + "/css/css-animations/animation-duration-001-manual.html", {} ] ], - "css/css-animations/animation-duration-002.html": [ + "css/css-animations/animation-duration-002-manual.html": [ [ - "/css/css-animations/animation-duration-002.html", + "/css/css-animations/animation-duration-002-manual.html", {} ] ], - "css/css-animations/animation-duration-003.html": [ + "css/css-animations/animation-duration-003-manual.html": [ [ - "/css/css-animations/animation-duration-003.html", + "/css/css-animations/animation-duration-003-manual.html", {} ] ], - "css/css-animations/animation-duration-004.html": [ + "css/css-animations/animation-duration-004-manual.html": [ [ - "/css/css-animations/animation-duration-004.html", + "/css/css-animations/animation-duration-004-manual.html", {} ] ], - "css/css-animations/animation-duration-005.html": [ + "css/css-animations/animation-duration-005-manual.html": [ [ - "/css/css-animations/animation-duration-005.html", + "/css/css-animations/animation-duration-005-manual.html", {} ] ], - "css/css-animations/animation-duration-006.html": [ + "css/css-animations/animation-duration-006-manual.html": [ [ - "/css/css-animations/animation-duration-006.html", + "/css/css-animations/animation-duration-006-manual.html", {} ] ], - "css/css-animations/animation-duration-007.html": [ + "css/css-animations/animation-duration-007-manual.html": [ [ - "/css/css-animations/animation-duration-007.html", + "/css/css-animations/animation-duration-007-manual.html", {} ] ], - "css/css-animations/animation-duration-008.html": [ + "css/css-animations/animation-duration-008-manual.html": [ [ - "/css/css-animations/animation-duration-008.html", + "/css/css-animations/animation-duration-008-manual.html", {} ] ], - "css/css-animations/animation-fill-mode-001.html": [ + "css/css-animations/animation-fill-mode-001-manual.html": [ [ - "/css/css-animations/animation-fill-mode-001.html", + "/css/css-animations/animation-fill-mode-001-manual.html", {} ] ], - "css/css-animations/animation-fill-mode-002.html": [ + "css/css-animations/animation-fill-mode-002-manual.html": [ [ - "/css/css-animations/animation-fill-mode-002.html", + "/css/css-animations/animation-fill-mode-002-manual.html", {} ] ], - "css/css-animations/animation-fill-mode-003.html": [ + "css/css-animations/animation-fill-mode-003-manual.html": [ [ - "/css/css-animations/animation-fill-mode-003.html", + "/css/css-animations/animation-fill-mode-003-manual.html", {} ] ], - "css/css-animations/animation-fill-mode-004.html": [ + "css/css-animations/animation-fill-mode-004-manual.html": [ [ - "/css/css-animations/animation-fill-mode-004.html", + "/css/css-animations/animation-fill-mode-004-manual.html", {} ] ], - "css/css-animations/animation-fill-mode-005.html": [ + "css/css-animations/animation-fill-mode-005-manual.html": [ [ - "/css/css-animations/animation-fill-mode-005.html", + "/css/css-animations/animation-fill-mode-005-manual.html", {} ] ], - "css/css-animations/animation-fill-mode-006.html": [ + "css/css-animations/animation-fill-mode-006-manual.html": [ [ - "/css/css-animations/animation-fill-mode-006.html", + "/css/css-animations/animation-fill-mode-006-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-001.html": [ + "css/css-animations/animation-iteration-count-001-manual.html": [ [ - "/css/css-animations/animation-iteration-count-001.html", + "/css/css-animations/animation-iteration-count-001-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-002.html": [ + "css/css-animations/animation-iteration-count-002-manual.html": [ [ - "/css/css-animations/animation-iteration-count-002.html", + "/css/css-animations/animation-iteration-count-002-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-003.html": [ + "css/css-animations/animation-iteration-count-003-manual.html": [ [ - "/css/css-animations/animation-iteration-count-003.html", + "/css/css-animations/animation-iteration-count-003-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-004.html": [ + "css/css-animations/animation-iteration-count-004-manual.html": [ [ - "/css/css-animations/animation-iteration-count-004.html", + "/css/css-animations/animation-iteration-count-004-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-005.html": [ + "css/css-animations/animation-iteration-count-005-manual.html": [ [ - "/css/css-animations/animation-iteration-count-005.html", + "/css/css-animations/animation-iteration-count-005-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-006.html": [ + "css/css-animations/animation-iteration-count-006-manual.html": [ [ - "/css/css-animations/animation-iteration-count-006.html", + "/css/css-animations/animation-iteration-count-006-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-007.html": [ + "css/css-animations/animation-iteration-count-007-manual.html": [ [ - "/css/css-animations/animation-iteration-count-007.html", + "/css/css-animations/animation-iteration-count-007-manual.html", {} ] ], - "css/css-animations/animation-iteration-count-008.html": [ + "css/css-animations/animation-iteration-count-008-manual.html": [ [ - "/css/css-animations/animation-iteration-count-008.html", + "/css/css-animations/animation-iteration-count-008-manual.html", {} ] ], - "css/css-animations/animation-iteration-event.html": [ + "css/css-animations/animation-iteration-event-manual.html": [ [ - "/css/css-animations/animation-iteration-event.html", + "/css/css-animations/animation-iteration-event-manual.html", {} ] ], - "css/css-animations/animation-keyframes-001.html": [ + "css/css-animations/animation-keyframes-001-manual.html": [ [ - "/css/css-animations/animation-keyframes-001.html", + "/css/css-animations/animation-keyframes-001-manual.html", {} ] ], - "css/css-animations/animation-keyframes-002.html": [ + "css/css-animations/animation-keyframes-002-manual.html": [ [ - "/css/css-animations/animation-keyframes-002.html", + "/css/css-animations/animation-keyframes-002-manual.html", {} ] ], - "css/css-animations/animation-keyframes-003.html": [ + "css/css-animations/animation-keyframes-003-manual.html": [ [ - "/css/css-animations/animation-keyframes-003.html", + "/css/css-animations/animation-keyframes-003-manual.html", {} ] ], - "css/css-animations/animation-name-001.html": [ + "css/css-animations/animation-name-001-manual.html": [ [ - "/css/css-animations/animation-name-001.html", + "/css/css-animations/animation-name-001-manual.html", {} ] ], - "css/css-animations/animation-name-002.html": [ + "css/css-animations/animation-name-002-manual.html": [ [ - "/css/css-animations/animation-name-002.html", + "/css/css-animations/animation-name-002-manual.html", {} ] ], - "css/css-animations/animation-name-003.html": [ + "css/css-animations/animation-name-003-manual.html": [ [ - "/css/css-animations/animation-name-003.html", + "/css/css-animations/animation-name-003-manual.html", {} ] ], - "css/css-animations/animation-name-004.html": [ + "css/css-animations/animation-name-004-manual.html": [ [ - "/css/css-animations/animation-name-004.html", + "/css/css-animations/animation-name-004-manual.html", {} ] ], - "css/css-animations/animation-name-005.html": [ + "css/css-animations/animation-name-005-manual.html": [ [ - "/css/css-animations/animation-name-005.html", + "/css/css-animations/animation-name-005-manual.html", {} ] ], - "css/css-animations/animation-name-006.html": [ + "css/css-animations/animation-name-006-manual.html": [ [ - "/css/css-animations/animation-name-006.html", + "/css/css-animations/animation-name-006-manual.html", {} ] ], - "css/css-animations/animation-play-state-001.html": [ + "css/css-animations/animation-play-state-001-manual.html": [ [ - "/css/css-animations/animation-play-state-001.html", + "/css/css-animations/animation-play-state-001-manual.html", {} ] ], - "css/css-animations/animation-play-state-002.html": [ + "css/css-animations/animation-play-state-002-manual.html": [ [ - "/css/css-animations/animation-play-state-002.html", + "/css/css-animations/animation-play-state-002-manual.html", {} ] ], - "css/css-animations/animation-play-state-003.html": [ + "css/css-animations/animation-play-state-003-manual.html": [ [ - "/css/css-animations/animation-play-state-003.html", + "/css/css-animations/animation-play-state-003-manual.html", {} ] ], - "css/css-animations/animation-play-state-004.html": [ + "css/css-animations/animation-play-state-004-manual.html": [ [ - "/css/css-animations/animation-play-state-004.html", + "/css/css-animations/animation-play-state-004-manual.html", {} ] ], - "css/css-animations/animation-shorthand-001.html": [ + "css/css-animations/animation-shorthand-001-manual.html": [ [ - "/css/css-animations/animation-shorthand-001.html", + "/css/css-animations/animation-shorthand-001-manual.html", {} ] ], - "css/css-animations/animation-shorthand-002.html": [ + "css/css-animations/animation-shorthand-002-manual.html": [ [ - "/css/css-animations/animation-shorthand-002.html", + "/css/css-animations/animation-shorthand-002-manual.html", {} ] ], - "css/css-animations/animation-shorthand-003.html": [ + "css/css-animations/animation-shorthand-003-manual.html": [ [ - "/css/css-animations/animation-shorthand-003.html", + "/css/css-animations/animation-shorthand-003-manual.html", {} ] ], - "css/css-animations/animation-timing-function-001.html": [ + "css/css-animations/animation-timing-function-001-manual.html": [ [ - "/css/css-animations/animation-timing-function-001.html", + "/css/css-animations/animation-timing-function-001-manual.html", {} ] ], - "css/css-animations/animation-timing-function-002.html": [ + "css/css-animations/animation-timing-function-002-manual.html": [ [ - "/css/css-animations/animation-timing-function-002.html", + "/css/css-animations/animation-timing-function-002-manual.html", {} ] ], - "css/css-animations/animation-timing-function-003.html": [ + "css/css-animations/animation-timing-function-003-manual.html": [ [ - "/css/css-animations/animation-timing-function-003.html", + "/css/css-animations/animation-timing-function-003-manual.html", {} ] ], - "css/css-animations/animation-timing-function-004.html": [ + "css/css-animations/animation-timing-function-004-manual.html": [ [ - "/css/css-animations/animation-timing-function-004.html", + "/css/css-animations/animation-timing-function-004-manual.html", {} ] ], - "css/css-animations/animation-timing-function-005.html": [ + "css/css-animations/animation-timing-function-005-manual.html": [ [ - "/css/css-animations/animation-timing-function-005.html", + "/css/css-animations/animation-timing-function-005-manual.html", {} ] ], - "css/css-animations/animation-timing-function-006.html": [ + "css/css-animations/animation-timing-function-006-manual.html": [ [ - "/css/css-animations/animation-timing-function-006.html", + "/css/css-animations/animation-timing-function-006-manual.html", {} ] ], - "css/css-animations/animation-timing-function-007.html": [ + "css/css-animations/animation-timing-function-007-manual.html": [ [ - "/css/css-animations/animation-timing-function-007.html", + "/css/css-animations/animation-timing-function-007-manual.html", {} ] ], - "css/css-animations/animation-timing-function-008.html": [ + "css/css-animations/animation-timing-function-008-manual.html": [ [ - "/css/css-animations/animation-timing-function-008.html", + "/css/css-animations/animation-timing-function-008-manual.html", {} ] ], - "css/css-animations/animation-timing-function-009.html": [ + "css/css-animations/animation-timing-function-009-manual.html": [ [ - "/css/css-animations/animation-timing-function-009.html", + "/css/css-animations/animation-timing-function-009-manual.html", {} ] ], - "css/css-animations/animation-timing-function-010.html": [ + "css/css-animations/animation-timing-function-010-manual.html": [ [ - "/css/css-animations/animation-timing-function-010.html", + "/css/css-animations/animation-timing-function-010-manual.html", {} ] ], - "css/css-animations/animation-timing-function-011.html": [ + "css/css-animations/animation-timing-function-011-manual.html": [ [ - "/css/css-animations/animation-timing-function-011.html", + "/css/css-animations/animation-timing-function-011-manual.html", {} ] ], - "css/css-animations/animation-timing-function-012.html": [ + "css/css-animations/animation-timing-function-012-manual.html": [ [ - "/css/css-animations/animation-timing-function-012.html", + "/css/css-animations/animation-timing-function-012-manual.html", {} ] ], - "css/css-animations/animationstart-and-animationend-events.html": [ + "css/css-animations/animationstart-and-animationend-events-manual.html": [ [ - "/css/css-animations/animationstart-and-animationend-events.html", + "/css/css-animations/animationstart-and-animationend-events-manual.html", {} ] ], @@ -13837,6 +13837,18 @@ {} ] ], + "service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html": [ + [ + "/service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html", + {} + ] + ], + "service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html": [ + [ + "/service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html", + {} + ] + ], "service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html": [ [ "/service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html", @@ -129019,6 +129031,18 @@ {} ] ], + "css/css-scoping/shadow-at-import.html": [ + [ + "/css/css-scoping/shadow-at-import.html", + [ + [ + "/css/css-scoping/reference/green-box.html", + "==" + ] + ], + {} + ] + ], "css/css-scoping/shadow-disabled-sheet-001.html": [ [ "/css/css-scoping/shadow-disabled-sheet-001.html", @@ -129139,6 +129163,30 @@ {} ] ], + "css/css-scrollbars/viewport-scrollbar-body.html": [ + [ + "/css/css-scrollbars/viewport-scrollbar-body.html", + [ + [ + "/css/css-scrollbars/viewport-scrollbar-body-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-scrollbars/viewport-scrollbar.html": [ + [ + "/css/css-scrollbars/viewport-scrollbar.html", + [ + [ + "/css/css-scrollbars/viewport-scrollbar-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative.html": [ [ "/css/css-shapes/shape-outside/formatting-context/shape-outside-formatting-context.tentative.html", @@ -142223,6 +142271,18 @@ {} ] ], + "css/css-transforms/transform-box/view-box-mutation.html": [ + [ + "/css/css-transforms/transform-box/view-box-mutation.html", + [ + [ + "/css/css-transforms/transform-box/support/greensquare200x200.html", + "==" + ] + ], + {} + ] + ], "css/css-transforms/transform-box/view-box-nested.html": [ [ "/css/css-transforms/transform-box/view-box-nested.html", @@ -250790,11 +250850,6 @@ {} ] ], - "css/css-logical/resources/style-check.js": [ - [ - {} - ] - ], "css/css-masking/OWNERS": [ [ {} @@ -253510,6 +253565,11 @@ {} ] ], + "css/css-scoping/resources/host-green-box.css": [ + [ + {} + ] + ], "css/css-scoping/slotted-with-pseudo-element-ref.html": [ [ {} @@ -253530,6 +253590,31 @@ {} ] ], + "css/css-scrollbars/OWNERS": [ + [ + {} + ] + ], + "css/css-scrollbars/support/viewport-scrollbar-body-frame.html": [ + [ + {} + ] + ], + "css/css-scrollbars/support/viewport-scrollbar-frame.html": [ + [ + {} + ] + ], + "css/css-scrollbars/viewport-scrollbar-body-ref.html": [ + [ + {} + ] + ], + "css/css-scrollbars/viewport-scrollbar-ref.html": [ + [ + {} + ] + ], "css/css-shadow-parts/OWNERS": [ [ {} @@ -273640,6 +273725,41 @@ {} ] ], + "fetch/origin/resources/redirect-and-stash.py": [ + [ + {} + ] + ], + "fetch/range/resources/basic.html": [ + [ + {} + ] + ], + "fetch/range/resources/long-wav.py": [ + [ + {} + ] + ], + "fetch/range/resources/partial-script.py": [ + [ + {} + ] + ], + "fetch/range/resources/range-sw.js": [ + [ + {} + ] + ], + "fetch/range/resources/stash-take.py": [ + [ + {} + ] + ], + "fetch/range/resources/utils.js": [ + [ + {} + ] + ], "fetch/sec-metadata/README.md": [ [ {} @@ -275100,16 +275220,6 @@ {} ] ], - "html/browsers/browsing-the-web/unloading-documents/prompt/004-1.html": [ - [ - {} - ] - ], - "html/browsers/browsing-the-web/unloading-documents/prompt/004-2.html": [ - [ - {} - ] - ], "html/browsers/browsing-the-web/unloading-documents/prompt/manual-001.html": [ [ {} @@ -287035,6 +287145,11 @@ {} ] ], + "interfaces/DOM-Parsing.idl": [ + [ + {} + ] + ], "interfaces/FileAPI.idl": [ [ {} @@ -287235,12 +287350,22 @@ {} ] ], + "interfaces/pointerevents.idl": [ + [ + {} + ] + ], + "interfaces/pointerlock.idl": [ + [ + {} + ] + ], "interfaces/proximity.idl": [ [ {} ] ], - "interfaces/remoteplayback.idl": [ + "interfaces/remote-playback.idl": [ [ {} ] @@ -287260,6 +287385,11 @@ {} ] ], + "interfaces/staticrange.idl": [ + [ + {} + ] + ], "interfaces/storage.idl": [ [ {} @@ -296540,27 +296670,27 @@ {} ] ], - "url/a-element-origin.js": [ + "url/resources/a-element-origin.js": [ [ {} ] ], - "url/a-element.js": [ + "url/resources/a-element.js": [ [ {} ] ], - "url/setters_tests.json": [ + "url/resources/setters_tests.json": [ [ {} ] ], - "url/toascii.json": [ + "url/resources/toascii.json": [ [ {} ] ], - "url/urltestdata.json": [ + "url/resources/urltestdata.json": [ [ {} ] @@ -300175,6 +300305,26 @@ {} ] ], + "workers/modules/resources/eval-dynamic-import-worker.js": [ + [ + {} + ] + ], + "workers/modules/resources/export-on-dynamic-import-script.js": [ + [ + {} + ] + ], + "workers/modules/resources/export-on-load-script.js": [ + [ + {} + ] + ], + "workers/modules/resources/export-on-static-import-script.js": [ + [ + {} + ] + ], "workers/modules/resources/import-meta-url-worker.js": [ [ {} @@ -306117,6 +306267,12 @@ {} ] ], + "FileAPI/url/url-reload.window.js": [ + [ + "/FileAPI/url/url-reload.window.html", + {} + ] + ], "FileAPI/url/url-with-fetch.any.js": [ [ "/FileAPI/url/url-with-fetch.any.html", @@ -317545,6 +317701,18 @@ {} ] ], + "css/css-shadow-parts/invalidation-change-part-name.html": [ + [ + "/css/css-shadow-parts/invalidation-change-part-name.html", + {} + ] + ], + "css/css-shadow-parts/invalidation-complex-selector.html": [ + [ + "/css/css-shadow-parts/invalidation-complex-selector.html", + {} + ] + ], "css/css-shadow-parts/simple.html": [ [ "/css/css-shadow-parts/simple.html", @@ -323299,6 +323467,12 @@ {} ] ], + "css/cssom/at-namespace.html": [ + [ + "/css/cssom/at-namespace.html", + {} + ] + ], "css/cssom/computed-style-001.html": [ [ "/css/cssom/computed-style-001.html", @@ -324407,6 +324581,12 @@ {} ] ], + "custom-elements/connected-callbacks-html-fragment-parsing.html": [ + [ + "/custom-elements/connected-callbacks-html-fragment-parsing.html", + {} + ] + ], "custom-elements/connected-callbacks.html": [ [ "/custom-elements/connected-callbacks.html", @@ -326685,6 +326865,16 @@ {} ] ], + "domparsing/interfaces.any.js": [ + [ + "/domparsing/interfaces.any.html", + {} + ], + [ + "/domparsing/interfaces.any.worker.html", + {} + ] + ], "domparsing/outerhtml-01.html": [ [ "/domparsing/outerhtml-01.html", @@ -330407,6 +330597,38 @@ {} ] ], + "fetch/origin/no-cors.any.js": [ + [ + "/fetch/origin/no-cors.any.html", + {} + ], + [ + "/fetch/origin/no-cors.any.worker.html", + {} + ] + ], + "fetch/range/general.any.js": [ + [ + "/fetch/range/general.any.html", + {} + ], + [ + "/fetch/range/general.any.worker.html", + {} + ] + ], + "fetch/range/partial-script.window.js": [ + [ + "/fetch/range/partial-script.window.html", + {} + ] + ], + "fetch/range/sw.https.window.js": [ + [ + "/fetch/range/sw.https.window.html", + {} + ] + ], "fetch/sec-metadata/fetch.tentative.https.sub.html": [ [ "/fetch/sec-metadata/fetch.tentative.https.sub.html", @@ -331329,12 +331551,6 @@ {} ] ], - "html/browsers/browsing-the-web/unloading-documents/prompt/004.html": [ - [ - "/html/browsers/browsing-the-web/unloading-documents/prompt/004.html", - {} - ] - ], "html/browsers/browsing-the-web/unloading-documents/unload/001.html": [ [ "/html/browsers/browsing-the-web/unloading-documents/unload/001.html", @@ -355893,9 +356109,9 @@ {} ] ], - "pointerlock/idlharness.html": [ + "pointerlock/interfaces.window.js": [ [ - "/pointerlock/idlharness.html", + "/pointerlock/interfaces.window.html", {} ] ], @@ -367577,6 +367793,12 @@ {} ] ], + "staticrange/idlharness.html": [ + [ + "/staticrange/idlharness.html", + {} + ] + ], "storage/estimate-indexeddb-worker.https.html": [ [ "/storage/estimate-indexeddb-worker.https.html", @@ -369391,6 +369613,12 @@ {} ] ], + "svg/types/scripted/SVGGeometryElement.getPointAtLength-01.svg": [ + [ + "/svg/types/scripted/SVGGeometryElement.getPointAtLength-01.svg", + {} + ] + ], "svg/types/scripted/SVGLength-px-with-context.html": [ [ "/svg/types/scripted/SVGLength-px-with-context.html", @@ -370267,6 +370495,12 @@ {} ] ], + "web-animations/animation-model/keyframe-effects/effect-value-interval-distance.html": [ + [ + "/web-animations/animation-model/keyframe-effects/effect-value-interval-distance.html", + {} + ] + ], "web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation.html": [ [ "/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation.html", @@ -372817,9 +373051,9 @@ {} ] ], - "webrtc/protocol/video-codecs.html": [ + "webrtc/protocol/video-codecs.https.html": [ [ - "/webrtc/protocol/video-codecs.html", + "/webrtc/protocol/video-codecs.https.html", {} ] ], @@ -376577,6 +376811,12 @@ {} ] ], + "workers/modules/dedicated-worker-import-failure.html": [ + [ + "/workers/modules/dedicated-worker-import-failure.html", + {} + ] + ], "workers/modules/dedicated-worker-import-meta.html": [ [ "/workers/modules/dedicated-worker-import-meta.html", @@ -398253,7 +398493,7 @@ "support" ], "./.taskcluster.yml": [ - "f50e12294bfb99a05c2fe9a0f288a144a2e16626", + "8dd65b38b4cc39e5f42920c97573889abc401ebd", "support" ], "./.travis.yml": [ @@ -398277,7 +398517,7 @@ "support" ], "./README.md": [ - "8ab843e17aa153bcf91282be3770ed2009061b11", + "ce5fb6c1b9f899ffab603cbfc4086b00dbff5384", "support" ], "./check_stability.ini": [ @@ -398285,7 +398525,7 @@ "support" ], "./lint.whitelist": [ - "0992e710e33823c6fb6be2725ec1e7f3c7eaa330", + "808677b142f2245d3127428fb75caea24db8bc00", "support" ], "./serve.py": [ @@ -402269,7 +402509,7 @@ "support" ], "2dcontext/tools/gentestutils.py": [ - "e72428dc8c3b103f00d613c4db9d22ecb1ba9c40", + "2471935912843b23a345279ac2cef5130ca06923", "support" ], "2dcontext/tools/name2dir.yaml": [ @@ -402689,7 +402929,7 @@ "testharness" ], "FileAPI/url/url-in-tags-revoke.window.js": [ - "4d314e8f231158a8a216ecefd6a3ffa20cf31680", + "058021aab41c4ace8b6246ac33891f6eddbdd8b3", "testharness" ], "FileAPI/url/url-in-tags.window.js": [ @@ -402700,6 +402940,10 @@ "3cbda186b6669c24770013d899e96a71ea49a08d", "testharness" ], + "FileAPI/url/url-reload.window.js": [ + "81c540bce445ccbb97ce5436c337112917b866f6", + "testharness" + ], "FileAPI/url/url-with-fetch.any.js": [ "b9f82d1ea5d2ef12e87946df37c373805a336fa6", "testharness" @@ -405933,7 +406177,7 @@ "support" ], "annotation-model/CONTRIBUTING.md": [ - "9e995a09f036f5e03c933d94c154fb53e8f4a1ad", + "4454f6104eeec3c20ae3c5469613015b9253dd44", "support" ], "annotation-model/OWNERS": [ @@ -426457,7 +426701,7 @@ "support" ], "conformance-checkers/tools/url.py": [ - "ee47cdb8f49f00b4bb9d27c85749b4e3e48271a1", + "5e7382a775385a86dff494d5928b116109cc1169", "support" ], "conformance-checkers/xhtml/attributes/accesskey/003-novalid.xhtml": [ @@ -426941,7 +427185,7 @@ "support" ], "content-security-policy/README.html": [ - "9834273e9d9f9bf5ca645497955dc5375091938f", + "aeb2e94bc9c1bb33fdac474b5a603e418f64e73f", "support" ], "content-security-policy/base-uri/base-uri-allow.sub.html": [ @@ -429309,7 +429553,7 @@ "support" ], "cookie-store/cookieStore_delete_arguments.tentative.window.js": [ - "f33ce9a975c759ce6da8a5caa371ca026dd537c4", + "a2a3b036e62ed11e8013f7e255bbc418576dd451", "testharness" ], "cookie-store/cookieStore_delete_basic.tentative.window.js": [ @@ -429321,43 +429565,43 @@ "testharness" ], "cookie-store/cookieStore_event_basic.tentative.window.js": [ - "33faf57882e558a54d6cbf181141e03f1b3cd871", + "f6f20c4b587ed51d31ffc9f8bed1dfb7d092a064", "testharness" ], "cookie-store/cookieStore_event_delete.tenative.window.js": [ - "3fa86e521919eac1f89ff00f449f8c01500e170e", + "b492c6567ef91ea0def4195b049f9553bbc8271d", "testharness" ], "cookie-store/cookieStore_event_overwrite.tentative.window.js": [ - "f7f3989aaaa0003693c043c582f0c78ecd1bbad0", + "cd238bae3c79a5f3c6e385466fe29487bf0e4c70", "testharness" ], "cookie-store/cookieStore_getAll_arguments.tentative.window.js": [ - "cf818fe92c16dfe42f0ac778f665094533d8ab10", + "4804767f6398c3d10d726d21895ae3b72c8f23f3", "testharness" ], "cookie-store/cookieStore_getAll_set_basic.tentative.window.js": [ - "e6349dab874b99050cbbf5012db93de50612ce56", + "d3c3430fa08d8573e6d95c56e0b91604286eb632", "testharness" ], "cookie-store/cookieStore_get_arguments.tentative.window.js": [ - "944e71f01e0d9b9b00f36fff2b84d6a9b93538e1", + "1f63b8fc5b9e6a1e0a4aa925d2d3084cb1ea093a", "testharness" ], "cookie-store/cookieStore_get_delete_basic.tentative.window.js": [ - "0b8c7725e0824d82c049a45e428a332212419bfd", + "a5f91a2bbe6c619b01a9e3deb473645a36c85b44", "testharness" ], "cookie-store/cookieStore_get_set_basic.tentative.window.js": [ - "7439e63ae3e5b06a43ab168ece73123f90712f25", + "475f0cdc18f63a0b3a710800a7a4ed82fd7b8ee8", "testharness" ], "cookie-store/cookieStore_has_arguments.tentative.window.js": [ - "7512c46b8c7ec0b3ce33e3182671cc8c726a5e4e", + "2a73b3ce79da4a3a49cd1580a1c8796b5c54c3a1", "testharness" ], "cookie-store/cookieStore_has_basic.tentative.window.js": [ - "c53d313cebc3970e28d87c69a5d13a1b5e81529b", + "e258d62c411d54d7d5cf016adf78132bb9aa9fae", "testharness" ], "cookie-store/cookieStore_in_detached_frame.tentative.html": [ @@ -429365,11 +429609,11 @@ "testharness" ], "cookie-store/cookieStore_set_arguments.tentative.window.js": [ - "27019d0e79b6754715a292f40e064de53daaf5e8", + "33e7ed082d0e461147eb01dfabf305022952401f", "testharness" ], "cookie-store/cookieStore_set_expires_option.tentative.window.js": [ - "1eb72c6868686177a34fdb69158d184f096887b5", + "1425be76976edef1e9c8ef222ab90e956eb21bae", "testharness" ], "cookie-store/cookieStore_special_names.tentative.html": [ @@ -429389,7 +429633,7 @@ "testharness" ], "cookie-store/document_getAll_multiple.tentative.html": [ - "179f3ffe69715f9767ec2d2ef661c429fef52bc6", + "270700a50ac04a995665700688297b81c372ce37", "testharness" ], "cookie-store/http_cookie_and_set_cookie_headers.tentative.html": [ @@ -429493,7 +429737,7 @@ "testharness" ], "cookie-store/serviceworker_cookieStore_subscriptions.js": [ - "932a140052fdd95c256bb8a7dfa24522774b569e", + "4fb3574d207f1dc09e488830714eb70b8bda55b4", "support" ], "cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html": [ @@ -429501,7 +429745,7 @@ "testharness" ], "cookie-store/serviceworker_cookieStore_subscriptions_basic.js": [ - "90300c01688cfecd10140078bf36d3801566c2ea", + "9de2007372d39f2c8552d476582a482b6a4bd1b4", "support" ], "cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html": [ @@ -490100,31 +490344,31 @@ "ea85a554ca35bcfbbee1a59651f40045b8f916fb", "support" ], - "css/css-animations/animation-delay-001.html": [ + "css/css-animations/animation-delay-001-manual.html": [ "7842e50087d27b819edadcdd39b736223452fde4", "manual" ], - "css/css-animations/animation-delay-002.html": [ + "css/css-animations/animation-delay-002-manual.html": [ "4bda52764c6a9e43198c0a843fab66190121eb31", "manual" ], - "css/css-animations/animation-delay-003.html": [ + "css/css-animations/animation-delay-003-manual.html": [ "91a6642147c15181f3221f09a5d70d72a8e71581", "manual" ], - "css/css-animations/animation-delay-004.html": [ + "css/css-animations/animation-delay-004-manual.html": [ "b809c3b4c384640ad46ccf64dca68a8bfccf5fdb", "manual" ], - "css/css-animations/animation-delay-005.html": [ + "css/css-animations/animation-delay-005-manual.html": [ "ba1821c9c15a37b0aba2168a352ca665933961cb", "manual" ], - "css/css-animations/animation-delay-006.html": [ + "css/css-animations/animation-delay-006-manual.html": [ "5e4f6342c70b020d96a86e706f95774204007b3a", "manual" ], - "css/css-animations/animation-delay-007.html": [ + "css/css-animations/animation-delay-007-manual.html": [ "890438531aabda1fdd72479402f9339aa6b968dd", "manual" ], @@ -490144,119 +490388,119 @@ "60f8a0ee02c497dc3ea7e24d6a2d722261e86990", "reftest" ], - "css/css-animations/animation-direction-001.html": [ + "css/css-animations/animation-direction-001-manual.html": [ "0bf1bfdcb407dc77beaedb5e0468e6913230f831", "manual" ], - "css/css-animations/animation-direction-002.html": [ + "css/css-animations/animation-direction-002-manual.html": [ "52c28bd12351aca66c699f5c3cebb7f6d30f84fa", "manual" ], - "css/css-animations/animation-direction-003.html": [ + "css/css-animations/animation-direction-003-manual.html": [ "ff06f444001ba4955a07c001a76931237a3570f6", "manual" ], - "css/css-animations/animation-direction-004.html": [ + "css/css-animations/animation-direction-004-manual.html": [ "9c3ac8cb00ce7de505bb18cc239664b4a0f5c39e", "manual" ], - "css/css-animations/animation-direction-005.html": [ + "css/css-animations/animation-direction-005-manual.html": [ "4b2e0151f555fb9cd9eca06440da96d7c9dc9085", "manual" ], - "css/css-animations/animation-direction-006.html": [ + "css/css-animations/animation-direction-006-manual.html": [ "dd4deb30ed1def85b5920af5c822f6c13ffe71c5", "manual" ], - "css/css-animations/animation-display.html": [ + "css/css-animations/animation-display-manual.html": [ "59dc2a5190743681f1e56da560671e663ab66d1c", "manual" ], - "css/css-animations/animation-duration-001.html": [ + "css/css-animations/animation-duration-001-manual.html": [ "19c080a0880cdcdfea695726b762188559664d4a", "manual" ], - "css/css-animations/animation-duration-002.html": [ + "css/css-animations/animation-duration-002-manual.html": [ "c6efbc7f0f848b2cfc20a8fe82d9088519d69a13", "manual" ], - "css/css-animations/animation-duration-003.html": [ + "css/css-animations/animation-duration-003-manual.html": [ "5f224da0186f987bee908c4e107d895042cc4f16", "manual" ], - "css/css-animations/animation-duration-004.html": [ + "css/css-animations/animation-duration-004-manual.html": [ "0d10162661c7a0c6f2f1049c9dd4e526a9b629d4", "manual" ], - "css/css-animations/animation-duration-005.html": [ + "css/css-animations/animation-duration-005-manual.html": [ "0f644f36547cefac242627c58248f18cd8464673", "manual" ], - "css/css-animations/animation-duration-006.html": [ + "css/css-animations/animation-duration-006-manual.html": [ "7a859835283d9c0ec2990c148d1cee2f6d774f90", "manual" ], - "css/css-animations/animation-duration-007.html": [ + "css/css-animations/animation-duration-007-manual.html": [ "26027087a67a4e7c62b41b43b082116211c5573b", "manual" ], - "css/css-animations/animation-duration-008.html": [ + "css/css-animations/animation-duration-008-manual.html": [ "510ae09d995d529c37af6a6e2eb16652ff55cf9d", "manual" ], - "css/css-animations/animation-fill-mode-001.html": [ + "css/css-animations/animation-fill-mode-001-manual.html": [ "b6ed6918fd201517208d4872e3a65dabd2c914e7", "manual" ], - "css/css-animations/animation-fill-mode-002.html": [ + "css/css-animations/animation-fill-mode-002-manual.html": [ "6d38cb9302b81569459ab1714b0aefef4a5890ab", "manual" ], - "css/css-animations/animation-fill-mode-003.html": [ + "css/css-animations/animation-fill-mode-003-manual.html": [ "3f2cd0d5576c22571071901011c53469a5381c45", "manual" ], - "css/css-animations/animation-fill-mode-004.html": [ + "css/css-animations/animation-fill-mode-004-manual.html": [ "b4f905857db3f817c279d8a98efaa06f62e7c202", "manual" ], - "css/css-animations/animation-fill-mode-005.html": [ + "css/css-animations/animation-fill-mode-005-manual.html": [ "ac62761252f6029a3262b8adeaefa2b19e61000f", "manual" ], - "css/css-animations/animation-fill-mode-006.html": [ + "css/css-animations/animation-fill-mode-006-manual.html": [ "ff9a24aaffb0f7d912fbdfd3a31f6c23f7be0ade", "manual" ], - "css/css-animations/animation-iteration-count-001.html": [ + "css/css-animations/animation-iteration-count-001-manual.html": [ "74514f57eba6c1732a830c56b0b8b6dc9fda819f", "manual" ], - "css/css-animations/animation-iteration-count-002.html": [ + "css/css-animations/animation-iteration-count-002-manual.html": [ "e2b24fbe0f1b25806f2fda2d438fce596ce5a20f", "manual" ], - "css/css-animations/animation-iteration-count-003.html": [ + "css/css-animations/animation-iteration-count-003-manual.html": [ "71872b730fdf8e74e5006abc45c52a0aa48f5045", "manual" ], - "css/css-animations/animation-iteration-count-004.html": [ + "css/css-animations/animation-iteration-count-004-manual.html": [ "c0595975727e3e90388e78a758388053233b9fce", "manual" ], - "css/css-animations/animation-iteration-count-005.html": [ + "css/css-animations/animation-iteration-count-005-manual.html": [ "de53e72d3abb8a94623d9d903d4f3b5aea7596a9", "manual" ], - "css/css-animations/animation-iteration-count-006.html": [ + "css/css-animations/animation-iteration-count-006-manual.html": [ "5ebcd38205517013a085af050337431a746bfb40", "manual" ], - "css/css-animations/animation-iteration-count-007.html": [ + "css/css-animations/animation-iteration-count-007-manual.html": [ "eac0ff6b713007afc6b19b6f9c188536c0da7451", "manual" ], - "css/css-animations/animation-iteration-count-008.html": [ + "css/css-animations/animation-iteration-count-008-manual.html": [ "812d8b618aaf90cf6d772b61d0eaed55848e4c20", "manual" ], @@ -490264,119 +490508,119 @@ "e7558a046eb2856c666ba51c4208178b24706765", "testharness" ], - "css/css-animations/animation-iteration-event.html": [ + "css/css-animations/animation-iteration-event-manual.html": [ "3aec5072660e45e332d5858c8870980d3a8db966", "manual" ], - "css/css-animations/animation-keyframes-001.html": [ + "css/css-animations/animation-keyframes-001-manual.html": [ "f666b963701588a0616a5dddcf089669711b498d", "manual" ], - "css/css-animations/animation-keyframes-002.html": [ + "css/css-animations/animation-keyframes-002-manual.html": [ "c17ff7d63110ab56eda8399b9f1f37b78da7ead4", "manual" ], - "css/css-animations/animation-keyframes-003.html": [ + "css/css-animations/animation-keyframes-003-manual.html": [ "5fc59d4418642bb327a36662ac00aca51cb5e32a", "manual" ], - "css/css-animations/animation-name-001.html": [ + "css/css-animations/animation-name-001-manual.html": [ "fb7160ecc37b1116c393398862846bcc3a273d7f", "manual" ], - "css/css-animations/animation-name-002.html": [ + "css/css-animations/animation-name-002-manual.html": [ "01224ebc1856c45e9ae9200c8fa178db4aaf1f76", "manual" ], - "css/css-animations/animation-name-003.html": [ + "css/css-animations/animation-name-003-manual.html": [ "728cd9e2e727c5bea222b64a1eeeeb8ff0b4acd1", "manual" ], - "css/css-animations/animation-name-004.html": [ + "css/css-animations/animation-name-004-manual.html": [ "9140b5106b9c5f9d586031622414acd5a198add7", "manual" ], - "css/css-animations/animation-name-005.html": [ + "css/css-animations/animation-name-005-manual.html": [ "0d3d9d808ccaebb269c8f0bb8fc1b6dfd8b100b3", "manual" ], - "css/css-animations/animation-name-006.html": [ + "css/css-animations/animation-name-006-manual.html": [ "878faef127fb2b15d6a31c466907c849ef298123", "manual" ], - "css/css-animations/animation-play-state-001.html": [ + "css/css-animations/animation-play-state-001-manual.html": [ "0758d2d8bc6209168f640bd5b82b7caf4cd10ba9", "manual" ], - "css/css-animations/animation-play-state-002.html": [ + "css/css-animations/animation-play-state-002-manual.html": [ "8f147c782b4cdd4fd24bb2b6deccf3999bba4f65", "manual" ], - "css/css-animations/animation-play-state-003.html": [ + "css/css-animations/animation-play-state-003-manual.html": [ "f3b6c97cbc707dd9fb87b09a195435302f5f55cc", "manual" ], - "css/css-animations/animation-play-state-004.html": [ + "css/css-animations/animation-play-state-004-manual.html": [ "276ca574ae6bba69c23261ce5d1b89a9b7870522", "manual" ], - "css/css-animations/animation-shorthand-001.html": [ + "css/css-animations/animation-shorthand-001-manual.html": [ "ac6bcf9d6dee0bdacca8c52f1f6f0f121a03fea3", "manual" ], - "css/css-animations/animation-shorthand-002.html": [ + "css/css-animations/animation-shorthand-002-manual.html": [ "46395d02eff3b03fe8e731b82f6a2d9838a9eefb", "manual" ], - "css/css-animations/animation-shorthand-003.html": [ + "css/css-animations/animation-shorthand-003-manual.html": [ "879e01875287408464472e0cd1c0f074aa704020", "manual" ], - "css/css-animations/animation-timing-function-001.html": [ + "css/css-animations/animation-timing-function-001-manual.html": [ "c2da171bda5496cf19966fcf0432d17eff39f019", "manual" ], - "css/css-animations/animation-timing-function-002.html": [ + "css/css-animations/animation-timing-function-002-manual.html": [ "9e5a7ceaa85352d1c1691d5dc99aa7e236bc904e", "manual" ], - "css/css-animations/animation-timing-function-003.html": [ + "css/css-animations/animation-timing-function-003-manual.html": [ "6336643b7e415998af6b3d5fb8c9ba67fc0450f0", "manual" ], - "css/css-animations/animation-timing-function-004.html": [ + "css/css-animations/animation-timing-function-004-manual.html": [ "f41350fa40a33fd6f7ed8b413d019d75719ef694", "manual" ], - "css/css-animations/animation-timing-function-005.html": [ + "css/css-animations/animation-timing-function-005-manual.html": [ "696f47832230ae02a9f97150959f27a38c62d277", "manual" ], - "css/css-animations/animation-timing-function-006.html": [ + "css/css-animations/animation-timing-function-006-manual.html": [ "a7d2f17c6241070caa85fcc0ef29cff2d8d87a1d", "manual" ], - "css/css-animations/animation-timing-function-007.html": [ + "css/css-animations/animation-timing-function-007-manual.html": [ "c0b319a949303ec34bdd5d0c5da570a2e814cb2c", "manual" ], - "css/css-animations/animation-timing-function-008.html": [ + "css/css-animations/animation-timing-function-008-manual.html": [ "0b8f265f38007c9d3c0d0e210a5369a1c9039e80", "manual" ], - "css/css-animations/animation-timing-function-009.html": [ + "css/css-animations/animation-timing-function-009-manual.html": [ "2e4490788d928cc269291bdc9d721a80f45d9f17", "manual" ], - "css/css-animations/animation-timing-function-010.html": [ + "css/css-animations/animation-timing-function-010-manual.html": [ "99116c26320c827bb24f09e19570e7e5a592babf", "manual" ], - "css/css-animations/animation-timing-function-011.html": [ + "css/css-animations/animation-timing-function-011-manual.html": [ "0a695ef90beaa6f8ff4f134dae3ea02b01d9c655", "manual" ], - "css/css-animations/animation-timing-function-012.html": [ + "css/css-animations/animation-timing-function-012-manual.html": [ "454be1b95aaf0866f3c2f7fc1d48f09de0acf6a0", "manual" ], @@ -490396,7 +490640,7 @@ "15d495003fa9616fc54a4f6072e531341d51185f", "testharness" ], - "css/css-animations/animationstart-and-animationend-events.html": [ + "css/css-animations/animationstart-and-animationend-events-manual.html": [ "d4692e2ac84a6dbbc9efd7937964d43ecd9dd109", "manual" ], @@ -510781,29 +511025,25 @@ "reftest" ], "css/css-logical/logicalprops-block-size-vlr.html": [ - "68a86c5b34cf3769e4cda12ef4d23ecdb523734f", + "b77a4607318ab1c8a1cf292a83618720210cf3cf", "testharness" ], "css/css-logical/logicalprops-block-size.html": [ - "e9597ce04c2b8be8128f9b411e7990bc85d3842a", + "988a75943bfc7bdd61eef33a8527e9476fe0fab9", "testharness" ], "css/css-logical/logicalprops-inline-size-vlr.html": [ - "a0438d0713820ac5ab82f0165af7711f71d91ae6", + "9bd26d717f34f9ebf1f09cbb2eb7c2242df6b3c8", "testharness" ], "css/css-logical/logicalprops-inline-size.html": [ - "fea8f8205053e933de3dc4490c918c3db69a4a05", + "4f3bdbc5d9e38770050d963c32942a63272f0e67", "testharness" ], "css/css-logical/logicalprops-quirklength.html": [ "3024bbd54e4cbe1ee55e59684188587e2a56fda6", "testharness" ], - "css/css-logical/resources/style-check.js": [ - "f6260209571bdd53be52c698f072c121e3702dd1", - "support" - ], "css/css-masking/OWNERS": [ "388433ab37e52bf8982700fad3ffd34b8ecae122", "support" @@ -515861,7 +516101,7 @@ "support" ], "css/css-regions/test-plan/index.html": [ - "944891619b6abec0bd86a82253e4734edfb4534e", + "9cc66fa0dcb6bea78221133ac4f12acaa37d1046", "support" ], "css/css-regions/transforms/reference/regions-transforms-001-ref.html": [ @@ -516288,10 +516528,18 @@ "a736f68dc602c0fccab56ec5cc6234cb3298c88d", "support" ], + "css/css-scoping/resources/host-green-box.css": [ + "2680b68f5c1720ce6d2b82d942ea21b0b1518587", + "support" + ], "css/css-scoping/shadow-assign-dynamic-001.html": [ "c57e0fd5aa5be63e1cadf65a4e382798c5e05ec4", "reftest" ], + "css/css-scoping/shadow-at-import.html": [ + "67295000ad3c24c2d9ab0ac556d34758f3ce654c", + "reftest" + ], "css/css-scoping/shadow-cascade-order-001.html": [ "46913ea7e47811b11be898de5c3bd0a330ea6637", "testharness" @@ -516468,6 +516716,34 @@ "dfaf8675bec557c9f2178ad48b29c803f94056b5", "testharness" ], + "css/css-scrollbars/OWNERS": [ + "45ccd2248d2bebac7eacd520eb9a2f59db5e20fe", + "support" + ], + "css/css-scrollbars/support/viewport-scrollbar-body-frame.html": [ + "283fc08630fe0cb3d1d3fc107c07e49cc5b0686b", + "support" + ], + "css/css-scrollbars/support/viewport-scrollbar-frame.html": [ + "a4339d9c63495d3e5d121b8179bde5d56c43b957", + "support" + ], + "css/css-scrollbars/viewport-scrollbar-body-ref.html": [ + "e038a0cccf596ede98f7e3cb14358568c55c3825", + "support" + ], + "css/css-scrollbars/viewport-scrollbar-body.html": [ + "3424c5e775c9e30e4d49122743ac645797804f8f", + "reftest" + ], + "css/css-scrollbars/viewport-scrollbar-ref.html": [ + "bb646f0e4224e6e66c34502e6cc51e8b233a70b2", + "support" + ], + "css/css-scrollbars/viewport-scrollbar.html": [ + "25b6b2bafe27b2c4bac9859be676d5d564b4dfd1", + "reftest" + ], "css/css-shadow-parts/OWNERS": [ "d9c8054b356c9273a054a83abeb9be0626c23921", "support" @@ -516500,6 +516776,14 @@ "4330af8042042c73a6cc590c38cd32613e2b9db3", "testharness" ], + "css/css-shadow-parts/invalidation-change-part-name.html": [ + "e27ecea87d19544d4a558d900d1f572d069e65e6", + "testharness" + ], + "css/css-shadow-parts/invalidation-complex-selector.html": [ + "a0d0edc5aafd6a6cb6cd4224c51d17ba03bd0a5e", + "testharness" + ], "css/css-shadow-parts/simple.html": [ "76bea5867f75428345b105a813b7510f0492b2d2", "testharness" @@ -525708,6 +525992,10 @@ "dc7ddb4aaf7a37cf4619795e64a54472607b2de2", "reftest" ], + "css/css-transforms/transform-box/view-box-mutation.html": [ + "f6a7d6db4fe2ccd603cdd6859768554a7f6b91cb", + "reftest" + ], "css/css-transforms/transform-box/view-box-nested.html": [ "88856f064883fb794c83278333f8ea0df992111f", "reftest" @@ -539085,7 +539373,7 @@ "support" ], "css/css-writing-modes/test-plan/index.html": [ - "d8052e30e0242c0a1cec6fdf72dc4cdf68ebd930", + "ef508dabe6562d9c734335dd0a11d27e147d6522", "support" ], "css/css-writing-modes/test-plan/req-tcu-font.html": [ @@ -540229,7 +540517,7 @@ "testharness" ], "css/cssom-view/scrollIntoView-smooth.html": [ - "0561564f185dcaf2ad3a8e14e081efb3c2c273e3", + "7461663514681b85aaa1b2be6e2e2807c71a9e51", "testharness" ], "css/cssom-view/scrollTop-display-change-ref.html": [ @@ -540532,6 +540820,10 @@ "0a1cd8ed56ac3a5b1a9556835d94fb80325199bf", "testharness" ], + "css/cssom/at-namespace.html": [ + "cd3845557f5c40f51f7e3cbdfff52f440fe689b6", + "testharness" + ], "css/cssom/computed-style-001.html": [ "0331a648e6b0d56f0e7365f1ff7d991ea77ce3e4", "testharness" @@ -540661,19 +540953,19 @@ "testharness" ], "css/cssom/insertRule-charset-no-index.html": [ - "cd3a96351a4c8dcd417fb03963f9d4fb0760c746", + "2be98274fe292089f381d216dc415ddc812a105f", "testharness" ], "css/cssom/insertRule-import-no-index.html": [ - "ba89bad41a8d243f89ec91a0c02a34e97b378bc8", + "44ef5a2c490675d0088651dc101dbbb1fc83fdd1", "testharness" ], "css/cssom/insertRule-namespace-no-index.html": [ - "109ed203fabac2da4279419deb34d5bc5a393d09", + "b9b63240c4a7bf52524b8e3dd36d6ca2ecb4bcdc", "testharness" ], "css/cssom/insertRule-no-index.html": [ - "812f2b02d7694dd270b7a3e1ef205b99890ab216", + "825eb56d8e78bbdbd3bfb1861e6d40c245cd8f4b", "testharness" ], "css/cssom/insertRule-syntax-error-01.html": [ @@ -552960,6 +553252,10 @@ "14cda641d06979600b461a4985f36c1fbc3defc9", "testharness" ], + "custom-elements/connected-callbacks-html-fragment-parsing.html": [ + "49a6cb40fa477fee798d7d09b4bd79c2aaa0fd2a", + "testharness" + ], "custom-elements/connected-callbacks.html": [ "615db12371d6f1f0ed6763abee3a84af9f87c0b2", "testharness" @@ -553213,7 +553509,7 @@ "support" ], "docs/_appendix/github-intro.md": [ - "bd8e2b050f6e034759cd7eef234af699858cd372", + "88acb0045765901cb373625480200d0373a95aeb", "support" ], "docs/_appendix/index.md": [ @@ -553237,7 +553533,7 @@ "support" ], "docs/_includes/header.html": [ - "faa044875fe2a159030203db9400ea18ed385da8", + "cae15e78d4c1cd7287e7e0671d7a2799e9992627", "support" ], "docs/_includes/svg/octicons/LICENSE": [ @@ -553265,7 +553561,7 @@ "support" ], "docs/_reviewing-tests/checklist.md": [ - "c3f14eb28a73ec65fe80396c89fe94cd49a698ed", + "29bcd23855e07bd7117d27b7cae8b0ca47b18763", "support" ], "docs/_reviewing-tests/index.md": [ @@ -553273,11 +553569,11 @@ "support" ], "docs/_running-tests/chrome.md": [ - "a09c8a0ea4d5d2abfd93843176b3c81e22fdbf22", + "05a3e2e99355e96fcdb52086c24f2687ef26fa73", "support" ], "docs/_running-tests/chrome_android.md": [ - "f1e09247c9f41cf3c55aa087b063e42d48d88319", + "d9dd8f101594ea83a67bf9629aa5ab17f7879edb", "support" ], "docs/_running-tests/index.md": [ @@ -553285,11 +553581,11 @@ "support" ], "docs/_running-tests/safari.md": [ - "cc0d20587edd9d0e8550b4fa2666d056061d02ee", + "e6eb8bf12b9d01ab452ac315efaf6865d8267f6e", "support" ], "docs/_writing-tests/ahem.md": [ - "97ee326d501aea007b5f87ee98d0ee6ca303cbb1", + "ea2a8de04400ddd5efdd89203b9fdd10fb708e86", "support" ], "docs/_writing-tests/assumptions.md": [ @@ -553341,11 +553637,11 @@ "support" ], "docs/_writing-tests/submission-process.md": [ - "62747b6d0328445778050f3e4d6ec46dbdc3a18c", + "b105a3add28e7f1cad88f304beba1a94c92e6bb5", "support" ], "docs/_writing-tests/testdriver-tutorial.md": [ - "f98be71f37dad3a469de5f4b55b99b8392255476", + "70c63a4ba676db565a4044d674da1beb1dd059ce", "support" ], "docs/_writing-tests/testdriver.md": [ @@ -553437,7 +553733,7 @@ "support" ], "docs/introduction.md": [ - "0e7e19e553874040f954d81ca85b06a212126c11", + "e0ee31449296aeb6710a19ba265e96fc2d29b01f", "support" ], "dom/OWNERS": [ @@ -555100,6 +555396,10 @@ "b26dd3780474b79d71d302cea37dc18bf5038145", "support" ], + "domparsing/interfaces.any.js": [ + "c839218d1a8dd146fa204f2d4d366bb0958770b9", + "testharness" + ], "domparsing/outerhtml-01.html": [ "8c5c0ac91406ee6c8da4845b8ac10c7fec42a7d3", "testharness" @@ -557945,7 +558245,7 @@ "support" ], "eventsource/resources/status-error.py": [ - "2a79947e7c0da4621a0299fbc279bc7eaefb2c0f", + "9a182b1bdb8b1e870f925a61f18f784fa8573eee", "support" ], "eventsource/resources/status-reconnect.py": [ @@ -558281,7 +558581,7 @@ "support" ], "fetch/OWNERS": [ - "41230bc6bb795469b2d6534b00db50477637e1ee", + "140bc7c8a832fb172ce583374b8a4aec75518bce", "support" ], "fetch/README.md": [ @@ -558805,7 +559105,7 @@ "testharness" ], "fetch/api/request/request-consume-empty.html": [ - "0b7f4d7e51825b125b9ebcc56f6bcaf0b6791faf", + "164a0a8ad16ea94fb53c74f8495bc060512c7bee", "testharness" ], "fetch/api/request/request-consume.html": [ @@ -558849,11 +559149,11 @@ "testharness" ], "fetch/api/request/request-reset-attributes.https.html": [ - "132b917c77c61230f7c5e84c3c9cafe4d1f0b565", + "868a8a8c31b300795f7ce594037dab4b2e235f48", "testharness" ], "fetch/api/request/request-structure.html": [ - "450f8c91149638fe77bab2b65f345e6e24646c95", + "ac359c239375f34f7704a4594b458ef38f8a82cb", "testharness" ], "fetch/api/request/request-type-attribute-historical.html": [ @@ -559396,6 +559696,50 @@ "a9e0f5b9b70917aabbff3ad5dd03a5d5dccfa9f0", "testharness" ], + "fetch/origin/no-cors.any.js": [ + "e9774c1c02bac3833b042c4895733d7bc8b36456", + "testharness" + ], + "fetch/origin/resources/redirect-and-stash.py": [ + "bb002c0d5d4d46f426462f776cff00cf600f5a4a", + "support" + ], + "fetch/range/general.any.js": [ + "2c16c0398373fca53ae80aae1107868c8cdeb6b4", + "testharness" + ], + "fetch/range/partial-script.window.js": [ + "1352080860b8671290919ab0d09cb41f4100763e", + "testharness" + ], + "fetch/range/resources/basic.html": [ + "51a23151c28992fe062b36914463de216bd55fbe", + "support" + ], + "fetch/range/resources/long-wav.py": [ + "a9bdaefeb4e9cefd4bb678832d7ffcbe1b3167f7", + "support" + ], + "fetch/range/resources/partial-script.py": [ + "d74bf301d56ad7d5ae4067e8e27ec544a21aa2ed", + "support" + ], + "fetch/range/resources/range-sw.js": [ + "1ec66e1dd8bf9a11b058b90e32ca7caab2233d4d", + "support" + ], + "fetch/range/resources/stash-take.py": [ + "9d29b6276fa690d6acb366bdb4d60a12bc57ea52", + "support" + ], + "fetch/range/resources/utils.js": [ + "81cc493a76265cc64408fc2d41a67434ec99391a", + "support" + ], + "fetch/range/sw.https.window.js": [ + "5bf1ebc9ce82990013831f2f7f55589e29a69bde", + "testharness" + ], "fetch/sec-metadata/README.md": [ "75d58b35c1e5572d02dd3ad90ac65301e35c4bc7", "support" @@ -560337,7 +560681,7 @@ "support" ], "generic-sensor/README.md": [ - "48615c1b9e70e02c02ea0246eb7ca1953bab0c68", + "50ae2c420d8532b51509c281e72d8541f5e66391", "support" ], "generic-sensor/SensorErrorEvent-constructor.https.html": [ @@ -560349,7 +560693,7 @@ "support" ], "generic-sensor/generic-sensor-tests.js": [ - "a23c776f7536e3f406c78a5aa02359c7dde8c745", + "3a427e0ebd3191c2a6b982b74d139250d8fb085a", "support" ], "generic-sensor/idlharness.https.html": [ @@ -560357,7 +560701,7 @@ "testharness" ], "geolocation-API/OWNERS": [ - "84c4182ceed0f75ada11e63c3dfc2acc2939cbb6", + "c9da2c9b0b48dc8049b2e17bcbcc289fe6af800a", "support" ], "geolocation-API/PositionOptions.https.html": [ @@ -561536,18 +561880,6 @@ "c37ad1ea3a1c8e389f6066c95c7b2745648e9e7e", "testharness" ], - "html/browsers/browsing-the-web/unloading-documents/prompt/004-1.html": [ - "3530a94754361d436b6c20496bea07eb0bec4893", - "support" - ], - "html/browsers/browsing-the-web/unloading-documents/prompt/004-2.html": [ - "01dc2c7f9c673781291a5afbdb40ca0f0919e797", - "support" - ], - "html/browsers/browsing-the-web/unloading-documents/prompt/004.html": [ - "4c8485a929926005115dd0f8e2d2a2d8e1673c6f", - "testharness" - ], "html/browsers/browsing-the-web/unloading-documents/prompt/manual-001.html": [ "895580cf70904918397da755527c5dda3f227b8a", "support" @@ -564013,7 +564345,7 @@ "testharness" ], "html/dom/dynamic-markup-insertion/document-write/contentType.window.js": [ - "f39e34dec9f0a9ca12e76085a26b567dff96dc55", + "3f1218b65f930ba0a31044163fb995527c020fa8", "testharness" ], "html/dom/dynamic-markup-insertion/document-write/document.write-01.xhtml": [ @@ -569857,7 +570189,7 @@ "support" ], "html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js": [ - "d0eac1b59b0514b526be649a28d9fbd54e47db99", + "af372062048142740f83dd95feded927cf3a225b", "support" ], "html/infrastructure/urls/resolving-urls/query-encoding/resources/resource.py": [ @@ -580465,7 +580797,7 @@ "wdspec" ], "input-events/OWNERS": [ - "a112fbb206f10a957ddd6f74f27a7e615623c797", + "9e7b0206de5d60e7e0cf529e7b8987367c84c0f6", "support" ], "input-events/idlharness.html": [ @@ -580492,12 +580824,16 @@ "f4812cb04b153d5f39e12e373b184c04d29b00fd", "support" ], + "interfaces/DOM-Parsing.idl": [ + "4324fb1908608583b898ae01ad44d9f8e1da89ac", + "support" + ], "interfaces/FileAPI.idl": [ "3fb06078e603a6010c2eb0fb45715c8cbda35678", "support" ], "interfaces/IndexedDB.idl": [ - "3df484f3207920891c278bd99ec22e4029aa039f", + "149cca0098cf37769391b4caa0650a7182ed8212", "support" ], "interfaces/OWNERS": [ @@ -580553,7 +580889,7 @@ "support" ], "interfaces/css-typed-om.idl": [ - "59bd8e2c3c1bf8fded9a5523b5bd3b59761eacef", + "36526913c07a04f9fd329a5650430db82407d766", "support" ], "interfaces/cssom-view.idl": [ @@ -580589,7 +580925,7 @@ "support" ], "interfaces/fetch.idl": [ - "b84c0af66b1bc37170021af455f85d5b5c0f01b2", + "dd0830114bbed129ffd6af96b76ad0b1ec6ee5b5", "support" ], "interfaces/filter-effects.idl": [ @@ -580652,12 +580988,20 @@ "8bf519a543c72c282ac08f3feb2b5522913ec82f", "support" ], + "interfaces/pointerevents.idl": [ + "29ca4e05813256592af7e9804e8135aaffdcc995", + "support" + ], + "interfaces/pointerlock.idl": [ + "6d3ff2b3f8b4015f3cb282db2cd2dbb8c2e90db5", + "support" + ], "interfaces/proximity.idl": [ "74f2bf81a497589e7b3ed323368df218a70925a3", "support" ], - "interfaces/remoteplayback.idl": [ - "fc724b70bc1e1d30e538ee5154a99d4871414302", + "interfaces/remote-playback.idl": [ + "9ddb3a7bfce2454a3f7d835785db912f70521449", "support" ], "interfaces/screen-orientation.idl": [ @@ -580672,6 +581016,10 @@ "3b2cb524838f2274463664621fddc7c927ac95af", "support" ], + "interfaces/staticrange.idl": [ + "32069e14ad423a85d087ee335c50a379ea591b34", + "support" + ], "interfaces/storage.idl": [ "7c3221be9fdf6be4965cf5aeca2063f93c2110d6", "support" @@ -581637,7 +581985,7 @@ "testharness" ], "media-source/mediasource-append-buffer.html": [ - "fed1254d64c59b625af9745bbffcf5788ac5906e", + "a29b47e56f3f3b963063ff2a8e9d41c05299e024", "testharness" ], "media-source/mediasource-appendbuffer-quota-exceeded.html": [ @@ -582145,7 +582493,7 @@ "testharness" ], "mediacapture-record/OWNERS": [ - "54ff7b49502eceae71135d5dec86fcd34c309dc7", + "07b087d69286825ceefa9cefa47aa0a49605cad2", "support" ], "mediacapture-record/idlharness.html": [ @@ -582321,15 +582669,15 @@ "support" ], "mimesniff/mime-types/README.md": [ - "f3cd8bf009de6ceb297af8bfdecb851f817fa02d", + "d073a81e538a5667b917ec3434ed8c6a6e47af2f", "support" ], "mimesniff/mime-types/charset-parameter.window.js": [ - "baa985ca1fd0aed6644d9d1cef21764cfe826a8b", + "76e101bc321eabc022e4635bd92b615edf35a3a5", "testharness" ], "mimesniff/mime-types/parsing.any.js": [ - "b40a3e56406cd6f3303877b1da07a74d0d2f9deb", + "654a5f93865b6be570c9c268c7ef9b686aaf15da", "testharness" ], "mimesniff/mime-types/resources/generated-mime-types.json": [ @@ -590497,7 +590845,7 @@ "support" ], "payment-method-basic-card/empty-data-manual.https.html": [ - "f58fecb7d70aac64befe54f403208da14e479b1b", + "6952f470ea4beb3aa879b3b847d920647b80eafb", "manual" ], "payment-method-basic-card/payment-request-canmakepayment-method.https.html": [ @@ -590517,7 +590865,7 @@ "support" ], "payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html": [ - "46cac5ba402841a8bc311b1a11de4a82589ee567", + "9fafc1a7866fc2a0415de7a22bf55f5816c6ee75", "manual" ], "payment-request/PaymentItem/type_member.https.html": [ @@ -590533,23 +590881,23 @@ "testharness" ], "payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html": [ - "300c0740bdbeadcc7aad94e759ec8eff4256b7c8", + "d5a7ffd23844248ca67b8419a0ca1bb01285cad3", "manual" ], "payment-request/PaymentRequestUpdateEvent/updateWith-duplicate-shipping-options-manual.https.html": [ - "6d139db4c12f85981ea3d1e6dc167e21510847fb", + "253db2eeff197ca1db58d72c13d01611a05d86cd", "manual" ], "payment-request/PaymentRequestUpdateEvent/updateWith-incremental-update-manual.https.html": [ - "072a3a37d57fcc14c61f6ef74ac164d3a26cf985", + "d3192d90cbfd0faabb712cac7a8d8f95a068d6a3", "manual" ], "payment-request/PaymentRequestUpdateEvent/updateWith-method-abort-update-manual.https.html": [ - "4a166673c699656849c0dc4eba9076b9cdc613ff", + "dad7d651a5b2b3cc04ca7c5f1cf9bd6d872949e4", "manual" ], "payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html": [ - "d05ca169a1766893613ba546e60259e8dc848f96", + "fdb6f08618941c416fc9a1bc8f47a346b5fd767b", "manual" ], "payment-request/PaymentRequestUpdateEvent/updatewith-method.https.html": [ @@ -590557,7 +590905,7 @@ "testharness" ], "payment-request/algorithms-manual.https.html": [ - "6b1c0579e14eadb2daf3ece2443c605a1d8bb57b", + "66ff86a10c34c5301e1033f53788c2a0e28ab8b3", "manual" ], "payment-request/allowpaymentrequest/active-document-cross-origin.https.sub.html": [ @@ -590609,11 +590957,11 @@ "testharness" ], "payment-request/change-shipping-option-manual.https.html": [ - "9285ebf2cd716ea072c18fe668e95cf6ce4ec3de", + "f237de7c6a1b78d2f1c8eb55c473c7c57d1ae54a", "manual" ], "payment-request/change-shipping-option-select-last-manual.https.html": [ - "2f219eaf8287790fc73700b1cd92fd4fd1970aca", + "cd9a9076f0eaf8a204de121e296a70adc7b209ca", "manual" ], "payment-request/historical.https.html": [ @@ -590629,7 +590977,7 @@ "testharness" ], "payment-request/payment-request-canmakepayment-method-manual.https.html": [ - "40e5bf0445eedb6bb78bd61fa4a468652462a14d", + "7531ea3b11f6e8de8cf71666b19861dbc5267cf7", "manual" ], "payment-request/payment-request-constructor-crash.https.html": [ @@ -590681,7 +591029,7 @@ "testharness" ], "payment-request/payment-request-show-method-manual.https.html": [ - "1df34a1d4ae403ef4853af6850a3f2e9521703f7", + "539262a608731c0ffecbb333c9701b8db255817c", "manual" ], "payment-request/payment-request-show-method.https.html": [ @@ -590689,7 +591037,7 @@ "testharness" ], "payment-request/payment-response/complete-method-manual.https.html": [ - "dc083332294137bd562060c7bf13f0664e6e038f", + "5db1508a5e71a3af5b369f516555e791bc4254e2", "manual" ], "payment-request/payment-response/helpers.js": [ @@ -590697,31 +591045,31 @@ "support" ], "payment-request/payment-response/methodName-attribute-manual.https.html": [ - "88c5c390ad6396a7ffd5f11948adddfb2458b4fd", + "c3aa1efe27e18bdd261e669b0f23be1d49247e4d", "manual" ], "payment-request/payment-response/payerEmail-attribute-manual.https.html": [ - "d2aa361068844ac6fc95dd694a19eb093df399b0", + "b2d661bdb17ad6e34ce04c1bdee283a3a1f00f55", "manual" ], "payment-request/payment-response/payerName-attribute-manual.https.html": [ - "3e18addaac52270128e3c4dd6e3f5d421816a67e", + "290cccfa03cd294d59551b7a75da76c20d2302c3", "manual" ], "payment-request/payment-response/payerPhone-attribute-manual.https.html": [ - "72009bc00083e739816d3442c42ed87f43d3e253", + "6b53792793c76e37d5beba7f6aaf795e030853ee", "manual" ], "payment-request/payment-response/requestId-attribute-manual.https.html": [ - "5bda341b3faa65d5ff24cbc4fd5afe110e413146", + "e68d7a26754611c74a989ffafbc644bb7818832d", "manual" ], "payment-request/payment-response/shippingAddress-attribute-manual.https.html": [ - "27768a28c6d3ecee925ff096bc9a7f028dc53f18", + "b05a100659e60c076458b86f148eb0793586b88e", "manual" ], "payment-request/payment-response/shippingOption-attribute-manual.https.html": [ - "da91f7d011efeb58409d300bed3c0a4c3c7367d6", + "e9221b7f65863ad0fd139f298c8de5fa5eb96c99", "manual" ], "payment-request/rejects_if_not_active.https.html": [ @@ -590737,15 +591085,15 @@ "support" ], "payment-request/shipping-address-changed-manual.https.html": [ - "db68756c6cc3cc2146f608a04988cd938a2dd0de", + "34c24ab265195133dcab5698466d876ff12962f3", "manual" ], "payment-request/show-method-optional-promise-rejects-manual.https.html": [ - "6d3d14e0c238ae83944625f4623c7a44ac0b4c46", + "4a0d50c8b3b7ed63d24a0c13274cd535ba49117c", "manual" ], "payment-request/show-method-optional-promise-resolves-manual.https.html": [ - "ec7d847f9623fcafb0a74903dc2dcefbf0175755", + "f23e8314cfae063f57294b7f328292e59fb2ad83", "manual" ], "payment-request/show-method-postmessage-iframe.html": [ @@ -590753,19 +591101,19 @@ "support" ], "payment-request/show-method-postmessage-manual.https.html": [ - "39aa1ef2cb62f122749f55373964315014e29dc7", + "d44366e5e67ee42abb464f4ae864e07fad76865c", "manual" ], "payment-request/updateWith-method-pmi-handling-manual.https.html": [ - "b473073ad106e9e0732adb6bfbed5f54d6ec3194", + "be79b8f3f6ce9a4401b60b83a43f8a43ca77327d", "manual" ], "payment-request/user-abort-algorithm-manual.https.html": [ - "31a6f480d015c6c715df2001b03f487a205a7311", + "d86879e71d7f262a7742a4be30be27b8998e90d7", "manual" ], "payment-request/user-accepts-payment-request-algo-manual.https.html": [ - "37f114e9c510722f9966c092c8a4f5008688d86e", + "e889c0b281184662553c687301edc3a3cd52ea33", "manual" ], "performance-timeline/OWNERS": [ @@ -590929,7 +591277,7 @@ "manual" ], "pointerevents/idlharness.html": [ - "5d54a0bb419e989db76a2d4333e73d9ccbce511b", + "590e7c7c798d0b136a50cd65939cae11eaad9f5c", "testharness" ], "pointerevents/pointerevent_attributes_hoverable_pointers-manual.html": [ @@ -591241,15 +591589,15 @@ "support" ], "pointerlock/OWNERS": [ - "936e9101b80d75c3f0518fce8ef5e1f358da0a71", + "790b8ffd5f041ada7077501859a15f805080d255", "support" ], "pointerlock/constructor.html": [ "6b77dd2bd357f9e902846b9f96059537dda35b3e", "testharness" ], - "pointerlock/idlharness.html": [ - "c2def90f67a355efc490ace9a27d873b87edb531", + "pointerlock/interfaces.window.js": [ + "597ed15f67c4f94f15b28b167fe7ac0ce1b7d79c", "testharness" ], "pointerlock/movementX_Y_basic-manual.html": [ @@ -591489,7 +591837,7 @@ "testharness" ], "presentation-api/OWNERS": [ - "eb843cb769d0cffb96e4f8d209dd7aded20ec9f5", + "48e67ca9fb63012f44a7e871aa1eeb6c98830224", "support" ], "presentation-api/README.md": [ @@ -599701,7 +600049,7 @@ "testharness" ], "remote-playback/idlharness.html": [ - "5a780e9fcdc2215b4f5fb9d81347ef804ed88f71", + "715a6950952ed08b9f1ce09b698ab85395553790", "testharness" ], "remote-playback/watch-availability-initial-callback.html": [ @@ -601245,7 +601593,7 @@ "testharness" ], "service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html": [ - "ce03773200d0dc76199b0ea5353bc44be4e86793", + "f1456bd2f56e8bd17bb9664960347c33decb927f", "testharness" ], "service-workers/cache-storage/serviceworker/cache-keys.https.html": [ @@ -601636,6 +601984,14 @@ "00c90429203c85ae8f10a6a6604cdf9619524f06", "testharness" ], + "service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html": [ + "210ee953eb55e685452d8c3958c0d7f89db76a90", + "manual" + ], + "service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html": [ + "89b9a19d0a4857af03b588987d6463d1766636d1", + "manual" + ], "service-workers/service-worker/fetch-event-is-reload-iframe-navigation-manual.https.html": [ "9f69732ecf50608ea2695e2fb348d8dff6df6791", "manual" @@ -601701,7 +602057,7 @@ "testharness" ], "service-workers/service-worker/fetch-event.https.html": [ - "cf2d0ef7275fd08bd0fbd2dde4c8c4ee4a2452d6", + "dfd8525f82292cc3728cc3b1afb2a14e19ef4b43", "testharness" ], "service-workers/service-worker/fetch-frame-resource.https.html": [ @@ -602033,7 +602389,7 @@ "testharness" ], "service-workers/service-worker/postmessage.https.html": [ - "dfd851992c1ab3be263bce6f669fceda47d0f410", + "1acc630c23f89611e41cf4a9ed0e17b7a8ca31b9", "testharness" ], "service-workers/service-worker/ready.https.html": [ @@ -602465,7 +602821,7 @@ "support" ], "service-workers/service-worker/resources/fetch-event-test-worker.js": [ - "2cd3893314f0296b4c8260f250cc87b570c7d692", + "ff4814b069e74b22f66d4258ecc97f8c477e9b3c", "support" ], "service-workers/service-worker/resources/fetch-event-within-sw-worker.js": [ @@ -603105,7 +603461,7 @@ "support" ], "service-workers/service-worker/resources/test-helpers.sub.js": [ - "74ea529125a5e2c5cd3d350f7c56ae614f82010d", + "079d31394903266dddb067f8f4dba5a94e522bdc", "support" ], "service-workers/service-worker/resources/testharness-helpers.js": [ @@ -603325,7 +603681,7 @@ "testharness" ], "service-workers/service-worker/windowclient-navigate.https.html": [ - "828d8d920459541a37e747ac01376fdcac51ffb3", + "7b7f42f68af9a10961b80e67ecf615a31f3a0e80", "testharness" ], "service-workers/service-worker/worker-client-id.https.html": [ @@ -604020,6 +604376,10 @@ "45bfdcce349e2cb28611520b006c060347fdf58d", "testharness" ], + "staticrange/idlharness.html": [ + "233d7056716b753962c9e7f84a02cd72de31b7e3", + "testharness" + ], "storage/OWNERS": [ "2c585ecaee5e62118d3cb98c98e12d959ebcbd50", "support" @@ -604149,7 +604509,7 @@ "testharness" ], "streams/generate-test-wrappers.js": [ - "f40527e4036f235c2268e9f9c5b7267f2b0e3799", + "d432f6de064deb351686a715e167123c999e354d", "support" ], "streams/piping/close-propagation-backward.dedicatedworker.html": [ @@ -608148,6 +608508,10 @@ "dfc7ec677df247b015ef360793c7e5f0c926e45f", "testharness" ], + "svg/types/scripted/SVGGeometryElement.getPointAtLength-01.svg": [ + "73c1c15179f02b637a68939ba08faa4f90af8e5b", + "testharness" + ], "svg/types/scripted/SVGLength-px-with-context.html": [ "a605dba2368aa00a3cd3343739c05cdbbd930205", "testharness" @@ -608829,39 +609193,31 @@ "support" ], "url/README.md": [ - "c617345fc667ed52a8e97027d121001d7a9edae0", + "17ffb158bda35ef8b55f8f7f5f084df2e0651bfc", "support" ], "url/a-element-origin-xhtml.xhtml": [ - "56019fd2d3870324ba412e3e0c602bad3b90ef49", + "e46971a9bd9bbd1da7b8373fd4db4a1f7655b6e0", "testharness" ], "url/a-element-origin.html": [ - "9e93740286ed4f6964b13861eedaf94705572d60", + "dca3c2a98527eaa828d98f28e1f619e0389a62bb", "testharness" ], - "url/a-element-origin.js": [ - "db3ac8253d1d877c49e365f89eea0ed1a5bad32e", - "support" - ], "url/a-element-xhtml.xhtml": [ - "3c85e56094317c6babc96bdc187ee66ee4f040cd", + "d538bb2755a6f0cf461d40c9ed5ca4ea3254d1d4", "testharness" ], "url/a-element.html": [ - "f1e6c1192c181236eb9bd32ead4f42338d020577", + "17f7748607bd43c276d3b9013b5de42516aacc47", "testharness" ], - "url/a-element.js": [ - "cf3fd382286fe89570e68e0d90131db35e03e6ef", - "support" - ], "url/data-uri-fragment.html": [ "2db7660e8dab868a2dc771a3a702832b8978a980", "testharness" ], "url/failure.html": [ - "82c87b01a847f2821d1d71ea5e1c2ce8528f4deb", + "be435247e1df422dfd051e35aea241d8e6b35207", "testharness" ], "url/historical.any.js": [ @@ -608872,28 +609228,40 @@ "a83c44354ce5f1e558d5f09fa0e5589582149f0c", "testharness" ], - "url/setters_tests.json": [ + "url/resources/a-element-origin.js": [ + "831d8c67d797a206df6d46b0ef427fbde9c1e847", + "support" + ], + "url/resources/a-element.js": [ + "add0f2682d43e98f57cdae10f4c1c3a2e7bb8ae0", + "support" + ], + "url/resources/setters_tests.json": [ "7c9707c02714de9a17989ecc71775978e994ae8a", "support" ], - "url/toascii.json": [ + "url/resources/toascii.json": [ "e8f5d819b9b4608d730a0a601e16ac2dd6c2d134", "support" ], + "url/resources/urltestdata.json": [ + "442c5f9d5faeb6752c8b33a04c73f3f3ba82ccb7", + "support" + ], "url/toascii.window.js": [ - "7166d07215b578c5d11d7ac831ddb47d0821155a", + "0b9d59d1900f3440a5e631a9488207c2947ebf69", "testharness" ], "url/url-constructor.html": [ - "478523551e13b4066293fc2244972dd82b9bd87f", + "e1cc6dfc07040b019201dd7695b5171572f2fb8f", "testharness" ], "url/url-origin.html": [ - "84a487b251a9f6dd320bf793050d1e43ae933ed9", + "c68cfe55de2330dce6b9c4fa40c0983a14e5c871", "testharness" ], "url/url-setters.html": [ - "f9746a232f2047deb0bf0b5a73376a69b0ec14e2", + "46668877b10431168404c83af3e7c58c48940cfc", "testharness" ], "url/url-tojson.html": [ @@ -608944,10 +609312,6 @@ "479e3fb9fc9eee208c492428c7032a96c70a5ae8", "testharness" ], - "url/urltestdata.json": [ - "442c5f9d5faeb6752c8b33a04c73f3f3ba82ccb7", - "support" - ], "user-timing/OWNERS": [ "b82f9756b15ef3ea45fb250e304031d9ceaee9c7", "support" @@ -609093,7 +609457,7 @@ "testharness" ], "vibration/invalid-values.html": [ - "9c7367db5eaf70dc9a020560b43531e16d44fca4", + "3ca5adddedc8232dd61d9c39e192b39611f63bb0", "testharness" ], "vibration/pattern-array-extra-manual.html": [ @@ -610325,7 +610689,7 @@ "support" ], "web-animations/animation-model/animation-types/property-types.js": [ - "9f6d5f18913c02044cc06c300b924f387025c258", + "ecfe1d54d687bc6d0541b4a8c5ca9cf82c4d129e", "support" ], "web-animations/animation-model/animation-types/visibility.html": [ @@ -610344,6 +610708,10 @@ "da405e4bfc35d5d0b4c151706b09eb1a84d2f0da", "testharness" ], + "web-animations/animation-model/keyframe-effects/effect-value-interval-distance.html": [ + "1610fc05399b88b92f35d556b80a8623d03a5a87", + "testharness" + ], "web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation.html": [ "2c424570af86e1a4541d4f0a67c7693cfcac8abc", "testharness" @@ -612221,7 +612589,7 @@ "testharness" ], "webmessaging/Channel_postMessage_Blob.htm": [ - "9667a479d4ed3f01dd052567a67256c20a533074", + "d1644d35cf79e79c9bda4387795d0fd9a909be6c", "testharness" ], "webmessaging/Channel_postMessage_DataCloneErr.htm": [ @@ -612293,7 +612661,7 @@ "testharness" ], "webmessaging/broadcastchannel/blobs.html": [ - "6783e7192e63a0418d65885715baa3ba1c99e33a", + "ffe8dce33ae15b4af034377d65d3390b438a3a29", "testharness" ], "webmessaging/broadcastchannel/interface.html": [ @@ -612313,7 +612681,7 @@ "support" ], "webmessaging/broadcastchannel/resources/worker.js": [ - "d870e4e7ca81044bd62ddbf79fb666d02bc5b9ee", + "55bb074587b4ccb599a56092b9c69ea6db8e253c", "support" ], "webmessaging/broadcastchannel/sandbox.html": [ @@ -612893,7 +613261,7 @@ "testharness" ], "webrtc/RTCPeerConnection-track-stats.https.html": [ - "c31d22b6d9322d6d9b12414682d04137ad8cfb5d", + "401279780028dc08d5d9315748d83e29665685f1", "testharness" ], "webrtc/RTCPeerConnectionIceEvent-constructor.html": [ @@ -613040,8 +613408,8 @@ "af7066f4e223c39ff45a095c78acf4ca59a211ba", "support" ], - "webrtc/protocol/video-codecs.html": [ - "60f8a95a3fe3aac9b361e52d2d974cdd2483a46d", + "webrtc/protocol/video-codecs.https.html": [ + "c187072754be4f6392e98db645f1b1e8b5d930e2", "testharness" ], "webrtc/simplecall.https.html": [ @@ -617988,12 +618356,16 @@ "6bffa3be83d81e2faa93119e710e4fee93fb855e", "testharness" ], + "workers/modules/dedicated-worker-import-failure.html": [ + "63b2320a3ecf6133a3525574bf5a1d185d1f3aa7", + "testharness" + ], "workers/modules/dedicated-worker-import-meta.html": [ "32cd3419ff904a2440d9a6eaa7cb28f78d4a7e32", "testharness" ], "workers/modules/dedicated-worker-import.html": [ - "b9f5a7a0384ac3f34c48f32a378b758880f59b06", + "0b839e87ae98ad1abf32216a2086334cbc011ac0", "testharness" ], "workers/modules/dedicated-worker-options-credentials.html": [ @@ -618013,35 +618385,51 @@ "support" ], "workers/modules/resources/dynamic-import-and-then-static-import-worker.js": [ - "f4df69196f64cd81e92705186325004ac94db659", + "60eba309a41fc8c07989f87e22400c7fc799687d", "support" ], "workers/modules/resources/dynamic-import-given-url-worker.js": [ - "0d2cfe16d71bb17577c6cf6cde5973c18c2c70fe", + "9d64de6e63d110e6eff89a124e94cdec9d1802c2", "support" ], "workers/modules/resources/dynamic-import-worker.js": [ - "444e313fe51923097e3672d88d0afd30aac5ecab", + "9db02105e0ee1300518ca70259d4a93671062219", "support" ], "workers/modules/resources/empty-worker.js": [ "84b3339c3419e318803e51f46d7252d9e8ac183b", "support" ], + "workers/modules/resources/eval-dynamic-import-worker.js": [ + "1bb31cf22c566d29f4d7bebca546fdd79ff3ec07", + "support" + ], + "workers/modules/resources/export-on-dynamic-import-script.js": [ + "dbb6eaa13def20fd310c7aaafab3d3ef9fe99859", + "support" + ], + "workers/modules/resources/export-on-load-script.js": [ + "fab13482dce29d3150f4eb06b1375c2610ab07f3", + "support" + ], + "workers/modules/resources/export-on-static-import-script.js": [ + "fccc8ed2855b857d435d71382ed056f94be6e69d", + "support" + ], "workers/modules/resources/import-meta-url-worker.js": [ "83f231a886c36543721c2b0204c18b97d10968f8", "support" ], "workers/modules/resources/import-scripts-worker.js": [ - "3fd01d578893de9ea6f19dadb5f34136b459e96e", + "53c6df8251db9e255ba4199c5f4828acc16b93ac", "support" ], "workers/modules/resources/nested-dynamic-import-worker.js": [ - "4ee05f3be8a1b41a9e2fa3e24d40ec5103f67eac", + "a6da499a70bce69c7faa79fc9f22ad2cd41c7fd5", "support" ], "workers/modules/resources/nested-static-import-worker.js": [ - "38ca86e8e32df51af7d848474f31a7b8ff9dc3aa", + "7a6cdac13e91d27348e63310fc53443948a51aa6", "support" ], "workers/modules/resources/post-message-on-load-worker.js": [ @@ -618049,7 +618437,7 @@ "support" ], "workers/modules/resources/static-import-and-then-dynamic-import-worker.js": [ - "f69987442b6a223a868e6c1a7ca6d9cee2976068", + "d6db01b9912dbe05e03e8011bf79e644651dacae", "support" ], "workers/modules/resources/static-import-non-existent-script-worker.js": [ @@ -618057,15 +618445,15 @@ "support" ], "workers/modules/resources/static-import-worker.js": [ - "6d5fb2c553d2f32cdd16722a85bd65e0a172768c", + "4ccc3d3a7522527a5e62ec1adeb963220cfcd43c", "support" ], "workers/name-property.html": [ - "1c53fc1fdc2d6c8ed5592d832a18bdbd3bca541b", + "782f980596535125995d91c678d94fe98169b7da", "testharness" ], "workers/nested_worker.worker.js": [ - "04898c40ac4ff943cc83674ca6126464513abbd6", + "4f3e18270ff312e53a8ccb6dacfd7af80e5355e4", "testharness" ], "workers/non-automated/application-cache-dedicated.html": [ diff --git a/tests/wpt/metadata/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html.ini b/tests/wpt/metadata/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html.ini index 102a231a234..f32b05ecd88 100644 --- a/tests/wpt/metadata/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html.ini +++ b/tests/wpt/metadata/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html.ini @@ -11,6 +11,3 @@ [FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS may NOT appear at line start if zh and strict] expected: FAIL - [22EF MIDLINE HORIZONTAL ELLIPSIS may NOT appear at line start if zh and strict] - expected: FAIL - diff --git a/tests/wpt/metadata/css/css-transforms/transform-box/view-box-mutation.html.ini b/tests/wpt/metadata/css/css-transforms/transform-box/view-box-mutation.html.ini new file mode 100644 index 00000000000..fac7c5b8345 --- /dev/null +++ b/tests/wpt/metadata/css/css-transforms/transform-box/view-box-mutation.html.ini @@ -0,0 +1,2 @@ +[view-box-mutation.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom/at-namespace.html.ini b/tests/wpt/metadata/css/cssom/at-namespace.html.ini new file mode 100644 index 00000000000..aa7d7d8d2b8 --- /dev/null +++ b/tests/wpt/metadata/css/cssom/at-namespace.html.ini @@ -0,0 +1,4 @@ +[at-namespace.html] + [CSS Test: @namespace in CSSOM is not severely broken] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/insertRule-charset-no-index.html.ini b/tests/wpt/metadata/css/cssom/insertRule-charset-no-index.html.ini index 396c2a49713..4843a2ef2ea 100644 --- a/tests/wpt/metadata/css/cssom/insertRule-charset-no-index.html.ini +++ b/tests/wpt/metadata/css/cssom/insertRule-charset-no-index.html.ini @@ -5,3 +5,6 @@ [insertRule with charset and undefined index argument] expected: FAIL + [insertRule with charset and omitted index argument] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/insertRule-import-no-index.html.ini b/tests/wpt/metadata/css/cssom/insertRule-import-no-index.html.ini index 5a1a83026b4..28fbdbc5abf 100644 --- a/tests/wpt/metadata/css/cssom/insertRule-import-no-index.html.ini +++ b/tests/wpt/metadata/css/cssom/insertRule-import-no-index.html.ini @@ -2,3 +2,6 @@ [inserRule with import and omitted index argument] expected: FAIL + [insertRule with import and omitted index argument] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/insertRule-namespace-no-index.html.ini b/tests/wpt/metadata/css/cssom/insertRule-namespace-no-index.html.ini index 364cfb5fa75..a86f87c43bb 100644 --- a/tests/wpt/metadata/css/cssom/insertRule-namespace-no-index.html.ini +++ b/tests/wpt/metadata/css/cssom/insertRule-namespace-no-index.html.ini @@ -5,3 +5,9 @@ [inserRule with namespace and omitted index argument should insert import] expected: FAIL + [insertRule with namespace and omitted index argument] + expected: FAIL + + [insertRule with namespace and omitted index argument should insert import] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/insertRule-no-index.html.ini b/tests/wpt/metadata/css/cssom/insertRule-no-index.html.ini index ba67ac10d2b..4a5e7f79e25 100644 --- a/tests/wpt/metadata/css/cssom/insertRule-no-index.html.ini +++ b/tests/wpt/metadata/css/cssom/insertRule-no-index.html.ini @@ -5,3 +5,6 @@ [insertRule with undefined index argument] expected: FAIL + [insertRule with omitted index argument] + expected: FAIL + diff --git a/tests/wpt/metadata/domparsing/interfaces.any.js.ini b/tests/wpt/metadata/domparsing/interfaces.any.js.ini new file mode 100644 index 00000000000..6ebfacc0662 --- /dev/null +++ b/tests/wpt/metadata/domparsing/interfaces.any.js.ini @@ -0,0 +1,7 @@ +[interfaces.any.html] + [Untitled] + expected: FAIL + + +[interfaces.any.worker.html] + expected: ERROR diff --git a/tests/wpt/metadata/fetch/api/request/request-structure.html.ini b/tests/wpt/metadata/fetch/api/request/request-structure.html.ini index d63e7c3c3a2..f40ee09b801 100644 --- a/tests/wpt/metadata/fetch/api/request/request-structure.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-structure.html.ini @@ -2,3 +2,9 @@ [Check credentials attribute] expected: FAIL + [Check isReloadNavigation attribute] + expected: FAIL + + [Check isHistoryNavigation attribute] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/origin/no-cors.any.js.ini b/tests/wpt/metadata/fetch/origin/no-cors.any.js.ini new file mode 100644 index 00000000000..8864c53a958 --- /dev/null +++ b/tests/wpt/metadata/fetch/origin/no-cors.any.js.ini @@ -0,0 +1,9 @@ +[no-cors.any.worker.html] + [Untitled] + expected: FAIL + + +[no-cors.any.html] + [Untitled] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/range/general.any.js.ini b/tests/wpt/metadata/fetch/range/general.any.js.ini new file mode 100644 index 00000000000..33621f485f3 --- /dev/null +++ b/tests/wpt/metadata/fetch/range/general.any.js.ini @@ -0,0 +1,9 @@ +[general.any.worker.html] + [Untitled] + expected: FAIL + + +[general.any.html] + [Untitled] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/range/partial-script.window.js.ini b/tests/wpt/metadata/fetch/range/partial-script.window.js.ini new file mode 100644 index 00000000000..aa1cf84a436 --- /dev/null +++ b/tests/wpt/metadata/fetch/range/partial-script.window.js.ini @@ -0,0 +1,4 @@ +[partial-script.window.html] + [Untitled] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/range/sw.https.window.js.ini b/tests/wpt/metadata/fetch/range/sw.https.window.js.ini new file mode 100644 index 00000000000..a0e2131bd02 --- /dev/null +++ b/tests/wpt/metadata/fetch/range/sw.https.window.js.ini @@ -0,0 +1,4 @@ +[sw.https.window.html] + [Untitled] + 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 5b38c37b086..78879bad5f1 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,4 +1,5 @@ [javascript-url-abort-return-value-undefined.tentative.html] + expected: TIMEOUT [Not aborting fetch for javascript:undefined navigation] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini deleted file mode 100644 index e495b626d2e..00000000000 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[navigation-unload-same-origin-fragment.html] - [Tests that a fragment navigation in the unload handler will not block the initial navigation] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini index 5a88776ce4c..20865f493ec 100644 --- a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini @@ -18,9 +18,6 @@ [Set data URL frame location.protocol to http+x] expected: FAIL - [Set HTTP URL frame location.protocol to x] - expected: FAIL - [Set HTTP URL frame location.protocol to ftp] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini b/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini new file mode 100644 index 00000000000..33164945eb6 --- /dev/null +++ b/tests/wpt/metadata/html/dom/dynamic-markup-insertion/opening-the-input-stream/010.html.ini @@ -0,0 +1,4 @@ +[010.html] + [Salvagability of document.opened document] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 4905d4b5fd7..1de3f8d68b2 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -172,33 +172,3 @@ [XHTML img usemap="http://example.org/#garbage-before-hash-id"] expected: FAIL - [HTML (quirks) IMG usemap="no-hash-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="no-hash-id"] - expected: FAIL - - [HTML (quirks) IMG usemap="hash-last#"] - expected: FAIL - - [HTML (quirks) IMG usemap=""] - expected: FAIL - - [HTML (quirks) IMG usemap="#"] - expected: FAIL - - [HTML (quirks) IMG usemap="#percent-escape-name-%41"] - expected: FAIL - - [HTML (quirks) IMG usemap="#percent-escape-id-%41"] - expected: FAIL - - [HTML (quirks) IMG usemap="#no-such-map"] - expected: FAIL - - [HTML (quirks) IMG usemap="#different-CASE-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="#different-CASE-id"] - expected: FAIL - diff --git a/tests/wpt/metadata/websockets/binary/001.html.ini b/tests/wpt/metadata/websockets/binary/001.html.ini index e951021f33d..5bd89b3b338 100644 --- a/tests/wpt/metadata/websockets/binary/001.html.ini +++ b/tests/wpt/metadata/websockets/binary/001.html.ini @@ -4,3 +4,5 @@ [WebSockets: Send/Receive blob, blob size less than network array buffer] expected: TIMEOUT + +[001.html] diff --git a/tests/wpt/metadata/websockets/binary/002.html.ini b/tests/wpt/metadata/websockets/binary/002.html.ini index e147562b356..95f1b8e77c8 100644 --- a/tests/wpt/metadata/websockets/binary/002.html.ini +++ b/tests/wpt/metadata/websockets/binary/002.html.ini @@ -3,3 +3,5 @@ [WebSockets: Send/Receive blob, blob size greater than network array buffer] expected: TIMEOUT + +[002.html] diff --git a/tests/wpt/metadata/websockets/binary/004.html.ini b/tests/wpt/metadata/websockets/binary/004.html.ini index 81e00c88a70..1c519088836 100644 --- a/tests/wpt/metadata/websockets/binary/004.html.ini +++ b/tests/wpt/metadata/websockets/binary/004.html.ini @@ -3,3 +3,5 @@ [WebSockets: Send/Receive ArrayBuffer, size greater than network array buffer] expected: TIMEOUT + +[004.html] diff --git a/tests/wpt/metadata/websockets/binary/005.html.ini b/tests/wpt/metadata/websockets/binary/005.html.ini index bf6e162f08d..12097e48faa 100644 --- a/tests/wpt/metadata/websockets/binary/005.html.ini +++ b/tests/wpt/metadata/websockets/binary/005.html.ini @@ -4,3 +4,5 @@ [WebSockets: Send/Receive ArrayBuffer, size less than network array buffer] expected: TIMEOUT + +[005.html] diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-import-failure.html.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-import-failure.html.ini new file mode 100644 index 00000000000..e1c2734d0db --- /dev/null +++ b/tests/wpt/metadata/workers/modules/dedicated-worker-import-failure.html.ini @@ -0,0 +1,4 @@ +[dedicated-worker-import-failure.html] + [DedicatedWorker: import failure] + expected: FAIL + diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini index 95b120688aa..b76318a48c9 100644 --- a/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini +++ b/tests/wpt/metadata/workers/modules/dedicated-worker-import.html.ini @@ -1,5 +1,4 @@ [dedicated-worker-import.html] - expected: ERROR [Test static import on DedicatedWorkerGlobalScope.] expected: TIMEOUT @@ -30,3 +29,6 @@ [Dynamic import for non-existent script should throw an exception.] expected: NOTRUN + [DedicatedWorker: import] + expected: FAIL + diff --git a/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini b/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini index 318ad0b2c95..1de61088fe1 100644 --- a/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini +++ b/tests/wpt/metadata/xhr/sync-no-timeout.any.js.ini @@ -2,3 +2,7 @@ [Untitled] expected: FAIL + +[sync-no-timeout.any.worker.html] + +[sync-no-timeout.any.html] diff --git a/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini b/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini new file mode 100644 index 00000000000..65c78fd3a4a --- /dev/null +++ b/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini @@ -0,0 +1,2 @@ +[hide_after_load.html] + expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini new file mode 100644 index 00000000000..1e2567027d8 --- /dev/null +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/canvas/rapid-resizing.html.ini @@ -0,0 +1,5 @@ +[rapid-resizing.html] + expected: TIMEOUT + [Overall test] + expected: NOTRUN + diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-uniform-packing-restrictions.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-uniform-packing-restrictions.html.ini new file mode 100644 index 00000000000..594360ffb15 --- /dev/null +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-uniform-packing-restrictions.html.ini @@ -0,0 +1,5 @@ +[shader-uniform-packing-restrictions.html] + expected: TIMEOUT + [Overall test] + expected: NOTRUN + diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/atan/atan_001_to_008.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/atan/atan_001_to_008.html.ini new file mode 100644 index 00000000000..7e17f982259 --- /dev/null +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/ogles/GL/atan/atan_001_to_008.html.ini @@ -0,0 +1,5 @@ +[atan_001_to_008.html] + expected: TIMEOUT + [Overall test] + expected: NOTRUN + diff --git a/tests/wpt/web-platform-tests/.taskcluster.yml b/tests/wpt/web-platform-tests/.taskcluster.yml index 0247900533b..a021364d26d 100644 --- a/tests/wpt/web-platform-tests/.taskcluster.yml +++ b/tests/wpt/web-platform-tests/.taskcluster.yml @@ -15,7 +15,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 1 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -32,7 +32,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 2 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -49,7 +49,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 3 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -66,7 +66,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 4 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -83,7 +83,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 5 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -100,7 +100,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 6 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -117,7 +117,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 7 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -134,7 +134,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 8 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -151,7 +151,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 9 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -168,7 +168,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome reftest 10 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -185,7 +185,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome wdspec 1 1"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -202,7 +202,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 1 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -219,7 +219,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 2 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -236,7 +236,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 3 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -253,7 +253,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 4 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -270,7 +270,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 5 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -287,7 +287,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 6 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -304,7 +304,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 7 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -321,7 +321,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 8 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -338,7 +338,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 9 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -355,7 +355,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 10 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -372,7 +372,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 11 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -389,7 +389,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 12 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -406,7 +406,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 13 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -423,7 +423,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 14 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -440,7 +440,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ chrome testharness 15 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -457,7 +457,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 1 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -474,7 +474,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 2 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -491,7 +491,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 3 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -508,7 +508,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 4 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -525,7 +525,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 5 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -542,7 +542,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 6 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -559,7 +559,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 7 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -576,7 +576,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 8 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -593,7 +593,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 9 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -610,7 +610,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox reftest 10 10"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -627,7 +627,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox wdspec 1 1"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -644,7 +644,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 1 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -661,7 +661,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 2 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -678,7 +678,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 3 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -695,7 +695,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 4 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -712,7 +712,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 5 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -729,7 +729,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 6 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -746,7 +746,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 7 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -763,7 +763,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 8 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -780,7 +780,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 9 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -797,7 +797,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 10 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -814,7 +814,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 11 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -831,7 +831,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 12 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -848,7 +848,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 13 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -865,7 +865,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 14 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker @@ -882,7 +882,7 @@ tasks: \ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \ \ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\ \ firefox testharness 15 15"] - image: harjgam/web-platform-tests:0.12 + image: gsnedders/web-platform-tests:0.13 maxRunTime: 7200 provisionerId: aws-provisioner-v1 workerType: wpt-docker-worker diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py b/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py index 9e7f7ad430c..767d13e86ad 100644 --- a/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py +++ b/tests/wpt/web-platform-tests/2dcontext/tools/gentestutils.py @@ -7,7 +7,7 @@ # http://philip.html5.org/tests/canvas/suite/tests/ # # It has been adapted for use with the Web Platform Test Suite suite at -# https://github.com/w3c/web-platform-tests/ +# https://github.com/web-platform-tests/wpt/ # # The original version had a number of now-removed features (multiple versions of # each test case of varying verbosity, Mozilla mochitests, semi-automated test diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js b/tests/wpt/web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js index a564730c338..f624f188fa8 100644 --- a/tests/wpt/web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js +++ b/tests/wpt/web-platform-tests/FileAPI/url/url-in-tags-revoke.window.js @@ -38,6 +38,51 @@ async_test(t => { }, 'Fetching a blob URL immediately before revoking it works in an iframe navigation.'); async_test(t => { + const run_result = 'test_frame_OK'; + const blob_contents = '<!doctype html>\n<meta charset="utf-8">\n' + + '<script>window.test_result = "' + run_result + '";</script>'; + const blob = new Blob([blob_contents], {type: 'text/html'}); + const url = URL.createObjectURL(blob); + const win = window.open(url); + URL.revokeObjectURL(url); + add_completion_callback(() => { win.close(); }); + + win.onload = t.step_func_done(() => { + assert_equals(win.test_result, run_result); + }); +}, 'Opening a blob URL in a new window immediately before revoking it works.'); + +function receive_message_on_channel(t, channel_name) { + const channel = new BroadcastChannel(channel_name); + return new Promise(resolve => { + channel.addEventListener('message', t.step_func(e => { + resolve(e.data); + })); + }); +} + +function window_contents_for_channel(channel_name) { + return '<!doctype html>\n' + + '<script>\n' + + 'new BroadcastChannel("' + channel_name + '").postMessage("foobar");\n' + + 'self.close();\n' + + '</script>'; +} + +async_test(t => { + const channel_name = 'noopener-window-test'; + const blob = new Blob([window_contents_for_channel(channel_name)], {type: 'text/html'}); + receive_message_on_channel(t, channel_name).then(t.step_func_done(t => { + assert_equals(t, 'foobar'); + })); + const url = URL.createObjectURL(blob); + const win = window.open(); + win.opener = null; + win.location = url; + URL.revokeObjectURL(url); +}, 'Opening a blob URL in a noopener about:blank window immediately before revoking it works.'); + +async_test(t => { const run_result = 'test_script_OK'; const blob_contents = 'window.script_test_result = "' + run_result + '";'; const blob = new Blob([blob_contents]); diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url-reload.window.js b/tests/wpt/web-platform-tests/FileAPI/url/url-reload.window.js new file mode 100644 index 00000000000..d333b3a74aa --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url-reload.window.js @@ -0,0 +1,36 @@ +function blob_url_reload_test(t, revoke_before_reload) { + const run_result = 'test_frame_OK'; + const blob_contents = '<!doctype html>\n<meta charset="utf-8">\n' + + '<script>window.test_result = "' + run_result + '";</script>'; + const blob = new Blob([blob_contents], {type: 'text/html'}); + const url = URL.createObjectURL(blob); + + const frame = document.createElement('iframe'); + frame.setAttribute('src', url); + frame.setAttribute('style', 'display:none;'); + document.body.appendChild(frame); + + frame.onload = t.step_func(() => { + if (revoke_before_reload) + URL.revokeObjectURL(url); + assert_equals(frame.contentWindow.test_result, run_result); + frame.contentWindow.test_result = null; + frame.onload = t.step_func_done(() => { + assert_equals(frame.contentWindow.test_result, run_result); + }); + // Slight delay before reloading to ensure revoke actually has had a chance + // to be processed. + t.step_timeout(() => { + frame.contentWindow.location.reload(); + }, 250); + }); +} + +async_test(t => { + blob_url_reload_test(t, false); +}, 'Reloading a blob URL succeeds.'); + + +async_test(t => { + blob_url_reload_test(t, true); +}, 'Reloading a blob URL succeeds even if the URL was revoked.'); diff --git a/tests/wpt/web-platform-tests/README.md b/tests/wpt/web-platform-tests/README.md index a942745c7b0..84cd627eafd 100644 --- a/tests/wpt/web-platform-tests/README.md +++ b/tests/wpt/web-platform-tests/README.md @@ -15,7 +15,7 @@ editors and implementors. Setting Up the Repo =================== -Clone or otherwise get https://github.com/w3c/web-platform-tests. +Clone or otherwise get https://github.com/web-platform-tests/wpt. Note: because of the frequent creation and deletion of branches in this repo, it is recommended to "prune" stale branches when fetching updates, @@ -356,7 +356,7 @@ Issues with web-platform-tests If you spot an issue with a test and are not comfortable providing a pull request per above to fix it, please -[file a new issue](https://github.com/w3c/web-platform-tests/issues/new). +[file a new issue](https://github.com/web-platform-tests/wpt/issues/new). Thank you! Lint tool @@ -432,11 +432,11 @@ upstream review. Search filters to find things to review: -* [Open PRs (excluding vendor exports)](https://github.com/w3c/web-platform-tests/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+-label%3A%22mozilla%3Agecko-sync%22+-label%3A%22chromium-export%22+-label%3A%22webkit-export%22+-label%3A%22servo-export%22) -* [Reviewed but still open PRs (excluding vendor exports)](https://github.com/w3c/web-platform-tests/pulls?q=is%3Apr+is%3Aopen+-label%3Amozilla%3Agecko-sync+-label%3Achromium-export+-label%3Awebkit-export+-label%3Aservo-export+review%3Aapproved) (Merge? Something left to fix? Ping other reviewer?) -* [Open PRs without owners](https://github.com/w3c/web-platform-tests/pulls?q=is%3Apr+is%3Aopen+label%3Astatus%3Aneeds-owners) -* [Open PRs with label `infra` (excluding vendor exports)](https://github.com/w3c/web-platform-tests/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+label%3Ainfra+-label%3A%22mozilla%3Agecko-sync%22+-label%3A%22chromium-export%22+-label%3A%22webkit-export%22+-label%3A%22servo-export%22) -* [Open PRs with label `docs` (excluding vendor exports)](https://github.com/w3c/web-platform-tests/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+label%3Adocs+-label%3A%22mozilla%3Agecko-sync%22+-label%3A%22chromium-export%22+-label%3A%22webkit-export%22+-label%3A%22servo-export%22) +* [Open PRs (excluding vendor exports)](https://github.com/web-platform-tests/wpt/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+-label%3A%22mozilla%3Agecko-sync%22+-label%3A%22chromium-export%22+-label%3A%22webkit-export%22+-label%3A%22servo-export%22) +* [Reviewed but still open PRs (excluding vendor exports)](https://github.com/web-platform-tests/wpt/pulls?q=is%3Apr+is%3Aopen+-label%3Amozilla%3Agecko-sync+-label%3Achromium-export+-label%3Awebkit-export+-label%3Aservo-export+review%3Aapproved) (Merge? Something left to fix? Ping other reviewer?) +* [Open PRs without owners](https://github.com/web-platform-tests/wpt/pulls?q=is%3Apr+is%3Aopen+label%3Astatus%3Aneeds-owners) +* [Open PRs with label `infra` (excluding vendor exports)](https://github.com/web-platform-tests/wpt/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+label%3Ainfra+-label%3A%22mozilla%3Agecko-sync%22+-label%3A%22chromium-export%22+-label%3A%22webkit-export%22+-label%3A%22servo-export%22) +* [Open PRs with label `docs` (excluding vendor exports)](https://github.com/web-platform-tests/wpt/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+label%3Adocs+-label%3A%22mozilla%3Agecko-sync%22+-label%3A%22chromium-export%22+-label%3A%22webkit-export%22+-label%3A%22servo-export%22) Getting Involved ================ @@ -449,7 +449,7 @@ The mailing list is [archived][mailarchive]. Join us on irc #testing ([irc.w3.org][ircw3org], port 6665). The channel is [archived][ircarchive]. -[contributing]: https://github.com/w3c/web-platform-tests/blob/master/CONTRIBUTING.md +[contributing]: https://github.com/web-platform-tests/wpt/blob/master/CONTRIBUTING.md [ircw3org]: https://www.w3.org/wiki/IRC [ircarchive]: https://w3.logbot.info/testing [mailarchive]: https://lists.w3.org/Archives/Public/public-test-infra/ diff --git a/tests/wpt/web-platform-tests/annotation-model/CONTRIBUTING.md b/tests/wpt/web-platform-tests/annotation-model/CONTRIBUTING.md index f591d2a9702..45a338f3a45 100644 --- a/tests/wpt/web-platform-tests/annotation-model/CONTRIBUTING.md +++ b/tests/wpt/web-platform-tests/annotation-model/CONTRIBUTING.md @@ -52,7 +52,7 @@ Context](JSONtest-v1.jsonld). That context defines the following terms: |name | string | The name of this test for display purposes |description | string | A long self-describing paragraph that explains the purpose of the test and the expected input |ref | URI | An optional reference to the portion of the specification to which the test relates -|testType | `automated`, `manual`, `ref` | The type of test - this informs [WPT](https://github.com/w3c/web-platform-tests) how the test should be controlled and presented +|testType | `automated`, `manual`, `ref` | The type of test - this informs [WPT](https://github.com/web-platform-tests/wpt) how the test should be controlled and presented |skipFailures | list of strings | An optional list of assertionType values that, if present, should have their test skipped if the result would be "unexpected". Defaults to the empty list. |assertions | list of URI, List @@@ATRISK@@@, or AssertionObject | The ordered collection of tests the input should be run against. See [JSON Schema Usage](#jsonSchema) for the structure of the objects. URI is relative to the top level folder of the test collection if it has a slash; relative to the current directory if it does not. @@@@ATRISK@@@@ Lists can be nested to define groups of sub-tests. Assertions / groups can be conditionally skipped. See [Assertion Lists](#assertionLists) for more details. |content | URI or object | An object containing content to be checked against the referenced assertions, or a URI from which to retrieve that content diff --git a/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py b/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py index df31eab22af..af89c80f994 100644 --- a/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py +++ b/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import os ccdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -# based on https://github.com/w3c/web-platform-tests/blob/275544eab54a0d0c7f74ccc2baae9711293d8908/url/urltestdata.txt +# based on https://github.com/web-platform-tests/wpt/blob/275544eab54a0d0c7f74ccc2baae9711293d8908/url/urltestdata.txt invalid = { "scheme-trailing-space": "a: foo.com", "scheme-trailing-tab": "a:\tfoo.com", diff --git a/tests/wpt/web-platform-tests/content-security-policy/README.html b/tests/wpt/web-platform-tests/content-security-policy/README.html index e2c3e38c6b4..becc48b65ac 100644 --- a/tests/wpt/web-platform-tests/content-security-policy/README.html +++ b/tests/wpt/web-platform-tests/content-security-policy/README.html @@ -14,7 +14,7 @@ <body> <h1>Introduction to Writing Content Security Policy Tests</h1> <p>The CSP test suite uses the standard W3C testharness.js framework, but there are a few additional things you'll need to do because of the unique way CSP works, even if you're already an expert at writing W3C tests. These tests require the use of the - <a href="https://github.com/w3c/wptserve">wptserve</a> server (included in the <a href="https://github.com/w3c/web-platform-tests">web-platform-tests repository</a>) to operate correctly.</p> + <a href="https://github.com/w3c/wptserve">wptserve</a> server (included in the <a href="https://github.com/web-platform-tests/wpt">web-platform-tests repository</a>) to operate correctly.</p> <h2>What's different about writing CSP tests?</h2> 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.window.js index 8f3f6f5656c..974d16bc2cb 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index 306fc1e5d00..7f6d2d919d4 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index de544491c56..f84b2e06745 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index 8e8c9c1dd7b..2a5cb5d064f 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index 650d6eb901d..4519a1eabda 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index a70c11975f3..aa0a4ea9a03 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index f50bb518ee9..66d815f3053 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index e039d817023..fc9645d3e2e 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index 1fa834a354d..2a082de9d30 100644 --- 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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 index 443341edc6c..c013b720094 100644 --- 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 @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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 index 0774a71ef8d..0bef0b18dbc 100644 --- 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 @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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.window.js index c2564304635..9656acfa8e9 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.window.js @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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 index fdbe2d92c31..6f3e6f4980e 100644 --- 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 @@ -1,7 +1,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); diff --git a/tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html b/tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html index 57202da95fa..82fd2e6358d 100644 --- a/tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html +++ b/tests/wpt/web-platform-tests/cookie-store/document_getAll_multiple.tentative.html @@ -9,7 +9,7 @@ 'use strict'; // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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 3f1b0ff4636..a2affed5eac 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 @@ -19,7 +19,7 @@ self.addEventListener('install', (event) => { }); // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); 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 68edc0e30ff..2b602f4c5f0 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 @@ -12,7 +12,7 @@ self.addEventListener('install', (event) => { }); // Workaround because add_cleanup doesn't support async functions yet. -// See https://github.com/w3c/web-platform-tests/issues/6075 +// See https://github.com/web-platform-tests/wpt/issues/6075 async function async_cleanup(cleanup_function) { try { await cleanup_function(); diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-001-manual.html index af64b9e7220..af64b9e7220 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-002-manual.html index 32b3ae48cf2..32b3ae48cf2 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-003-manual.html index 7b90c04bbc8..7b90c04bbc8 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-004-manual.html index 9eaab1448c2..9eaab1448c2 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-005-manual.html index 7c41bdf6774..7c41bdf6774 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-006-manual.html index 1be2e380e9a..1be2e380e9a 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-007.html b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-007-manual.html index a5549d5ff55..a5549d5ff55 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-delay-007.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-delay-007-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-001-manual.html index 5e1ebde7b17..5e1ebde7b17 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-002-manual.html index 8ed910be30d..8ed910be30d 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-003-manual.html index 12a5bd5fa18..12a5bd5fa18 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-004-manual.html index 83c6664d78f..83c6664d78f 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-005-manual.html index b6ec869fc2d..b6ec869fc2d 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-006-manual.html index c1173409a87..c1173409a87 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-direction-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-direction-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-display.html b/tests/wpt/web-platform-tests/css/css-animations/animation-display-manual.html index e62b44dfa1a..e62b44dfa1a 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-display.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-display-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-001-manual.html index d012b907cb5..d012b907cb5 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-002-manual.html index d0e7de10184..d0e7de10184 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-003-manual.html index 72e1070f1fb..72e1070f1fb 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-004-manual.html index eda2a2c7381..eda2a2c7381 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-005-manual.html index ea6a331c8eb..ea6a331c8eb 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-006-manual.html index 2ad017b1fdd..2ad017b1fdd 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-007.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-007-manual.html index 94d71796dc3..94d71796dc3 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-007.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-007-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-008.html b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-008-manual.html index b5a8dba02a9..b5a8dba02a9 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-duration-008.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-duration-008-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-001-manual.html index 7c38164b2d8..7c38164b2d8 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-002-manual.html index 753d93750a2..753d93750a2 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-003-manual.html index bd5a93245b3..bd5a93245b3 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-004-manual.html index 77f8f49b705..77f8f49b705 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-005-manual.html index c5e2172b310..c5e2172b310 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-006-manual.html index 4bf4b0b0ecc..4bf4b0b0ecc 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-fill-mode-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-001-manual.html index bcbc9eb122c..bcbc9eb122c 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-002-manual.html index 1d62e77c31d..1d62e77c31d 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-003-manual.html index 75b07b93a0a..75b07b93a0a 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-004-manual.html index e1edfc7a2a1..e1edfc7a2a1 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-005-manual.html index 4bd79cfc0d8..4bd79cfc0d8 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-006-manual.html index 0c0c4033333..0c0c4033333 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-007.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-007-manual.html index bb748d84ad0..bb748d84ad0 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-007.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-007-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-008.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-008-manual.html index 645ac557cae..645ac557cae 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-008.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-count-008-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-event.html b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-event-manual.html index e7845ea2e26..e7845ea2e26 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-event.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-iteration-event-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-001-manual.html index eee2d42946f..eee2d42946f 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-002-manual.html index 544031304bc..544031304bc 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-003-manual.html index b0c26ab4a1b..b0c26ab4a1b 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-keyframes-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-name-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-name-001-manual.html index f2cf502aa8e..f2cf502aa8e 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-name-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-name-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-name-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-name-002-manual.html index 0315bcc1368..0315bcc1368 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-name-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-name-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-name-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-name-003-manual.html index df89724a936..df89724a936 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-name-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-name-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-name-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-name-004-manual.html index aab4974a0b7..aab4974a0b7 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-name-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-name-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-name-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-name-005-manual.html index f72cf10f4c4..f72cf10f4c4 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-name-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-name-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-name-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-name-006-manual.html index b1d2258f4d7..b1d2258f4d7 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-name-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-name-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-001-manual.html index 779f2fe3102..779f2fe3102 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-002-manual.html index 05837727c9c..05837727c9c 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-003-manual.html index 8a1f7194799..8a1f7194799 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-004-manual.html index 27ca389deca..27ca389deca 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-play-state-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-001-manual.html index 0a947efe84e..0a947efe84e 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-002-manual.html index 55824f9fc18..55824f9fc18 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-003-manual.html index 651e5325bd2..651e5325bd2 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-shorthand-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-001.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-001-manual.html index c9987250dda..c9987250dda 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-001.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-001-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-002.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-002-manual.html index d62bd7186ee..d62bd7186ee 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-002.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-002-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-003.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-003-manual.html index 40eec103db6..40eec103db6 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-003.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-003-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-004.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-004-manual.html index 833b9022527..833b9022527 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-004.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-004-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-005.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-005-manual.html index 4ae04758cbe..4ae04758cbe 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-005.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-005-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-006.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-006-manual.html index f746e89bddd..f746e89bddd 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-006.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-006-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-007.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-007-manual.html index dee9328741c..dee9328741c 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-007.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-007-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-008.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-008-manual.html index 77a4e11be82..77a4e11be82 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-008.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-008-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-009.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-009-manual.html index 138e6f61aaa..138e6f61aaa 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-009.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-009-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-010.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-010-manual.html index eed5b76adb6..eed5b76adb6 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-010.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-010-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-011.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-011-manual.html index dfca3921a2e..dfca3921a2e 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-011.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-011-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-012.html b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-012-manual.html index 24ffa39e93b..24ffa39e93b 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-012.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animation-timing-function-012-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-animations/animationstart-and-animationend-events.html b/tests/wpt/web-platform-tests/css/css-animations/animationstart-and-animationend-events-manual.html index 4ca5eb736e7..4ca5eb736e7 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/animationstart-and-animationend-events.html +++ b/tests/wpt/web-platform-tests/css/css-animations/animationstart-and-animationend-events-manual.html diff --git a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html index 4c8c13e9987..da02e759d8e 100644 --- a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html +++ b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size-vlr.html @@ -6,62 +6,41 @@ <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/style-check.js"></script> +<script src="/resources/check-layout-th.js"></script> <style> -div { +.block { border: 1px solid #000; writing-mode: vertical-lr; } -#div1 { +#block1 { block-size: 40px; min-block-size: 50px; max-block-size: 100px; } -#div2 { +#block2 { block-size: 100px; min-block-size: 50px; max-block-size: 100px; } -#div3 { +#block3 { block-size: 120px; min-block-size: 50px; max-block-size: 100px; } -#ref_div1 { - width: 40px; - min-width: 50px; - max-width: 100px; -} -#ref_div2 { - width: 100px; - min-width: 50px; - max-width: 100px; -} -#ref_div3 { - width: 120px; - min-width: 50px; - max-width: 100px; -} -p { +.override { border: 1px solid #000; writing-mode: vertical-lr; } -#p1 { +#override1 { block-size: 100px; width: 50px; } -#p2 { +#override2 { width: 50px; block-size: 100px; } -#ref_p1 { - width: 50px; -} -#ref_p2 { - width: 100px; -} .table { border: 1px solid #000; @@ -70,7 +49,6 @@ p { } .tablecell { display: table-cell; - writing-mode: vertical-lr; } #table1_cell { block-size: 40px; @@ -93,75 +71,52 @@ p { inline-size: 100px; background-color: green; } -#ref_table1_cell { - width: 40px; - min-width: 50px; - max-width: 100px; - height: 100px; - background-color: red; -} -#ref_table2_cell { - width: 100px; - min-width: 50px; - max-width: 100px; - height: 100px; - background-color: blue; -} -#ref_table3_cell { - width: 120px; - min-width: 50px; - max-width: 100px; - height: 100px; - background-color: green; -} </style> -<div id="div1"></div> -<div id="div2"></div> -<div id="div3"></div> -<div id="ref_div1"></div> -<div id="ref_div2"></div> -<div id="ref_div3"></div> +<div id="log"></div> -<p id="p1"></div> -<p id="p2"></div> -<p id="ref_p1"></div> -<p id="ref_p2"></div> +<h3>Maximum and minimim block sizes in blocks with vertical-lr</h3> +<div> + <p><code>block-size</code> < <code>min-block-size</code></p> + <div class="block" id="block1" data-expected-client-width="50" data-expected-client-height="0"></div> -<div class="table"> - <div class="tablecell" id="table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table2_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table3_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table2_cell"></div> + <p><code>min-block-size</code> < <code>block-size</code> ≤ <code>max-block-size</code></p> + <div class="block" id="block2" data-expected-client-width="100" data-expected-client-height="0"></div> + + <p><code>block-size</code> > <code>max-block-size</code></p> + <div class="block" id="block3" data-expected-client-width="100" data-expected-client-height="0"></div> </div> -<div class="table"> - <div class="tablecell" id="ref_table3_cell"></div> + +<h3>Overridance of <code>width</code> and <code>block-size</code> in vertical-lr</h3> +<div> + <p>Check that <code>width</code> overrides <code>block-size</code></p> + <div class="override" id="override1" data-expected-client-width="50" data-expected-client-height="0"></div> + + <p>Check that <code>block-size</code> overrides <code>width</code></p> + <div class="override" id="override2" data-expected-client-width="100" data-expected-client-height="0"></div> </div> -<script> -test(function () { - assert_true(compareWidthHeight("div1", "ref_div1")); - assert_true(compareWidthHeight("div2", "ref_div2")); - assert_true(compareWidthHeight("div3", "ref_div3")); -}, "Check that block-size < min-block-size or min-block-size < block-size <= max-block-size or block-size > max-block-size in vertical-lr"); +<h3>Maximum and minimim block sizes in table cells with vertical-lr</h3> +<div> + <p><code>block-size</code> < <code>min-block-size</code></p> + <div class="table"> + <div class="tablecell" id="table1_cell" data-expected-client-width="40" data-expected-client-height="100"></div> + </div> -test(function () { - assert_true(compareWidthHeight("p1", "ref_p1")); - assert_true(compareWidthHeight("p2", "ref_p2")); -}, "Check that width override block-size and vice versa in vertical-lr"); + <p><code>min-block-size</code> < <code>block-size</code> ≤ <code>max-block-size</code></p> + <div class="table"> + <div class="tablecell" id="table2_cell" data-expected-client-width="100" data-expected-client-height="100"></div> + </div> -test(function () { - assert_true(compareWidthHeight("table1_cell", "ref_table1_cell")); - assert_true(compareWidthHeight("table2_cell", "ref_table2_cell")); - assert_true(compareWidthHeight("table3_cell", "ref_table3_cell")); -}, "Check that block-size < min-block-size or min-block-size < block-size <= max-block-size or block-size > max-block-size in table vertical-lr"); + <p><code>block-size</code> > <code>max-block-size</code></p> + <div class="table"> + <div class="tablecell" id="table3_cell" data-expected-client-width="120" data-expected-client-height="100"></div> + </div> +</div> + +<script> +checkLayout(".block", false); +checkLayout(".override", false); +checkLayout(".tablecell", false); +done(); </script> diff --git a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size.html b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size.html index 66cb318e93d..8d90c07a983 100644 --- a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size.html +++ b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-block-size.html @@ -6,60 +6,43 @@ <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/style-check.js"></script> +<script src="/resources/check-layout-th.js"></script> <style> -div { +.tests { + width: 600px; +} + +.block { border: 1px solid #000; } -#div1 { +#block1 { block-size: 40px; min-block-size: 50px; max-block-size: 100px; } -#div2 { +#block2 { block-size: 100px; min-block-size: 50px; max-block-size: 100px; } -#div3 { +#block3 { block-size: 120px; min-block-size: 50px; max-block-size: 100px; } -#ref_div1 { - height: 40px; - min-height: 50px; - max-height: 100px; -} -#ref_div2 { - height: 100px; - min-height: 50px; - max-height: 100px; -} -#ref_div3 { - height: 120px; - min-height: 50px; - max-height: 100px; -} -p { +.override { border: 1px solid #000; } -#p1 { +#override1 { block-size: 100px; height: 50px; } -#p2 { +#override2 { height: 50px; block-size: 100px; } -#ref_p1 { - height: 50px; -} -#ref_p2 { - height: 100px; -} .table { border: 1px solid #000; @@ -89,75 +72,52 @@ p { inline-size: 100px; background-color: green; } -#ref_table1_cell { - height: 40px; - min-height: 50px; - max-height: 100px; - width: 100px; - background-color: red; -} -#ref_table2_cell { - height: 100px; - min-height: 50px; - max-height: 100px; - width: 100px; - background-color: blue; -} -#ref_table3_cell { - height: 120px; - min-height: 50px; - max-height: 100px; - width: 100px; - background-color: green; -} </style> -<div id="div1"></div> -<div id="div2"></div> -<div id="div3"></div> -<div id="ref_div1"></div> -<div id="ref_div2"></div> -<div id="ref_div3"></div> +<div id="log"></div> -<p id="p1"></div> -<p id="p2"></div> -<p id="ref_p1"></div> -<p id="ref_p2"></div> +<h3>Maximum and minimim block sizes in blocks</h3> +<div class="tests"> + <p><code>block-size</code> < <code>min-block-size</code></p> + <div class="block" id="block1" data-expected-width="600" data-expected-client-height="50"></div> -<div class="table"> - <div class="tablecell" id="table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table2_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table3_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table2_cell"></div> + <p><code>min-block-size</code> < <code>block-size</code> ≤ <code>max-block-size</code></p> + <div class="block" id="block2" data-expected-width="600" data-expected-client-height="100"></div> + + <p><code>block-size</code> > <code>max-block-size</code></p> + <div class="block" id="block3" data-expected-width="600" data-expected-client-height="100"></div> </div> -<div class="table"> - <div class="tablecell" id="ref_table3_cell"></div> + +<h3>Overridance of <code>height</code> and <code>block-size</code></h3> +<div class="tests"> + <p>Check that <code>height</code> overrides <code>block-size</code></p> + <div class="override" id="override1" data-expected-width="600" data-expected-client-height="50"></div> + + <p>Check that <code>block-size</code> overrides <code>height</code></p> + <div class="override" id="override2" data-expected-width="600" data-expected-client-height="100"></div> </div> -<script> -test(function () { - assert_true(compareWidthHeight("div1", "ref_div1")); - assert_true(compareWidthHeight("div2", "ref_div2")); - assert_true(compareWidthHeight("div3", "ref_div3")); -}, "Check that block-size < min-block-size or min-block-size < block-size <= max-block-size or block-size > max-block-size"); +<h3>Maximum and minimim block sizes in table cells</h3> +<div class="tests"> + <p><code>block-size</code> < <code>min-block-size</code></p> + <div class="table"> + <div class="tablecell" id="table1_cell" data-expected-client-width="100" data-expected-client-height="40"></div> + </div> -test(function () { - assert_true(compareWidthHeight("p1", "ref_p1")); - assert_true(compareWidthHeight("p2", "ref_p2")); -}, "Check that height override block-size and vice versa"); + <p><code>min-block-size</code> < <code>block-size</code> ≤ <code>max-block-size</code></p> + <div class="table"> + <div class="tablecell" id="table2_cell" data-expected-client-width="100" data-expected-client-height="100"></div> + </div> -test(function () { - assert_true(compareWidthHeight("table1_cell", "ref_table1_cell")); - assert_true(compareWidthHeight("table2_cell", "ref_table2_cell")); - assert_true(compareWidthHeight("table3_cell", "ref_table3_cell")); -}, "Check that block-size < min-block-size or min-block-size < block-size <= max-block-size or block-size > max-block-size in table"); + <p><code>block-size</code> > <code>max-block-size</code></p> + <div class="table"> + <div class="tablecell" id="table3_cell" data-expected-client-width="100" data-expected-client-height="120"></div> + </div> +</div> + +<script> +checkLayout(".block", false); +checkLayout(".override", false); +checkLayout(".tablecell", false); +done(); </script> diff --git a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html index 09e17009c97..0a53dbbc5cf 100644 --- a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html +++ b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size-vlr.html @@ -6,62 +6,41 @@ <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/style-check.js"></script> +<script src="/resources/check-layout-th.js"></script> <style> -div { +.block { border: 1px solid #000; writing-mode: vertical-lr; } -#div1 { +#block1 { inline-size: 40px; min-inline-size: 50px; max-inline-size: 100px; } -#div2 { +#block2 { inline-size: 100px; min-inline-size: 50px; max-inline-size: 100px; } -#div3 { +#block3 { inline-size: 120px; min-inline-size: 50px; max-inline-size: 100px; } -#ref_div1 { - height: 40px; - min-height: 50px; - max-height: 100px; -} -#ref_div2 { - height: 100px; - min-height: 50px; - max-height: 100px; -} -#ref_div3 { - height: 120px; - min-height: 50px; - max-height: 100px; -} -p { +.override { border: 1px solid #000; writing-mode: vertical-lr; } -#p1 { +#override1 { inline-size: 100px; height: 50px; } -#p2 { +#override2 { height: 50px; inline-size: 100px; } -#ref_p1 { - height: 50px; -} -#ref_p2 { - height: 100px; -} .table { border: 1px solid #000; @@ -70,7 +49,6 @@ p { } .tablecell { display: table-cell; - writing-mode: vertical-lr; } #table1_cell { inline-size: 40px; @@ -93,75 +71,52 @@ p { block-size: 100px; background-color: green; } -#ref_table1_cell { - height: 40px; - min-height: 50px; - max-height: 100px; - width: 100px; - background-color: red; -} -#ref_table2_cell { - height: 100px; - min-height: 50px; - max-height: 100px; - width: 100px; - background-color: blue; -} -#ref_table3_cell { - height: 120px; - min-height: 50px; - max-height: 100px; - width: 100px; - background-color: green; -} </style> -<div id="div1"></div> -<div id="div2"></div> -<div id="div3"></div> -<div id="ref_div1"></div> -<div id="ref_div2"></div> -<div id="ref_div3"></div> +<div id="log"></div> -<p id="p1"></div> -<p id="p2"></div> -<p id="ref_p1"></div> -<p id="ref_p2"></div> +<h3>Maximum and minimim inline sizes in blocks with vertical-lr</h3> +<div> + <p><code>inline-size</code> < <code>min-inline-size</code></p> + <div class="block" id="block1" data-expected-client-width="0" data-expected-client-height="50"></div> -<div class="table"> - <div class="tablecell" id="table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table2_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table3_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table2_cell"></div> + <p><code>min-inline-size</code> < <code>inline-size</code> ≤ <code>max-inline-size</code></p> + <div class="block" id="block2" data-expected-client-width="0" data-expected-client-height="100"></div> + + <p><code>inline-size</code> > <code>max-inline-size</code></p> + <div class="block" id="block3" data-expected-client-width="0" data-expected-client-height="100"></div> </div> -<div class="table"> - <div class="tablecell" id="ref_table3_cell"></div> + +<h3>Overridance of <code>height</code> and <code>inline-size</code> in vertical-lr</h3> +<div> + <p>Check that <code>height</code> overrides <code>inline-size</code></p> + <div class="override" id="override1" data-expected-client-width="0" data-expected-client-height="50"></div> + + <p>Check that <code>inline-size</code> overrides <code>height</code></p> + <div class="override" id="override2" data-expected-client-width="0" data-expected-client-height="100"></div> </div> -<script> -test(function () { - assert_true(compareWidthHeight("div1", "ref_div1")); - assert_true(compareWidthHeight("div2", "ref_div2")); - assert_true(compareWidthHeight("div3", "ref_div3")); -}, "Check that inline-size < min-inline-size or min-inline-size < inline-size <= max-inline-size or inline-size > max-inline-size in vertical-lr"); +<h3>Maximum and minimim inline sizes in table cells with vertical-lr</h3> +<div> + <p><code>inline-size</code> < <code>min-inline-size</code></p> + <div class="table"> + <div class="tablecell" id="table1_cell" data-expected-client-width="100" data-expected-client-height="50"></div> + </div> -test(function () { - assert_true(compareWidthHeight("p1", "ref_p1")); - assert_true(compareWidthHeight("p2", "ref_p2")); -}, "Check that height override inline-size and vice versa in vertical-lr"); + <p><code>min-inline-size</code> < <code>inline-size</code> ≤ <code>max-inline-size</code></p> + <div class="table"> + <div class="tablecell" id="table2_cell" data-expected-client-width="100" data-expected-client-height="100"></div> + </div> -test(function () { - assert_true(compareWidthHeight("table1_cell", "ref_table1_cell")); - assert_true(compareWidthHeight("table2_cell", "ref_table2_cell")); - assert_true(compareWidthHeight("table3_cell", "ref_table3_cell")); -}, "Check that inline-size < min-inline-size or min-inline-size < inline-size <= max-inline-size or inline-size > max-inline-size in table vertical-lr"); + <p><code>inline-size</code> > <code>max-inline-size</code></p> + <div class="table"> + <div class="tablecell" id="table3_cell" data-expected-client-width="100" data-expected-client-height="100"></div> + </div> +</div> + +<script> +checkLayout(".block", false); +checkLayout(".override", false); +checkLayout(".tablecell", false); +done(); </script> diff --git a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size.html b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size.html index 32ede09cd6d..3ec169924af 100644 --- a/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size.html +++ b/tests/wpt/web-platform-tests/css/css-logical/logicalprops-inline-size.html @@ -6,60 +6,39 @@ <link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#logical-to-physical"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/style-check.js"></script> +<script src="/resources/check-layout-th.js"></script> <style> -div { +.block { border: 1px solid #000; } -#div1 { +#block1 { inline-size: 40px; min-inline-size: 50px; max-inline-size: 100px; } -#div2 { +#block2 { inline-size: 100px; min-inline-size: 50px; max-inline-size: 100px; } -#div3 { +#block3 { inline-size: 120px; min-inline-size: 50px; max-inline-size: 100px; } -#ref_div1 { - width: 40px; - min-width: 50px; - max-width: 100px; -} -#ref_div2 { - width: 100px; - min-width: 50px; - max-width: 100px; -} -#ref_div3 { - width: 120px; - min-width: 50px; - max-width: 100px; -} -p { +.override { border: 1px solid #000; } -#p1 { +#override1 { inline-size: 100px; width: 50px; } -#p2 { +#override2 { width: 50px; inline-size: 100px; } -#ref_p1 { - width: 50px; -} -#ref_p2 { - width: 100px; -} .table { border: 1px solid #000; @@ -89,75 +68,52 @@ p { block-size: 100px; background-color: green; } -#ref_table1_cell { - width: 40px; - min-width: 50px; - max-width: 100px; - height: 100px; - background-color: red; -} -#ref_table2_cell { - width: 100px; - min-width: 50px; - max-width: 100px; - height: 100px; - background-color: blue; -} -#ref_table3_cell { - width: 120px; - min-width: 50px; - max-width: 100px; - height: 100px; - background-color: green; -} </style> -<div id="div1"></div> -<div id="div2"></div> -<div id="div3"></div> -<div id="ref_div1"></div> -<div id="ref_div2"></div> -<div id="ref_div3"></div> +<div id="log"></div> -<p id="p1"></div> -<p id="p2"></div> -<p id="ref_p1"></div> -<p id="ref_p2"></div> +<h3>Maximum and minimim inline sizes in blocks</h3> +<div> + <p><code>inline-size</code> < <code>min-inline-size</code></p> + <div class="block" id="block1" data-expected-client-width="50" data-expected-client-height="0"></div> -<div class="table"> - <div class="tablecell" id="table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table2_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="table3_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table1_cell"></div> -</div> -<div class="table"> - <div class="tablecell" id="ref_table2_cell"></div> + <p><code>min-inline-size</code> < <code>inline-size</code> ≤ <code>max-inline-size</code></p> + <div class="block" id="block2" data-expected-client-width="100" data-expected-client-height="0"></div> + + <p><code>inline-size</code> > <code>max-inline-size</code></p> + <div class="block" id="block3" data-expected-client-width="100" data-expected-client-height="0"></div> </div> -<div class="table"> - <div class="tablecell" id="ref_table3_cell"></div> + +<h3>Overridance of <code>width</code> and <code>inline-size</code></h3> +<div> + <p>Check that <code>width</code> overrides <code>inline-size</code></p> + <div class="override" id="override1" data-expected-client-width="50" data-expected-client-height="0"></div> + + <p>Check that <code>inline-size</code> overrides <code>width</code></p> + <div class="override" id="override2" data-expected-client-width="100" data-expected-client-height="0"></div> </div> -<script> -test(function () { - assert_true(compareWidthHeight("div1", "ref_div1")); - assert_true(compareWidthHeight("div2", "ref_div2")); - assert_true(compareWidthHeight("div3", "ref_div3")); -}, "Check that inline-size < min-inline-size or min-inline-size < inline-size <= max-inline-size or inline-size > max-inline-size"); +<h3>Maximum and minimim inline sizes in table cells</h3> +<div> + <p><code>inline-size</code> < <code>min-inline-size</code></p> + <div class="table"> + <div class="tablecell" id="table1_cell" data-expected-client-width="50" data-expected-client-height="100"></div> + </div> -test(function () { - assert_true(compareWidthHeight("p1", "ref_p1")); - assert_true(compareWidthHeight("p2", "ref_p2")); -}, "Check that width override inline-size and vice versa"); + <p><code>min-inline-size</code> < <code>inline-size</code> ≤ <code>max-inline-size</code></p> + <div class="table"> + <div class="tablecell" id="table2_cell" data-expected-client-width="100" data-expected-client-height="100"></div> + </div> -test(function () { - assert_true(compareWidthHeight("table1_cell", "ref_table1_cell")); - assert_true(compareWidthHeight("table2_cell", "ref_table2_cell")); - assert_true(compareWidthHeight("table3_cell", "ref_table3_cell")); -}, "Check that inline-size < min-inline-size or min-inline-size < inline-size <= max-inline-size or inline-size > max-inline-size in table"); + <p><code>inline-size</code> > <code>max-inline-size</code></p> + <div class="table"> + <div class="tablecell" id="table3_cell" data-expected-client-width="100" data-expected-client-height="100"></div> + </div> +</div> + +<script> +checkLayout(".block", false); +checkLayout(".override", false); +checkLayout(".tablecell", false); +done(); </script> diff --git a/tests/wpt/web-platform-tests/css/css-logical/resources/style-check.js b/tests/wpt/web-platform-tests/css/css-logical/resources/style-check.js deleted file mode 100644 index cd129fd51b8..00000000000 --- a/tests/wpt/web-platform-tests/css/css-logical/resources/style-check.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -function compareWidthHeight(id1, id2) { - var element1 = document.getElementById(id1); - var style1 = getComputedStyle(element1); - var element2 = document.getElementById(id2); - var style2 = getComputedStyle(element2); - return (style1.width == style2.width) && - (style1.height == style2.height) -} diff --git a/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html b/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html index b37ef4d365c..388d1c78689 100644 --- a/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html +++ b/tests/wpt/web-platform-tests/css/css-regions/test-plan/index.html @@ -163,7 +163,7 @@ <h3>Big number of tests required</h3> <div class="note"> Add here the estimation of tests required produced by - <a href="https://github.com/w3c/web-platform-tests/tree/master/tools/coverage" target="_blank">W3C test coverage</a> + <a href="https://github.com/web-platform-tests/wpt/tree/master/tools/coverage" target="_blank">W3C test coverage</a> tool. If possible, provide a better informed guess on the number of tests. </div> <p> diff --git a/tests/wpt/web-platform-tests/css/css-scoping/resources/host-green-box.css b/tests/wpt/web-platform-tests/css/css-scoping/resources/host-green-box.css new file mode 100644 index 00000000000..a77b3fdc643 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scoping/resources/host-green-box.css @@ -0,0 +1,5 @@ +:host { + background: green; + width: 100px; + height: 100px; +} diff --git a/tests/wpt/web-platform-tests/css/css-scoping/shadow-at-import.html b/tests/wpt/web-platform-tests/css/css-scoping/shadow-at-import.html new file mode 100644 index 00000000000..1adf516311f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scoping/shadow-at-import.html @@ -0,0 +1,13 @@ +<!doctype html> +<title>CSS Test: @import in Shadow DOM</title> +<link rel="help" href="https://drafts.csswg.org/css-cascade/#at-import"> +<link rel="match" href="reference/green-box.html"/> +<p>Test passes if you see a single 100px by 100px green box below.</p> +<div id="host">FAIL</div> +<script> + host.attachShadow({ mode: "open" }).innerHTML = ` + <style> + @import url("resources/host-green-box.css"); + </style> + `; +</script> diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/OWNERS b/tests/wpt/web-platform-tests/css/css-scrollbars/OWNERS new file mode 100644 index 00000000000..8a5dc677fbe --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/OWNERS @@ -0,0 +1 @@ +@tantek diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html b/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html new file mode 100644 index 00000000000..74c02f994e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<style> +body { + scrollbar-track-color: blue; + scrollbar-face-color: yellow; +} +html, body { + margin: 0; + padding: 0; +} +#inner { + width: 400px; + height: 400px; +} +</style> +<body> +<div id="inner"></div> +</body> diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-frame.html b/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-frame.html new file mode 100644 index 00000000000..95101024b4f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-frame.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<style> +html { + scrollbar-track-color: blue; + scrollbar-face-color: yellow; +} +html, body { + margin: 0; + padding: 0; +} +#inner { + width: 400px; + height: 400px; +} +</style> +<div id="inner"></div> diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-body-ref.html b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-body-ref.html new file mode 100644 index 00000000000..4e07903e2ca --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-body-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>CSS Reference: unstyled scrollbars</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-color-properties"> +<style> +#outer { + border: 1px solid black; + width: 200px; height: 200px; + overflow: scroll; +} +#inner { + width: 400px; height: 400px; +} +</style> +<p>Test passes if the scrollbars in the following box are NOT styled:</p> +<div id="outer"> + <div id="inner"> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-body.html b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-body.html new file mode 100644 index 00000000000..a1b3aee871a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-body.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>CSS Test: scrollbar style on body element should not be propagated to the viewport</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-color-properties"> +<link rel="match" href="viewport-scrollbar-body-ref.html"> +<style> +iframe { + border: 1px solid black; + width: 200px; height: 200px; +} +</style> +<p>Test passes if the scrollbars in the following box are NOT styled:</p> +<iframe src="support/viewport-scrollbar-body-frame.html"></iframe> diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-ref.html b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-ref.html new file mode 100644 index 00000000000..42463d309b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>CSS Reference: styled scrollbars</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-color-properties"> +<style> +#outer { + border: 1px solid black; + width: 200px; height: 200px; + overflow: scroll; + scrollbar-track-color: blue; + scrollbar-face-color: yellow; +} +#inner { + width: 400px; height: 400px; +} +</style> +<p>Test passes if the scrollbars in the following box are styled:</p> +<div id="outer"> + <div id="inner"> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar.html b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar.html new file mode 100644 index 00000000000..500da7a9f95 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/viewport-scrollbar.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>CSS Test: scrollbar style on root element should be propagated to the viewport</title> +<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org"> +<link rel="help" href="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-color-properties"> +<link rel="match" href="viewport-scrollbar-ref.html"> +<style> +iframe { + border: 1px solid black; + width: 200px; height: 200px; +} +</style> +<p>Test passes if the scrollbars in the following box are styled:</p> +<iframe src="support/viewport-scrollbar-frame.html"></iframe> diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html new file mode 100644 index 00000000000..7e7a310f6b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-change-part-name.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS Shadow Parts - Invalidation Change Part Name</title> + <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly"> + <link href="http://www.google.com/" rel="author" title="Google"> + <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/shadow-helper.js"></script> + </head> + <body> + <style>#c-e::part(partp) { color: red; }</style> + <script>installCustomElement("custom-element", "custom-element-template");</script> + <template id="custom-element-template"> + <style>span { color: green; }</style> + <span id="part" part="partp">This text</span> + </template> + The following text should be green: + <div><custom-element id="c-e"></custom-element></div> + <script type="text/javascript"> + "use strict"; + test(function() { + var part = getElementByShadowIds(document, ["c-e", "part"]); + var before = window.getComputedStyle(part).color; + part.setAttribute("part", "new-partp"); + var after = window.getComputedStyle(part).color; + assert_not_equals(before, after); + }, "Part in selected host changed color"); + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html new file mode 100644 index 00000000000..e1f10e57dc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/invalidation-complex-selector.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + <head> + <title>CSS Shadow Parts - Invalidation Complex Selector</title> + <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly"> + <link href="http://www.google.com/" rel="author" title="Google"> + <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/shadow-helper.js"></script> + </head> + <body> + <style>#elem #c-e::part(partp) { color: red; }</style> + <script>installCustomElement("custom-element", "custom-element-template");</script> + <template id="custom-element-template"> + <style>span { color: green; }</style> + <span id="part" part="partp">This text</span> + </template> + The following text should be green: + <div id="elem"><custom-element id="c-e"></custom-element></div> + <script type="text/javascript"> + "use strict"; + test(function() { + var part = getElementByShadowIds(document, ["c-e", "part"]); + var before = window.getComputedStyle(part).color; + document.getElementById("elem").setAttribute("id", "new-elem"); + var after = window.getComputedStyle(part).color; + assert_not_equals(before, after); + }, "Part in selected host changed color"); + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform-box/view-box-mutation.html b/tests/wpt/web-platform-tests/css/css-transforms/transform-box/view-box-mutation.html new file mode 100644 index 00000000000..0d4a0ecdc2f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/transform-box/view-box-mutation.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<title>transform-box: view-box, viewport mutated</title> +<link rel="match" href="support/greensquare200x200.html"> +<link rel="help" href="https://drafts.csswg.org/css-transforms/#transform-box"> +<style> +#target { + transform-box: view-box; + transform: translate(-50%, 0); +} +</style> +<p>There should be a green 200x200 rectangle below, and no red.</p> +<svg width="400" height="200"> + <rect width="200" height="200" fill="red"/> + <rect id="target" x="100" width="200" height="200" fill="green"/> +</svg> +<script> +requestAnimationFrame(function() { + requestAnimationFrame(function() { + document.querySelector('svg').setAttribute('width', 200); + document.documentElement.classList.remove('reftest-wait'); + }); +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/test-plan/index.html b/tests/wpt/web-platform-tests/css/css-writing-modes/test-plan/index.html index 95c7cf10a51..926b62e9970 100644 --- a/tests/wpt/web-platform-tests/css/css-writing-modes/test-plan/index.html +++ b/tests/wpt/web-platform-tests/css/css-writing-modes/test-plan/index.html @@ -298,7 +298,7 @@ table.simple { <h3>Big number of tests required</h3> <div class="note"> Add here the estimation of tests required produced by - <a href="https://github.com/w3c/web-platform-tests/tree/master/tools/coverage" target="_blank">W3C test coverage</a> + <a href="https://github.com/web-platform-tests/wpt/tree/master/tools/coverage" target="_blank">W3C test coverage</a> tool. If possible, provide a better informed guess on the number of tests. </div> <p> diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-smooth.html b/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-smooth.html index 8799b8bd7a7..70343cb4253 100644 --- a/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-smooth.html +++ b/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-smooth.html @@ -45,13 +45,13 @@ promise_test(t => { window.scrollTo(0, 0); var expected_x = content.offsetLeft + content_width - window_width; var expected_y = content.offsetTop + content_height - window_height; - assert_not_equals(window.scrollX, expected_x); - assert_not_equals(window.scrollY, expected_y); + assert_not_equals(window.scrollX, expected_x, "scrollX"); + assert_not_equals(window.scrollY, expected_y, "scrollY"); content.scrollIntoView({behavior: "smooth", block: "nearest", inline: "nearest"}); return waitForScrollEnd().then(() => { - assert_approx_equals(window.scrollX, expected_x, 1); - assert_approx_equals(window.scrollY, expected_y, 1); + assert_approx_equals(window.scrollX, expected_x, 1, "scrollX"); + assert_approx_equals(window.scrollY, expected_y, 1, "scrollY"); }); }, "Smooth scrollIntoView should scroll the element to the 'nearest' position"); @@ -59,13 +59,13 @@ promise_test(t => { window.scrollTo(0, 0); var expected_x = content.offsetLeft; var expected_y = content.offsetTop; - assert_not_equals(window.scrollX, expected_x); - assert_not_equals(window.scrollY, expected_y); + assert_not_equals(window.scrollX, expected_x, "scrollX"); + assert_not_equals(window.scrollY, expected_y, "scrollY"); content.scrollIntoView({behavior: "smooth", block: "start", inline: "start"}); return waitForScrollEnd().then(() => { - assert_approx_equals(window.scrollX, expected_x, 1); - assert_approx_equals(window.scrollY, expected_y, 1); + assert_approx_equals(window.scrollX, expected_x, 1, "scrollX"); + assert_approx_equals(window.scrollY, expected_y, 1, "scrollY"); }); }, "Smooth scrollIntoView should scroll the element to the 'start' position"); @@ -73,13 +73,13 @@ promise_test(t => { window.scrollTo(0, 0); var expected_x = content.offsetLeft + (content_width - window_width) / 2; var expected_y = content.offsetTop + (content_height - window_height) / 2; - assert_not_equals(window.scrollX, expected_x); - assert_not_equals(window.scrollY, expected_y); + assert_not_equals(window.scrollX, expected_x, "scrollX"); + assert_not_equals(window.scrollY, expected_y, "scrollY"); content.scrollIntoView({behavior: "smooth", block: "center", inline: "center"}); return waitForScrollEnd().then(() => { - assert_approx_equals(window.scrollX, expected_x, 1); - assert_approx_equals(window.scrollY, expected_y, 1); + assert_approx_equals(window.scrollX, expected_x, 1, "scrollX"); + assert_approx_equals(window.scrollY, expected_y, 1, "scrollY"); }); }, "Smooth scrollIntoView should scroll the element to the 'center' position"); @@ -87,15 +87,15 @@ promise_test(t => { window.scrollTo(0, 0); var expected_x = content.offsetLeft + content_width - window_width; var expected_y = content.offsetTop + content_height - window_height; - assert_not_equals(window.scrollX, expected_x); - assert_not_equals(window.scrollY, expected_y); + assert_not_equals(window.scrollX, expected_x, "scrollX"); + assert_not_equals(window.scrollY, expected_y, "scrollY"); content.scrollIntoView({behavior: "smooth", block: "end", inline: "end"}); return waitForScrollEnd().then(() => { - assert_approx_equals(window.scrollX, expected_x, 1); - assert_approx_equals(window.scrollY, expected_y, 1); + assert_approx_equals(window.scrollX, expected_x, 1, "scrollX"); + assert_approx_equals(window.scrollY, expected_y, 1, "scrollY"); }); }, "Smooth scrollIntoView should scroll the element to the 'end' position"); }); -</script>
\ No newline at end of file +</script> diff --git a/tests/wpt/web-platform-tests/css/cssom/at-namespace.html b/tests/wpt/web-platform-tests/css/cssom/at-namespace.html new file mode 100644 index 00000000000..04a8a2289aa --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom/at-namespace.html @@ -0,0 +1,29 @@ +<!doctype html> +<title>CSS Test: @namespace in CSSOM is not severely broken</title> +<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1464865"> +<link rel="help" href="https://drafts.csswg.org/cssom/#insert-a-css-rule"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style id="s"> + div { color: green } +</style> +<div>Should be green</div> +<script> +test(function() { + assert_throws("InvalidStateError", function() { + s.sheet.insertRule('@namespace myhtml url("http://www.w3.org/1999/xhtml")', 0); + }); + assert_equals(s.sheet.cssRules.length, 1, "Shouldn't have been inserted"); + assert_throws("SyntaxError", function() { + s.sheet.insertRule("myhtml|div { color: red !important }", 0); + }); + assert_equals(s.sheet.cssRules.length, 1); + assert_equals( + getComputedStyle(document.querySelector("div")).color, + "rgb(0, 128, 0)", + "Namespace shouldn't be registered" + ); +}); +</script> + diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-charset-no-index.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-charset-no-index.html index b94dc11afae..16f2358dc2d 100644 --- a/tests/wpt/web-platform-tests/css/cssom/insertRule-charset-no-index.html +++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-charset-no-index.html @@ -19,7 +19,7 @@ sheet.insertRule("p { color: green; }"); assert_equals(sheet.cssRules.length, 1); assert_equals(sheet.cssRules.item(0).cssText, "p { color: green; }"); - }, "inserRule with charset and omitted index argument"); + }, "insertRule with charset and omitted index argument"); test(function() { assert_equals(sheet.cssRules.length, 1); diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html index c97d3949487..ad3622f86aa 100644 --- a/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html +++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-import-no-index.html @@ -20,7 +20,7 @@ assert_equals(sheet.cssRules.length, 1); assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); }); assert_equals(sheet.cssRules.length, 1); - }, "inserRule with import and omitted index argument"); + }, "insertRule with import and omitted index argument"); test(function() { assert_equals(sheet.cssRules.length, 1); diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html index 8a3315d8606..c1628eed85f 100644 --- a/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html +++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-namespace-no-index.html @@ -22,7 +22,7 @@ assert_equals(sheet.cssRules.length, 3); assert_throws("HierarchyRequestError", function() { sheet.insertRule("p { color: green; }"); }); assert_equals(sheet.cssRules.length, 3); - }, "inserRule with namespace and omitted index argument"); + }, "insertRule with namespace and omitted index argument"); test(function() { assert_equals(sheet.cssRules.length, 3); @@ -34,7 +34,7 @@ assert_equals(sheet.cssRules.length, 3); sheet.insertRule("@import url(\"support/a-green.css\");"); assert_equals(sheet.cssRules.length, 4); - }, "inserRule with namespace and omitted index argument should insert import"); + }, "insertRule with namespace and omitted index argument should insert import"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/cssom/insertRule-no-index.html b/tests/wpt/web-platform-tests/css/cssom/insertRule-no-index.html index c9704b7475a..b4370bd080c 100644 --- a/tests/wpt/web-platform-tests/css/cssom/insertRule-no-index.html +++ b/tests/wpt/web-platform-tests/css/cssom/insertRule-no-index.html @@ -22,7 +22,7 @@ sheet.insertRule("p { color: green; }"); assert_equals(sheet.cssRules.length, 2); assert_equals(sheet.cssRules.item(0).cssText, "p { color: green; }"); - }, "inserRule with omitted index argument"); + }, "insertRule with omitted index argument"); test(function() { assert_equals(sheet.cssRules.length, 2); diff --git a/tests/wpt/web-platform-tests/custom-elements/connected-callbacks-html-fragment-parsing.html b/tests/wpt/web-platform-tests/custom-elements/connected-callbacks-html-fragment-parsing.html new file mode 100644 index 00000000000..f24cc209c89 --- /dev/null +++ b/tests/wpt/web-platform-tests/custom-elements/connected-callbacks-html-fragment-parsing.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> +<head> +<title>Custom Elements: the HTML fragment parsing algorithm must not create a custom element synchronously</title> +<meta name="author" title="Rob Buis" href="mailto:rbuis@igalia.com"> +<meta name="assert" content="The HTML fragment parsing algorithm must enqueue a custom element upgrade reaction instead of synchronously invoking its constructor"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/parsing.html#create-an-element-for-the-token"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/custom-elements-helpers.js"></script> +</head> +<body> +<div id="log"></div> +<script> + +let iteration = 0; + +document_types().forEach(function (entry) { + var documentName = entry.name; + var getDocument = entry.create; + let calls = 0; + + promise_test(function () { + class Parenter extends HTMLElement { + connectedCallback() { + const child = this.firstChild; + this.removeChild(child); + this.appendChild(child); + } + } + class Child extends HTMLElement { + connectedCallback() { calls++; } + } + iteration++; + let parenter = 'x-parenter' + iteration; + let child = 'x-child' + iteration; + customElements.define(parenter, Parenter); + customElements.define(child, Child); + return getDocument().then(function (doc) { + document.documentElement.innerHTML = `<${parenter}><${child}></${child}></${parenter}>`; + doc.documentElement.appendChild(document.documentElement.firstChild); + assert_equals(calls, 1); + }); + }, `Inserting a custom element into ${documentName} using HTML fragment parsing must enqueue a custom element upgrade reaction, not synchronously invoke its constructor`); +}); + +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/docs/_appendix/github-intro.md b/tests/wpt/web-platform-tests/docs/_appendix/github-intro.md index 6ed68ed0bdb..06b2a39ef2b 100644 --- a/tests/wpt/web-platform-tests/docs/_appendix/github-intro.md +++ b/tests/wpt/web-platform-tests/docs/_appendix/github-intro.md @@ -48,7 +48,7 @@ If you are a first-time GitHub user, read on for more details of the workflow. The test repository that you contribute to will depend on the specification that you are testing. -**Main W3C test repository**: [github.com/w3c/web-platform-tests][main-repo] +**Main W3C test repository**: [github.com/web-platform-tests/wpt][main-repo] ## Fork @@ -111,7 +111,7 @@ repository. 3. Next, add the remote of the repository your forked. This assigns the original repository to a remote called "upstream": - $ git remote add upstream https://github.com/w3c/web-platform-tests.git + $ git remote add upstream https://github.com/web-platform-tests/wpt.git 4. To pull in changes in the original repository that are not present in your local repository first fetch them: @@ -219,7 +219,7 @@ GitHub UI. Below is one method and others can be found on of the UI, then click the ![new pull request][pullrequestbtn] button. 2. On the left, you should see the base repo is the - w3c/web-platform-tests. On the right, you should see your fork of that + web-platform-tests/wpt. On the right, you should see your fork of that repo. In the branch menu of your forked repo, switch to `topic` **Note:** If you see _'There isn't anything to compare'_, click @@ -323,8 +323,8 @@ If it is possible to review the tests without a local copy, but the reviewer still wants to make some simple tweaks to the tests before merging, it is possible to do so via the Github web UI. -1. Open the pull request. E.g. https://github.com/w3c/web-platform-tests/pull/1234 -2. Go to the ![Files changed][files-changed] view (e.g. https://github.com/w3c/web-platform-tests/pull/1234/files) +1. Open the pull request. E.g. https://github.com/web-platform-tests/wpt/pull/1234 +2. Go to the ![Files changed][files-changed] view (e.g. https://github.com/web-platform-tests/wpt/pull/1234/files) 3. Locate the files you wish to change, and click the ![pencil][pencil-icon] icon in the upper right corner 4. Make the desired change 5. Write a commit message (including a good title) at the bottom @@ -393,7 +393,7 @@ you may also discard your connection to their repo: [github-fork-docs]: https://help.github.com/articles/fork-a-repo [github-createpr]: https://help.github.com/articles/creating-a-pull-request [help]: https://help.github.com/ -[main-repo]: https://github.com/w3c/web-platform-tests +[main-repo]: https://github.com/web-platform-tests/wpt [password-caching]: https://help.github.com/articles/caching-your-github-password-in-git [pullrequestlink]: {{ site.baseurl }}{% link /assets/pullrequestlink.png %} [pullrequestbtn]: {{ site.baseurl }}{% link /assets/pullrequestbtn.png %} diff --git a/tests/wpt/web-platform-tests/docs/_includes/header.html b/tests/wpt/web-platform-tests/docs/_includes/header.html index 6c966407672..055271d4014 100644 --- a/tests/wpt/web-platform-tests/docs/_includes/header.html +++ b/tests/wpt/web-platform-tests/docs/_includes/header.html @@ -1,6 +1,6 @@ <header class="site-header" role="banner"> - <a class="github-fork-ribbon left-top" href="https://github.com/w3c/web-platform-tests/blob/master/docs/{{ page.path }}" data-ribbon="Edit on GitHub">Edit on GitHub</a> + <a class="github-fork-ribbon left-top" href="https://github.com/web-platform-tests/wpt/blob/master/docs/{{ page.path }}" data-ribbon="Edit on GitHub">Edit on GitHub</a> <div class="wrapper"> diff --git a/tests/wpt/web-platform-tests/docs/_reviewing-tests/checklist.md b/tests/wpt/web-platform-tests/docs/_reviewing-tests/checklist.md index ffb86c1afb6..23b26424180 100644 --- a/tests/wpt/web-platform-tests/docs/_reviewing-tests/checklist.md +++ b/tests/wpt/web-platform-tests/docs/_reviewing-tests/checklist.md @@ -7,7 +7,7 @@ order: 2 The following checklist is provided as a guideline to assist in reviewing tests; in case of any contradiction with requirements stated elsewhere in the documentation it should be ignored -(please [file a bug](https://github.com/w3c/web-platform-tests/issues/new)!). +(please [file a bug](https://github.com/web-platform-tests/wpt/issues/new)!). As noted on the [reviewing tests][review index] page, nits need not block PRs from landing. diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md b/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md index b3b98742dec..dcbc86f745c 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md @@ -31,7 +31,7 @@ To bypass device selection and use mock media for tests using `getUserMedia`: ./wpt run --binary-arg=--use-fake-ui-for-media-stream --binary-arg=--use-fake-device-for-media-stream chrome mediacapture-streams/ ``` -Note: there's an [open issue for doing this using WebDriver](https://github.com/w3c/web-platform-tests/issues/7424). +Note: there's an [open issue for doing this using WebDriver](https://github.com/web-platform-tests/wpt/issues/7424). Some of the above are most useful in combination, e.g., to run all tests in Chrome Dev with experimental web platform features enabled: diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md b/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md index 334ef8c85bf..adb662d5710 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md @@ -24,7 +24,7 @@ Until we find a better way, we need to root the Android device and update the ## CA certificate In order to run HTTPS tests, we need to add -[WPT's CA](https://github.com/w3c/web-platform-tests/blob/master/tools/certs/cacert.pem) +[WPT's CA](https://github.com/web-platform-tests/wpt/blob/master/tools/certs/cacert.pem) to the phone. First, convert the certificate from PEM to CRT: ``` diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/safari.md b/tests/wpt/web-platform-tests/docs/_running-tests/safari.md index b36f6d707bd..e6cedd97f96 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/safari.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/safari.md @@ -14,7 +14,7 @@ To run Safari on macOS, some manual setup is required: * Set `OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES` in your environment. This is a workaround for a known - [macOS High Sierra issue](https://github.com/w3c/web-platform-tests/issues/9007). + [macOS High Sierra issue](https://github.com/web-platform-tests/wpt/issues/9007). Now, run the tests using the `safari` product: ``` diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/ahem.md b/tests/wpt/web-platform-tests/docs/_writing-tests/ahem.md index f0980a82b1e..97e5b26dc05 100644 --- a/tests/wpt/web-platform-tests/docs/_writing-tests/ahem.md +++ b/tests/wpt/web-platform-tests/docs/_writing-tests/ahem.md @@ -86,4 +86,4 @@ On Linux, copy the file to `~/.local/share/fonts` and then run `fc-cache`. [ahem-readme]: https://www.w3.org/Style/CSS/Test/Fonts/Ahem/README -[download-ahem]: https://github.com/w3c/web-platform-tests/raw/master/fonts/Ahem.ttf +[download-ahem]: https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/submission-process.md b/tests/wpt/web-platform-tests/docs/_writing-tests/submission-process.md index 9bbd0a4ac30..27abf74f602 100644 --- a/tests/wpt/web-platform-tests/docs/_writing-tests/submission-process.md +++ b/tests/wpt/web-platform-tests/docs/_writing-tests/submission-process.md @@ -41,7 +41,7 @@ Hop on to the [mailing list][public-test-infra] or [IRC][] no need to announce your review request, as soon as you make a Pull Request GitHub will inform interested parties. -[repo]: https://github.com/w3c/web-platform-tests/ +[repo]: https://github.com/web-platform-tests/wpt/ [github-intro]: {{ site.baseurl }}{% link _appendix/github-intro.md %} [github flow]: https://guides.github.com/introduction/flow/ [public-test-infra]: https://lists.w3.org/Archives/Public/public-test-infra/ diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md index 0b2165cb1e4..2318e0e2e03 100644 --- a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md +++ b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md @@ -313,5 +313,5 @@ run instead of testdriver-extra.js in browser specific test environments. For ex ### What if I need to return a value from my testdriver API? -We currently don't have this capability, but it is coming soon and will be documented. The bug is [here](https://github.com/w3c/web-platform-tests/issues/10716) +We currently don't have this capability, but it is coming soon and will be documented. The bug is [here](https://github.com/web-platform-tests/wpt/issues/10716) diff --git a/tests/wpt/web-platform-tests/docs/introduction.md b/tests/wpt/web-platform-tests/docs/introduction.md index d021663224b..1b2f7f611d5 100644 --- a/tests/wpt/web-platform-tests/docs/introduction.md +++ b/tests/wpt/web-platform-tests/docs/introduction.md @@ -76,7 +76,7 @@ The testsuite has a few types of tests, outlined below: ## GitHub -[GitHub](https://github.com/w3c/web-platform-tests/) is used both for [issue tracking](https://github.com/w3c/web-platform-tests/issues) and [test submissions](https://github.com/w3c/web-platform-tests/pulls); we +[GitHub](https://github.com/web-platform-tests/wpt/) is used both for [issue tracking](https://github.com/web-platform-tests/wpt/issues) and [test submissions](https://github.com/web-platform-tests/wpt/pulls); we provide [a limited introduction][github-intro] to both git and GitHub. @@ -148,7 +148,7 @@ After your `hosts` file is configured, the servers will be locally accessible at http://web-platform.test:8000/<br> https://web-platform.test:8443/ * -\**See [Trusting Root CA](https://github.com/w3c/web-platform-tests/blob/master/README.md#trusting-root-ca)* +\**See [Trusting Root CA](https://github.com/web-platform-tests/wpt/blob/master/README.md#trusting-root-ca)* ## Running tests automatically diff --git a/tests/wpt/web-platform-tests/domparsing/interfaces.any.js b/tests/wpt/web-platform-tests/domparsing/interfaces.any.js new file mode 100644 index 00000000000..4eaeabea85d --- /dev/null +++ b/tests/wpt/web-platform-tests/domparsing/interfaces.any.js @@ -0,0 +1,16 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +'use strict'; + +// https://w3c.github.io/DOM-Parsing/ + +promise_test(async () => { + const dom = await fetch('/interfaces/dom.idl').then(r => r.text()); + const idl = await fetch('/interfaces/DOM-Parsing.idl').then(r => r.text()); + const idlArray = new IdlArray(); + idlArray.add_untested_idls(dom); + idlArray.add_idls(idl); + idlArray.test(); + done(); +}, 'Test driver'); diff --git a/tests/wpt/web-platform-tests/eventsource/resources/status-error.py b/tests/wpt/web-platform-tests/eventsource/resources/status-error.py index 5eaedcdb1a7..f0a1504bdd3 100644 --- a/tests/wpt/web-platform-tests/eventsource/resources/status-error.py +++ b/tests/wpt/web-platform-tests/eventsource/resources/status-error.py @@ -6,7 +6,7 @@ def main(request, response): # not specify a body. The expected browser behavior for this condition is not # currently defined--see the following for further discussion: # - # https://github.com/w3c/web-platform-tests/pull/5227 + # https://github.com/web-platform-tests/wpt/pull/5227 if status[0] in ["204", "205"]: body = "" else: diff --git a/tests/wpt/web-platform-tests/fetch/OWNERS b/tests/wpt/web-platform-tests/fetch/OWNERS index e2f2428209f..40c8334df7e 100644 --- a/tests/wpt/web-platform-tests/fetch/OWNERS +++ b/tests/wpt/web-platform-tests/fetch/OWNERS @@ -3,3 +3,4 @@ @annevk @mnot @yutakahirano +@domfarolino diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-consume-empty.html b/tests/wpt/web-platform-tests/fetch/api/request/request-consume-empty.html index c84d2cecd37..c3b8bc4f54b 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/request-consume-empty.html +++ b/tests/wpt/web-platform-tests/fetch/api/request/request-consume-empty.html @@ -106,7 +106,7 @@ checkRequestWithEmptyBody("blob", new Blob([], { "type" : "text/plain" }), true); checkRequestWithEmptyBody("text", "", true); checkRequestWithEmptyBody("URLSearchParams", new URLSearchParams(""), true); - // FIXME: This test assumes that the empty string be returned but it is not clear whether that is right. See https://github.com/w3c/web-platform-tests/pull/3950. + // FIXME: This test assumes that the empty string be returned but it is not clear whether that is right. See https://github.com/web-platform-tests/wpt/pull/3950. checkRequestWithEmptyBody("FormData", new FormData(), true); checkRequestWithEmptyBody("ArrayBuffer", new ArrayBuffer(), true); </script> diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html b/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html index ba04d19a877..7be3608d737 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html +++ b/tests/wpt/web-platform-tests/fetch/api/request/request-reset-attributes.https.html @@ -7,6 +7,10 @@ <script> const worker = 'resources/request-reset-attributes-worker.js'; +function wait(ms) { + return new Promise(resolve => step_timeout(resolve, ms)); +} + promise_test(async (t) => { const scope = 'resources/hello.txt?name=isReloadNavigation'; let frame; @@ -33,4 +37,60 @@ promise_test(async (t) => { } } }, 'Request.isReloadNavigation is reset with non-empty RequestInit'); + +promise_test(async (t) => { + const scope = 'resources/hello.html?name=isHistoryNavigation'; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'old: false, new: false'); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.onload = resolve; + frame.src = 'resources/hello.html?ignore'; + }); + await wait(0); + await new Promise((resolve) => { + frame.onload = resolve; + frame.contentWindow.history.go(-1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'old: true, new: false'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } +}, 'Request.isHistoryNavigation is reset with non-empty RequestInit'); + +promise_test(async (t) => { + const scope = 'resources/hello.txt?name=mode'; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'old: navigate, new: same-origin'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'Request.mode is reset with non-empty RequestInit when it\'s "navigate"'); </script> diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html b/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html index 575aa178f5b..e137a7ea512 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html +++ b/tests/wpt/web-platform-tests/fetch/api/request/request-structure.html @@ -30,6 +30,8 @@ "cache", "redirect", "integrity", + "isReloadNavigation", + "isHistoryNavigation", //Request implements Body "bodyUsed" ]; @@ -104,6 +106,11 @@ newValue = true; break; + case "isHistoryNavigation": + defaultValue = false; + newValue = true; + break; + default: return; } diff --git a/tests/wpt/web-platform-tests/fetch/origin/no-cors.any.js b/tests/wpt/web-platform-tests/fetch/origin/no-cors.any.js new file mode 100644 index 00000000000..c9d1d3b3af3 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/origin/no-cors.any.js @@ -0,0 +1,20 @@ +// META: script=/common/utils.js +// META: script=/common/get-host-info.sub.js + +promise_test(async function() { + const stash = token(), + origins = get_host_info(), + redirectPath = "/fetch/origin/resources/redirect-and-stash.py"; + + // Cross-origin -> same-origin will result in setting the tainted origin flag for the second + // request. + let url = origins.HTTP_ORIGIN + redirectPath + "?stash=" + stash; + url = origins.HTTP_REMOTE_ORIGIN + redirectPath + "?stash=" + stash + "&location=" + encodeURIComponent(url); + + await fetch(url, { mode: "no-cors", method: "POST" }); + + const json = await (await fetch(redirectPath + "?dump&stash=" + stash)).json(); + + assert_equals(json[0], origins.HTTP_ORIGIN, "first origin should equal this origin"); + assert_equals(json[1], "null", "second origin should be opaque and therefore null"); +}, "Origin header and 308 redirect"); diff --git a/tests/wpt/web-platform-tests/fetch/origin/resources/redirect-and-stash.py b/tests/wpt/web-platform-tests/fetch/origin/resources/redirect-and-stash.py new file mode 100644 index 00000000000..1b1b46ba177 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/origin/resources/redirect-and-stash.py @@ -0,0 +1,29 @@ +import json + +def main(request, response): + key = request.GET.first("stash") + origin = request.headers.get("origin") + if origin is None: + origin = "no Origin header" + + origin_list = request.server.stash.take(key) + + if "dump" in request.GET: + response.headers.set("content-Type", "application/json") + response.content = json.dumps(origin_list) + return + + if origin_list is None: + origin_list = [origin] + else: + origin_list.append(origin) + + request.server.stash.put(key, origin_list) + + if "location" in request.GET: + response.status = 308 + response.headers.set("Location", request.GET.first("location")) + return + + response.headers.set("content-Type", "text/plain") + response.content = "Fix https://github.com/whatwg/fetch/issues/737..." diff --git a/tests/wpt/web-platform-tests/fetch/range/general.any.js b/tests/wpt/web-platform-tests/fetch/range/general.any.js new file mode 100644 index 00000000000..2e49ed1e0f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/general.any.js @@ -0,0 +1,60 @@ +// Helpers that return headers objects with a particular guard +function headersGuardNone(fill) { + if (fill) return new Headers(fill); + return new Headers(); +} + +function headersGuardResponse(fill) { + const opts = {}; + if (fill) opts.headers = fill; + return new Response('', opts).headers; +} + +function headersGuardRequest(fill) { + const opts = {}; + if (fill) opts.headers = fill; + return new Request('./', opts).headers; +} + +function headersGuardRequestNoCors(fill) { + const opts = { mode: 'no-cors' }; + if (fill) opts.headers = fill; + return new Request('./', opts).headers; +} + +const headerGuardTypes = [ + ['none', headersGuardNone], + ['response', headersGuardResponse], + ['request', headersGuardRequest] +]; + +for (const [guardType, createHeaders] of headerGuardTypes) { + test(() => { + // There are three ways to set headers. + // Filling, appending, and setting. Test each: + let headers = createHeaders({ Range: 'foo' }); + assert_equals(headers.get('Range'), 'foo'); + + headers = createHeaders(); + headers.append('Range', 'foo'); + assert_equals(headers.get('Range'), 'foo'); + + headers = createHeaders(); + headers.set('Range', 'foo'); + assert_equals(headers.get('Range'), 'foo'); + }, `Range header setting allowed for guard type: ${guardType}`); +} + +test(() => { + let headers = headersGuardRequestNoCors({ Range: 'foo' }); + assert_false(headers.has('Range')); + + headers = headersGuardRequestNoCors(); + headers.append('Range', 'foo'); + assert_false(headers.has('Range')); + + headers = headersGuardRequestNoCors(); + headers.set('Range', 'foo'); + assert_false(headers.has('Range')); +}, `Privileged header not allowed for guard type: request-no-cors`); + diff --git a/tests/wpt/web-platform-tests/fetch/range/partial-script.window.js b/tests/wpt/web-platform-tests/fetch/range/partial-script.window.js new file mode 100644 index 00000000000..36b4bba31aa --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/partial-script.window.js @@ -0,0 +1,7 @@ +// META: script=resources/utils.js + +// It's weird that browsers do this, but it should continue to work. +promise_test(async t => { + await loadScript('resources/partial-script.py?pretend-offset=90000'); + assert_true(self.scriptExecuted); +}, `Script executed from partial response`); diff --git a/tests/wpt/web-platform-tests/fetch/range/resources/basic.html b/tests/wpt/web-platform-tests/fetch/range/resources/basic.html new file mode 100644 index 00000000000..0e76edd65b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/resources/basic.html @@ -0,0 +1 @@ +<!DOCTYPE html> diff --git a/tests/wpt/web-platform-tests/fetch/range/resources/long-wav.py b/tests/wpt/web-platform-tests/fetch/range/resources/long-wav.py new file mode 100644 index 00000000000..d510767c309 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/resources/long-wav.py @@ -0,0 +1,111 @@ +""" +This generates a 30 minute silent wav, and is capable of +responding to Range requests. +""" +import time +import re +import struct + + +def create_wav_header(sample_rate, bit_depth, channels, duration): + bytes_per_sample = bit_depth / 8 + block_align = bytes_per_sample * channels + byte_rate = sample_rate * block_align + sub_chunk_2_size = duration * byte_rate + + data = b'' + # ChunkID + data += b'RIFF' + # ChunkSize + data += struct.pack('<L', 36 + sub_chunk_2_size) + # Format + data += b'WAVE' + # Subchunk1ID + data += b'fmt ' + # Subchunk1Size + data += struct.pack('<L', 16) + # AudioFormat + data += struct.pack('<H', 1) + # NumChannels + data += struct.pack('<H', channels) + # SampleRate + data += struct.pack('<L', sample_rate) + # ByteRate + data += struct.pack('<L', byte_rate) + # BlockAlign + data += struct.pack('<H', block_align) + # BitsPerSample + data += struct.pack('<H', bit_depth) + # Subchunk2ID + data += b'data' + # Subchunk2Size + data += struct.pack('<L', sub_chunk_2_size) + + return data + + +def main(request, response): + response.headers.set("Content-Type", "audio/wav") + response.headers.set("Accept-Ranges", "bytes") + response.headers.set("Cache-Control", "no-cache") + + range_header = request.headers.get('Range', '') + range_received_key = request.GET.first('range-received-key', '') + + if range_received_key and range_header: + # This is later collected using stash-take.py + request.stash.put(range_received_key, 'range-header-received', '/fetch/range/') + + # Audio details + sample_rate = 8000 + bit_depth = 8 + channels = 1 + duration = 60 * 5 + + total_length = (sample_rate * bit_depth * channels * duration) / 8 + bytes_remaining_to_send = total_length + initial_write = '' + + if range_header: + response.status = 206 + start, end = re.search(r'^bytes=(\d*)-(\d*)$', range_header).groups() + + start = int(start) + end = int(end) if end else 0 + + if end: + bytes_remaining_to_send = (end + 1) - start + else: + bytes_remaining_to_send = total_length - start + + wav_header = create_wav_header(sample_rate, bit_depth, channels, duration) + + if start < len(wav_header): + initial_write = wav_header[start:] + + if bytes_remaining_to_send < len(initial_write): + initial_write = initial_write[0:bytes_remaining_to_send] + + content_range = "bytes {}-{}/{}".format(start, end or total_length - 1, total_length) + + response.headers.set("Content-Range", content_range) + else: + initial_write = create_wav_header(sample_rate, bit_depth, channels, duration) + + response.headers.set("Content-Length", bytes_remaining_to_send) + + response.write_status_headers() + response.writer.write(initial_write) + + bytes_remaining_to_send -= len(initial_write) + + while bytes_remaining_to_send > 0: + if not response.writer.flush(): + break + + to_send = b'\x00' * min(bytes_remaining_to_send, sample_rate) + bytes_remaining_to_send -= len(to_send) + + response.writer.write(to_send) + # Throttle the stream + time.sleep(0.5) diff --git a/tests/wpt/web-platform-tests/fetch/range/resources/partial-script.py b/tests/wpt/web-platform-tests/fetch/range/resources/partial-script.py new file mode 100644 index 00000000000..5b642c601d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/resources/partial-script.py @@ -0,0 +1,30 @@ +""" +This generates a partial response containing valid JavaScript. +""" + + +def main(request, response): + require_range = request.GET.first('require-range', '') + pretend_offset = int(request.GET.first('pretend-offset', '0')) + range_header = request.headers.get('Range', '') + + if require_range and not range_header: + response.set_error(412, "Range header required") + response.write() + return + + response.headers.set("Content-Type", "text/plain") + response.headers.set("Accept-Ranges", "bytes") + response.headers.set("Cache-Control", "no-cache") + response.status = 206 + + to_send = 'self.scriptExecuted = true;' + length = len(to_send) + + content_range = "bytes {}-{}/{}".format( + pretend_offset, pretend_offset + length - 1, pretend_offset + length) + + response.headers.set("Content-Range", content_range) + response.headers.set("Content-Length", length) + + response.content = to_send diff --git a/tests/wpt/web-platform-tests/fetch/range/resources/range-sw.js b/tests/wpt/web-platform-tests/fetch/range/resources/range-sw.js new file mode 100644 index 00000000000..1dfee58e452 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/resources/range-sw.js @@ -0,0 +1,142 @@ +importScripts('/resources/testharness.js'); + +setup({ explicit_done: true }); + +function assert_range_request(request, expectedRangeHeader, name) { + assert_equals(request.headers.get('Range'), expectedRangeHeader, name); +} + +async function broadcast(msg) { + for (const client of await clients.matchAll()) { + client.postMessage(msg); + } +} + +addEventListener('fetch', event => { + /** @type Request */ + const request = event.request; + const url = new URL(request.url); + const action = url.searchParams.get('action'); + + switch (action) { + case 'range-header-filter-test': + rangeHeaderFilterTest(request); + return; + case 'range-header-passthrough-test': + rangeHeaderPassthroughTest(event); + return; + case 'store-ranged-response': + storeRangedResponse(event); + return; + case 'use-stored-ranged-response': + useStoredRangeResponse(event); + return; + } +}); + +/** + * @param {Request} request + */ +function rangeHeaderFilterTest(request) { + const rangeValue = request.headers.get('Range'); + + test(() => { + assert_range_request(new Request(request), rangeValue, `Untampered`); + assert_range_request(new Request(request, {}), rangeValue, `Untampered (no init props set)`); + assert_range_request(new Request(request, { __foo: 'bar' }), rangeValue, `Untampered (only invalid props set)`); + assert_range_request(new Request(request, { mode: 'cors' }), rangeValue, `More permissive mode`); + assert_range_request(request.clone(), rangeValue, `Clone`); + }, "Range headers correctly preserved"); + + test(() => { + assert_range_request(new Request(request, { headers: { Range: 'foo' } }), null, `Tampered - range header set`); + assert_range_request(new Request(request, { headers: {} }), null, `Tampered - empty headers set`); + assert_range_request(new Request(request, { mode: 'no-cors' }), null, `Tampered – mode set`); + assert_range_request(new Request(request, { cache: 'no-cache' }), null, `Tampered – cache mode set`); + }, "Range headers correctly removed"); + + test(() => { + let headers; + + headers = new Request(request).headers; + headers.delete('does-not-exist'); + assert_equals(headers.get('Range'), rangeValue, `Preserved if no header actually removed`); + + headers = new Request(request).headers; + headers.append('foo', 'bar'); + assert_equals(headers.get('Range'), rangeValue, `Preserved if silent-failure on append (due to request-no-cors guard)`); + + headers = new Request(request).headers; + headers.set('foo', 'bar'); + assert_equals(headers.get('Range'), rangeValue, `Preserved if silent-failure on set (due to request-no-cors guard)`); + + headers = new Request(request).headers; + headers.append('Range', 'foo'); + assert_equals(headers.get('Range'), rangeValue, `Preserved if silent-failure on append (due to request-no-cors guard)`); + + headers = new Request(request).headers; + headers.set('Range', 'foo'); + assert_equals(headers.get('Range'), rangeValue, `Preserved if silent-failure on set (due to request-no-cors guard)`); + + headers = new Request(request).headers; + headers.append('Accept', 'whatever'); + assert_equals(headers.get('Range'), null, `Stripped if header successfully appended`); + + headers = new Request(request).headers; + headers.set('Accept', 'whatever'); + assert_equals(headers.get('Range'), null, `Stripped if header successfully set`); + + headers = new Request(request).headers; + headers.delete('Accept'); + assert_equals(headers.get('Range'), null, `Stripped if header successfully deleted`); + + headers = new Request(request).headers; + headers.delete('Range'); + assert_equals(headers.get('Range'), null, `Stripped if range header successfully deleted`); + }, "Headers correctly filtered"); + + done(); +} + +function rangeHeaderPassthroughTest(event) { + /** @type Request */ + const request = event.request; + const url = new URL(request.url); + const key = url.searchParams.get('range-received-key'); + + event.waitUntil(new Promise(resolve => { + promise_test(async () => { + await fetch(event.request); + const response = await fetch('stash-take.py?key=' + key); + assert_equals(await response.json(), '"range-header-received"'); + resolve(); + }, `Include range header in network request`); + + done(); + })); + + // Just send back any response, it isn't important for the test. + event.respondWith(new Response('')); +} + +let storedRangeResponseP; + +function storeRangedResponse(event) { + /** @type Request */ + const request = event.request; + const id = new URL(request.url).searchParams.get('id'); + + storedRangeResponseP = fetch(event.request); + broadcast({ id }); + + // Just send back any response, it isn't important for the test. + event.respondWith(new Response('')); +} + +function useStoredRangeResponse(event) { + event.respondWith(async function() { + const response = await storedRangeResponseP; + if (!response) throw Error("Expected stored range response"); + return response.clone(); + }()); +} diff --git a/tests/wpt/web-platform-tests/fetch/range/resources/stash-take.py b/tests/wpt/web-platform-tests/fetch/range/resources/stash-take.py new file mode 100644 index 00000000000..4ec1fe57647 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/resources/stash-take.py @@ -0,0 +1,7 @@ +from wptserve.handlers import json_handler + + +@json_handler +def main(request, response): + key = request.GET.first("key") + return request.server.stash.take(key, '/fetch/range/') diff --git a/tests/wpt/web-platform-tests/fetch/range/resources/utils.js b/tests/wpt/web-platform-tests/fetch/range/resources/utils.js new file mode 100644 index 00000000000..567f231d030 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/resources/utils.js @@ -0,0 +1,9 @@ +function loadScript(url, { doc = document }={}) { + return new Promise((resolve, reject) => { + const script = doc.createElement('script'); + script.onload = () => resolve(); + script.onerror = () => reject(Error("Script load failed")); + script.src = url; + doc.body.appendChild(script); + }) +} diff --git a/tests/wpt/web-platform-tests/fetch/range/sw.https.window.js b/tests/wpt/web-platform-tests/fetch/range/sw.https.window.js new file mode 100644 index 00000000000..aa3d2c478dd --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/range/sw.https.window.js @@ -0,0 +1,128 @@ +// META: script=../../../service-workers/service-worker/resources/test-helpers.sub.js +// META: script=/common/utils.js +// META: script=/common/get-host-info.sub.js +// META: script=resources/utils.js + +const { REMOTE_HOST } = get_host_info(); +const SCOPE = 'resources/basic.html' + Math.random(); + +function appendAudio(document, url) { + const audio = document.createElement('audio'); + audio.muted = true; + audio.src = url; + audio.preload = true; + document.body.appendChild(audio); +} + +async function cleanup() { + for (const iframe of document.querySelectorAll('.test-iframe')) { + iframe.parentNode.removeChild(iframe); + } + + const reg = await navigator.serviceWorker.getRegistration(SCOPE); + if (reg) await reg.unregister(); +} + +async function setupRegistration(t) { + await cleanup(); + const reg = await navigator.serviceWorker.register('resources/range-sw.js', { scope: SCOPE }); + await wait_for_state(t, reg.installing, 'activated'); + return reg; +} + +function awaitMessage(obj, id) { + return new Promise(resolve => { + obj.addEventListener('message', function listener(event) { + if (event.data.id !== id) return; + obj.removeEventListener('message', listener); + resolve(); + }); + }); +} + +promise_test(async t => { + const reg = await setupRegistration(t); + const iframe = await with_iframe(SCOPE); + const w = iframe.contentWindow; + + // Trigger a cross-origin range request using media + const url = new URL('long-wav.py?action=range-header-filter-test', w.location); + url.hostname = REMOTE_HOST; + appendAudio(w.document, url); + + // See rangeHeaderFilterTest in resources/range-sw.js + await fetch_tests_from_worker(reg.active); +}, `Defer range header filter tests to service worker`); + +promise_test(async t => { + const reg = await setupRegistration(t); + const iframe = await with_iframe(SCOPE); + const w = iframe.contentWindow; + + // Trigger a cross-origin range request using media + const url = new URL('long-wav.py', w.location); + url.searchParams.set('action', 'range-header-passthrough-test'); + url.searchParams.set('range-received-key', token()); + url.hostname = REMOTE_HOST; + appendAudio(w.document, url); + + // See rangeHeaderPassthroughTest in resources/range-sw.js + await fetch_tests_from_worker(reg.active); +}, `Defer range header passthrough tests to service worker`); + +promise_test(async t => { + await setupRegistration(t); + const iframe = await with_iframe(SCOPE); + const w = iframe.contentWindow; + const id = Math.random() + ''; + const storedRangeResponse = awaitMessage(w.navigator.serviceWorker, id); + + // Trigger a cross-origin range request using media + const url = new URL('partial-script.py', w.location); + url.searchParams.set('require-range', '1'); + url.searchParams.set('action', 'store-ranged-response'); + url.searchParams.set('id', id); + url.hostname = REMOTE_HOST; + + appendAudio(w.document, url); + + await storedRangeResponse; + + // Fetching should reject + const fetchPromise = w.fetch('?action=use-stored-ranged-response', { mode: 'no-cors' }); + promise_rejects(t, new TypeError(), fetchPromise); + + // Script loading should error too + const loadScriptPromise = loadScript('?action=use-stored-ranged-response', { doc: w.document }); + promise_rejects(t, new Error(), loadScriptPromise); + + await loadScriptPromise.catch(() => {}); + + assert_false(!!w.scriptExecuted, `Partial response shouldn't be executed`); +}, `Ranged response not allowed following no-cors ranged request`); + +promise_test(async t => { + await setupRegistration(t); + const iframe = await with_iframe(SCOPE); + const w = iframe.contentWindow; + const id = Math.random() + ''; + const storedRangeResponse = awaitMessage(w.navigator.serviceWorker, id); + + // Trigger a range request using media + const url = new URL('partial-script.py', w.location); + url.searchParams.set('require-range', '1'); + url.searchParams.set('action', 'store-ranged-response'); + url.searchParams.set('id', id); + + appendAudio(w.document, url); + + await storedRangeResponse; + + // This should not throw + await w.fetch('?action=use-stored-ranged-response'); + + // This shouldn't throw either + await loadScript('?action=use-stored-ranged-response', { doc: w.document }); + + assert_true(w.scriptExecuted, `Partial response should be executed`); +}, `Non-opaque ranged response executed`); diff --git a/tests/wpt/web-platform-tests/generic-sensor/README.md b/tests/wpt/web-platform-tests/generic-sensor/README.md index 993e0c52b8e..28227b0ba40 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/README.md +++ b/tests/wpt/web-platform-tests/generic-sensor/README.md @@ -15,6 +15,6 @@ The Chromium implementation of the `GenericSensorTest` interface is located in Other browser vendors should provide their own implementations of the `GenericSensorTest` interface. -[Known issue](https://github.com/w3c/web-platform-tests/issues/9686): a +[Known issue](https://github.com/web-platform-tests/wpt/issues/9686): a WebDriver extension is a better approach for the Generic Sensor tests automation. diff --git a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js index da2e65da5ec..a3896e7b6a1 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js +++ b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-tests.js @@ -355,7 +355,7 @@ function runGenericSensorTests(sensorName) { await sensorWatcher.wait_for("reading"); //TODO use mock data to verify sensor readings, blocked by issue: - // https://github.com/w3c/web-platform-tests/issues/9686 + // https://github.com/web-platform-tests/wpt/issues/9686 assert_reading_not_null(sensor); sensor.stop(); diff --git a/tests/wpt/web-platform-tests/geolocation-API/OWNERS b/tests/wpt/web-platform-tests/geolocation-API/OWNERS index 9bebfbaa6e8..f95e64efb88 100644 --- a/tests/wpt/web-platform-tests/geolocation-API/OWNERS +++ b/tests/wpt/web-platform-tests/geolocation-API/OWNERS @@ -1,3 +1,3 @@ @jdm -@mcasas +@yellowdoge @zqzhang diff --git a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-1.html b/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-1.html deleted file mode 100644 index a3ca82f520a..00000000000 --- a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-1.html +++ /dev/null @@ -1,28 +0,0 @@ -<!doctype html> -004-1 -<script> -var handleBeforeUnload = function() { - parent.beforeunload_fired = true; - removeListener(); - setTimeout(function() { - parent.timeout_fired = true; - }, 1000); -} - -var removeListener = function() { - assert_true(window.removeEventListener('beforeunload', handleBeforeUnload, false)); -} - -window.addEventListener('beforeunload', handleBeforeUnload, false); - -onload = function() { - if (!parent.loaded) { - parent.loaded = true; - location="004-2.html?" + Math.random(); - } -} -</script> -// child frame with no onbeforeunload listener. Should leave the parent as unsalvageable. -// Adding the iframe prevents potential implementation bugs where the the recursive steps of #prompt-to-unload-a-document -// would overwrite the salvageable state of the parent. -<iframe></iframe> diff --git a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-2.html b/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-2.html deleted file mode 100644 index 1a605b1b3d5..00000000000 --- a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004-2.html +++ /dev/null @@ -1,5 +0,0 @@ -<!doctype html> -004-2 -<script> -onload = function() {setTimeout(parent.t.step_func(function() {parent.start_test(); history.go(-1)}), 100)} -</script> diff --git a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004.html b/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004.html deleted file mode 100644 index 7076a4dd18e..00000000000 --- a/tests/wpt/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/prompt/004.html +++ /dev/null @@ -1,29 +0,0 @@ -<!doctype html> -<title>salvagable state of document after setting beforeunload listener</title> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<div id="log"></div> -<script> -var t = async_test(); - -var loaded = false; -var beforeunload_fired = false; -var timeout_fired = false; - -function start_test() { - step_timeout( - t.step_func(function() { - assert_true(beforeunload_fired); - assert_false(timeout_fired); - t.done() - }), 1000); -} - -onload = function() { - var iframe = document.getElementsByTagName("iframe")[0] - onload = null; - iframe.src="004-1.html?" + Math.random(); -}; - -</script> -<iframe></iframe> diff --git a/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/document-write/contentType.window.js b/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/document-write/contentType.window.js index dbabb1b19b4..5a912038749 100644 --- a/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/document-write/contentType.window.js +++ b/tests/wpt/web-platform-tests/html/dom/dynamic-markup-insertion/document-write/contentType.window.js @@ -21,7 +21,7 @@ const videoURL = getVideoURI("/images/pattern"), assert_equals(frame.contentDocument.contentType, val[1]); // Make sure a load event is fired across browsers - // https://github.com/w3c/web-platform-tests/pull/10239 + // https://github.com/web-platform-tests/wpt/pull/10239 frame.contentDocument.close(); }); }, "document.write(): " + val[2] + " document"); diff --git a/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js b/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js index 2c8a7fe7b96..c6db2facf5f 100644 --- a/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js +++ b/tests/wpt/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/resources/resolve-url.js @@ -1,5 +1,5 @@ // NOTE: this file needs to be split up rather than expanded. See ../location.sub.html for some -// extracted tests. Tracked by https://github.com/w3c/web-platform-tests/issues/4934. +// extracted tests. Tracked by https://github.com/web-platform-tests/wpt/issues/4934. setup({explicit_done:true}); onload = function() { diff --git a/tests/wpt/web-platform-tests/input-events/OWNERS b/tests/wpt/web-platform-tests/input-events/OWNERS index 452445ef596..32be11bc412 100644 --- a/tests/wpt/web-platform-tests/input-events/OWNERS +++ b/tests/wpt/web-platform-tests/input-events/OWNERS @@ -1,2 +1,2 @@ @johanneswilm -@siusin
\ No newline at end of file +@siusin diff --git a/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl b/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl new file mode 100644 index 00000000000..11d5d8bc372 --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/DOM-Parsing.idl @@ -0,0 +1,31 @@ +// 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/ + +[Constructor, Exposed=Window] +interface DOMParser { + [NewObject] Document parseFromString(DOMString str, SupportedType type); +}; + +enum SupportedType { + "text/html", + "text/xml", + "application/xml", + "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/IndexedDB.idl b/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl index 89924c09b49..25e9a9c8e9c 100644 --- a/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl +++ b/tests/wpt/web-platform-tests/interfaces/IndexedDB.idl @@ -1,10 +1,14 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the Indexed Database API spec. +// See https://w3c.github.io/IndexedDB/ + [Exposed=(Window,Worker)] interface IDBRequest : EventTarget { - readonly attribute any result; - readonly attribute DOMException? error; + readonly attribute any result; + readonly attribute DOMException? error; readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source; - readonly attribute IDBTransaction? transaction; - readonly attribute IDBRequestReadyState readyState; + readonly attribute IDBTransaction? transaction; + readonly attribute IDBRequestReadyState readyState; // Event handlers: attribute EventHandler onsuccess; @@ -26,12 +30,12 @@ interface IDBOpenDBRequest : IDBRequest { [Exposed=(Window,Worker), Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)] interface IDBVersionChangeEvent : Event { - readonly attribute unsigned long long oldVersion; + readonly attribute unsigned long long oldVersion; readonly attribute unsigned long long? newVersion; }; dictionary IDBVersionChangeEventInit : EventInit { - unsigned long long oldVersion = 0; + unsigned long long oldVersion = 0; unsigned long long? newVersion = null; }; @@ -41,26 +45,26 @@ partial interface WindowOrWorkerGlobalScope { [Exposed=(Window,Worker)] interface IDBFactory { - IDBOpenDBRequest open(DOMString name, - optional [EnforceRange] unsigned long long version); - IDBOpenDBRequest deleteDatabase(DOMString name); + [NewObject] IDBOpenDBRequest open(DOMString name, + optional [EnforceRange] unsigned long long version); + [NewObject] IDBOpenDBRequest deleteDatabase(DOMString name); short cmp(any first, any second); }; [Exposed=(Window,Worker)] interface IDBDatabase : EventTarget { - readonly attribute DOMString name; + readonly attribute DOMString name; readonly attribute unsigned long long version; - readonly attribute DOMStringList objectStoreNames; + readonly attribute DOMStringList objectStoreNames; - IDBTransaction transaction((DOMString or sequence<DOMString>) storeNames, - optional IDBTransactionMode mode = "readonly"); - void close(); + [NewObject] IDBTransaction transaction((DOMString or sequence<DOMString>) storeNames, + optional IDBTransactionMode mode = "readonly"); + void close(); - IDBObjectStore createObjectStore(DOMString name, - optional IDBObjectStoreParameters options); - void deleteObjectStore(DOMString name); + [NewObject] IDBObjectStore createObjectStore(DOMString name, + optional IDBObjectStoreParameters options); + void deleteObjectStore(DOMString name); // Event handlers: attribute EventHandler onabort; @@ -71,40 +75,40 @@ interface IDBDatabase : EventTarget { dictionary IDBObjectStoreParameters { (DOMString or sequence<DOMString>)? keyPath = null; - boolean autoIncrement = false; + boolean autoIncrement = false; }; [Exposed=(Window,Worker)] interface IDBObjectStore { - attribute DOMString name; - readonly attribute any keyPath; - readonly attribute DOMStringList indexNames; - readonly attribute IDBTransaction transaction; - readonly attribute boolean autoIncrement; - - IDBRequest put(any value, optional any key); - IDBRequest add(any value, optional any key); - IDBRequest delete(any query); - IDBRequest clear(); - IDBRequest get(any query); - IDBRequest getKey(any query); - IDBRequest getAll(optional any query, - [EnforceRange] optional unsigned long count); - IDBRequest getAllKeys(optional any query, - [EnforceRange] optional unsigned long count); - IDBRequest count(optional any query); - - IDBRequest openCursor(optional any query, - optional IDBCursorDirection direction = "next"); - IDBRequest openKeyCursor(optional any query, - optional IDBCursorDirection direction = "next"); - - IDBIndex index(DOMString name); - - IDBIndex createIndex(DOMString name, - (DOMString or sequence<DOMString>) keyPath, - optional IDBIndexParameters options); - void deleteIndex(DOMString indexName); + attribute DOMString name; + readonly attribute any keyPath; + readonly attribute DOMStringList indexNames; + [SameObject] readonly attribute IDBTransaction transaction; + readonly attribute boolean autoIncrement; + + [NewObject] IDBRequest put(any value, optional any key); + [NewObject] IDBRequest add(any value, optional any key); + [NewObject] IDBRequest delete(any query); + [NewObject] IDBRequest clear(); + [NewObject] IDBRequest get(any query); + [NewObject] IDBRequest getKey(any query); + [NewObject] IDBRequest getAll(optional any query, + optional [EnforceRange] unsigned long count); + [NewObject] IDBRequest getAllKeys(optional any query, + optional [EnforceRange] unsigned long count); + [NewObject] IDBRequest count(optional any query); + + [NewObject] IDBRequest openCursor(optional any query, + optional IDBCursorDirection direction = "next"); + [NewObject] IDBRequest openKeyCursor(optional any query, + optional IDBCursorDirection direction = "next"); + + IDBIndex index(DOMString name); + + [NewObject] IDBIndex createIndex(DOMString name, + (DOMString or sequence<DOMString>) keyPath, + optional IDBIndexParameters options); + void deleteIndex(DOMString name); }; dictionary IDBIndexParameters { @@ -114,58 +118,58 @@ dictionary IDBIndexParameters { [Exposed=(Window,Worker)] interface IDBIndex { - attribute DOMString name; - readonly attribute IDBObjectStore objectStore; - readonly attribute any keyPath; - readonly attribute boolean multiEntry; - readonly attribute boolean unique; - - IDBRequest get(any query); - IDBRequest getKey(any query); - IDBRequest getAll(optional any query, - [EnforceRange] optional unsigned long count); - IDBRequest getAllKeys(optional any query, - [EnforceRange] optional unsigned long count); - IDBRequest count(optional any query); - - IDBRequest openCursor(optional any query, - optional IDBCursorDirection direction = "next"); - IDBRequest openKeyCursor(optional any query, - optional IDBCursorDirection direction = "next"); + attribute DOMString name; + [SameObject] readonly attribute IDBObjectStore objectStore; + readonly attribute any keyPath; + readonly attribute boolean multiEntry; + readonly attribute boolean unique; + + [NewObject] IDBRequest get(any query); + [NewObject] IDBRequest getKey(any query); + [NewObject] IDBRequest getAll(optional any query, + optional [EnforceRange] unsigned long count); + [NewObject] IDBRequest getAllKeys(optional any query, + optional [EnforceRange] unsigned long count); + [NewObject] IDBRequest count(optional any query); + + [NewObject] IDBRequest openCursor(optional any query, + optional IDBCursorDirection direction = "next"); + [NewObject] IDBRequest openKeyCursor(optional any query, + optional IDBCursorDirection direction = "next"); }; [Exposed=(Window,Worker)] interface IDBKeyRange { - readonly attribute any lower; - readonly attribute any upper; + readonly attribute any lower; + readonly attribute any upper; readonly attribute boolean lowerOpen; readonly attribute boolean upperOpen; // Static construction methods: - static IDBKeyRange only(any value); - static IDBKeyRange lowerBound(any lower, optional boolean open = false); - static IDBKeyRange upperBound(any upper, optional boolean open = false); - static IDBKeyRange bound(any lower, - any upper, - optional boolean lowerOpen = false, - optional boolean upperOpen = false); + [NewObject] static IDBKeyRange only(any value); + [NewObject] static IDBKeyRange lowerBound(any lower, optional boolean open = false); + [NewObject] static IDBKeyRange upperBound(any upper, optional boolean open = false); + [NewObject] static IDBKeyRange bound(any lower, + any upper, + optional boolean lowerOpen = false, + optional boolean upperOpen = false); - boolean includes(any key); + boolean _includes(any key); }; [Exposed=(Window,Worker)] interface IDBCursor { readonly attribute (IDBObjectStore or IDBIndex) source; - readonly attribute IDBCursorDirection direction; - readonly attribute any key; - readonly attribute any primaryKey; + readonly attribute IDBCursorDirection direction; + readonly attribute any key; + readonly attribute any primaryKey; void advance([EnforceRange] unsigned long count); void continue(optional any key); void continuePrimaryKey(any key, any primaryKey); - IDBRequest update(any value); - IDBRequest delete(); + [NewObject] IDBRequest update(any value); + [NewObject] IDBRequest delete(); }; enum IDBCursorDirection { @@ -182,13 +186,13 @@ interface IDBCursorWithValue : IDBCursor { [Exposed=(Window,Worker)] interface IDBTransaction : EventTarget { - readonly attribute DOMStringList objectStoreNames; + readonly attribute DOMStringList objectStoreNames; readonly attribute IDBTransactionMode mode; - readonly attribute IDBDatabase db; - readonly attribute DOMException error; + [SameObject] readonly attribute IDBDatabase db; + readonly attribute DOMException error; IDBObjectStore objectStore(DOMString name); - void abort(); + void abort(); // Event handlers: attribute EventHandler onabort; diff --git a/tests/wpt/web-platform-tests/interfaces/css-typed-om.idl b/tests/wpt/web-platform-tests/interfaces/css-typed-om.idl index 39e53ce39f9..45df5205d9a 100644 --- a/tests/wpt/web-platform-tests/interfaces/css-typed-om.idl +++ b/tests/wpt/web-platform-tests/interfaces/css-typed-om.idl @@ -170,7 +170,7 @@ enum CSSMathOperator { }; // FIXME: Uncomment this when IDLHarness supports CSS namespaces: -// https://github.com/w3c/web-platform-tests/issues/7583 +// https://github.com/web-platform-tests/wpt/issues/7583 /* partial namespace CSS { CSSUnitValue number(double value); diff --git a/tests/wpt/web-platform-tests/interfaces/fetch.idl b/tests/wpt/web-platform-tests/interfaces/fetch.idl index 346d1b08819..18514856bee 100644 --- a/tests/wpt/web-platform-tests/interfaces/fetch.idl +++ b/tests/wpt/web-platform-tests/interfaces/fetch.idl @@ -39,6 +39,7 @@ interface Request { readonly attribute DOMString integrity; readonly attribute boolean keepalive; readonly attribute boolean isReloadNavigation; + readonly attribute boolean isHistoryNavigation; readonly attribute AbortSignal signal; [NewObject] Request clone(); diff --git a/tests/wpt/web-platform-tests/interfaces/pointerevents.idl b/tests/wpt/web-platform-tests/interfaces/pointerevents.idl new file mode 100644 index 00000000000..3a36c6aaa1b --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/pointerevents.idl @@ -0,0 +1,53 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the Pointer Events spec. +// See https://w3c.github.io/pointerevents/ + +dictionary PointerEventInit : MouseEventInit { + long pointerId = 0; + double width = 1; + double height = 1; + float pressure = 0; + float tangentialPressure = 0; + long tiltX = 0; + long tiltY = 0; + long twist = 0; + DOMString pointerType = ""; + boolean isPrimary = false; +}; + +[Constructor(DOMString type, optional PointerEventInit eventInitDict), Exposed=Window] +interface PointerEvent : MouseEvent { + readonly attribute long pointerId; + readonly attribute double width; + readonly attribute double height; + readonly attribute float pressure; + readonly attribute float tangentialPressure; + readonly attribute long tiltX; + readonly attribute long tiltY; + readonly attribute long twist; + readonly attribute DOMString pointerType; + readonly attribute boolean isPrimary; +}; + +partial interface Element { + void setPointerCapture (long pointerId); + void releasePointerCapture (long pointerId); + boolean hasPointerCapture (long pointerId); +}; + +partial interface GlobalEventHandlers { + attribute EventHandler ongotpointercapture; + attribute EventHandler onlostpointercapture; + attribute EventHandler onpointerdown; + attribute EventHandler onpointermove; + attribute EventHandler onpointerup; + attribute EventHandler onpointercancel; + attribute EventHandler onpointerover; + attribute EventHandler onpointerout; + attribute EventHandler onpointerenter; + attribute EventHandler onpointerleave; +}; + +partial interface Navigator { + readonly attribute long maxTouchPoints; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/pointerlock.idl b/tests/wpt/web-platform-tests/interfaces/pointerlock.idl new file mode 100644 index 00000000000..e406b53abdf --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/pointerlock.idl @@ -0,0 +1,27 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the Pointer Lock spec. +// See https://w3c.github.io/pointerlock/ + +partial interface Element { + void requestPointerLock(); +}; + +partial interface Document { + attribute EventHandler onpointerlockchange; + attribute EventHandler onpointerlockerror; + void exitPointerLock(); +}; + +partial interface DocumentOrShadowRoot { + readonly attribute Element ? pointerLockElement; +}; + +partial interface MouseEvent { + readonly attribute long movementX; + readonly attribute long movementY; +}; + +partial dictionary MouseEventInit { + long movementX = 0; + long movementY = 0; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/remote-playback.idl b/tests/wpt/web-platform-tests/interfaces/remote-playback.idl new file mode 100644 index 00000000000..b1aa93d3f3c --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/remote-playback.idl @@ -0,0 +1,31 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the Remote Playback API spec. +// See https://w3c.github.io/remote-playback/ + +[Exposed=Window] +interface RemotePlayback : EventTarget { + Promise<long> watchAvailability(RemotePlaybackAvailabilityCallback callback); + Promise<void> cancelWatchAvailability(optional long id); + + readonly attribute RemotePlaybackState state; + + attribute EventHandler onconnecting; + attribute EventHandler onconnect; + attribute EventHandler ondisconnect; + + Promise<void> prompt(); +}; + +enum RemotePlaybackState { + "connecting", + "connected", + "disconnected" +}; + +callback RemotePlaybackAvailabilityCallback = void(boolean available); + +partial interface HTMLMediaElement { + [SameObject] readonly attribute RemotePlayback remote; + + [CEReactions] attribute boolean disableRemotePlayback; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/remoteplayback.idl b/tests/wpt/web-platform-tests/interfaces/remoteplayback.idl deleted file mode 100644 index 5cd9ba1a8a8..00000000000 --- a/tests/wpt/web-platform-tests/interfaces/remoteplayback.idl +++ /dev/null @@ -1,29 +0,0 @@ -[Exposed=Window] -interface RemotePlayback : EventTarget { - Promise<long> watchAvailability(RemotePlaybackAvailabilityCallback callback); - Promise<void> cancelWatchAvailability(optional long id); - - readonly attribute RemotePlaybackState state; - - attribute EventHandler onconnecting; - attribute EventHandler onconnect; - attribute EventHandler ondisconnect; - - Promise<void> prompt(); -}; - -enum RemotePlaybackState { - "connecting", - "connected", - "disconnected" -}; - -callback RemotePlaybackAvailabilityCallback = void (boolean available); - -partial interface HTMLMediaElement { - [SameObject] - readonly attribute RemotePlayback remote; - - [CEReactions] - attribute boolean disableRemotePlayback; -}; diff --git a/tests/wpt/web-platform-tests/interfaces/staticrange.idl b/tests/wpt/web-platform-tests/interfaces/staticrange.idl new file mode 100644 index 00000000000..5197e166cb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/staticrange.idl @@ -0,0 +1,24 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the Static Range spec. +// See https://w3c.github.io/staticrange/ + +dictionary StaticRangeInit { + required Node startContainer; + required unsigned long startOffset; + required Node endContainer; + required unsigned long endOffset; +}; + +[Constructor(StaticRangeInit initDict), + Exposed=Window] +interface StaticRange { + attribute Node startContainer; + attribute unsigned long startOffset; + + attribute Node endContainer; + attribute unsigned long endOffset; + + readonly attribute boolean collapsed; + + [NewObject] Range toRange(); +}; diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist index bfb5f034a12..f3bf0e1fe77 100644 --- a/tests/wpt/web-platform-tests/lint.whitelist +++ b/tests/wpt/web-platform-tests/lint.whitelist @@ -79,7 +79,7 @@ AHEM COPY: fonts/Ahem.ttf # None of these are actually Ahem AHEM COPY: fonts/ahem-extra/AHEM_*.TTF -# https://github.com/w3c/web-platform-tests/issues/7437 +# https://github.com/web-platform-tests/wpt/issues/7437 AHEM COPY: css/vendor-imports/mozilla/mozilla-central-reftests/*/Ahem.ttf ## Test exclusions ## @@ -765,7 +765,7 @@ MISSING-LINK: css/cssom-view/scrollIntoView-shadow.html MISSING-LINK: css/cssom-view/scrollIntoView-smooth.html MISSING-LINK: css/cssom-view/scrollTop-display-change.html -# TODO https://github.com/w3c/web-platform-tests/issues/5770 +# TODO https://github.com/web-platform-tests/wpt/issues/5770 MISSING-LINK: css/geometry/*.worker.js MISSING-LINK: css/filter-effects/*.any.js diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html index f1866c005e5..7245f64ab86 100644 --- a/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html +++ b/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html @@ -586,6 +586,37 @@ test.done(); }, "Test appending after removeSourceBuffer()."); + mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData) + { + // Media elements using MSE should not fire the stalled event. See discussion at + // https://github.com/w3c/media-source/issues/88#issuecomment-374406928 + mediaElement.addEventListener("stalled", test.unreached_func("Unexpected 'stalled' event.")); + + // Prime the media element with initial appends. + var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init); + var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]); + test.expectEvent(sourceBuffer, "updateend", "initSegment append ended."); + sourceBuffer.appendBuffer(initSegment); + test.waitForExpectedEvents(function() + { + assert_equals(mediaSource.readyState, "open", "readyState is open after init segment appended."); + test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended."); + sourceBuffer.appendBuffer(mediaSegment); + }); + + // Verify state and wait for the 'stalled' event. + test.waitForExpectedEvents(function() + { + assert_equals(sourceBuffer.buffered.length, 1, "sourceBuffer has a buffered range"); + assert_equals(mediaSource.readyState, "open", "readyState is open after media segment appended."); + + // Set timeout to 4 seconds. This creates an opportunity for UAs to _improperly_ fire the stalled event. + // For media elements doing progressive download (not MSE), stalled is thrown after ~3 seconds of the + // download failing to progress. + test.step_timeout(function() { test.done(); }, 4000); + }); + }, "Test slow appending does not trigger stalled events."); + </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mediacapture-record/OWNERS b/tests/wpt/web-platform-tests/mediacapture-record/OWNERS index ae224752b23..649970a5290 100644 --- a/tests/wpt/web-platform-tests/mediacapture-record/OWNERS +++ b/tests/wpt/web-platform-tests/mediacapture-record/OWNERS @@ -1 +1 @@ -@miguelao
\ No newline at end of file +@miguelao diff --git a/tests/wpt/web-platform-tests/mimesniff/mime-types/README.md b/tests/wpt/web-platform-tests/mimesniff/mime-types/README.md index b0b1fbfd211..89e1bf426be 100644 --- a/tests/wpt/web-platform-tests/mimesniff/mime-types/README.md +++ b/tests/wpt/web-platform-tests/mimesniff/mime-types/README.md @@ -15,7 +15,7 @@ A wrapper for these JSON MIME type tests needs to take care that not all `input` function isByteCompatible(str) { for(let i = 0; i < str.length; i++) { const charCode = str.charCodeAt(i); - // See https://github.com/w3c/web-platform-tests/issues/8372 for 0x0B and 0x0C + // See https://github.com/web-platform-tests/wpt/issues/8372 for 0x0B and 0x0C // See https://fetch.spec.whatwg.org/#concept-header-value for the remainder if(charCode > 0xFF) { return "incompatible"; diff --git a/tests/wpt/web-platform-tests/mimesniff/mime-types/charset-parameter.window.js b/tests/wpt/web-platform-tests/mimesniff/mime-types/charset-parameter.window.js index 7b4e94669b0..c288de8349a 100644 --- a/tests/wpt/web-platform-tests/mimesniff/mime-types/charset-parameter.window.js +++ b/tests/wpt/web-platform-tests/mimesniff/mime-types/charset-parameter.window.js @@ -6,7 +6,7 @@ promise_test(() => { function isByteCompatible(str) { for(let i = 0; i < str.length; i++) { const charCode = str.charCodeAt(i); - // See https://github.com/w3c/web-platform-tests/issues/8372 for 0x0B and 0x0C + // See https://github.com/web-platform-tests/wpt/issues/8372 for 0x0B and 0x0C // See https://fetch.spec.whatwg.org/#concept-header-value for the remainder if(charCode > 0xFF) { return "incompatible"; diff --git a/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js b/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js index bd9a62e433a..beacada1b10 100644 --- a/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js +++ b/tests/wpt/web-platform-tests/mimesniff/mime-types/parsing.any.js @@ -10,7 +10,7 @@ promise_test(() => { function isByteCompatible(str) { for(let i = 0; i < str.length; i++) { const charCode = str.charCodeAt(i); - // See https://github.com/w3c/web-platform-tests/issues/8372 for 0x0B and 0x0C + // See https://github.com/web-platform-tests/wpt/issues/8372 for 0x0B and 0x0C // See https://fetch.spec.whatwg.org/#concept-header-value for the remainder if(charCode > 0xFF) { return "incompatible"; diff --git a/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html b/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html index 692f31ed807..1dee4af6ee0 100644 --- a/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html @@ -134,6 +134,6 @@ function runPromiseTest(button, data, expectedCard = visaCredit, expectedAddress </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html index f767044d060..0b3f9535ed8 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html @@ -104,6 +104,6 @@ function runManualTest(button, expected = {}) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html index 563f953fc0f..94f5d33119d 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-call-immediate-manual.https.html @@ -188,6 +188,6 @@ function testRecycleEvents({ textContent: testName }) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-duplicate-shipping-options-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-duplicate-shipping-options-manual.https.html index 2f870a9838f..f02c40f6f79 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-duplicate-shipping-options-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-duplicate-shipping-options-manual.https.html @@ -92,6 +92,6 @@ function testFireEvents(button) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-incremental-update-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-incremental-update-manual.https.html index 6451715d86e..a6f8184ce76 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-incremental-update-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-incremental-update-manual.https.html @@ -182,6 +182,6 @@ function testFireEvent(button, updateDetails) { </section> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-method-abort-update-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-method-abort-update-manual.https.html index dd3d8f1175d..c24350dc231 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-method-abort-update-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-method-abort-update-manual.https.html @@ -264,6 +264,6 @@ function testBadUpdate(button, badDetails, expectedError, errorCode) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html index fe887599c59..0ac2478c195 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentRequestUpdateEvent/updateWith-state-checks-manual.https.html @@ -110,6 +110,6 @@ function testRequestIsUpdating(button) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/algorithms-manual.https.html b/tests/wpt/web-platform-tests/payment-request/algorithms-manual.https.html index 2e4140ae0d6..a40590586d8 100644 --- a/tests/wpt/web-platform-tests/payment-request/algorithms-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/algorithms-manual.https.html @@ -161,6 +161,6 @@ async function runAbortTest(button) { </section> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/change-shipping-option-manual.https.html b/tests/wpt/web-platform-tests/payment-request/change-shipping-option-manual.https.html index eefc45f2921..e70ac2a0cd9 100644 --- a/tests/wpt/web-platform-tests/payment-request/change-shipping-option-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/change-shipping-option-manual.https.html @@ -89,6 +89,6 @@ function testShippingOptionChanged() { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/change-shipping-option-select-last-manual.https.html b/tests/wpt/web-platform-tests/payment-request/change-shipping-option-select-last-manual.https.html index eb1957f5414..2d6e1e62f84 100644 --- a/tests/wpt/web-platform-tests/payment-request/change-shipping-option-select-last-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/change-shipping-option-select-last-manual.https.html @@ -87,6 +87,6 @@ function testShippingOptionChanged(button) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method-manual.https.html index caf43d1cb0c..0311e84c942 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-request-canmakepayment-method-manual.https.html @@ -191,6 +191,6 @@ function manualTest2(elem){ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html index fab78f43fd6..5c710da4795 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-request-show-method-manual.https.html @@ -90,6 +90,6 @@ function manualTest3(button){ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> 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 509fa4d110b..3b6d9ad4900 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 @@ -79,6 +79,6 @@ async function runManualTest({ completeWith: result }, button) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/methodName-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/methodName-attribute-manual.https.html index cd25e942c6f..840d330a880 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/methodName-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/methodName-attribute-manual.https.html @@ -23,6 +23,6 @@ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/payerEmail-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/payerEmail-attribute-manual.https.html index c7eaf65ffcc..676542abae3 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/payerEmail-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/payerEmail-attribute-manual.https.html @@ -43,6 +43,6 @@ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/payerName-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/payerName-attribute-manual.https.html index b2636e37cb8..b4950d2b0a3 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/payerName-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/payerName-attribute-manual.https.html @@ -43,6 +43,6 @@ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/payerPhone-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/payerPhone-attribute-manual.https.html index c74f45e9c23..3a5710a755e 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/payerPhone-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/payerPhone-attribute-manual.https.html @@ -43,6 +43,6 @@ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/requestId-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/requestId-attribute-manual.https.html index 653ed55bdf9..80477435bdf 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/requestId-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/requestId-attribute-manual.https.html @@ -29,6 +29,6 @@ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/shippingAddress-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/shippingAddress-attribute-manual.https.html index b5a4082d7f6..c8f5c720a1b 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/shippingAddress-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/shippingAddress-attribute-manual.https.html @@ -96,6 +96,6 @@ async function runManualTest(button, options = {}, expected = {}, id) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/shippingOption-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/shippingOption-attribute-manual.https.html index eec7a4d9bde..15d1a487e72 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/shippingOption-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/shippingOption-attribute-manual.https.html @@ -38,6 +38,6 @@ </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/shipping-address-changed-manual.https.html b/tests/wpt/web-platform-tests/payment-request/shipping-address-changed-manual.https.html index 1ce6e527b12..03d8faca36f 100644 --- a/tests/wpt/web-platform-tests/payment-request/shipping-address-changed-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/shipping-address-changed-manual.https.html @@ -80,6 +80,6 @@ function testShippingAddressChange() { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-rejects-manual.https.html b/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-rejects-manual.https.html index 1a3b5fe457f..888942f78a3 100644 --- a/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-rejects-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-rejects-manual.https.html @@ -276,6 +276,6 @@ </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html b/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html index 6ec74bbbca4..5d1bf2fcb8e 100644 --- a/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html @@ -314,6 +314,6 @@ function runUpdateDetailsAlgorithm( </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/show-method-postmessage-manual.https.html b/tests/wpt/web-platform-tests/payment-request/show-method-postmessage-manual.https.html index 0a7f37f0889..a848ee6a005 100644 --- a/tests/wpt/web-platform-tests/payment-request/show-method-postmessage-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/show-method-postmessage-manual.https.html @@ -75,7 +75,7 @@ async function runUserActivation(button) { <iframe width="100%" id="iframe" src="show-method-postmessage-iframe.html" allowpaymentrequest></iframe> <p> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> </p> diff --git a/tests/wpt/web-platform-tests/payment-request/updateWith-method-pmi-handling-manual.https.html b/tests/wpt/web-platform-tests/payment-request/updateWith-method-pmi-handling-manual.https.html index adc3d6aaefd..1374557fa63 100644 --- a/tests/wpt/web-platform-tests/payment-request/updateWith-method-pmi-handling-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/updateWith-method-pmi-handling-manual.https.html @@ -126,6 +126,6 @@ function manualTest(button, { invalidMethod }) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/user-abort-algorithm-manual.https.html b/tests/wpt/web-platform-tests/payment-request/user-abort-algorithm-manual.https.html index bfc83ab942c..7eb4cfffe54 100644 --- a/tests/wpt/web-platform-tests/payment-request/user-abort-algorithm-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/user-abort-algorithm-manual.https.html @@ -65,6 +65,6 @@ async function runAbortTest(button) { </li> </ol> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/payment-request/user-accepts-payment-request-algo-manual.https.html b/tests/wpt/web-platform-tests/payment-request/user-accepts-payment-request-algo-manual.https.html index c4d390f273d..07a09be916c 100644 --- a/tests/wpt/web-platform-tests/payment-request/user-accepts-payment-request-algo-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/user-accepts-payment-request-algo-manual.https.html @@ -215,6 +215,6 @@ function testAcceptRequestAlgorithm( </ol> </section> <small> - If you find a buggy test, please <a href="https://github.com/w3c/web-platform-tests/issues">file a bug</a> - and tag one of the <a href="https://github.com/w3c/web-platform-tests/blob/master/payment-request/OWNERS">owners</a>. + If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a> + and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>. </small> diff --git a/tests/wpt/web-platform-tests/pointerevents/idlharness.html b/tests/wpt/web-platform-tests/pointerevents/idlharness.html index 6afcb21b795..90f3c1cd708 100644 --- a/tests/wpt/web-platform-tests/pointerevents/idlharness.html +++ b/tests/wpt/web-platform-tests/pointerevents/idlharness.html @@ -36,64 +36,13 @@ Document implements GlobalEventHandlers; interface MouseEvent { }; - </pre> -<pre id='idl'> -dictionary PointerEventInit : MouseEventInit { - long pointerId = 0; - double width = 1; - double height = 1; - float pressure = 0; - float tangentialPressure = 0; - long tiltX = 0; - long tiltY = 0; - long twist = 0; - DOMString pointerType = ""; - boolean isPrimary = false; -}; - -[Constructor(DOMString type, optional PointerEventInit eventInitDict)] -interface PointerEvent : MouseEvent { - readonly attribute long pointerId; - readonly attribute double width; - readonly attribute double height; - readonly attribute float pressure; - readonly attribute float tangentialPressure; - readonly attribute long tiltX; - readonly attribute long tiltY; - readonly attribute long twist; - readonly attribute DOMString pointerType; - readonly attribute boolean isPrimary; -}; - -partial interface Element { - void setPointerCapture(long pointerId); - void releasePointerCapture(long pointerId); - boolean hasPointerCapture(long pointerId); -}; - -partial interface GlobalEventHandlers { - attribute EventHandler ongotpointercapture; - attribute EventHandler onlostpointercapture; - attribute EventHandler onpointerdown; - attribute EventHandler onpointermove; - attribute EventHandler onpointerup; - attribute EventHandler onpointercancel; - attribute EventHandler onpointerover; - attribute EventHandler onpointerout; - attribute EventHandler onpointerenter; - attribute EventHandler onpointerleave; -}; - -partial interface Navigator { - readonly attribute long maxTouchPoints; -}; -</pre> <script> promise_test(async function() { const dom = await fetch('/interfaces/dom.idl').then(r => r.text()); const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text()); + const idl = await fetch('/interfaces/pointerevents.idl').then(r => r.text()); const idl_array = new IdlArray(); idl_array.add_untested_idls(dom, { only: ['EventInit'] }); @@ -109,8 +58,9 @@ partial interface Navigator { // Note that I don't bother including Document here because there are still // a bunch of differences between browsers around Document vs HTMLDocument. idl_array.add_objects({ - Window: ["window"], - Navigator: ["navigator"]}); + Window: ["window"], + Navigator: ["navigator"] + }); idl_array.test(); }, 'pointerevents interfaces'); </script> diff --git a/tests/wpt/web-platform-tests/pointerlock/OWNERS b/tests/wpt/web-platform-tests/pointerlock/OWNERS index 640884d6444..95ff44374f5 100644 --- a/tests/wpt/web-platform-tests/pointerlock/OWNERS +++ b/tests/wpt/web-platform-tests/pointerlock/OWNERS @@ -1,2 +1,2 @@ @scheib -@siusin
\ No newline at end of file +@siusin diff --git a/tests/wpt/web-platform-tests/pointerlock/idlharness.html b/tests/wpt/web-platform-tests/pointerlock/idlharness.html deleted file mode 100644 index aa876f58fd8..00000000000 --- a/tests/wpt/web-platform-tests/pointerlock/idlharness.html +++ /dev/null @@ -1,85 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<meta charset="utf-8"> -<title>Pointer Lock IDL tests</title> -<link rel="author" title="W3C" href="http://www.w3.org/" /> -<link rel="help" href="http://www.w3.org/TR/pointerlock/#element-interface"/> -<link rel="help" href="http://www.w3.org/TR/pointerlock/#extensions-to-the-document-interface"> -<link rel="help" href="http://www.w3.org/TR/pointerlock/#extensions-to-the-mouseevent-interface"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="/resources/WebIDLParser.js"></script> -<script src="/resources/idlharness.js"></script> -</head> - -<body> -<h1>Pointer Lock IDL tests</h1> - -<pre id='untested_idl' style='display:none'> - -interface EventTarget { -}; - -interface Node : EventTarget { -}; - -interface Element : Node { -}; - -interface Document : Node { -}; - -interface Event { -}; - -interface MouseEvent : Event { -}; -</pre> - -<pre id='idl'> - -partial interface Element { - void requestPointerLock (); -}; - -partial interface Document { - attribute EventHandler onpointerlockchange; - attribute EventHandler onpointerlockerror; - readonly attribute Element? pointerLockElement; - void exitPointerLock (); -}; - -partial interface MouseEvent { - readonly attribute long movementX; - readonly attribute long movementY; -}; - -partial dictionary MouseEventInit { - long movementX = 0; - long movementY = 0; -}; - - -</pre> - -<div id="log"></div> - -<script> - -var idl_array = new IdlArray(); - -setup(function() { - idl_array.add_untested_idls(document.getElementById("untested_idl").textContent); - idl_array.add_idls(document.getElementById("idl").textContent); - - idl_array.add_objects({ Document: ["window.document"], - Element: ["window.document.documentElement"], - MouseEvent: ["new MouseEvent('mousemove')", "new MouseEvent('pointerlockchange')"] }); -}); - -idl_array.test(); - -</script> -</body> -</html> diff --git a/tests/wpt/web-platform-tests/pointerlock/interfaces.window.js b/tests/wpt/web-platform-tests/pointerlock/interfaces.window.js new file mode 100644 index 00000000000..2aa5a01a877 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerlock/interfaces.window.js @@ -0,0 +1,26 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +'use strict'; + +// https://w3c.github.io/pointerlock/ + +promise_test(async () => { + const html = await fetch('/interfaces/html.idl').then(r => r.text()); + const dom = await fetch('/interfaces/dom.idl').then(r => r.text()); + const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text()); + const idl = await fetch('/interfaces/pointerlock.idl').then(r => r.text()); + + const idl_array = new IdlArray(); + idl_array.add_idls(idl); + idl_array.add_dependency_idls(uievents); + idl_array.add_dependency_idls(dom); + idl_array.add_dependency_idls(html); + + idl_array.add_objects({ + Document: ["window.document"], + Element: ["window.document.documentElement"], + MouseEvent: ["new MouseEvent('foo')"] + }); + idl_array.test(); +}, 'pointerlock interfaces.'); diff --git a/tests/wpt/web-platform-tests/presentation-api/OWNERS b/tests/wpt/web-platform-tests/presentation-api/OWNERS index 47731cfabc8..cd77c0ef5e8 100644 --- a/tests/wpt/web-platform-tests/presentation-api/OWNERS +++ b/tests/wpt/web-platform-tests/presentation-api/OWNERS @@ -1,3 +1,3 @@ @louaybassbouss @tidoust -@zqzhang
\ No newline at end of file +@zqzhang diff --git a/tests/wpt/web-platform-tests/remote-playback/idlharness.html b/tests/wpt/web-platform-tests/remote-playback/idlharness.html index 274771af684..7220b156160 100644 --- a/tests/wpt/web-platform-tests/remote-playback/idlharness.html +++ b/tests/wpt/web-platform-tests/remote-playback/idlharness.html @@ -43,7 +43,7 @@ promise_test(async function() { return Promise.all( [ "/interfaces/html.idl", - "/interfaces/remoteplayback.idl", + "/interfaces/remote-playback.idl", ].map(url => fetch(url).then(r => r.text()))) .then(doTest); }, "Test driver"); diff --git a/tests/wpt/web-platform-tests/resources/chromium/web-bluetooth-test.js b/tests/wpt/web-platform-tests/resources/chromium/web-bluetooth-test.js index 1700b04df33..f0eba0f0c6c 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/web-bluetooth-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/web-bluetooth-test.js @@ -522,5 +522,5 @@ try { } catch { throw 'Web Bluetooth Test API is not implemented on this ' + 'environment. See the bluetooth README at ' + - 'https://github.com/w3c/web-platform-tests/blob/master/bluetooth/README.md#web-bluetooth-testing'; + 'https://github.com/web-platform-tests/wpt/blob/master/bluetooth/README.md#web-bluetooth-testing'; } diff --git a/tests/wpt/web-platform-tests/resources/test/wptserver.py b/tests/wpt/web-platform-tests/resources/test/wptserver.py index 79220e81447..6acad835277 100644 --- a/tests/wpt/web-platform-tests/resources/test/wptserver.py +++ b/tests/wpt/web-platform-tests/resources/test/wptserver.py @@ -1,3 +1,4 @@ +import logging import os import subprocess import time @@ -19,15 +20,19 @@ class WPTServer(object): def start(self): self.devnull = open(os.devnull, 'w') + wptserve_cmd = [os.path.join(self.wpt_root, 'wpt'), 'serve'] + logging.info('Executing %s' % ' '.join(wptserve_cmd)) self.proc = subprocess.Popen( - [os.path.join(self.wpt_root, 'wpt'), 'serve'], + wptserve_cmd, stderr=self.devnull, cwd=self.wpt_root) for retry in range(5): # Exponential backoff. time.sleep(2 ** retry) - if self.proc.poll() != None: + exit_code = self.proc.poll() + if exit_code != None: + logging.warn('Command "%s" exited with %s', ' '.join(wptserve_cmd), exit_code) break try: urllib2.urlopen(self.base_url, timeout=1) @@ -35,7 +40,7 @@ class WPTServer(object): except urllib2.URLError: pass - raise Exception('Could not start wptserve.') + raise Exception('Could not start wptserve on %s' % self.base_url) def stop(self): self.proc.terminate() diff --git a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html index 20240768edc..b6044c581b8 100644 --- a/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html +++ b/tests/wpt/web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys-attributes-for-service-worker.https.html @@ -7,6 +7,10 @@ <script> const worker = '../resources/cache-keys-attributes-for-service-worker.js'; +function wait(ms) { + return new Promise(resolve => step_timeout(resolve, ms)); +} + promise_test(async (t) => { const scope = '../resources/blank.html?name=isReloadNavigation'; let frame; @@ -33,4 +37,39 @@ promise_test(async (t) => { } } }, 'Request.IsReloadNavigation should persist.'); + +promise_test(async (t) => { + const scope = '../resources/blank.html?name=isHistoryNavigation'; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'original: false, stored: false'); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.onload = resolve; + frame.src = '../resources/blank.html?ignore'; + }); + await wait(0); + await new Promise((resolve) => { + frame.onload = resolve; + frame.contentWindow.history.go(-1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'original: true, stored: true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } +}, 'Request.IsHistoryNavigation should persist.'); </script> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html new file mode 100644 index 00000000000..3cf5922f396 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<body> +<p>Click <a href="resources/install-worker.html?isHistoryNavigation&script=fetch-event-test-worker.js">this link</a>. + Once you see "method = GET,..." in the page, go to another page, and then go back to the page using the Backward button. + You should see "method = GET, isHistoryNavigation = true". +</p> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html new file mode 100644 index 00000000000..401939b3cb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-is-history-forward-navigation-manual.https.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<body> +<p>Click <a href="resources/install-worker.html?isHistoryNavigation&script=fetch-event-test-worker.js">this link</a>. + Once you see "method = GET,..." in the page, go back to this page using the Backward button, and then go to the second page using the Forward button. + You should see "method = GET, isHistoryNavigation = true". +</p> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html index 02f8d0e4530..8ecf8e6cbe8 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event.https.html @@ -770,5 +770,311 @@ promise_test(async (t) => { } }, 'FetchEvent#request.isReloadNavigation is true (with history traversal)'); +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = anotherUrl; + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is true (with history.go(-1))'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(anotherUrl); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = scope; + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-1); + }); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is true (with history.go(1))'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(anotherUrl); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = scope; + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-1); + }); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = true'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(0); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is false (with history.go(0))'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(anotherUrl); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = scope; + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-1); + }); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = true'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.location.reload(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is false (with location.reload)'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + const oneAnotherUrl = new Request('resources/simple.html?').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = anotherUrl; + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = oneAnotherUrl; + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-2); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is true (with history.go(-2))'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + const oneAnotherUrl = new Request('resources/simple.html?').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(anotherUrl); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = oneAnotherUrl; + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = scope; + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-2); + }); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(2); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is true (with history.go(2))'); + +promise_test(async (t) => { + const scope = 'resources/simple.html?isHistoryNavigation'; + const anotherUrl = new Request('resources/simple.html').url; + let frame; + let reg; + + try { + reg = await service_worker_unregister_and_register(t, worker, scope); + await wait_for_state(t, reg.installing, 'activated'); + frame = await with_iframe(scope); + assert_equals(frame.contentDocument.body.textContent, + 'method = GET, isHistoryNavigation = false'); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + const form = frame.contentDocument.createElement('form'); + form.method = 'POST'; + form.name = 'form'; + form.action = new Request(scope).url; + frame.contentDocument.body.appendChild(form); + form.submit(); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = POST, isHistoryNavigation = false'); + // Use step_timeout(0) to ensure the history entry is created for Blink + // and WebKit. See https://bugs.webkit.org/show_bug.cgi?id=42861. + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.src = anotherUrl; + }); + assert_equals(frame.contentDocument.body.textContent, "Here's a simple html file.\n"); + await wait(0); + await new Promise((resolve) => { + frame.addEventListener('load', resolve); + frame.contentWindow.history.go(-1); + }); + assert_equals(frame.contentDocument.body.textContent, + 'method = POST, isHistoryNavigation = true'); + } finally { + if (frame) { + frame.remove(); + } + if (reg) { + await reg.unregister(); + } + } + }, 'FetchEvent#request.isHistoryNavigation is true (POST + history.go(-1))'); + </script> </body> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html index 5c43b954aac..6b2f6d78e12 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html @@ -16,7 +16,7 @@ promise_test(t => { // TODO: return the Promise created by `r.unregister`once // `testharness.js` has been updated to honor thenables returned by // cleanup functions. - // See https://github.com/w3c/web-platform-tests/pull/8748 + // See https://github.com/web-platform-tests/wpt/pull/8748 t.add_cleanup(() => { r.unregister(); }); registration = r; worker = registration.installing; @@ -69,7 +69,7 @@ promise_test(t => { // TODO: return the Promise created by `r.unregister`once // `testharness.js` has been updated to honor thenables returned by // cleanup functions. - // See https://github.com/w3c/web-platform-tests/pull/8748 + // See https://github.com/web-platform-tests/wpt/pull/8748 t.add_cleanup(() => { r.unregister(); }); var ab = text_encoder.encode(message); @@ -113,7 +113,7 @@ promise_test(t => { // TODO: return the Promise created by `r.unregister`once // `testharness.js` has been updated to honor thenables returned by // cleanup functions. - // See https://github.com/w3c/web-platform-tests/pull/8748 + // See https://github.com/web-platform-tests/wpt/pull/8748 t.add_cleanup(() => { r.unregister(); }); var channel = new MessageChannel; diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js index a313094cf44..d503a6609d6 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-test-worker.js @@ -137,6 +137,14 @@ function handleIsReloadNavigation(event) { event.respondWith(new Response(body)); } +function handleIsHistoryNavigation(event) { + const request = event.request; + const body = + `method = ${request.method}, ` + + `isHistoryNavigation = ${request.isHistoryNavigation}`; + event.respondWith(new Response(body)); +} + self.addEventListener('fetch', function(event) { var url = event.request.url; var handlers = [ @@ -160,6 +168,7 @@ self.addEventListener('fetch', function(event) { { pattern: '?request-body', fn: handleRequestBody }, { pattern: '?keepalive', fn: handleKeepalive }, { pattern: '?isReloadNavigation', fn: handleIsReloadNavigation }, + { pattern: '?isHistoryNavigation', fn: handleIsHistoryNavigation }, ]; var handler = null; diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js index 8fa3e3bd9ad..7efde354a8f 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js @@ -46,9 +46,14 @@ function unreached_rejection(test, prefix) { }); } -// Adds an iframe to the document and returns a promise that resolves to the -// iframe when it finishes loading. The caller is responsible for removing the -// iframe later if needed. +/** + * Adds an iframe to the document and returns a promise that resolves to the + * iframe when it finishes loading. The caller is responsible for removing the + * iframe later if needed. + * + * @param {string} url + * @returns {HTMLIFrameElement} + */ function with_iframe(url) { return new Promise(function(resolve) { var frame = document.createElement('iframe'); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/windowclient-navigate.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/windowclient-navigate.https.html index 8fb467a3f9b..8ea279ef075 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/windowclient-navigate.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/windowclient-navigate.https.html @@ -166,7 +166,7 @@ function navigate_test(override_parameters) { // executes. `Test#add_cleanup` cannot be used for this purpose because the // operation is asynchronous, and `add_cleanup` does not support // asynchronous operations at the time of this writing. See - // https://github.com/w3c/web-platform-tests/issues/6075 + // https://github.com/web-platform-tests/wpt/issues/6075 // Ensure also that test failure is not hidden by successful cleanup // operation. return test_body diff --git a/tests/wpt/web-platform-tests/staticrange/idlharness.html b/tests/wpt/web-platform-tests/staticrange/idlharness.html new file mode 100644 index 00000000000..8de10a4c701 --- /dev/null +++ b/tests/wpt/web-platform-tests/staticrange/idlharness.html @@ -0,0 +1,24 @@ +<!doctype html> +<title>StaticRange IDL tests</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/WebIDLParser.js"></script> +<script src="/resources/idlharness.js"></script> +<script> + "use strict"; + + promise_test(async () => { + const staticrange = await fetch("/interfaces/staticrange.idl").then(r => r.text()); + const dom = await fetch("/interfaces/dom.idl").then(r => r.text()); + const idl_array = new IdlArray(); + idl_array.add_idls(staticrange); + idl_array.add_dependency_idls(dom); + idl_array.add_objects({ + StaticRange: [ + 'new StaticRange({ start: document.body, end: document.body })' + ], + }); + idl_array.test(); + }, "staticrange IDL"); +</script> + diff --git a/tests/wpt/web-platform-tests/streams/generate-test-wrappers.js b/tests/wpt/web-platform-tests/streams/generate-test-wrappers.js index 4a406fe75c2..22e5c786bbc 100644 --- a/tests/wpt/web-platform-tests/streams/generate-test-wrappers.js +++ b/tests/wpt/web-platform-tests/streams/generate-test-wrappers.js @@ -8,7 +8,7 @@ // // It will turn any importScripts inside the .js file into <script>s in the browser context wrapper. // -// This could become obsolete if https://github.com/w3c/web-platform-tests/issues/4210 gets fixed, +// This could become obsolete if https://github.com/web-platform-tests/wpt/issues/4210 gets fixed, // allowing .any.js to work with all four contexts. const fs = require("fs"); diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-01.svg b/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-01.svg new file mode 100644 index 00000000000..e268386b64e --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGGeometryElement.getPointAtLength-01.svg @@ -0,0 +1,44 @@ +<svg xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:html="http://www.w3.org/1999/xhtml"> + <title>SVGGeometryElement.prototype.getPointAtLength clamps its argument to [0, length]</title> + <metadata> + <html:link rel="help" href="https://svgwg.org/svg2-draft/types.html#__svg__SVGGeometryElement__getPointAtLength"/> + <html:meta name="assert" content="SVGGeometryElement.prototype.getPointAtLength clamps its argument."/> + </metadata> + <g stroke="blue"> + <line id="line" x1="50" y1="60" x2="100" y2="60"/> + <path id="path" d="M40,70L110,70"/> + </g> + <html:script src="/resources/testharness.js"/> + <html:script src="/resources/testharnessreport.js"/> + <script><![CDATA[ + test(function() { + let line = document.getElementById('line'); + let point = line.getPointAtLength(-10); + assert_equals(point.x, 50, 'starting x'); + assert_equals(point.y, 60, 'starting y'); + }, document.title+', less than zero (SVGLineElement).'); + test(function() { + let path = document.getElementById('path'); + let point = path.getPointAtLength(-10); + assert_equals(point.x, 40, 'starting x'); + assert_equals(point.y, 70, 'starting y'); + }, document.title+', less than zero (SVGPathElement).'); + + test(function() { + let line = document.getElementById('line'); + assert_less_than(line.getTotalLength(), 80); + let point = line.getPointAtLength(80); + assert_equals(point.x, 100, 'ending x'); + assert_equals(point.y, 60, 'ending y'); + }, document.title+', greater than \'length\' (SVGLineElement).'); + test(function() { + let path = document.getElementById('path'); + assert_less_than(path.getTotalLength(), 80); + let point = path.getPointAtLength(80); + assert_equals(point.x, 110, 'ending x'); + assert_equals(point.y, 70, 'ending y'); + }, document.title+', greater than \'length\' (SVGPathElement).'); + ]]></script> +</svg> diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_wpt.sh b/tests/wpt/web-platform-tests/tools/ci/ci_wpt.sh index 2b634137605..e780c17356d 100755 --- a/tests/wpt/web-platform-tests/tools/ci/ci_wpt.sh +++ b/tests/wpt/web-platform-tests/tools/ci/ci_wpt.sh @@ -8,7 +8,7 @@ cd $WPT_ROOT source tools/ci/lib.sh main() { - git fetch --unshallow https://github.com/w3c/web-platform-tests.git +refs/heads/*:refs/remotes/origin/* + git fetch --unshallow https://github.com/web-platform-tests/wpt.git +refs/heads/*:refs/remotes/origin/* hosts_fixup install_chrome unstable pip install -U tox codecov diff --git a/tests/wpt/web-platform-tests/tools/ci/taskgraph.py b/tests/wpt/web-platform-tests/tools/ci/taskgraph.py index 5c1936a39be..162ca227b28 100644 --- a/tests/wpt/web-platform-tests/tools/ci/taskgraph.py +++ b/tests/wpt/web-platform-tests/tools/ci/taskgraph.py @@ -9,7 +9,7 @@ import yaml here = os.path.dirname(__file__) wpt_root = os.path.abspath(os.path.join(here, os.pardir, os.pardir)) -docker_image = "harjgam/web-platform-tests:0.12" +docker_image = "gsnedders/web-platform-tests:0.13" task_template = { "provisionerId": "aws-provisioner-v1", diff --git a/tests/wpt/web-platform-tests/tools/docker/start.sh b/tests/wpt/web-platform-tests/tools/docker/start.sh index 26731821df6..6e6b2ac93a0 100755 --- a/tests/wpt/web-platform-tests/tools/docker/start.sh +++ b/tests/wpt/web-platform-tests/tools/docker/start.sh @@ -14,7 +14,7 @@ #!/bin/bash set -ex -REMOTE=${1:-https://github.com/w3c/web-platform-tests} +REMOTE=${1:-https://github.com/web-platform-tests/wpt} BRANCH=${2:-master} REV=${3:-FETCH_HEAD} BROWSER=${4:-all} @@ -41,7 +41,7 @@ then deb_archive=google-chrome-unstable_current_amd64.deb wget https://dl.google.com/linux/direct/$deb_archive - sudo apt-get -qqy update && gdebi -n $deb_archive + sudo apt-get -qqy update && sudo gdebi -n $deb_archive fi sudo Xvfb $DISPLAY -screen 0 ${SCREEN_WIDTH}x${SCREEN_HEIGHT}x${SCREEN_DEPTH} & diff --git a/tests/wpt/web-platform-tests/tools/manifest/download.py b/tests/wpt/web-platform-tests/tools/manifest/download.py index 611ada0ecd3..8bb3cb673de 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/download.py +++ b/tests/wpt/web-platform-tests/tools/manifest/download.py @@ -40,7 +40,7 @@ def git_commits(repo_root): def github_url(commits): try: - resp = urlopen("https://api.github.com/repos/w3c/web-platform-tests/releases") + resp = urlopen("https://api.github.com/repos/web-platform-tests/wpt/releases") except Exception: return None diff --git a/tests/wpt/web-platform-tests/tools/runner/index.html b/tests/wpt/web-platform-tests/tools/runner/index.html index 5dfc1dcf36e..6c9a8affed5 100644 --- a/tests/wpt/web-platform-tests/tools/runner/index.html +++ b/tests/wpt/web-platform-tests/tools/runner/index.html @@ -94,7 +94,7 @@ <div class="instructions"> <p> To run a set of - <a href="https://github.com/w3c/web-platform-tests/blob/master/README.md">web-platform-tests</a> + <a href="https://github.com/web-platform-tests/wpt/blob/master/README.md">web-platform-tests</a> tests, specify a path value in the <b>Run tests under path</b> field above. Example paths: </p> <ul> diff --git a/tests/wpt/web-platform-tests/tools/serve/serve.py b/tests/wpt/web-platform-tests/tools/serve/serve.py index d61c9f2a68a..d77875b182c 100644 --- a/tests/wpt/web-platform-tests/tools/serve/serve.py +++ b/tests/wpt/web-platform-tests/tools/serve/serve.py @@ -454,7 +454,7 @@ def make_hosts_file(config, host): # for this context. These systems do not reserve any value for this # purpose, so the inavailability of the domains must be taken for granted. # - # https://github.com/w3c/web-platform-tests/issues/10560 + # https://github.com/web-platform-tests/wpt/issues/10560 if platform.uname()[0] == "Windows": for not_domain in config.not_domains_set: rv.append("0.0.0.0\t%s\n" % not_domain) diff --git a/tests/wpt/web-platform-tests/tools/webdriver/README.md b/tests/wpt/web-platform-tests/tools/webdriver/README.md index 015b31b254c..72de3b2ae8b 100644 --- a/tests/wpt/web-platform-tests/tools/webdriver/README.md +++ b/tests/wpt/web-platform-tests/tools/webdriver/README.md @@ -9,7 +9,7 @@ implementation compliance to the specification in mind, so that different remote end drivers can determine whether they meet the recognised standard. The client is used for the WebDriver specification tests -in the [Web Platform Tests](https://github.com/w3c/web-platform-tests). +in the [Web Platform Tests](https://github.com/web-platform-tests/wpt). ## Installation @@ -31,7 +31,7 @@ which is useful if you want to contribute patches back: >>> If you are writing WebDriver specification tests for -[WPT](https://github.com/w3c/web-platform-tests), +[WPT](https://github.com/web-platform-tests/wpt), there is no need to install the client manually as it is included in the `tools/webdriver` directory. diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/README.rst b/tests/wpt/web-platform-tests/tools/wptrunner/README.rst index 89179228272..76e496dcdbb 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/README.rst +++ b/tests/wpt/web-platform-tests/tools/wptrunner/README.rst @@ -233,4 +233,4 @@ The web-platform-test harness knows about several keys: `refurl` The reference url for reftests. -.. _`web-platform-tests testsuite`: https://github.com/w3c/web-platform-tests +.. _`web-platform-tests testsuite`: https://github.com/web-platform-tests/wpt diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/docs/usage.rst b/tests/wpt/web-platform-tests/tools/wptrunner/docs/usage.rst index 258cca6eca9..5997f4254f1 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/docs/usage.rst +++ b/tests/wpt/web-platform-tests/tools/wptrunner/docs/usage.rst @@ -32,7 +32,7 @@ a copy of the web-platform-tests repository. This can be located anywhere on the filesystem, but the easiest option is to put it under the same parent directory as the wptrunner checkout:: - git clone https://github.com/w3c/web-platform-tests.git + git clone https://github.com/web-platform-tests/wpt.git It is also necessary to generate a web-platform-tests ``MANIFEST.json`` file. It's recommended to also put that under the same parent directory as @@ -220,7 +220,7 @@ url to pull from; ``branch`` the branch to sync against and use when checking out the tests e.g.:: [web-platform-tests] - remote_url = https://github.com/w3c/web-platform-tests.git + remote_url = https://github.com/web-platform-tests/wpt.git branch = master sync_path = sync diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner.default.ini b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner.default.ini index 34d25f8056b..19462bc317b 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner.default.ini +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner.default.ini @@ -1,7 +1,7 @@ [products] [web-platform-tests] -remote_url = https://github.com/w3c/web-platform-tests.git +remote_url = https://github.com/web-platform-tests/wpt.git branch = master sync_path = %(pwd)s/sync diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py index 68017abf048..309416eece0 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -122,7 +122,7 @@ def env_options(): # network.dns.localDomains preference set below) to resolve the test # domains to localhost without relying on the network stack. # - # https://github.com/w3c/web-platform-tests/pull/9480 + # https://github.com/web-platform-tests/wpt/pull/9480 return {"server_host": "127.0.0.1", "bind_address": False, "supports_debugger": True} diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/edge-prerun.bat b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/edge-prerun.bat index 9d0878e99ed..1a3e6fee309 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/edge-prerun.bat +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/edge-prerun.bat @@ -5,5 +5,5 @@ reg add "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Current REM Download and install the Ahem font REM - https://wiki.saucelabs.com/display/DOCS/Downloading+Files+to+a+Sauce+Labs+Virtual+Machine+Prior+to+Testing REM - https://superuser.com/questions/201896/how-do-i-install-a-font-from-the-windows-command-prompt -bitsadmin.exe /transfer "JobName" https://github.com/w3c/web-platform-tests/raw/master/fonts/Ahem.ttf "%WINDIR%\Fonts\Ahem.ttf" +bitsadmin.exe /transfer "JobName" https://github.com/web-platform-tests/wpt/raw/master/fonts/Ahem.ttf "%WINDIR%\Fonts\Ahem.ttf" reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "Ahem (TrueType)" /t REG_SZ /d Ahem.ttf /f diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/safari-prerun.sh b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/safari-prerun.sh index 06c48bd06a3..39390e618fd 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/safari-prerun.sh +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce_setup/safari-prerun.sh @@ -1,3 +1,3 @@ #!/bin/bash -curl https://raw.githubusercontent.com/w3c/web-platform-tests/master/fonts/Ahem.ttf > ~/Library/Fonts/Ahem.ttf +curl https://raw.githubusercontent.com/web-platform-tests/wpt/master/fonts/Ahem.ttf > ~/Library/Fonts/Ahem.ttf defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaScriptCanOpenWindowsAutomatically -bool true diff --git a/tests/wpt/web-platform-tests/url/README.md b/tests/wpt/web-platform-tests/url/README.md index 4452a6a827a..34c35dc4a35 100644 --- a/tests/wpt/web-platform-tests/url/README.md +++ b/tests/wpt/web-platform-tests/url/README.md @@ -2,7 +2,7 @@ These tests are for browsers, but the data for `a-element.html`, `url-constructor.html`, `a-element-xhtml.xhtml`, and `failure.html` -is in `urltestdata.json` and can be re-used by non-browser implementations. +is in `resources/urltestdata.json` and can be re-used by non-browser implementations. This file contains a JSON array of comments as strings and test cases as objects. The keys for each test case are: @@ -27,6 +27,18 @@ true, parsing `about:blank` against `base` must give failure. This tests that th converting base URLs into strings properly fails the whole parsing algorithm if the base URL cannot be parsed. +## setters_tests.json + +`resources/setters_tests.json` is self-documented. + +## toascii.json + +`resources/toascii.json` is a JSON resource containing an array where each item is an object +consisting of an optional `comment` field and mandatory `input` and `output` fields. `input` is the +domain to be parsed according to the rules of UTS #46 (as stipulated by the URL Standard). `output` +gives the expected output of the parser after serialization. An `output` of `null` means parsing is +expected to fail. + ## URL parser's encoding argument Tests in `/encoding` and `/html/infrastructure/urls/resolving-urls/query-encoding/` cover the diff --git a/tests/wpt/web-platform-tests/url/a-element-origin-xhtml.xhtml b/tests/wpt/web-platform-tests/url/a-element-origin-xhtml.xhtml index 3d0d72efcb4..effcf04bee3 100644 --- a/tests/wpt/web-platform-tests/url/a-element-origin-xhtml.xhtml +++ b/tests/wpt/web-platform-tests/url/a-element-origin-xhtml.xhtml @@ -9,7 +9,7 @@ </head> <body> <div id="log"></div> - <script src="a-element-origin.js"></script> + <script src="resources/a-element-origin.js"></script> </body> </html> -<!-- Other dependencies: urltestdata.json --> +<!-- Other dependencies: resources/urltestdata.json --> diff --git a/tests/wpt/web-platform-tests/url/a-element-origin.html b/tests/wpt/web-platform-tests/url/a-element-origin.html index 28ef696b4c1..9cc8e94cbed 100644 --- a/tests/wpt/web-platform-tests/url/a-element-origin.html +++ b/tests/wpt/web-platform-tests/url/a-element-origin.html @@ -4,5 +4,5 @@ <script src=/resources/testharnessreport.js></script> <base id=base> <div id=log></div> -<script src=a-element-origin.js></script> -<!-- Other dependencies: urltestdata.json --> +<script src=resources/a-element-origin.js></script> +<!-- Other dependencies: resources/urltestdata.json --> diff --git a/tests/wpt/web-platform-tests/url/a-element-xhtml.xhtml b/tests/wpt/web-platform-tests/url/a-element-xhtml.xhtml index fda4c3604ef..c6c67cf3ce6 100644 --- a/tests/wpt/web-platform-tests/url/a-element-xhtml.xhtml +++ b/tests/wpt/web-platform-tests/url/a-element-xhtml.xhtml @@ -9,7 +9,7 @@ </head> <body> <div id="log"></div> - <script src="a-element.js"></script> + <script src="resources/a-element.js"></script> </body> </html> -<!-- Other dependencies: urltestdata.json --> +<!-- Other dependencies: resources/urltestdata.json --> diff --git a/tests/wpt/web-platform-tests/url/a-element.html b/tests/wpt/web-platform-tests/url/a-element.html index 1b7e2fdd3fa..05c37f30b71 100644 --- a/tests/wpt/web-platform-tests/url/a-element.html +++ b/tests/wpt/web-platform-tests/url/a-element.html @@ -4,5 +4,5 @@ <script src=/resources/testharnessreport.js></script> <base id=base> <div id=log></div> -<script src=a-element.js></script> -<!-- Other dependencies: urltestdata.json --> +<script src=resources/a-element.js></script> +<!-- Other dependencies: resources/urltestdata.json --> diff --git a/tests/wpt/web-platform-tests/url/failure.html b/tests/wpt/web-platform-tests/url/failure.html index 8ae9da7f158..13a90cc8d09 100644 --- a/tests/wpt/web-platform-tests/url/failure.html +++ b/tests/wpt/web-platform-tests/url/failure.html @@ -6,7 +6,7 @@ <div id=log></div> <iframe></iframe> <script> -promise_test(() => fetch("urltestdata.json").then(res => res.json()).then(runTests), "Loading data…") +promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runTests), "Loading data…") function runTests(testData) { for(const test of testData) { diff --git a/tests/wpt/web-platform-tests/url/a-element-origin.js b/tests/wpt/web-platform-tests/url/resources/a-element-origin.js index a1202db5bde..3b8cb1cbbe7 100644 --- a/tests/wpt/web-platform-tests/url/a-element-origin.js +++ b/tests/wpt/web-platform-tests/url/resources/a-element-origin.js @@ -1,14 +1,4 @@ -var setup = async_test("Loading data…") -setup.step(function() { - var request = new XMLHttpRequest() - request.open("GET", "urltestdata.json") - request.send() - request.responseType = "json" - request.onload = setup.step_func(function() { - runURLTests(request.response) - setup.done() - }) -}) +promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…"); function setBase(base) { document.getElementById("base").href = base diff --git a/tests/wpt/web-platform-tests/url/a-element.js b/tests/wpt/web-platform-tests/url/resources/a-element.js index a3d78139b16..f64531bc8bd 100644 --- a/tests/wpt/web-platform-tests/url/a-element.js +++ b/tests/wpt/web-platform-tests/url/resources/a-element.js @@ -1,14 +1,4 @@ -var setup = async_test("Loading data…") -setup.step(function() { - var request = new XMLHttpRequest() - request.open("GET", "urltestdata.json") - request.send() - request.responseType = "json" - request.onload = setup.step_func(function() { - runURLTests(request.response) - setup.done() - }) -}) +promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…"); function setBase(base) { document.getElementById("base").href = base diff --git a/tests/wpt/web-platform-tests/url/setters_tests.json b/tests/wpt/web-platform-tests/url/resources/setters_tests.json index db23d924732..db23d924732 100644 --- a/tests/wpt/web-platform-tests/url/setters_tests.json +++ b/tests/wpt/web-platform-tests/url/resources/setters_tests.json diff --git a/tests/wpt/web-platform-tests/url/toascii.json b/tests/wpt/web-platform-tests/url/resources/toascii.json index 814f06e7948..814f06e7948 100644 --- a/tests/wpt/web-platform-tests/url/toascii.json +++ b/tests/wpt/web-platform-tests/url/resources/toascii.json diff --git a/tests/wpt/web-platform-tests/url/urltestdata.json b/tests/wpt/web-platform-tests/url/resources/urltestdata.json index 8c87da2bf5d..8c87da2bf5d 100644 --- a/tests/wpt/web-platform-tests/url/urltestdata.json +++ b/tests/wpt/web-platform-tests/url/resources/urltestdata.json diff --git a/tests/wpt/web-platform-tests/url/toascii.window.js b/tests/wpt/web-platform-tests/url/toascii.window.js index b49ef20b771..b28c664479a 100644 --- a/tests/wpt/web-platform-tests/url/toascii.window.js +++ b/tests/wpt/web-platform-tests/url/toascii.window.js @@ -1,12 +1,4 @@ -async_test(t => { - const request = new XMLHttpRequest() - request.open("GET", "toascii.json") - request.send() - request.responseType = "json" - request.onload = t.step_func_done(() => { - runTests(request.response) - }) -}, "Loading data…") +promise_test(() => fetch("resources/toascii.json").then(res => res.json()).then(runTests), "Loading data…"); function makeURL(type, input) { input = "https://" + input + "/x" diff --git a/tests/wpt/web-platform-tests/url/url-constructor.html b/tests/wpt/web-platform-tests/url/url-constructor.html index 490917c4f2f..6d7c2d64dbd 100644 --- a/tests/wpt/web-platform-tests/url/url-constructor.html +++ b/tests/wpt/web-platform-tests/url/url-constructor.html @@ -4,20 +4,6 @@ <script src=/resources/testharnessreport.js></script> <div id=log></div> <script> -function runURLConstructorTests() { - var setup = async_test("Loading data…") - setup.step(function() { - var request = new XMLHttpRequest() - request.open("GET", "urltestdata.json") - request.send() - request.responseType = "json" - request.onload = setup.step_func(function() { - runURLTests(request.response) - setup.done() - }) - }) -} - function bURL(url, base) { return new URL(url, base || "about:blank") } @@ -122,5 +108,5 @@ function runURLSearchParamTests() { }, 'URL.searchParams and URL.search setters, update propagation') } runURLSearchParamTests() -runURLConstructorTests() +promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…"); </script> diff --git a/tests/wpt/web-platform-tests/url/url-origin.html b/tests/wpt/web-platform-tests/url/url-origin.html index f9d4b3d821d..fccb643ed6c 100644 --- a/tests/wpt/web-platform-tests/url/url-origin.html +++ b/tests/wpt/web-platform-tests/url/url-origin.html @@ -4,19 +4,7 @@ <script src=/resources/testharnessreport.js></script> <div id=log></div> <script> -function runURLOriginTests() { - var setup = async_test("Loading data…") - setup.step(function() { - var request = new XMLHttpRequest() - request.open("GET", "urltestdata.json") - request.send() - request.responseType = "json" - request.onload = setup.step_func(function() { - runURLTests(request.response) - setup.done() - }) - }) -} +promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…"); function bURL(url, base) { return new URL(url, base || "about:blank") @@ -33,5 +21,4 @@ function runURLTests(urltests) { }, "Origin parsing: <" + expected.input + "> against <" + expected.base + ">") } } -runURLOriginTests() </script> diff --git a/tests/wpt/web-platform-tests/url/url-setters.html b/tests/wpt/web-platform-tests/url/url-setters.html index b8b8ee5c769..db30cf0774d 100644 --- a/tests/wpt/web-platform-tests/url/url-setters.html +++ b/tests/wpt/web-platform-tests/url/url-setters.html @@ -4,19 +4,7 @@ <script src=/resources/testharnessreport.js></script> <div id=log></div> <script> -function startURLSettersTests() { - var setup = async_test("Loading data…") - setup.step(function() { - var request = new XMLHttpRequest() - request.open("GET", "setters_tests.json") - request.send() - request.responseType = "json" - request.onload = setup.step_func(function() { - runURLSettersTests(request.response) - setup.done() - }) - }) -} +promise_test(() => fetch("resources/setters_tests.json").then(res => res.json()).then(runURLSettersTests), "Loading data…"); function runURLSettersTests(all_test_cases) { for (var attribute_to_be_set in all_test_cases) { @@ -57,6 +45,4 @@ function runURLSettersTests(all_test_cases) { } } } - -startURLSettersTests() </script> diff --git a/tests/wpt/web-platform-tests/vibration/invalid-values.html b/tests/wpt/web-platform-tests/vibration/invalid-values.html index 523d2ceddb2..6740a44a8ed 100644 --- a/tests/wpt/web-platform-tests/vibration/invalid-values.html +++ b/tests/wpt/web-platform-tests/vibration/invalid-values.html @@ -2,16 +2,10 @@ <meta charset='utf-8'> <title>Vibration API: vibrate(invalid)</title> <link rel='author' title='Intel' href='http://www.intel.com'> -<link rel='help' href='http://dev.w3.org/2009/dap/vibration/#vibration-interface'> - -<h1>Description</h1> -<p> - This test checks the <code>vibrate()</code> method with invalid parameter, - taking vendor prefixes into account. -</p> -<div id='log'></div> +<link rel='help' href='https://w3c.github.io/vibration/#vibration-interface'> <script src='/resources/testharness.js'></script> <script src='/resources/testharnessreport.js'></script> +<div id='log'></div> <script> test(function() { assert_throws(new TypeError(), function() { @@ -20,58 +14,30 @@ }, 'Missing pattern argument'); test(function() { - try { - navigator.vibrate(undefined); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate(undefined); }, 'pattern of undefined resolves to []'); test(function() { - try { - navigator.vibrate(null); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate(null); }, 'pattern of null resolves to []'); test(function() { - try { - navigator.vibrate('one'); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate('one'); }, 'pattern of empty string resolves to [""]'); test(function() { - try { - navigator.vibrate('one'); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate('one'); }, 'pattern of string resolves to ["one"]'); test(function() { - try { - navigator.vibrate(new String('one')); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate(new String('one')); }, 'pattern of String instance resolves to ["one"]'); test(function() { - try { - navigator.vibrate(NaN); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate(NaN); }, 'pattern of NaN resolves to [NaN]'); test(function() { - try { - navigator.vibrate({}); - } catch(e) { - assert_unreached('error message: ' + e.message); - } + navigator.vibrate({}); }, 'pattern of {} resolves to [{}]'); </script> diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js index 60c7d2fbcb4..5bafb20dfcf 100644 --- a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-types.js @@ -893,6 +893,30 @@ const transformListType = { test(t => { const idlName = propertyToIDL(property); const target = createTestElement(t, setup); + const animation = + target.animate({ [idlName]: ['rotate(0deg)', + 'rotate(1080deg) translateX(100px)'] }, + 1000); + + testAnimationSampleMatrices(animation, idlName, + [{ time: 500, expected: [ -1, 0, 0, -1, -50, 0 ] }]); + }, `${property}: extend shorter list (from)`); + + test(t => { + const idlName = propertyToIDL(property); + const target = createTestElement(t, setup); + const animation = + target.animate({ [idlName]: ['rotate(0deg) translateX(100px)', + 'rotate(1080deg)'] }, + 1000); + + testAnimationSampleMatrices(animation, idlName, + [{ time: 500, expected: [ -1, 0, 0, -1, -50, 0 ] }]); + }, `${property}: extend shorter list (to)`); + + test(t => { + const idlName = propertyToIDL(property); + const target = createTestElement(t, setup); const animation = // matrix(0, 1, -1, 0, 0, 100) target.animate({ [idlName]: ['rotate(90deg) translateX(100px)', // matrix(-1, 0, 0, -1, 200, 0) @@ -1168,6 +1192,30 @@ const transformListType = { test(t => { const idlName = propertyToIDL(property); const target = createTestElement(t, setup); + target.style[idlName] = 'rotate(45deg) translateX(100px)'; + const animation = target.animate({ [idlName]: ['rotate(-90deg)', + 'rotate(90deg)'] }, + { duration: 1000, fill: 'both', + composite: 'add' }); + + testAnimationSampleMatrices(animation, idlName, + [{ time: 0, expected: [ Math.cos(-Math.PI / 4), + Math.sin(-Math.PI / 4), + -Math.sin(-Math.PI / 4), + Math.cos(-Math.PI / 4), + 100 * Math.cos(Math.PI / 4), + 100 * Math.sin(Math.PI / 4) ] }, + { time: 1000, expected: [ Math.cos(Math.PI * 3 / 4), + Math.sin(Math.PI * 3 / 4), + -Math.sin(Math.PI * 3 / 4), + Math.cos(Math.PI * 3 / 4), + 100 * Math.cos(Math.PI / 4), + 100 * Math.sin(Math.PI / 4) ] }]); + }, `${property}: rotate on rotate and translate`); + + test(t => { + const idlName = propertyToIDL(property); + const target = createTestElement(t, setup); target.style[idlName] = 'matrix(0, 1, -1, 0, 0, 0)'; const animation = // Same matrices as above. target.animate({ [idlName]: [ 'matrix(1, 0, 0, 1, 100, 0)', @@ -1366,6 +1414,53 @@ const transformListType = { test(t => { const idlName = propertyToIDL(property); const target = createTestElement(t, setup); + target.style[idlName] = 'rotate(45deg)'; + const animation = + target.animate({ [idlName]: ['rotate(45deg) translateX(0px)', + 'rotate(45deg) translateX(100px)'] }, + { duration: 1000, fill: 'both', composite: 'accumulate' }); + + testAnimationSampleMatrices(animation, idlName, + [{ time: 0, expected: [ Math.cos(Math.PI / 2), + Math.sin(Math.PI / 2), + -Math.sin(Math.PI / 2), + Math.cos(Math.PI / 2), + 0 * Math.cos(Math.PI / 2), + 0 * Math.sin(Math.PI / 2) ] }, + { time: 1000, expected: [ Math.cos(Math.PI / 2), + Math.sin(Math.PI / 2), + -Math.sin(Math.PI / 2), + Math.cos(Math.PI / 2), + 100 * Math.cos(Math.PI / 2), + 100 * Math.sin(Math.PI / 2) ] }]); + }, `${property}: rotate and translate on rotate`); + + test(t => { + const idlName = propertyToIDL(property); + const target = createTestElement(t, setup); + target.style[idlName] = 'rotate(45deg) translateX(100px)'; + const animation = + target.animate({ [idlName]: ['rotate(45deg)', 'rotate(45deg)'] }, + { duration: 1000, fill: 'both', composite: 'accumulate' }); + + testAnimationSampleMatrices(animation, idlName, + [{ time: 0, expected: [ Math.cos(Math.PI / 2), + Math.sin(Math.PI / 2), + -Math.sin(Math.PI / 2), + Math.cos(Math.PI / 2), + 100 * Math.cos(Math.PI / 2), + 100 * Math.sin(Math.PI / 2) ] }, + { time: 1000, expected: [ Math.cos(Math.PI / 2), + Math.sin(Math.PI / 2), + -Math.sin(Math.PI / 2), + Math.cos(Math.PI / 2), + 100 * Math.cos(Math.PI / 2), + 100 * Math.sin(Math.PI / 2) ] }]); + }, `${property}: rotate on roate and translate`); + + test(t => { + const idlName = propertyToIDL(property); + const target = createTestElement(t, setup); target.style[idlName] = 'matrix(0, 1, -1, 0, 0, 0)'; const animation = // Same matrices as above. target.animate({ [idlName]: [ 'matrix(1, 0, 0, 1, 100, 0)', diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-interval-distance.html b/tests/wpt/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-interval-distance.html new file mode 100644 index 00000000000..6bf5d8cd468 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-interval-distance.html @@ -0,0 +1,36 @@ +<!doctype html> +<meta charset=utf-8> +<title>The effect value of a keyframe effect: Calculating the interval + distance between keyframes</title> +<link rel="help" href="https://drafts.csswg.org/web-animations/#the-effect-value-of-a-keyframe-animation-effect"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<body> +<div id="log"></div> +<script> +'use strict'; + +test(t => { + // In Firefox there was a floating precision bug in the calculation of the + // progress at the end of the 0.2<->1.0 interval. This test exercises that + // calculation in case other UAs suffer from the same problem. + const target = createDiv(t); + const anim = target.animate( + [ + { opacity: 0 }, + { offset: 0.2, opacity: 1, easing: 'step-end' }, + { opacity: 0 }, + ], + { + duration: 1000, + fill: 'forwards', + } + ); + + anim.currentTime = 1000; + assert_equals(getComputedStyle(target).opacity, '0'); +}, 'Interval distance is calculated correctly (precision test)'); + +</script> +</body> diff --git a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_Blob.htm b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_Blob.htm index a86dc7e55be..c8c247ef59d 100644 --- a/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_Blob.htm +++ b/tests/wpt/web-platform-tests/webmessaging/Channel_postMessage_Blob.htm @@ -23,7 +23,7 @@ (function() { SOURCE.postMessage({blob: new Blob(['foo', 'bar'])}); })(); - // TODO(https://github.com/w3c/web-platform-tests/issues/7899): Change to + // TODO(https://github.com/web-platform-tests/wpt/issues/7899): Change to // some sort of cross-browser GC trigger. if (self.gc) self.gc(); diff --git a/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/blobs.html b/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/blobs.html index 083204b3eb7..1f0e2f1f1d6 100644 --- a/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/blobs.html +++ b/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/blobs.html @@ -27,7 +27,7 @@ async_test(t => { (() => { c1.postMessage({blob: new Blob(['foo', 'bar'])}); })(); - // TODO(https://github.com/w3c/web-platform-tests/issues/7899): Change to + // TODO(https://github.com/web-platform-tests/wpt/issues/7899): Change to // some sort of cross-browser GC trigger. if (self.gc) self.gc(); }, 'Blobs work on BroadcastChannel'); diff --git a/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/resources/worker.js b/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/resources/worker.js index 640c405cc10..9364c602756 100644 --- a/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/resources/worker.js +++ b/tests/wpt/web-platform-tests/webmessaging/broadcastchannel/resources/worker.js @@ -9,7 +9,7 @@ function handler(e, reply) { (() => { c.postMessage({blob: new Blob(e.data.blob)}); })(); - // TODO(https://github.com/w3c/web-platform-tests/issues/7899): Change to + // TODO(https://github.com/web-platform-tests/wpt/issues/7899): Change to // some sort of cross-browser GC trigger. if (self.gc) self.gc(); } diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-track-stats.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-track-stats.https.html index c21bd82af0b..d833eb9ce11 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-track-stats.https.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-track-stats.https.html @@ -32,7 +32,7 @@ // TODO(hbos): Here and elsewhere, validateRtcStats() only tests id, // timestamp and type is correct type. Should validate based on stats type // but it expects both audio and video members. - // https://github.com/w3c/web-platform-tests/issues/9010 + // https://github.com/web-platform-tests/wpt/issues/9010 validateRtcStats(report, trackStats); t.done(); })) diff --git a/tests/wpt/web-platform-tests/webrtc/protocol/video-codecs.html b/tests/wpt/web-platform-tests/webrtc/protocol/video-codecs.https.html index cc15cedf34a..547856f2a27 100644 --- a/tests/wpt/web-platform-tests/webrtc/protocol/video-codecs.html +++ b/tests/wpt/web-platform-tests/webrtc/protocol/video-codecs.https.html @@ -3,7 +3,7 @@ <title>RTCPeerConnection.prototype.createOffer</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="/webrtc/RTCPeerConnection-helper.js"></script> +<script src="../RTCPeerConnection-helper.js"></script> <script> 'use strict'; @@ -45,6 +45,25 @@ promise_test(async t => { assert_true(video_section_found); }, 'H.264 and VP8 should be supported in initial offer'); +async function negotiateParameters() { + const pc1 = new RTCPeerConnection(); + const pc2 = new RTCPeerConnection(); + let [track, streams] = await getTrackFromUserMedia('video'); + const sender = pc1.addTrack(track); + await doSignalingHandshake(pc1, pc2); + return sender.getParameters(); +} + +function parseFmtp(fmtp) { + const params = fmtp.split(';'); + return params.map(param => param.split('=')); +} +promise_test(async t => { + const params = await negotiateParameters(); + assert_true(!!params.codecs.find(codec => codec.mimeType === 'video/H264')); + assert_true(!!params.codecs.find(codec => codec.mimeType === 'video/VP8')); +}, 'H.264 and VP8 should be negotiated after handshake'); + // TODO: Section 6: Recipients MUST be able to decode 320x240@20 fps // TODO: Section 6.1: VP8 MUST support RFC 7741 payload formats // TODO: Section 6.1: VP8 MUST respect max-fr/max-fs @@ -53,7 +72,15 @@ promise_test(async t => { // TODO: Section 6.2: MUST support Constrained Baseline level 1.2 // TODO: Section 6.2: SHOULD support Constrained High level 1.3 // TODO: Section 6.2: MUST support packetization mode 1. -// TODO: Section 6.2: MUST include profile-level-id +promise_test(async t => { + const params = await negotiateParameters(); + const h264 = params.codecs.filter(codec => codec.mimeType === 'video/H264'); + h264.map(codec => { + const codec_params = parseFmtp(codec.sdpFmtpLine); + assert_true(!!codec_params.find(x => x[0] === 'profile-level-id')); + }) +}, 'All H.264 codecs MUST include profile-level-id'); + // TODO: Section 6.2: SHOULD interpret max-mbps, max-smbps, max-fs et al // TODO: Section 6.2: MUST NOT include sprop-parameter-sets // TODO: Section 6.2: MUST support SEI "filler payload" diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html new file mode 100644 index 00000000000..1c3adeb3437 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import-failure.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<title>DedicatedWorker: import failure</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + +promise_test(async () => { + const scriptURL = 'resources/import-scripts-worker.js'; + const worker = new Worker(scriptURL, { type: 'module' }); + const msg_event = await new Promise(resolve => worker.onmessage = resolve); + assert_equals(msg_event.data, 'TypeError'); +}, 'importScripts() on module worker should throw an exception.'); + +promise_test(async () => { + const scriptURL = 'resources/static-import-worker.js'; + const worker = new Worker(scriptURL, { type: 'classic' }); + await new Promise(resolve => worker.onerror = resolve); +}, 'Static import on classic worker should throw an exception.'); + +promise_test(() => { + const scriptURL = 'resources/non-existent-worker.js'; + const worker = new Worker(scriptURL, { type: 'module' }); + return new Promise(resolve => worker.onerror = resolve); +}, 'Worker construction for non-existent script should dispatch an ' + + 'ErrorEvent.'); + +promise_test(() => { + const scriptURL = 'resources/static-import-non-existent-script-worker.js'; + const worker = new Worker(scriptURL, { type: 'module' }); + return new Promise(resolve => worker.onerror = resolve); +}, 'Static import for non-existent script should dispatch an ErrorEvent.'); + +promise_test(async () => { + const script_url = './non-existent-worker.js'; + const worker = new Worker('resources/dynamic-import-given-url-worker.js', + { type: 'module' }); + worker.postMessage(script_url); + const msg_event = await new Promise(resolve => worker.onmessage = resolve); + assert_equals(msg_event.data, 'TypeError'); +}, 'Dynamic import for non-existent script should throw an exception.'); + +</script> diff --git a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html index 9ca6f3c864a..a45fa9ed36f 100644 --- a/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html +++ b/tests/wpt/web-platform-tests/workers/modules/dedicated-worker-import.html @@ -4,73 +4,44 @@ <script src="/resources/testharnessreport.js"></script> <script> -// Start a dedicated worker for |scriptURL| and wait until MessageEvents from -// imported modules up to |expectedNumberOfImportedModules|. -function RunImportTest(scriptURL, expectedNumberOfImportedModules) { - return new Promise(resolve => { - let numberOfImportedModules = 0; +// Starts a dedicated worker for |scriptURL| and waits until the list of +// imported modules is sent from the worker. Passes if the list is equal to +// |expectedImportedModules|. +function import_test(scriptURL, expectedImportedModules, description) { + promise_test(async () => { const worker = new Worker(scriptURL, { type: 'module' }); - worker.onmessage = e => { - if (e.data === 'LOADED') - ++numberOfImportedModules; - if (numberOfImportedModules === expectedNumberOfImportedModules) - resolve(); - }; - }); + const msg_event = await new Promise(resolve => worker.onmessage = resolve); + assert_array_equals(msg_event.data, expectedImportedModules); + }, description); } -promise_test(() => { - return RunImportTest('resources/static-import-worker.js', 2); -}, 'Test static import on DedicatedWorkerGlobalScope.'); +import_test('resources/static-import-worker.js', + ['export-on-load-script.js'], + 'Static import.'); -promise_test(() => { - return RunImportTest('resources/nested-static-import-worker.js', 3); -}, 'Test nested static import on DedicatedWorkerGlobalScope.'); +import_test('resources/nested-static-import-worker.js', + ['export-on-static-import-script.js', 'export-on-load-script.js'], + 'Nested static import.'); -promise_test(() => { - return RunImportTest( - 'resources/static-import-and-then-dynamic-import-worker.js', 3); -}, 'Test static import and then dynamic import on DedicatedWorkerGlobalScope.'); -promise_test(() => { - return RunImportTest('resources/dynamic-import-worker.js', 2); -}, 'Test dynamic import on DedicatedWorkerGlobalScope.'); +import_test('resources/static-import-and-then-dynamic-import-worker.js', + ['export-on-dynamic-import-script.js', 'export-on-load-script.js'], + 'Static import and then dynamic import.'); -promise_test(() => { - return RunImportTest('resources/nested-dynamic-import-worker.js', 3); -}, 'Test nested dynamic import on DedicatedWorkerGlobalScope.'); +import_test('resources/dynamic-import-worker.js', + ['export-on-load-script.js'], + 'Dynamic import.'); -promise_test(() => { - return RunImportTest( - 'resources/dynamic-import-and-then-static-import-worker.js', 3); -}, 'Test dynamic import and then static import on DedicatedWorkerGlobalScope.'); +import_test('resources/nested-dynamic-import-worker.js', + ['export-on-dynamic-import-script.js', 'export-on-load-script.js'], + 'Nested dynamic import.'); -promise_test(() => { - const scriptURL = 'resources/import-scripts-worker.js'; - const worker = new Worker(scriptURL, { type: 'module' }); - return (new Promise(resolve => worker.onmessage = resolve)) - .then(e => assert_equals(e.data, 'TypeError')); -}, 'importScripts() on module worker should throw an exception.'); +import_test('resources/dynamic-import-and-then-static-import-worker.js', + ['export-on-static-import-script.js', 'export-on-load-script.js'], + 'Dynamic import and then static import.'); -promise_test(() => { - const scriptURL = 'resources/non-existent-worker.js'; - const worker = new Worker(scriptURL, { type: 'module' }); - return new Promise(resolve => worker.onerror = resolve); -}, 'Worker construction for non-existent script should throw an exception.'); - -promise_test(() => { - const scriptURL = 'resources/static-import-non-existent-script-worker.js'; - const worker = new Worker(scriptURL, { type: 'module' }); - return new Promise(resolve => worker.onerror = resolve); -}, 'Static import for non-existent script should throw an exception.'); - -promise_test(() => { - const script_url = './non-existent-worker.js'; - const worker = new Worker('resources/dynamic-import-given-url-worker.js', - { type: 'module' }); - worker.postMessage(script_url); - return new Promise(resolve => worker.onmessage = resolve) - .then(msg_event => assert_equals(msg_event.data, 'ERROR')); -}, 'Dynamic import for non-existent script should throw an exception.'); +import_test('resources/eval-dynamic-import-worker.js', + ['export-on-load-script.js'], + 'eval(import()).'); </script> diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js index eaa3f1c686e..39ab5c237e2 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-and-then-static-import-worker.js @@ -1,2 +1,2 @@ -import('./static-import-worker.js') - .then(module => postMessage('LOADED')); +import('./export-on-static-import-script.js') + .then(module => postMessage(module.importedModules)); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js index 444baddbcc4..2ea88b80718 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-given-url-worker.js @@ -1,4 +1,5 @@ -// Dynamically import the script URL sent by postMessage(). -self.addEventListener('message', e => { - import(e.data).catch(error_event => postMessage('ERROR')); +// This worker dynamically imports the script URL sent by postMessage(), and +// sends back an error name if the dynamic import fails. +self.addEventListener('message', msg_event => { + import(msg_event.data).catch(e => postMessage(e.name)); }); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js index 98381b9da2a..cd321fe2460 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/dynamic-import-worker.js @@ -1,2 +1,2 @@ -import('./post-message-on-load-worker.js') - .then(module => postMessage('LOADED')); +import('./export-on-load-script.js') + .then(module => postMessage(module.importedModules)); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/eval-dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/eval-dynamic-import-worker.js new file mode 100644 index 00000000000..e92aff21a88 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/resources/eval-dynamic-import-worker.js @@ -0,0 +1,3 @@ +const code = "import('./export-on-load-script.js')" + + " .then(module => postMessage(module.importedModules));" +eval(code); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/export-on-dynamic-import-script.js b/tests/wpt/web-platform-tests/workers/modules/resources/export-on-dynamic-import-script.js new file mode 100644 index 00000000000..8d172c324d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/resources/export-on-dynamic-import-script.js @@ -0,0 +1,7 @@ +// Export the list of imported modules. It's available after the |ready| promise +// is resolved. +export let importedModules = ['export-on-dynamic-import-script.js']; +export let ready = import('./export-on-load-script.js') + .then(module => { + Array.prototype.push.apply(importedModules, module.importedModules); + }); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/export-on-load-script.js b/tests/wpt/web-platform-tests/workers/modules/resources/export-on-load-script.js new file mode 100644 index 00000000000..7d1b122c322 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/resources/export-on-load-script.js @@ -0,0 +1 @@ +export const importedModules = ['export-on-load-script.js']; diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/export-on-static-import-script.js b/tests/wpt/web-platform-tests/workers/modules/resources/export-on-static-import-script.js new file mode 100644 index 00000000000..3f7174eef0b --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/modules/resources/export-on-static-import-script.js @@ -0,0 +1,3 @@ +import * as module from './export-on-load-script.js'; +const filename = 'export-on-static-import-script.js'; +export const importedModules = [filename].concat(module.importedModules); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/import-scripts-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/import-scripts-worker.js index c2a2489bbb4..676cccb2ad7 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/import-scripts-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/import-scripts-worker.js @@ -2,5 +2,14 @@ try { importScripts('empty-worker.js'); postMessage('LOADED'); } catch (e) { + // Post a message instead of propagating an ErrorEvent to the page because + // propagated event loses an error name. + // + // Step 1. "Let notHandled be the result of firing an event named error at the + // Worker object associated with the worker, using ErrorEvent, with the + // cancelable attribute initialized to true, the message, filename, lineno, + // and colno attributes initialized appropriately, and the error attribute + // initialized to null." + // https://html.spec.whatwg.org/multipage/workers.html#runtime-script-errors-2 postMessage(e.name); } diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js index 8f56d156e2a..5ae82f8aa05 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/nested-dynamic-import-worker.js @@ -1,2 +1,5 @@ -import('./dynamic-import-worker.js') - .then(module => postMessage('LOADED')); +import('./export-on-dynamic-import-script.js') + .then(async module => { + await module.ready; + postMessage(module.importedModules); + }); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js index f2ef5207cae..72ab31cb1c6 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/nested-static-import-worker.js @@ -1,2 +1,2 @@ -import './static-import-worker.js'; -postMessage('LOADED') +import * as module from './export-on-static-import-script.js'; +postMessage(module.importedModules); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js index 4e66d041a1b..89125e0af7b 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-and-then-dynamic-import-worker.js @@ -1,2 +1,2 @@ -import './dynamic-import-worker.js'; -postMessage('LOADED'); +import * as module from './export-on-dynamic-import-script.js'; +module.ready.then(() => postMessage(module.importedModules)); diff --git a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js index 46931699e59..f0639153a94 100644 --- a/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js +++ b/tests/wpt/web-platform-tests/workers/modules/resources/static-import-worker.js @@ -1,2 +1,2 @@ -import './post-message-on-load-worker.js'; -postMessage('LOADED'); +import * as module from './export-on-load-script.js'; +postMessage(module.importedModules); diff --git a/tests/wpt/web-platform-tests/workers/name-property.html b/tests/wpt/web-platform-tests/workers/name-property.html index 939601e5e36..ccc2a9de3a9 100644 --- a/tests/wpt/web-platform-tests/workers/name-property.html +++ b/tests/wpt/web-platform-tests/workers/name-property.html @@ -10,16 +10,21 @@ <script> "use strict"; +setup({explicit_done: true}); -const worker = new Worker("support/name.js", { name: "my name" }); -fetch_tests_from_worker(worker); +(async function() { + const worker = new Worker("support/name.js", { name: "my name" }); + await fetch_tests_from_worker(worker); -const worker2 = new Worker("support/name-as-accidental-global.js"); -fetch_tests_from_worker(worker2); + const worker2 = new Worker("support/name-as-accidental-global.js"); + await fetch_tests_from_worker(worker2); -const sharedWorker = new SharedWorker("support/name.js", { name: "my name" }); -fetch_tests_from_worker(sharedWorker); + const sharedWorker = new SharedWorker("support/name.js", { name: "my name" }); + await fetch_tests_from_worker(sharedWorker); -const sharedWorker2 = new SharedWorker("support/name-as-accidental-global.js"); -fetch_tests_from_worker(sharedWorker2); + const sharedWorker2 = new SharedWorker("support/name-as-accidental-global.js"); + await fetch_tests_from_worker(sharedWorker2); + + done(); +})(); </script> diff --git a/tests/wpt/web-platform-tests/workers/nested_worker.worker.js b/tests/wpt/web-platform-tests/workers/nested_worker.worker.js index 8848fa216bc..005b3c2f303 100644 --- a/tests/wpt/web-platform-tests/workers/nested_worker.worker.js +++ b/tests/wpt/web-platform-tests/workers/nested_worker.worker.js @@ -6,6 +6,6 @@ async_test(function() { worker1.onmessage = this.step_func_done(function(evt) { assert_equals(evt.data, "Pass"); worker1.terminate(); - done(); }); }, "Nested worker"); +done(); |