diff options
28 files changed, 285 insertions, 142 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini index 3a3d15b8406..3b874fc1748 100644 --- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini +++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini @@ -14,9 +14,6 @@ [Revoke blob URL after creating Request, will fetch] expected: FAIL - [Revoke blob URL after calling fetch, fetch should succeed] - expected: FAIL - [url-with-fetch.any.html] [Untitled] diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 31115044364..382f6e14af2 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -14377,6 +14377,12 @@ {} ] ], + "payment-request/rejects_if_not_active-manual.https.html": [ + [ + "payment-request/rejects_if_not_active-manual.https.html", + {} + ] + ], "payment-request/shipping-address-changed-manual.https.html": [ [ "payment-request/shipping-address-changed-manual.https.html", @@ -173123,6 +173129,18 @@ {} ] ], + "css/css-writing-modes/percentage-padding-in-shrink-to-fit.html": [ + [ + "css/css-writing-modes/percentage-padding-in-shrink-to-fit.html", + [ + [ + "/css/reference/nothing.html", + "==" + ] + ], + {} + ] + ], "css/css-writing-modes/relpos-inline-overflowing-block-vrl.html": [ [ "css/css-writing-modes/relpos-inline-overflowing-block-vrl.html", @@ -199051,18 +199069,6 @@ {} ] ], - "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [ - [ - "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html", - [ - [ - "/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html", - "==" - ] - ], - {} - ] - ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [ [ "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html", @@ -306980,11 +306986,6 @@ {} ] ], - "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html": [ - [ - {} - ] - ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [ [ {} @@ -396658,6 +396659,12 @@ {} ] ], + "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [ + [ + "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html", + {} + ] + ], "html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html": [ [ "html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html", @@ -402326,6 +402333,12 @@ {} ] ], + "html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html": [ + [ + "html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html", + {} + ] + ], "html/semantics/text-level-semantics/the-time-element/001.html": [ [ "html/semantics/text-level-semantics/the-time-element/001.html", @@ -421869,12 +421882,6 @@ } ] ], - "payment-request/rejects_if_not_active_manual.https.html": [ - [ - "payment-request/rejects_if_not_active_manual.https.html", - {} - ] - ], "performance-timeline/case-sensitivity.any.js": [ [ "performance-timeline/case-sensitivity.any.html", @@ -423664,6 +423671,12 @@ {} ] ], + "referrer-policy/generic/iframe-src-change.html": [ + [ + "referrer-policy/generic/iframe-src-change.html", + {} + ] + ], "referrer-policy/generic/link-rel-prefetch.html": [ [ "referrer-policy/generic/link-rel-prefetch.html", @@ -445347,10 +445360,28 @@ } ] ], - "wake-lock/wakelock-abortsignal-set.https.html": [ + "wake-lock/wakelock-abortsignal.https.any.js": [ [ - "wake-lock/wakelock-abortsignal-set.https.html", - {} + "wake-lock/wakelock-abortsignal.https.any.html", + { + "script_metadata": [ + [ + "title", + "WakeLock.request() AbortSignal Test" + ] + ] + } + ], + [ + "wake-lock/wakelock-abortsignal.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "WakeLock.request() AbortSignal Test" + ] + ] + } ] ], "wake-lock/wakelock-active-document.https.window.js": [ @@ -628982,7 +629013,7 @@ "reftest" ], "css/css-values/initial-background-color.html": [ - "f38226651774f9ac2151b9b951f47f519a4663ea", + "7a6c6173c4f6998f56bbcb7f992ad38fca45ce58", "reftest" ], "css/css-values/lh-rlh-on-root-001.html": [ @@ -633181,6 +633212,10 @@ "187d875cd5115cec781d18bf4fca715441d5b2d7", "reftest" ], + "css/css-writing-modes/percentage-padding-in-shrink-to-fit.html": [ + "2d4364c886c48c3ef7ebddfb43d2210bdf75e094", + "reftest" + ], "css/css-writing-modes/reference/available-size-001-ref.html": [ "84252946946d4e444f8b0dd69381a1bd04554c80", "support" @@ -651326,7 +651361,7 @@ "support" ], "docs/running-tests/from-local-system.md": [ - "695f8403da4a8a52eddb25492ac89edd7c33e6e7", + "8f908877c40470cf695e6bc1ae6f21988db7b2ec", "support" ], "docs/running-tests/from-web.md": [ @@ -658310,7 +658345,7 @@ "testharness" ], "fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html": [ - "62fd9ca389da9fda5e7c6655ae88be57b7688d5b", + "e599bf26f9445e9e96ee98e4bbab2895e2283fe2", "testharness" ], "fetch/corb/style-css-mislabeled-as-html-nosniff.sub.html": [ @@ -671177,16 +671212,12 @@ "76019c9b41e4fd4c56f4252d399f088b7b3e4470", "reftest" ], - "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html": [ - "837c4fd7833d569f2949bf1c2a677836ac851597", - "support" - ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [ - "c2d300999eeaa207365b5c0b42f9b033e6b96446", - "reftest" + "427189f6fc78074ae13c58e94ae3d02bc0e513b2", + "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [ - "c4c14bc2a394ff19c14bfa76c4b59ad5d6ddb618", + "8354041eb2a0aa57b283e12d9c0390f16327ac80", "support" ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [ @@ -671194,7 +671225,7 @@ "reftest" ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html": [ - "c3ee804c485b762d8b69614136558bbf2ed833a8", + "39461350b089b9041a71a6ca9aad7f1cfc078d68", "support" ], "html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html": [ @@ -677349,6 +677380,10 @@ "1dfa6836f398cc0d7e15a694655a68771d51c804", "reftest" ], + "html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html": [ + "3caed3a02e87ccb9797ba6728bebc5294be2658e", + "testharness" + ], "html/semantics/text-level-semantics/the-ruby-element/ruby-usage-notref.html": [ "f5747811ae40ec6114976d05955e4a85a7c4cf44", "support" @@ -693525,14 +693560,14 @@ "687d3a52de9f6bfdb10456147586008b18683eb2", "manual" ], + "payment-request/rejects_if_not_active-manual.https.html": [ + "f1d2fb83e0e0b17e0030bc991b0135bd21200aa0", + "manual" + ], "payment-request/rejects_if_not_active.https.html": [ "3c7e85ba970f8c6f2d608f02dd2f60f911124da2", "testharness" ], - "payment-request/rejects_if_not_active_manual.https.html": [ - "f1d2fb83e0e0b17e0030bc991b0135bd21200aa0", - "testharness" - ], "payment-request/resources/page1.html": [ "7fc080d380c4bd46dfb011910e570ee412561b92", "support" @@ -693930,7 +693965,7 @@ "testharness" ], "pointerevents/pointerevent_pointerout_pen.html": [ - "972f99d95080ab702da79f8125119a2b27778a84", + "a718468c49a965eefee134cc6e6ec4051042cb49", "testharness" ], "pointerevents/pointerevent_pointerout_received_once.html": [ @@ -694010,7 +694045,7 @@ "testharness" ], "pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html": [ - "5bab6e66121cebc47213914fb07f7995d8b0722d", + "6ed75ab4cbcda3c673b3328a826019bdade4db5d", "testharness" ], "pointerevents/pointerevent_touch-action-auto-css_touch.html": [ @@ -695153,6 +695188,10 @@ "28e83df6c2ab9b27417b15948929d044095fdceb", "testharness" ], + "referrer-policy/generic/iframe-src-change.html": [ + "15202a76a1ea3b7ad8deb35cdb33826414d7a95b", + "testharness" + ], "referrer-policy/generic/link-rel-prefetch.html": [ "914ddfc4b225d26c675c61ecf623fdebb10e4524", "testharness" @@ -704658,7 +704697,7 @@ "support" ], "resources/chromium/webxr-test.js": [ - "8816273705806dd8efb9c33a52a61689f802ecf2", + "5406b6745bdf021b59aa21f669e0cdbc6e858045", "support" ], "resources/chromium/webxr-test.js.headers": [ @@ -720242,7 +720281,7 @@ "support" ], "tools/wpt/browser.py": [ - "f617fc3252b13b7fba3d24619ece65e2c51f0a4e", + "ddc7837f192ae9307be0028636e92d4faf9b9ced", "support" ], "tools/wpt/commands.json": [ @@ -723361,8 +723400,8 @@ "7fc080d380c4bd46dfb011910e570ee412561b92", "support" ], - "wake-lock/wakelock-abortsignal-set.https.html": [ - "cc534d13d6ca81763627291680c8740d6bd5aff2", + "wake-lock/wakelock-abortsignal.https.any.js": [ + "7961674fea6e42f2a6a2b34b23be486e4685ccea", "testharness" ], "wake-lock/wakelock-active-document.https.window.js": [ @@ -723418,7 +723457,7 @@ "testharness" ], "wake-lock/wakelock-type.https.any.js": [ - "e11fccc1ddf80320ffdf0bd893e28f30003dabc2", + "cc37c768272512ec412fb749cebd77afa8662ac3", "testharness" ], "wasm/META.yml": [ @@ -734654,7 +734693,7 @@ "support" ], "xhr/resources/access-control-basic-options-not-supported.py": [ - "0c69c76293eaeebc1e9c18fed7904c3bdcdc0d8e", + "77b274e957ca87270926ad4622d2c79ec9600fed", "support" ], "xhr/resources/access-control-basic-preflight-cache-invalidation.py": [ diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index 939a36eb9d9..3d135f3bd66 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -2,6 +2,7 @@ type: testharness [single-byte-decoder.html?document] + expected: TIMEOUT [ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index ff2111a0637..84ec93d5af0 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,21 +312,24 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: */* text/html] expected: FAIL - [<iframe>: combined response Content-Type: */* text/html] + [<iframe>: combined response Content-Type: text/html */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] + [<iframe>: combined response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" text/plain] + [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: separate response Content-Type: */* text/html] + expected: FAIL + + [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL - [<iframe>: combined response Content-Type: text/html;" \\" text/plain] + [<iframe>: separate response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index d4ba399b762..ef3edb78985 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,6 +11,6 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL - [X-Content-Type-Options%3A%20'NosniFF'] + [X-Content-Type-Options%3A%20%22nosniFF%22] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html.ini index cc781d0a782..e8fe94b8878 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html.ini @@ -1,5 +1,4 @@ [track-cue-rendering-empty-cue.html] - expected: TIMEOUT [Empty cues] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini new file mode 100644 index 00000000000..9e522297c94 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini @@ -0,0 +1,7 @@ +[toggleEvent.html] + [Calling open twice on 'details' fires only one toggle event] + expected: FAIL + + [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element] + expected: FAIL + diff --git a/tests/wpt/metadata/referrer-policy/generic/iframe-src-change.html.ini b/tests/wpt/metadata/referrer-policy/generic/iframe-src-change.html.ini new file mode 100644 index 00000000000..255b8ba2def --- /dev/null +++ b/tests/wpt/metadata/referrer-policy/generic/iframe-src-change.html.ini @@ -0,0 +1,4 @@ +[iframe-src-change.html] + [Checks that referrerpolicy is respected when an iframe's src changes.] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/web-platform-tests/css/css-values/initial-background-color.html b/tests/wpt/web-platform-tests/css/css-values/initial-background-color.html index f3822665177..7a6c6173c4f 100644 --- a/tests/wpt/web-platform-tests/css/css-values/initial-background-color.html +++ b/tests/wpt/web-platform-tests/css/css-values/initial-background-color.html @@ -16,7 +16,7 @@ href="mailto:fremycompany.developer@yahoo.fr" / > - <link rel="help" href="http://www.w3.org/TR/css3-values/#attr-notation"/> + <link rel="help" href="http://www.w3.org/TR/css3-values/#common-keywords"/> <link rel="match" diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/percentage-padding-in-shrink-to-fit.html b/tests/wpt/web-platform-tests/css/css-writing-modes/percentage-padding-in-shrink-to-fit.html new file mode 100644 index 00000000000..2d4364c886c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-writing-modes/percentage-padding-in-shrink-to-fit.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/"> +<link rel="help" href="https://www.w3.org/TR/CSS22/box.html#propdef-padding-top"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=966795"> +<link rel="match" href="../reference/nothing.html"> +<meta name="assert" content="Percentage-padding is always resolved against the inline-size of the containing block, even if it's about block padding."> +<p>There should be nothing below.</p> +<div style="float:left;"> + <div style="display:flex; writing-mode:vertical-rl; padding:1000%; background:red;"></div> +</div> diff --git a/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md b/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md index 695f8403da4..8f908877c40 100644 --- a/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md +++ b/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md @@ -11,6 +11,21 @@ On Windows, be sure to add the Python directory (`c:\python2x`, by default) to your `%Path%` [Environment Variable](http://www.computerhope.com/issues/ch000549.htm), and read the [Windows Notes](#windows-notes) section below. +<!-- + There does not appear to be a cross-platform means of installing `pip`. + https://github.com/web-platform-tests/wpt/pull/16670 +--> + +Install `pip`. On many systems, this can be achieved with the command `python +-m ensurepip`. If this is not possible, use your system's package manager to +install the `python-pip` package. + +Next, install `virtualenv` using the following command: + +```bash +pip install virtualenv +``` + To get the tests running, you need to set up the test domains in your [`hosts` file](http://en.wikipedia.org/wiki/Hosts_%28file%29%23Location_in_the_file_system). diff --git a/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html b/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html index 62fd9ca389d..e599bf26f94 100644 --- a/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html +++ b/tests/wpt/web-platform-tests/fetch/corb/script-resource-with-nonsniffable-types.tentative.sub.html @@ -53,9 +53,12 @@ function test(mime_type, is_blocking_expected) { // Some mime types should be protected by CORB without any kind // of confirmation sniffing. protected_mime_types = [ + "application/gzip", "application/x-gzip", "application/x-protobuf", + "application/x-www-form-urlencoded", "application/zip", + "text/event-stream", // TODO(lukasza): https://crbug.com/944162: Add application/pdf and // text/csv to the list of content types tested here (after // kMimeHandlerViewInCrossProcessFrame gets enabled by default). diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html deleted file mode 100644 index 837c4fd7833..00000000000 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html +++ /dev/null @@ -1,27 +0,0 @@ -<!DOCTYPE html> -<html class="reftest-wait"> -<title>Reference for track rendering with empty cue</title> -<script src="/common/reftest-wait.js"></script> -<style> -html { overflow:hidden } -body { margin:0 } -.container { - display: inline-block; - position: relative; -} -</style> -<div class="container"> - <video width="320" height="180"> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> - <script> - var video = document.querySelector("video"); - video.addEventListener('playing', () => { - video.pause(); - takeScreenshot(); - }, { once: true}); - video.play(); - </script> - </video> -</div> -</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html index c2d300999ee..427189f6fc7 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html @@ -1,26 +1,16 @@ <!DOCTYPE html> -<html class="reftest-wait"> -<title>Track rendering with empty cue</title> -<link rel="match" href="track-cue-rendering-empty-cue-ref.html"> -<style> -html { overflow:hidden } -body { margin:0 } -</style> -<script src="/common/reftest-wait.js"></script> -<video width="320" height="180"> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> - <script> - var video = document.querySelector("video"); - var track = video.addTextTrack("captions", "regular captions track", "en"); - track.addCue(new VTTCue(0, 4, "")); - track.mode = "showing"; +<title>Empty cues</title> +<script src="/common/media.js"></script> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +async_test(function(t) { + var video = document.createElement("video"); + video.src = getVideoURI("/media/test"); + video.addTextTrack("captions", "regular captions track", "en"); + video.textTracks[0].addCue(new VTTCue(0, 4, "")); - video.addEventListener('playing', () => { - video.pause(); - takeScreenshot(); - }, { once: true}); + video.onplaying = t.step_func_done(); video.play(); - </script> -</video> -</html>
\ No newline at end of file +}); +</script>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html index c4c14bc2a39..8354041eb2a 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html @@ -20,6 +20,7 @@ background: green; color: green; font-size: 120px; + padding: 2px; } </style> <div class="container"> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html index c3ee804c485..39461350b08 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html @@ -22,6 +22,7 @@ background: green; color: green; font-size: 50px; + padding: 2px; } </style> <div class="container"> diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html new file mode 100644 index 00000000000..3caed3a02e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-ruby-element/rt-without-ruby-crash.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=967255"> +<rt style="display:block;"> + <div></div> +</rt> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + test(()=> { }, "No crash"); +</script> diff --git a/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active_manual.https.html b/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active-manual.https.html index f1d2fb83e0e..f1d2fb83e0e 100644 --- a/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active_manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/rejects_if_not_active-manual.https.html diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html index 972f99d9508..a718468c49a 100644 --- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen.html @@ -51,7 +51,7 @@ // Inject pen inputs. new test_driver.Actions() - .addPointer("pointer1", "pen") + .addPointer("PenPointer1", "pen") .pointerMove(0, 0, {origin: target0}) .pointerMove(0, 0) .send(); diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html index 5bab6e66121..6ed75ab4cbc 100644 --- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_suppress_compat_events_on_drag_mouse.html @@ -46,7 +46,6 @@ var target_list = ["target0", "target1"]; var pointer_event_list = ["pointerdown" , "pointermove", "pointerup"]; var mouse_event_list = ["mousedown", "mouseup", "mousemove"]; - var last_pointer_event = null; target_list.forEach(function(targetId) { var target = document.getElementById(targetId); @@ -64,8 +63,6 @@ if (label === "pointerdown@target0") event.preventDefault(); - - last_pointer_event = event; }); }); @@ -77,11 +74,6 @@ event_log.push(event.type + "@" + targetId); include_next_mousemove = (event.type == "mousedown"); - test(function() { - test(function () { - assert_equals(event.timeStamp, last_pointer_event.timeStamp, "The time stamp of the compat mouse event should be the same as its pointerevent"); - }); - }, event.type + "'s time stamp should be the same as " + last_pointer_event.type + "'s time stamp."); }); }); }); diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-src-change.html b/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-src-change.html new file mode 100644 index 00000000000..15202a76a1e --- /dev/null +++ b/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-src-change.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<script> +function nextMessage() { + return new Promise((resolve, reject) => { + window.addEventListener('message', e => resolve(e.data), {once: true}); + }); +} + +promise_test(async () => { + let iframe = document.createElement('iframe'); + iframe.setAttribute('src', '/common/security-features/subresource/document.py?first') + iframe.setAttribute('referrerpolicy', 'no-referrer'); + document.body.appendChild(iframe); + + try { + { + let {referrer: documentReferrer, headers: {referer: httpReferrer}} = await nextMessage(); + assert_equals(httpReferrer, undefined, 'expected no HTTP Referer header on initial load'); + assert_equals(documentReferrer, undefined, 'expected no document.referrer on initial load'); + } + + iframe.setAttribute('src', '/common/security-features/subresource/document.py?second'); + + { + let {referrer: documentReferrer, headers: {referer: httpReferrer}} = await nextMessage(); + assert_equals(httpReferrer, undefined, 'expected no HTTP Referer header on src change'); + assert_equals(documentReferrer, undefined, 'expected no document.referrer on src change'); + } + } finally { + iframe.remove(); + } +}, "Checks that referrerpolicy is respected when an iframe's src changes."); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js index 88162737058..5406b6745bd 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js @@ -340,12 +340,15 @@ class MockRuntime { this.environmentProviderBinding_.close(); } + closeDataProvider() { + this.dataProviderBinding_.close(); + } + updateSessionGeometry(frame_size, display_rotation) { // This function must exist to ensure that calls to it do not crash, but we // do not have any use for this data at present. } - // Utility function requestRuntimeSession(sessionOptions) { return this.runtimeSupportsSession(sessionOptions).then((result) => { @@ -366,7 +369,7 @@ class MockRuntime { let dataProviderPtr = new device.mojom.XRFrameDataProviderPtr(); let dataProviderRequest = mojo.makeRequest(dataProviderPtr); - let dataProviderBinding = new mojo.Binding( + this.dataProviderBinding_ = new mojo.Binding( device.mojom.XRFrameDataProvider, this, dataProviderRequest); let clientRequest = mojo.makeRequest(this.sessionClient_); diff --git a/tests/wpt/web-platform-tests/tools/wpt/browser.py b/tests/wpt/web-platform-tests/tools/wpt/browser.py index f617fc3252b..ddc7837f192 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/browser.py +++ b/tests/wpt/web-platform-tests/tools/wpt/browser.py @@ -634,7 +634,11 @@ class Opera(Browser): class EdgeChromium(Browser): """MicrosoftEdge-specific interface.""" - + platform = { + "Linux": "linux", + "Windows": "win", + "Darwin": "macos" + }.get(uname[0]) product = "edgechromium" requirements = "requirements_edge_chromium.txt" @@ -642,13 +646,35 @@ class EdgeChromium(Browser): raise NotImplementedError def find_binary(self, venv_path=None, channel=None): - raise find_executable("msedge") + binary = None + if self.platform == "win": + binaryname = "msedge" + binary = find_executable(binaryname) + if not binary: + # Use paths from different Edge channels starting with Release\Beta\Dev\Canary + winpaths = [os.path.expanduser("~\\AppData\\Local\\Microsoft\\Edge\\Application"), + os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge Beta\\Application"), + os.path.expandvars("$SYSTEMDRIVE\\Program Files\\Microsoft\\Edge Dev\\Application"), + os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge Beta\\Application"), + os.path.expandvars("$SYSTEMDRIVE\\Program Files (x86)\\Microsoft\\Edge Dev\\Application"), + os.path.expanduser("~\\AppData\Local\\Microsoft\\Edge SxS\\Application"),] + return find_executable(binaryname, os.pathsep.join(winpaths)) + if self.platform == "macos": + binaryname = "Microsoft Edge Canary" + binary = find_executable(binaryname) + if not binary: + macpaths = ["/Applications/Microsoft Edge.app/Contents/MacOS", + os.path.expanduser("~/Applications/Microsoft Edge.app/Contents/MacOS"), + "/Applications/Microsoft Edge Canary.app/Contents/MacOS", + os.path.expanduser("~/Applications/Microsoft Edge Canary.app/Contents/MacOS")] + return find_executable("Microsoft Edge Canary", os.pathsep.join(macpaths)) + return binary def find_webdriver(self, channel=None): return find_executable("msedgedriver") def install_webdriver(self, dest=None, channel=None, browser_binary=None): - if uname[0] != "Windows": + if self.platform == "win": raise ValueError("Only Windows platform is currently supported") if dest is None: @@ -666,19 +692,29 @@ class EdgeChromium(Browser): return find_executable("msedgedriver", dest) def version(self, binary=None, webdriver_binary=None): - if uname[0] != "Windows": + if binary is None: + binary = self.find_binary() + if self.platform != "win": try: version_string = call(binary, "--version").strip() except subprocess.CalledProcessError: self.logger.warning("Failed to call %s" % binary) return None - m = re.match(r"(?:MSEdge|Edge) (.*)", version_string) + m = re.match(r"Microsoft Edge (.*) ", version_string) if not m: self.logger.warning("Failed to extract version from: %s" % version_string) return None return m.group(1) - self.logger.warning("Unable to extract version from binary on Windows.") - return None + else: + if binary is not None: + command = "(Get-Item '%s').VersionInfo.FileVersion" % binary + try: + return call("powershell.exe", command).strip() + except (subprocess.CalledProcessError, OSError): + self.logger.warning("Failed to call %s in PowerShell" % command) + return None + self.logger.warning("Failed to find Edge binary.") + return None class Edge(Browser): """Edge-specific interface.""" diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-abortsignal-set.https.html b/tests/wpt/web-platform-tests/wake-lock/wakelock-abortsignal.https.any.js index cc534d13d6c..7961674fea6 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-abortsignal-set.https.html +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-abortsignal.https.any.js @@ -1,10 +1,23 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<title>WakeLock: passing an AbortSignal already set aborts</title> -<link rel="help" href="https://w3c.github.io/wake-lock/"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script> +// META: title=WakeLock.request() AbortSignal Test + +'use strict'; + +promise_test(async t => { + const invalidSignals = [ + "string", + 123, + {}, + true, + Symbol(), + () => {}, + self + ]; + + for (let signal of invalidSignals) { + await promise_rejects(t, new TypeError(), WakeLock.request('screen', { signal: signal })); + } +}, "'TypeError' is thrown when the signal option is not an AbortSignal"); + promise_test(t => { const abortController = new AbortController(); const abortSignal = abortController.signal; @@ -28,4 +41,3 @@ promise_test(async t => { await promise_rejects(t, "AbortError", lock2); await promise_rejects(t, "AbortError", lock3); }, "The same AbortSignal can be used to cause multiple wake locks to abort"); -</script> diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js b/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js index e11fccc1ddf..cc37c768272 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js @@ -13,7 +13,7 @@ promise_test(t => { "", true ]; - invalidTypes.map(async invalidType => { - await promise_rejects(t, new TypeError(), WakeLock.request(invalidType)); - }); + return Promise.all(invalidTypes.map(invalidType => { + return promise_rejects(t, new TypeError(), WakeLock.request(invalidType)); + })); }, "'TypeError' is thrown when set an invalid wake lock type"); diff --git a/tests/wpt/web-platform-tests/xhr/resources/access-control-basic-options-not-supported.py b/tests/wpt/web-platform-tests/xhr/resources/access-control-basic-options-not-supported.py index 0c69c76293e..77b274e957c 100644 --- a/tests/wpt/web-platform-tests/xhr/resources/access-control-basic-options-not-supported.py +++ b/tests/wpt/web-platform-tests/xhr/resources/access-control-basic-options-not-supported.py @@ -3,7 +3,10 @@ def main(request, response): # Allow simple requests, but deny preflight if request.method != "OPTIONS": - response.headers.set("Access-Control-Allow-Credentials", "true") - response.headers.set("Access-Control-Allow-Origin", request.headers.get("origin")) + if "origin" in request.headers: + response.headers.set("Access-Control-Allow-Credentials", "true") + response.headers.set("Access-Control-Allow-Origin", request.headers["origin"]) + else: + response.status = 500 else: response.status = 400 |