diff options
91 files changed, 1834 insertions, 293 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 947e223fb28..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 @@ -34,3 +34,6 @@ [Revoke blob URL after creating Request, will fetch] expected: FAIL + [Revoke blob URL after calling fetch, fetch should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index b61081ad02d..a8f266ecbb8 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -141767,6 +141767,30 @@ {} ] ], + "css/css-text-decor/text-underline-offset-001.html": [ + [ + "css/css-text-decor/text-underline-offset-001.html", + [ + [ + "/css/css-text-decor/reference/text-underline-offset-001-notref.html", + "!=" + ] + ], + {} + ] + ], + "css/css-text-decor/text-underline-offset-002.html": [ + [ + "css/css-text-decor/text-underline-offset-002.html", + [ + [ + "/css/css-text-decor/reference/text-underline-offset-002-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-text/boundary-shaping/boundary-shaping-001.html": [ [ "css/css-text/boundary-shaping/boundary-shaping-001.html", @@ -176977,6 +177001,18 @@ {} ] ], + "css/filter-effects/backdrop-filter-edge-clipping.html": [ + [ + "css/filter-effects/backdrop-filter-edge-clipping.html", + [ + [ + "/css/filter-effects/backdrop-filter-paint-order-ref.html", + "==" + ] + ], + {} + ] + ], "css/filter-effects/backdrop-filter-edge-pixels.html": [ [ "css/filter-effects/backdrop-filter-edge-pixels.html", @@ -177049,6 +177085,18 @@ {} ] ], + "css/filter-effects/backdrop-filter-plus-filter.html": [ + [ + "css/filter-effects/backdrop-filter-plus-filter.html", + [ + [ + "/css/filter-effects/backdrop-filter-plus-filter-ref.html", + "==" + ] + ], + {} + ] + ], "css/filter-effects/backdrop-filter-reference-filter.html": [ [ "css/filter-effects/backdrop-filter-reference-filter.html", @@ -201125,6 +201173,30 @@ {} ] ], + "mathml/presentation-markup/direction/direction-overall.html": [ + [ + "mathml/presentation-markup/direction/direction-overall.html", + [ + [ + "/mathml/presentation-markup/direction/direction-overall-ref.html", + "==" + ] + ], + {} + ] + ], + "mathml/presentation-markup/direction/direction-token.html": [ + [ + "mathml/presentation-markup/direction/direction-token.html", + [ + [ + "/mathml/presentation-markup/direction/direction-token-ref.html", + "==" + ] + ], + {} + ] + ], "mathml/presentation-markup/fractions/frac-bar-001.html": [ [ "mathml/presentation-markup/fractions/frac-bar-001.html", @@ -202805,6 +202877,18 @@ {} ] ], + "svg/render/reftests/change-sync-for-nested-use.html": [ + [ + "svg/render/reftests/change-sync-for-nested-use.html", + [ + [ + "/svg/render/reftests/change-sync-for-nested-use-ref.html", + "==" + ] + ], + {} + ] + ], "svg/render/reftests/filter-effects-on-pattern.html": [ [ "svg/render/reftests/filter-effects-on-pattern.html", @@ -203705,6 +203789,18 @@ {} ] ], + "webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment.html": [ + [ + "webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment.html", + [ + [ + "/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment-ref.html", + "==" + ] + ], + {} + ] + ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html": [ [ "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html", @@ -250843,6 +250939,12 @@ "css/css-text-decor/reference/text-emphasis-style-string-001-ref.xht": [ [] ], + "css/css-text-decor/reference/text-underline-offset-001-notref.html": [ + [] + ], + "css/css-text-decor/reference/text-underline-offset-002-ref.html": [ + [] + ], "css/css-text/META.yml": [ [] ], @@ -256672,6 +256774,9 @@ "css/filter-effects/backdrop-filter-paint-order-ref.html": [ [] ], + "css/filter-effects/backdrop-filter-plus-filter-ref.html": [ + [] + ], "css/filter-effects/backdrop-filter-update-ref.html": [ [] ], @@ -270598,6 +270703,12 @@ "mathml/README.md": [ [] ], + "mathml/presentation-markup/direction/direction-overall-ref.html": [ + [] + ], + "mathml/presentation-markup/direction/direction-token-ref.html": [ + [] + ], "mathml/presentation-markup/fractions/frac-bar-001-ref.html": [ [] ], @@ -277804,6 +277915,9 @@ "svg/render/reftests/blending-svg-root-ref.html": [ [] ], + "svg/render/reftests/change-sync-for-nested-use-ref.html": [ + [] + ], "svg/render/reftests/filter-effects-on-pattern-ref.html": [ [] ], @@ -284044,6 +284158,9 @@ "webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby-ref.html": [ [] ], + "webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment-ref.html": [ + [] + ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html": [ [] ], @@ -284878,6 +284995,9 @@ "webvtt/rendering/cues-with-video/processing-model/support/size_50.vtt": [ [] ], + "webvtt/rendering/cues-with-video/processing-model/support/start_alignment.vtt": [ + [] + ], "webvtt/rendering/cues-with-video/processing-model/support/test.vtt": [ [] ], @@ -312312,6 +312432,12 @@ {} ] ], + "css/css-overflow/overfow-outside-padding.html": [ + [ + "css/css-overflow/overfow-outside-padding.html", + {} + ] + ], "css/css-overflow/parsing/block-ellipsis-invalid.html": [ [ "css/css-overflow/parsing/block-ellipsis-invalid.html", @@ -321670,6 +321796,12 @@ {} ] ], + "css/cssom/getComputedStyle-width-scroll.tentative.html": [ + [ + "css/cssom/getComputedStyle-width-scroll.tentative.html", + {} + ] + ], "css/cssom/historical.html": [ [ "css/cssom/historical.html", @@ -355971,6 +356103,12 @@ {} ] ], + "intersection-observer/root-margin-root-element.html": [ + [ + "intersection-observer/root-margin-root-element.html", + {} + ] + ], "intersection-observer/root-margin-rounding.html": [ [ "intersection-observer/root-margin-rounding.html", @@ -356625,6 +356763,12 @@ } ] ], + "mathml/presentation-markup/direction/direction.html": [ + [ + "mathml/presentation-markup/direction/direction.html", + {} + ] + ], "mathml/presentation-markup/fractions/frac-1.html": [ [ "mathml/presentation-markup/fractions/frac-1.html", @@ -357198,7 +357342,9 @@ "media-source/mediasource-play.html": [ [ "media-source/mediasource-play.html", - {} + { + "timeout": "long" + } ] ], "media-source/mediasource-preload.html": [ @@ -393910,6 +394056,12 @@ {} ] ], + "trusted-types/Element-insertAdjacentText.tentative.html": [ + [ + "trusted-types/Element-insertAdjacentText.tentative.html", + {} + ] + ], "trusted-types/Element-outerHTML.tentative.html": [ [ "trusted-types/Element-outerHTML.tentative.html", @@ -394150,6 +394302,12 @@ {} ] ], + "trusted-types/block-text-node-insertion-into-script-element.tentative.html": [ + [ + "trusted-types/block-text-node-insertion-into-script-element.tentative.html", + {} + ] + ], "trusted-types/idlharness.window.js": [ [ "trusted-types/idlharness.window.html", @@ -432133,7 +432291,7 @@ }, "paths": { ".azure-pipelines.yml": [ - "1a8950b870fbad7bb343889c9cf5f091bb56a3fa", + "80748691d6fd3c16a659c4c6c57115ca9341a38e", "support" ], ".codecov.yml": [ @@ -547105,11 +547263,11 @@ "testharness" ], "css/css-grid/abspos/absolute-positioning-grid-container-containing-block-001.html": [ - "e456af8ce0a30b430ab2696c892c6fde8884007c", + "4be43ddba2dec27a1dd2d1af95402e5158c7c9e6", "testharness" ], "css/css-grid/abspos/absolute-positioning-grid-container-parent-001.html": [ - "a7a38ad0a0ab8c8fa13b7fac0a75268e1a026cbb", + "7025ccf55e9d70e5fa3db5159cd975e061003837", "testharness" ], "css/css-grid/abspos/descendant-static-position-001-ref.html": [ @@ -547161,7 +547319,7 @@ "support" ], "css/css-grid/abspos/grid-positioned-children-writing-modes-001.html": [ - "eb855279ca8b2be674180dd5240ed3860663ae45", + "d63b1894927bf12cec6b918b100d62ff8a7ed103", "reftest" ], "css/css-grid/abspos/grid-positioned-item-dynamic-change-001.html": [ @@ -547201,7 +547359,7 @@ "support" ], "css/css-grid/abspos/grid-positioned-items-background-001.html": [ - "19ee662e04e12e77ac0eec52b8da951ef1f27b5c", + "54146bce2581db8749ea75622edfdcd148d266bb", "reftest" ], "css/css-grid/abspos/grid-positioned-items-background-rtl-001-ref.html": [ @@ -547209,7 +547367,7 @@ "support" ], "css/css-grid/abspos/grid-positioned-items-background-rtl-001.html": [ - "9ed046b421533c12cf905dd175c682458279e10a", + "97ec1052f4be3ce0b26491c60d3c02184328dd12", "reftest" ], "css/css-grid/abspos/grid-positioned-items-content-alignment-001.html": [ @@ -547237,11 +547395,11 @@ "testharness" ], "css/css-grid/abspos/grid-positioned-items-implicit-grid-001.html": [ - "71f096aa74b9d9e012b115a21825843aa0d41e79", + "4b1a3d0f342f84b3a901513ce99bfcc96b635511", "testharness" ], "css/css-grid/abspos/grid-positioned-items-implicit-grid-line-001.html": [ - "7b8fa4ef7bd632fcbcfae5084cb41e8424f4363f", + "8fc8918ee68b215da3e93fb73282ab8e0b2ef287", "testharness" ], "css/css-grid/abspos/grid-positioned-items-padding-001.html": [ @@ -547249,7 +547407,7 @@ "testharness" ], "css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html": [ - "6e61f7c2de36a1d799aba0de6d10c52147d406d6", + "663dab45b3dbe76075c6a32a3e7b0b6a59213181", "testharness" ], "css/css-grid/abspos/grid-positioned-items-within-grid-implicit-track-001.html": [ @@ -547257,7 +547415,7 @@ "testharness" ], "css/css-grid/abspos/grid-sizing-positioned-items-001.html": [ - "0e8cd3369f7f154725f746ce4725940bec746582", + "e74b2b96fe62e102f4313c00bcc730bec76a667a", "testharness" ], "css/css-grid/abspos/orthogonal-positioned-grid-descendants-001.html": [ @@ -547629,11 +547787,11 @@ "reftest" ], "css/css-grid/abspos/positioned-grid-items-should-not-create-implicit-tracks-001.html": [ - "5ef006ae137c5604e9b53e322aeec60bf4841e55", + "adb4a7acf27514550682429e998feadb2af5676d", "testharness" ], "css/css-grid/abspos/positioned-grid-items-should-not-take-up-space-001.html": [ - "597e778019b6276cdfd01676f2abf6f521faff29", + "50f9984370baa88d2940b5457b54067a9497a812", "testharness" ], "css/css-grid/abspos/positioned-grid-items-sizing-001-ref.html": [ @@ -554172,6 +554330,10 @@ "f425636c3bb4297e4e6564d1c2629dc10dde5607", "testharness" ], + "css/css-overflow/overfow-outside-padding.html": [ + "792f7b87351bfcbda7baecc67ea6dedc2b05f3a5", + "testharness" + ], "css/css-overflow/parsing/block-ellipsis-invalid.html": [ "2b9c059a45d0e315a350e0c09fd7cd86be72c61e", "testharness" @@ -562280,6 +562442,14 @@ "6bf79ba4527f99af740bdeca945449e8f9ed7a57", "support" ], + "css/css-text-decor/reference/text-underline-offset-001-notref.html": [ + "c56078a32ae26647c8aece448ce1d6b268f38abd", + "support" + ], + "css/css-text-decor/reference/text-underline-offset-002-ref.html": [ + "ed2e3cefff82a120c3d33f504fd8d6ee78d9fe8c", + "support" + ], "css/css-text-decor/text-decoration-001-manual.html": [ "9b620132697dfbf68f0d10575afaf7d902e649da", "manual" @@ -562720,6 +562890,14 @@ "1c108faabd33fbbd4827bb1fca9a3d4834037deb", "testharness" ], + "css/css-text-decor/text-underline-offset-001.html": [ + "41a7d418a21db617dfc13ad501c72a209be35302", + "reftest" + ], + "css/css-text-decor/text-underline-offset-002.html": [ + "56ba764a0fa035fcc41c993f4462acf4c2ccacfd", + "reftest" + ], "css/css-text-decor/text-underline-offset-computed.html": [ "32dfd24fbaa5633c60d9307d78847f9cae3e9b97", "testharness" @@ -587900,6 +588078,10 @@ "12ad5e89653564f91006c78baeac353c12865c00", "testharness" ], + "css/cssom/getComputedStyle-width-scroll.tentative.html": [ + "8f629c70161b436758044eafc8fc42648f38f3dd", + "testharness" + ], "css/cssom/historical.html": [ "44f3f6c8f15a13b2c32dad2672ea9383330e8082", "testharness" @@ -588336,6 +588518,10 @@ "bc25b25944f47d6f053580939752803f0b929c99", "reftest" ], + "css/filter-effects/backdrop-filter-edge-clipping.html": [ + "5d09c414497de3d1d34bf2a6032c94c87a9bdb82", + "reftest" + ], "css/filter-effects/backdrop-filter-edge-pixels-ref.html": [ "bbd562856f7a0ee305874575935c66e8b4830c1d", "support" @@ -588380,6 +588566,14 @@ "88531532fc33296e8c8eca5452da04d5d612662d", "reftest" ], + "css/filter-effects/backdrop-filter-plus-filter-ref.html": [ + "bf476ea63f81a6caca33dd8d27b8208b3ae52c4e", + "support" + ], + "css/filter-effects/backdrop-filter-plus-filter.html": [ + "3a2d8feaeefc82c20afd3de2c2cf9ce9bf6aed11", + "reftest" + ], "css/filter-effects/backdrop-filter-reference-filter.html": [ "6c61a9620aa82d23375fd31900d87bcfd873a5e1", "reftest" @@ -622117,11 +622311,11 @@ "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-ref.html": [ - "92c1e9fedf9aead22f80dbe5575e46d427288e96", + "137a9334f286f418b8d0c3b35ed995e956f22c76", "support" ], "html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html": [ - "0da8c6f83d54195c6ccea34bdd8d1af6cad6c2b6", + "ec350ff44d56c601f508485d0227ba9855394917", "reftest" ], "html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-positioning.html": [ @@ -622149,11 +622343,11 @@ "testharness" ], "html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-ref.html": [ - "c0415367cc13be70aba2076bf6b445b553ee4b5d", + "1c8f751c2cebba1a89f2f1b06e0deb73236e7b5b", "support" ], "html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html": [ - "c90313c887c07f05101f5ceaec698954be1510be", + "df816ffe2b9b0fd4cfd8021ea6d4c98f3872e128", "reftest" ], "html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-unsupported-markup.html": [ @@ -631353,7 +631547,7 @@ "support" ], "interfaces/geometry.idl": [ - "b5b56e780542ec0e623b47fc6a8b76dd0c3bb6f1", + "5d5fe4fc2c48305c0ea7e9ce0859af3700d9b14c", "support" ], "interfaces/gyroscope.idl": [ @@ -631621,7 +631815,7 @@ "support" ], "interfaces/web-nfc.idl": [ - "26f32a04ac981db772d26f34cbe3a40cdc78a83f", + "a50d53b57cd1bfa0fb44b8921c215dbc8d51279f", "support" ], "interfaces/web-share.idl": [ @@ -631661,7 +631855,7 @@ "support" ], "interfaces/webrtc.idl": [ - "4b5d1c1c581869cdfcefab4584c2b05b2dcb1f86", + "b18d4ac2b46e2b9924820ab227d21b78a86fa349", "support" ], "interfaces/webusb.idl": [ @@ -631673,7 +631867,7 @@ "support" ], "interfaces/webxr.idl": [ - "9b48a0f904026752510d90e05b85652062d87088", + "f9bfdce58425350d1404c4beaac719e04c94a498", "support" ], "interfaces/worklets.idl": [ @@ -631808,6 +632002,10 @@ "295bbf047e6523313ce74f2e383ed769c0d5c81b", "support" ], + "intersection-observer/root-margin-root-element.html": [ + "6016d45bdf52ab8455ff20edc7da8fdcef3a24b9", + "testharness" + ], "intersection-observer/root-margin-rounding.html": [ "f5e33230199eb77a16f8fe99eeb1c9c1618c3e19", "testharness" @@ -632360,6 +632558,26 @@ "9524d275e479ba2db2aaaab9fdbc1203c79009cb", "support" ], + "mathml/presentation-markup/direction/direction-overall-ref.html": [ + "1f823e5b0c359cb5347ee0d1165571ee8286753b", + "support" + ], + "mathml/presentation-markup/direction/direction-overall.html": [ + "7f377e540f4388088a401fb6995947d488d3f76f", + "reftest" + ], + "mathml/presentation-markup/direction/direction-token-ref.html": [ + "95f182bc8c716e84e1e76cfce7013a16cf4c5ada", + "support" + ], + "mathml/presentation-markup/direction/direction-token.html": [ + "a02793cc84ac61c814b6f884869ae8a920a2b748", + "reftest" + ], + "mathml/presentation-markup/direction/direction.html": [ + "05ea8b74fb5fcdeb994cfc6d80dc88d2cd8ccde4", + "testharness" + ], "mathml/presentation-markup/fractions/frac-1.html": [ "6b9fb2844298cbc228f91a23c6439e0f67f4f20b", "testharness" @@ -633217,7 +633435,7 @@ "testharness" ], "media-source/mediasource-play.html": [ - "62fb04681ae2feffcf568b14548811baf3ea3037", + "2129b8f4730fcba72d27958016355887e36c6ff9", "testharness" ], "media-source/mediasource-preload.html": [ @@ -633837,7 +634055,7 @@ "testharness" ], "mediacapture-streams/MediaStream-MediaElement-firstframe.https.html": [ - "1c6292458865bdeb3cfb5a64a7d4e4c9c215c866", + "714ae01b19ccc23dad2d601a8843adc44bb7b842", "testharness" ], "mediacapture-streams/MediaStream-MediaElement-preload-none-manual.https.html": [ @@ -633845,7 +634063,7 @@ "manual" ], "mediacapture-streams/MediaStream-MediaElement-srcObject.https.html": [ - "4b9a3c8246d04aafff5877fc78001a5f9d00f82d", + "3b16006e0f52ca966c0298bef59a10a19e4038a3", "testharness" ], "mediacapture-streams/MediaStream-add-audio-track.https.html": [ @@ -633957,7 +634175,7 @@ "testharness" ], "mediasession/setactionhandler.html": [ - "dc7c3359e122db46f93aad4ef91daed1495f36ec", + "06d145b37d1603680ef61de4b2953f5bfc4ed650", "testharness" ], "mimesniff/META.yml": [ @@ -658413,7 +658631,7 @@ "testharness" ], "service-workers/service-worker/fetch-event-async-respond-with.https.html": [ - "ae64fcb9a5445843afb75679d0dafa45a3366677", + "d9147f85494c21e54d39a4fd7af16efa1a126384", "testharness" ], "service-workers/service-worker/fetch-event-is-history-backward-navigation-manual.https.html": [ @@ -665504,6 +665722,14 @@ "7cbf68d39a05d9b3e27f2613b65eaf64f63ed54b", "reftest" ], + "svg/render/reftests/change-sync-for-nested-use-ref.html": [ + "e52fa18d3f305a2933df180dac7f8f331d885b3c", + "support" + ], + "svg/render/reftests/change-sync-for-nested-use.html": [ + "9a6e13435094eabc055d451e05de58c80c4fe679", + "reftest" + ], "svg/render/reftests/filter-effects-on-pattern-ref.html": [ "a61f17bf199374af3b6d106d3f5a72bc532449b8", "support" @@ -666489,11 +666715,11 @@ "support" ], "tools/lint/lint.py": [ - "6a71dc860feb47d7c57df48a0fbfb12791f7b9f7", + "062c6a42d0f91836aaba5b308854ea6b5896b9aa", "support" ], "tools/lint/rules.py": [ - "685bac3474ecf00a22e130dae78d3e6d384dc877", + "9b78f3495b2291044243170c54af5c3cd6b61046", "support" ], "tools/lint/tests/__init__.py": [ @@ -666641,7 +666867,7 @@ "support" ], "tools/lint/tests/test_path_lints.py": [ - "9f6f49e14a12e65979b7fcccc70e405cda213afb", + "558b0ed4f648f41e7888d33b04c97bce720ca5da", "support" ], "tools/localpaths.py": [ @@ -671349,7 +671575,7 @@ "support" ], "tools/wptrunner/setup.py": [ - "0a16aa537b33b211622ef7799c149a135c7c4660", + "ab96bd10357cd6b3022364d471e5cebf0cb652dd", "support" ], "tools/wptrunner/test/metadata/testharness/firefox/__dir__.ini": [ @@ -672292,6 +672518,10 @@ "6a9329b3fbf2fdfb4f00ce2acde7c38d6843d92f", "testharness" ], + "trusted-types/Element-insertAdjacentText.tentative.html": [ + "f6221362c17d6231e0921d866b1cdc642fea9d39", + "testharness" + ], "trusted-types/Element-outerHTML.tentative.html": [ "c8daddfe9955196bf0b69410263cb7c01e473e5e", "testharness" @@ -672456,6 +672686,10 @@ "c66a16d5c00535c3def556afc5daff3a7614c62c", "testharness" ], + "trusted-types/block-text-node-insertion-into-script-element.tentative.html": [ + "a6aa061f7307330e027c3e8b26e6b931cee2bb7c", + "testharness" + ], "trusted-types/idlharness.window.js": [ "de13697764ed487060de3dd425cd39cba73ff13b", "testharness" @@ -675189,7 +675423,7 @@ "support" ], "web-nfc/NFCErrorEvent_constructor.https.html": [ - "8a08fe0a70edaebb542a4d2ec3f033476fc8b865", + "1cc9ce160be46955a9b15485ee4c040605722961", "testharness" ], "web-nfc/NFCReader-manual.https.html": [ @@ -675229,11 +675463,11 @@ "manual" ], "web-nfc/NFCReadingEvent_constructor.https.html": [ - "6cfcc0d3bddae2430152504fce839d1b96b12ce0", + "460e92b2508ba438a058d5ce9ab34db0d24349cf", "testharness" ], "web-nfc/NFCWriter_push.https.html": [ - "5badeb4083855549c9d9f241391ac6e0948f01e2", + "b1559b30fec513aaa5b8fa46f104c98388fcf166", "testharness" ], "web-nfc/NFCWriter_push_signal-manual.https.html": [ @@ -675241,7 +675475,7 @@ "manual" ], "web-nfc/idlharness.https.window.js": [ - "ab0d6cd191a5b576674c0c038087ef17ece4cdfd", + "c19458aed83f505472e35c8f3affa3247a814989", "testharness" ], "web-nfc/nfc_hw_disabled-manual.https.html": [ @@ -678449,7 +678683,7 @@ "testharness" ], "webrtc/idlharness.https.window.js": [ - "66abc25b0840335f8de783c010796942793fb14f", + "85fc7a68b9dff83ce4470b6caa2986932af43b75", "testharness" ], "webrtc/legacy/README.txt": [ @@ -680689,7 +680923,7 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html": [ - "4be9d6a5c1ca78bbad01a26ea76889654ff5aeba", + "17222bdc7b3cf03cbdc99959c718158860fcf8c6", "support" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html": [ @@ -680705,7 +680939,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html": [ - "d6117b32571459c889503778771016e9347f2b1a", + "22a711af6878bdaf8f9e7ee6d574a6de84c3a788", "support" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html": [ @@ -680745,7 +680979,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_center_position_gt_50-ref.html": [ - "9f79bf8e3bf65e1b17ce5acde44217f08196001c", + "c37ae7a7dfadd9481102eb542c7d9b10e5baa323", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_center_position_gt_50.html": [ @@ -680753,7 +680987,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50-ref.html": [ - "cc52e2db73324327c199558ea3ddd963fb01bdc3", + "108495e4b00e52a78a83975f064e6d86ad9a08ba", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50.html": [ @@ -680761,7 +680995,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50_size_gt_maximum_size-ref.html": [ - "02a7ae458494cbd6aed63cc55b928d3085dd62f7", + "296369332cf8f542e14548a9b7d884ea810b2634", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50_size_gt_maximum_size.html": [ @@ -680769,7 +681003,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_center_wrapped-ref.html": [ - "d67f0a8c04ae82ba6aaee98e0c0ff3aaaa8002a2", + "55aed284b7a5560b70f5634cf7e7b0ab79852087", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_center_wrapped.html": [ @@ -680785,7 +681019,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html": [ - "70b32cfc9bad2f67d17081aa76d67164bad5f41c", + "eee75f138fdef2d3745f6ce99313c056d45073a7", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html": [ @@ -680801,7 +681035,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html": [ - "d3c28fc36194293611c614cbb9525a6c943c31f0", + "45cb287e2f6c8b38731f91bc635d040e5709931f", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html": [ @@ -680832,6 +681066,14 @@ "ed2b2e019d6ffb57134e93c18bc1a533e2c386a0", "reftest" ], + "webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment-ref.html": [ + "78ca8979c95a31196d67a16c52ddc49a781cacef", + "support" + ], + "webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment.html": [ + "2b6cd76c20109c39c2a5ed06540a92c782f639b1", + "reftest" + ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html": [ "3c968da7c2920fe2efb4d2eb8edd23f417548d82", "support" @@ -681149,11 +681391,11 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html": [ - "0139f0c8339554bc53274c50bebd43500a71c757", + "87f3834e3d788ac998993c996876e761cc0b3b4f", "support" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html": [ - "fb954a42302781824e320b3ad77f89a38c730895", + "5ee98043ec2da7042943de2b2ac3e5be79dad5a8", "support" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref.html": [ @@ -682637,7 +682879,7 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_completely_move_up.vtt": [ - "d4a9679248215d2a23c3e2937e63d2e59c162a84", + "1ca56e56f6a8be9c485cb11081c30108573a1b54", "support" ], "webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_partially_move_down.vtt": [ @@ -682645,7 +682887,7 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_partially_move_up.vtt": [ - "6c99ce3b1fe1ab60d41e1afdfb79bd689cba62f7", + "7160f3791ee0cdffd143e29afa8fe869a738b40c", "support" ], "webvtt/rendering/cues-with-video/processing-model/support/align_center.vtt": [ @@ -682808,6 +683050,10 @@ "b165af1533b0cf1688ce3835eeeaccfe348979df", "support" ], + "webvtt/rendering/cues-with-video/processing-model/support/start_alignment.vtt": [ + "9a92729381b3d974ef10dabd720d25f05c984717", + "support" + ], "webvtt/rendering/cues-with-video/processing-model/support/test.vtt": [ "ab71ec59840363d72574ca4d3a44e0892a466de3", "support" diff --git a/tests/wpt/metadata/css/css-text-decor/text-underline-offset-001.html.ini b/tests/wpt/metadata/css/css-text-decor/text-underline-offset-001.html.ini new file mode 100644 index 00000000000..d6c9b16bea3 --- /dev/null +++ b/tests/wpt/metadata/css/css-text-decor/text-underline-offset-001.html.ini @@ -0,0 +1,2 @@ +[text-underline-offset-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini deleted file mode 100644 index e6e1f29e274..00000000000 --- a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[matchMedia-display-none-iframe.html] - expected: ERROR diff --git a/tests/wpt/metadata/css/filter-effects/backdrop-filter-plus-filter.html.ini b/tests/wpt/metadata/css/filter-effects/backdrop-filter-plus-filter.html.ini new file mode 100644 index 00000000000..80144ff5784 --- /dev/null +++ b/tests/wpt/metadata/css/filter-effects/backdrop-filter-plus-filter.html.ini @@ -0,0 +1,2 @@ +[backdrop-filter-plus-filter.html] + 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 e9c54d5e353..76d0244413c 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -249,9 +249,6 @@ [Request: combined response Content-Type: text/html;" " text/plain] expected: NOTRUN - [<iframe>: separate response Content-Type: text/plain ] - expected: FAIL - [fetch(): combined response Content-Type: text/plain */*] expected: NOTRUN @@ -312,27 +309,24 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: combined response Content-Type: text/html;" text/plain] - expected: FAIL - [<iframe>: separate response Content-Type: text/html */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] 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>: separate response Content-Type: text/plain;charset=gbk text/html] expected: FAIL - [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html] + [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*] + [<iframe>: separate response Content-Type: */* text/html] expected: FAIL - [<iframe>: combined response Content-Type: text/html;" \\" text/plain] + [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index 1cac78a466b..13cc589c98a 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -17,9 +17,6 @@ [combined x/x;" x/y;\\" text/javascript;charset=windows-1252;" text/javascript] expected: FAIL - [separate text/javascript;charset=windows-1252 error text/javascript] - expected: FAIL - [combined x/x text/javascript] expected: FAIL @@ -38,12 +35,6 @@ [separate x/x;charset=windows-1252 text/javascript] expected: FAIL - [separate text/javascript error] - expected: FAIL - - [separate text/javascript; charset=windows-1252 text/javascript] - expected: FAIL - [combined text/javascript;charset=windows-1252 x/x text/javascript] expected: FAIL @@ -62,9 +53,9 @@ [separate text/javascript;" x/x] expected: FAIL - [separate text/javascript ] + [combined text/javascript ] expected: FAIL - [combined text/javascript ] + [separate text/javascript x/x] 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 87c807a49ff..2557db2b806 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,9 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL + [X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff] + expected: FAIL + + [Content-Type-Options%3A%20nosniff] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini index dc2e45516de..385376c7321 100644 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini @@ -1,4 +1,4 @@ -[traverse_the_history_5.html] +[traverse_the_history_4.html] [Multiple history traversals, last would be aborted] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini index bf50d59df41..e02f179ec25 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini @@ -1,5 +1,24 @@ [open-features-negative-innerwidth-innerheight.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`] expected: FAIL + [features "innerheight=-404.5" should NOT set "height=404"] + expected: TIMEOUT + + [features "innerwidth=-404.5" should NOT set "width=404"] + expected: TIMEOUT + + [features "innerwidth=-404" should NOT set "width=404"] + expected: TIMEOUT + + [features "innerheight=-404e1" should NOT set "height=404"] + expected: TIMEOUT + + [features "innerheight=-404" should NOT set "height=404"] + expected: TIMEOUT + + [features "innerwidth=-404e1" should NOT set "width=404"] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini index e150c9d848f..23eefb8eaf9 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini @@ -1,5 +1,24 @@ [open-features-negative-screenx-screeny.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: negative values for legacy `screenx`, `screeny`] expected: FAIL + [features "screenx=-204" should NOT set "left=204"] + expected: TIMEOUT + + [features "screeny=-204" should NOT set "top=204"] + expected: TIMEOUT + + [features "screeny=-204.5" should NOT set "top=204"] + expected: TIMEOUT + + [features "screeny=-0" should NOT set "top=204"] + expected: TIMEOUT + + [features "screenx=-0" should NOT set "left=204"] + expected: TIMEOUT + + [features "screenx=-204.5" should NOT set "left=204"] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini index ad8840fbb68..940516ddd33 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini @@ -1,5 +1,24 @@ [open-features-negative-top-left.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: negative values for `top`, `left`] expected: FAIL + [features "top=-204" should NOT set "top=204"] + expected: TIMEOUT + + [features "top=-204.5" should NOT set "top=204"] + expected: TIMEOUT + + [features "left=-204" should NOT set "left=204"] + expected: TIMEOUT + + [features "top=-0" should NOT set "top=204"] + expected: TIMEOUT + + [features "left=-204.5" should NOT set "left=204"] + expected: TIMEOUT + + [features "left=-0" should NOT set "left=204"] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini index d1ed9088b2b..9027336b453 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini @@ -1,5 +1,24 @@ [open-features-negative-width-height.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: negative values for `width`, `height`] expected: FAIL + [features "height=-404" should NOT set "height=404"] + expected: TIMEOUT + + [features "height=-404e1" should NOT set "height=404"] + expected: TIMEOUT + + [features "height=-404.5" should NOT set "height=404"] + expected: TIMEOUT + + [features "width=-404" should NOT set "width=404"] + expected: TIMEOUT + + [features "width=-404e1" should NOT set "width=404"] + expected: TIMEOUT + + [features "width=-404.5" should NOT set "width=404"] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini index a70e9dbad4d..4e44584b123 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini @@ -1,32 +1,48 @@ [open-features-non-integer-height.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for feature `height`] expected: FAIL [features "height=405*3" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405.32" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405e1" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405/5" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405^4" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405.5" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405e-1" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405 " should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "height=405LLl" should set "height=405"] - expected: FAIL + expected: TIMEOUT + + [features "height=/404" should NOT set "height=404"] + expected: TIMEOUT + + [top=0,left=0,width=401,: absence of feature "height" should be treated same as "height=0"] + expected: TIMEOUT + + [top=0,left=0: absence of feature "height" should be treated same as "height=0"] + expected: TIMEOUT + + [features "height=_404" should NOT set "height=404"] + expected: TIMEOUT + + [features "height=L404" should NOT set "height=404"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini index 779531b4a98..fcaeae5336d 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini @@ -1,32 +1,42 @@ [open-features-non-integer-innerheight.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for legacy feature `innerheight`] expected: FAIL [features "innerheight=405e-1" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405LLl" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405^4" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405e1" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405 " should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405/5" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405.32" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405.5" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "innerheight=405*3" should set "height=405"] - expected: FAIL + expected: TIMEOUT + + [features "innerheight=_404" should NOT set "height=404"] + expected: TIMEOUT + + [features "innerheight=L404" should NOT set "height=404"] + expected: TIMEOUT + + [features "innerheight=/404" should NOT set "height=404"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini index 7a1b258d52e..42327fedd27 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini @@ -1,32 +1,42 @@ [open-features-non-integer-innerwidth.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for legacy feature `innerwidth`] expected: FAIL [features "innerwidth=405e-1" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405*3" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405.5" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405e1" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405.32" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405 " should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405LLl" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405/5" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "innerwidth=405^4" should set "width=405"] - expected: FAIL + expected: TIMEOUT + + [features "innerwidth=/404" should NOT set "width=404"] + expected: TIMEOUT + + [features "innerwidth=_404" should NOT set "width=404"] + expected: TIMEOUT + + [features "innerwidth=L404" should NOT set "width=404"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini index caba4124f0b..a8e4fe06618 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini @@ -1,32 +1,42 @@ [open-features-non-integer-left.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for feature `left`] expected: FAIL [features "left=105e1" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105 " should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105/5" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105e-1" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105^4" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105LLl" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105.32" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105*3" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "left=105.5" should set "left=105"] - expected: FAIL + expected: TIMEOUT + + [features "left=L104" should NOT set "left=104"] + expected: TIMEOUT + + [features "left=/104" should NOT set "left=104"] + expected: TIMEOUT + + [features "left=_104" should NOT set "left=104"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini index 9ace8a4cbdb..64a08faf0e6 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini @@ -1,32 +1,42 @@ [open-features-non-integer-screenx.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for legacy feature `screenx`] expected: FAIL [features "screenx=105.5" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105e1" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105 " should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105*3" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105e-1" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105^4" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105LLl" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105/5" should set "left=105"] - expected: FAIL + expected: TIMEOUT [features "screenx=105.32" should set "left=105"] - expected: FAIL + expected: TIMEOUT + + [features "screenx=_104" should NOT set "left=104"] + expected: TIMEOUT + + [features "screenx=L104" should NOT set "left=104"] + expected: TIMEOUT + + [features "screenx=/104" should NOT set "left=104"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini index a82bd0f981a..4f22ef4ef29 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini @@ -1,32 +1,42 @@ [open-features-non-integer-screeny.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for legacy feature `screeny`] expected: FAIL [features "screeny=405^4" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405e-1" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405LLl" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405e1" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405 " should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405/5" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405*3" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405.32" should set "height=405"] - expected: FAIL + expected: TIMEOUT [features "screeny=405.5" should set "height=405"] - expected: FAIL + expected: TIMEOUT + + [features "screeny=_404" should NOT set "height=404"] + expected: TIMEOUT + + [features "screeny=L404" should NOT set "height=404"] + expected: TIMEOUT + + [features "screeny=/404" should NOT set "height=404"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini index 28f93ee71b5..9d841e61bc0 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini @@ -1,32 +1,48 @@ [open-features-non-integer-width.html] type: testharness + expected: TIMEOUT [HTML: window.open `features`: non-integer values for feature `width`] expected: FAIL [features "width=405^4" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405.5" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405e1" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405 " should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405.32" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405LLl" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405*3" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405e-1" should set "width=405"] - expected: FAIL + expected: TIMEOUT [features "width=405/5" should set "width=405"] - expected: FAIL + expected: TIMEOUT + + [top=0,left=0: absence of feature "width" should be treated same as "width=0"] + expected: TIMEOUT + + [features "width=_404" should NOT set "width=404"] + expected: TIMEOUT + + [top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"] + expected: TIMEOUT + + [features "width=/404" should NOT set "width=404"] + expected: TIMEOUT + + [features "width=L404" should NOT set "width=404"] + expected: TIMEOUT diff --git a/tests/wpt/metadata/webdriver/tests/set_window_rect/set.py.ini b/tests/wpt/metadata/webdriver/tests/set_window_rect/set.py.ini index 3d9deb34a25..80695318c2b 100644 --- a/tests/wpt/metadata/webdriver/tests/set_window_rect/set.py.ini +++ b/tests/wpt/metadata/webdriver/tests/set_window_rect/set.py.ini @@ -40,4 +40,3 @@ [test_height_width_larger_than_max] expected: FAIL - diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini deleted file mode 100644 index 80f9a4f15b8..00000000000 --- a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[Worker-constructor.html] - expected: ERROR diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini deleted file mode 100644 index dbea4f293ad..00000000000 --- a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[transition_calc_implicit.html] - expected: TIMEOUT diff --git a/tests/wpt/web-platform-tests/.azure-pipelines.yml b/tests/wpt/web-platform-tests/.azure-pipelines.yml index 1a8950b870f..80748691d6f 100644 --- a/tests/wpt/web-platform-tests/.azure-pipelines.yml +++ b/tests/wpt/web-platform-tests/.azure-pipelines.yml @@ -21,7 +21,7 @@ jobs: # The affected tests jobs are unconditional for speed, as most PRs have one or # more affected tests: https://github.com/web-platform-tests/wpt/issues/13936. - job: affected_safari_preview - displayName: 'affected tests (Safari Technology Preview)' + displayName: 'affected tests: Safari Technology Preview' condition: eq(variables['Build.Reason'], 'PullRequest') pool: vmImage: 'macOS-10.13' @@ -35,7 +35,7 @@ jobs: artifactName: safari-preview-affected-tests - job: affected_without_changes_safari_preview - displayName: 'affected tests without changes (Safari Technology Preview)' + displayName: 'affected tests without changes: Safari Technology Preview' condition: eq(variables['Build.Reason'], 'PullRequest') pool: vmImage: 'macOS-10.13' @@ -68,7 +68,7 @@ jobs: displayName: 'Run ./wpt test-jobs' - job: infrastructure_macOS - displayName: 'infrastructure/ tests (macOS)' + displayName: 'infrastructure/ tests: macOS' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.wptrunner_infrastructure'] pool: @@ -86,11 +86,11 @@ jobs: - template: tools/ci/azure/update_hosts.yml - template: tools/ci/azure/update_manifest.yml - script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/chrome.tbpl.log --log-tbpl-level info --channel dev chrome infrastructure/ - displayName: 'Run tests (Chrome Dev)' + displayName: 'Run tests: Chrome Dev' - script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/firefox.tbpl.log --log-tbpl-level info --channel nightly firefox infrastructure/ - displayName: 'Run tests (Firefox Nightly)' + displayName: 'Run tests: Firefox Nightly' - script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/safari.tbpl.log --log-tbpl-level info --channel preview safari infrastructure/ - displayName: 'Run tests (Safari Technology Preview)' + displayName: 'Run tests: Safari Technology Preview' - task: PublishBuildArtifacts@1 displayName: 'Publish results' inputs: @@ -98,7 +98,7 @@ jobs: condition: always() - job: tools_unittest_macOS - displayName: 'tools/ unittests (macOS)' + displayName: 'tools/ unittests: macOS' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.tools_unittest'] pool: @@ -111,7 +111,7 @@ jobs: toxenv: py27 - job: wptrunner_unittest_macOS - displayName: 'tools/wptrunner/ unittests (macOS)' + displayName: 'tools/wptrunner/ unittests: macOS' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest'] pool: @@ -123,7 +123,7 @@ jobs: directory: tools/wptrunner/ - job: wpt_integration_macOS - displayName: 'tools/wpt/ tests (macOS)' + displayName: 'tools/wpt/ tests: macOS' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.wpt_integration'] pool: @@ -139,7 +139,7 @@ jobs: directory: tools/wpt/ - job: tools_unittest_win - displayName: 'tools/ unittests (Windows)' + displayName: 'tools/ unittests: Windows' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.tools_unittest'] pool: @@ -155,7 +155,7 @@ jobs: toxenv: py27 - job: tools_unittest_win_py3 - displayName: 'tools/ unittests (Windows Python 3)' + displayName: 'tools/ unittests: Windows Python 3' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.tools_unittest'] pool: @@ -171,7 +171,7 @@ jobs: toxenv: py36 - job: wptrunner_unittest_win - displayName: 'tools/wptrunner/ unittests (Windows)' + displayName: 'tools/wptrunner/ unittests: Windows' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest'] pool: @@ -186,7 +186,7 @@ jobs: directory: tools/wptrunner/ - job: wpt_integration_win - displayName: 'tools/wpt/ tests (Windows)' + displayName: 'tools/wpt/ tests: Windows' dependsOn: decision condition: dependencies.decision.outputs['test_jobs.wpt_integration'] pool: @@ -207,7 +207,7 @@ jobs: directory: tools/wpt/ - job: infrastructure_win10 - displayName: 'infrastructure/ tests (Windows 10)' + displayName: 'infrastructure/ tests: Windows 10' # This job is only triggered manually until it has been shown to be robust. condition: and(eq(variables['Build.Reason'], 'Manual'), variables['run_infrastructure_win10']) pool: @@ -224,7 +224,7 @@ jobs: - template: tools/ci/azure/update_hosts.yml - template: tools/ci/azure/update_manifest.yml - script: python ./wpt run --yes --no-manifest-update --install-fonts --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-tbpl $(Build.ArtifactStagingDirectory)/edge.tbpl.log --log-tbpl-level info --channel dev edgechromium infrastructure/ - displayName: 'Run tests (Edge Dev)' + displayName: 'Run tests: Edge Dev' - task: PublishBuildArtifacts@1 displayName: 'Publish results' inputs: @@ -235,7 +235,7 @@ jobs: # All `./wpt run` tests are run from epochs/* branches on a schedule. See # documentation at the top of this file for required setup. - job: results_edge - displayName: 'all tests (Edge)' + displayName: 'all tests: Edge' condition: | or(eq(variables['Build.Reason'], 'Schedule'), and(eq(variables['Build.Reason'], 'Manual'), variables['run_all_edge'])) @@ -257,7 +257,7 @@ jobs: - template: tools/ci/azure/update_hosts.yml - template: tools/ci/azure/update_manifest.yml - script: python ./wpt run --yes --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --install-fonts --this-chunk $(System.JobPositionInPhase) --total-chunks $(System.TotalJobsInPhase) --chunk-type hash --log-tbpl - --log-tbpl-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --channel dev edgechromium - displayName: 'Run tests (Edge Dev)' + displayName: 'Run tests: Edge Dev' - task: PublishBuildArtifacts@1 displayName: 'Publish results' inputs: @@ -269,7 +269,7 @@ jobs: artifactName: edge-results - job: results_safari - displayName: 'all tests (Safari)' + displayName: 'all tests: Safari' condition: | or(eq(variables['Build.Reason'], 'Schedule'), and(eq(variables['Build.Reason'], 'Manual'), variables['run_all_safari'])) @@ -305,7 +305,7 @@ jobs: artifactName: safari-results - job: results_safari_preview - displayName: 'all tests (Safari Technology Preview)' + displayName: 'all tests: Safari Technology Preview' condition: | or(eq(variables['Build.Reason'], 'Schedule'), and(eq(variables['Build.Reason'], 'Manual'), variables['run_all_safari_preview'])) diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-containing-block-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-containing-block-001.html index e456af8ce0a..4be43ddba2d 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-containing-block-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-containing-block-001.html @@ -4,6 +4,7 @@ <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <meta name="assert" content="This test checks the behavior of the absolutely positioned elements with a grid container as containing block."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-parent-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-parent-001.html index a7a38ad0a0a..7025ccf55e9 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-parent-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/absolute-positioning-grid-container-parent-001.html @@ -4,6 +4,7 @@ <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <meta name="assert" content="This test checks the behavior of the absolutely positioned elements with a grid container as parent."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-children-writing-modes-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-children-writing-modes-001.html index eb855279ca8..d63b1894927 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-children-writing-modes-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-children-writing-modes-001.html @@ -5,6 +5,7 @@ <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <link rel="match" href="grid-positioned-children-writing-modes-001-ref.html"> <meta name="assert" content="This test checks the behavior of the positioned grid children in combination with the writing modes and text direction properties."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-001.html index 19ee662e04e..54146bce258 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-001.html @@ -5,6 +5,7 @@ <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <link rel="match" href="grid-positioned-items-background-001-ref.html"> <meta name="assert" content="This test checks that the background of positioned items is painted in the right position"> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-rtl-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-rtl-001.html index 9ed046b4215..97ec1052f4b 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-rtl-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-background-rtl-001.html @@ -5,6 +5,7 @@ <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <link rel="match" href="grid-positioned-items-background-rtl-001-ref.html"> <meta name="assert" content="This test checks that the background of positioned items is painted in the right position using RTL direction."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-001.html index 71f096aa74b..4b1a3d0f342 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-001.html @@ -5,6 +5,7 @@ <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#implicit-grids" title="7.5. The Implicit Grid"> <meta name="assert" content="This test checks the behavior of the absolutely positioned grid items placed on the implicit grid."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-line-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-line-001.html index 7b8fa4ef7bd..8fc8918ee68 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-line-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-implicit-grid-line-001.html @@ -5,6 +5,7 @@ <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#implicit-grids" title="7.5. The Implicit Grid"> <meta name="assert" content="This test checks that grid placement properties of absolutely positioned items using implicit grid lines are treated as 'auto'."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html index 6e61f7c2de3..663dab45b3d 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-positioned-items-unknown-named-grid-line-001.html @@ -4,6 +4,7 @@ <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <meta name="assert" content="This test checks that grid placement properties of absolutely positioned items can reference implicit grid lines."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link rel="stylesheet" href="support/grid.css"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-sizing-positioned-items-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-sizing-positioned-items-001.html index 0e8cd3369f7..e74b2b96fe6 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-sizing-positioned-items-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/grid-sizing-positioned-items-001.html @@ -4,6 +4,7 @@ <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <meta name="assert" content="This test checks the different size options for absolutely positioned grid items."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link href="support/grid.css" rel="stylesheet"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-create-implicit-tracks-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-create-implicit-tracks-001.html index 5ef006ae137..adb4a7acf27 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-create-implicit-tracks-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-create-implicit-tracks-001.html @@ -4,6 +4,7 @@ <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <meta name="assert" content="This test checks that positioned items shouldn't create implicit tracks on the grid."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link href="support/grid.css" rel="stylesheet"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-take-up-space-001.html b/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-take-up-space-001.html index 597e778019b..50f9984370b 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-take-up-space-001.html +++ b/tests/wpt/web-platform-tests/css/css-grid/abspos/positioned-grid-items-should-not-take-up-space-001.html @@ -4,6 +4,7 @@ <link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning"> <meta name="assert" content="This test checks that positioned items shouldn't take up space or otherwise participate in the layout of the grid."> +<link rel="stylesheet" href="/fonts/ahem.css"> <link href="support/grid.css" rel="stylesheet"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overfow-outside-padding.html b/tests/wpt/web-platform-tests/css/css-overflow/overfow-outside-padding.html new file mode 100644 index 00000000000..792f7b87351 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-overflow/overfow-outside-padding.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<title>CSS Overflow and Transforms: css-overflow-3</title> +<link rel="author" href="mailto:atotic@google.com"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable"> +<meta name="assert" content="blocks wholly outside padding edges should not contribute to overflow"> +<style> +.container { + position: relative; + display: inline-block; + border: 5px solid rgba(0,0,0,0.5); + border-width: 0px 0px 50px 80px; + overflow: auto; + width: 200px; + height: 200px; + background: gray; +} +.target { + position: absolute; + width: 1000px; + height: 1000px; + background: red; +} +.htb { + writing-mode: horizontal-tb; +} +.vrl { + writing-mode: vertical-rl; +} +.vlr { + writing-mode: vertical-lr; +} +.rtl { + direction: rtl; +} +</style> +<!-- --> +<div class="container htb"> + <div class="target" style="top: -1000px"></div> + htb +</div> +<div class="container htb rtl"> + <div class="target" style="right: -1000px" ></div> + htb rtl +</div> +<div class="container vrl"> + <div class="target" style="top: -1000px"></div> + vrl +</div> +<div class="container vrl rtl"> + <div class="target" style="bottom: -1000px"></div> + vrl rtl +</div> +<div class="container vlr"> + <div class="target" style="top: -1000px"></div> + vlr +</div> +<div class="container vlr rtl"> + <div class="target" style="left: -1000px"></div> + vlr rtl +</div> +<script> +test(() => { + Array.from(document.querySelectorAll(".container")).forEach( el => { + assert_equals(el.scrollWidth, 200); + }); +}, '#target did not trigger scroll overflow'); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-001-notref.html b/tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-001-notref.html new file mode 100644 index 00000000000..c56078a32ae --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-001-notref.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>Non-reference case for text-underline-offset</title> + <style> + #main { + margin: 2em; + display:flex + } + div span { + text-decoration: green underline; + font: 20px/1 Ahem; + color: transparent; + padding-bottom: 20px; + border: 1px dotted transparent; + border-bottom-color: cyan; + } + </style> +</head> +<body> + <p class="instructions">Test passes if the box on the right has a lower underline than the box on the left</p> + <div id="main"> + <div> + <p>left<span>XXXX</span></p> + </div> + <div> + <p><span id="rightbox">XXXX</span>right</p> + </div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-002-ref.html b/tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-002-ref.html new file mode 100644 index 00000000000..ed2e3cefff8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-002-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>Reference case for text-underline-offset</title> + <style> + #main{ + border-bottom: 1px solid cyan; + display: flex; + } + #text, #norm{ + text-decoration: green underline; + text-underline-offset: 0px; + font: 20px/1 Ahem; + color: transparent; + position: relative; + top: 21px; + margin-right: 10px; + } + </style> +</head> +<body > + <p class="instructions">Test passes if the lines are at the same level</p> + <div id="main"> + <div> + <p>left<span id="text">XXXX</span></p> + </div> + <div> + <p><span id="norm">XXXX</span>right</p> + </div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-001.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-001.html new file mode 100644 index 00000000000..41a7d418a21 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-001.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>text-underline-offset test case</title> + <meta name="assert" content="text-decoration:underline; there is a line at or under the alphabetic baseline"> + <link rel="author" title="Charlie Marlow" href="mailto:cmarlow@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org"> + <link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset"> + <link rel="mismatch" href="reference/text-underline-offset-001-notref.html"> + <style> + #main { + margin: 2em; + display:flex + } + div span { + text-decoration: green underline; + font: 20px/1 Ahem; + color: transparent; + padding-bottom: 20px; + border: 1px dotted transparent; + border-bottom-color: cyan; + } + #rightbox { + text-underline-offset: -24px; + } + </style> +</head> +<body> + <p class="instructions">Test passes if the box on the right has a lower underline than the box on the left</p> + <div id="main"> + <div> + <p>left<span>XXXX</span></p> + </div> + <div> + <p><span id="rightbox">XXXX</span>right</p> + </div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-002.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-002.html new file mode 100644 index 00000000000..56ba764a0fa --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-002.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>Test case for text-underline-offset</title> + <link rel="author" title="Charlie Marlow" href="mailto:cmarlow@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org"> + <link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset"> + <link rel="match" href="reference/text-underline-offset-002-ref.html"> + <style> + #main{ + border-bottom: 1px solid cyan; + display: flex; + } + #text, #norm{ + text-decoration: green underline; + font: 20px/1 Ahem; + color: transparent; + position: relative; + margin-right: 10px; + } + #text{ + top: 10px; + text-underline-offset: -11px; + } + #norm{ + top: 21px; + text-underline-offset: 0px; + } + </style> +</head> +<body > + <p class="instructions">Test passes if the lines are at the same level</p> + <div id="main"> + <div> + <p>left<span id="text">XXXX</span></p> + </div> + <div> + <p><span id="norm">XXXX</span>right</p> + </div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html b/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html new file mode 100644 index 00000000000..8f629c70161 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-width-scroll.tentative.html @@ -0,0 +1,26 @@ +<!doctype html> +<title>getComputedStyle() round-trips in presence of scrollbars.</title> +<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> +<link rel="author" href="https://mozilla.org" title="Mozilla"> +<link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div style="width: 100px; height: 100px; overflow: scroll"></div> +<script> +// NOTE(emilio): This is a .tentative.html because the spec is not clear on +// what the used value of `width` or `height` is, but I think this behavior +// should be uncontroversial. +test(function() { + let e = document.querySelector("div"); + let cs = getComputedStyle(e); + + let originalWidth = cs.width; + let originalHeight = cs.height; + + e.style.width = originalWidth; + e.style.height = originalHeight; + + assert_equals(cs.width, originalWidth, "width round-trips"); + assert_equals(cs.height, originalHeight, "height round-trips"); +}, "getComputedStyle() round-trips in presence of scrollbars") +</script> diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-edge-clipping.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-edge-clipping.html new file mode 100644 index 00000000000..5d09c414497 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-edge-clipping.html @@ -0,0 +1,62 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>backdrop-filter: Filter input is at element bounds</title> +<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org"> +<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty"> +<link rel="match" href="backdrop-filter-paint-order-ref.html"> + +<div> + <p>Expected: A pure white box with a blue border, surrounded by green.<br> + No green should be observed within the white box.<br> + No dark/black should be observed within the white box either.</p> +</div> + +<div class="greenbox top"></div> +<div class="greenbox right"></div> +<div class="greenbox bottom"></div> +<div class="filterbox"> + <div class="children" style="top:-31px;left:35px;"></div> + <div class="children" style="top:101px;left:35px;"></div> + <div class="children" style="top:35px;left:101px;"></div> + <div class="children" style="top:35px;left:-31px;"></div> +</div> +<style> +.filterbox { + position: absolute; + width: 100px; + height: 100px; + top: 150px; + left: 0px; + border: 1px solid blue; + backdrop-filter: blur(20px); +} +.greenbox { + position:absolute; + width: 150px; + height: 50px; + background: green; +} +.top { + top:100px; + left: 10px; +} +.right { + top:130px; + left: 102px; + width: 58px; + height: 150px; +} +.bottom { + top:252px; + left: 10px; +} +.children { + position: absolute; + width: 30px; + height: 30px; + top: 0px; + left: 0px; + background: green; +} +</style> + diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-plus-filter-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-plus-filter-ref.html new file mode 100644 index 00000000000..bf476ea63f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-plus-filter-ref.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>backdrop-filter: Only filter objects painted before</title> +<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org"> + + + +<p>Expected: A green box with an overlapping purple box.<br> +The overlapping portion of the boxes should be bright magenta.<br> + +<div class="container"> + <div class="orangebox"></div> + <div class="bluebox blur-bd"></div> + <div class="invert"></div> +</div> + + +<style> +div { + position: absolute; + width: 100px; + height: 100px; +} +.container { + width:200px; + height:200px; + top: 50px; + position:absolute; +} +.blur-bd { + backdrop-filter: blur(10px); +} +.orangebox { + left: 10px; + top: 50px; + background: green; +} +.bluebox { + left: 60px; + top: 110px; + background: #00ff0055; +} +.invert { + left: 60px; + top: 110px; + background: transparent; + backdrop-filter: invert(1); +} +</style> diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-plus-filter.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-plus-filter.html new file mode 100644 index 00000000000..3a2d8feaeef --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-plus-filter.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>backdrop-filter: Correctly apply filters to backdrop-filter content</title> +<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org"> +<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty"> +<link rel="match" href="backdrop-filter-plus-filter-ref.html"> + +<p>Expected: A green box with an overlapping purple box.<br> +The overlapping portion of the boxes should be bright magenta.<br> + +<div class="container"> + <div class="orangebox"></div> + <div class="bluebox blur blur-bd"></div> +</div> + + +<style> +div { + position: absolute; + width: 100px; + height: 100px; +} +.container { + width:200px; + height:200px; + top: 50px; + position:absolute; +} +.blur { + filter: invert(1); +} +.blur-bd { + backdrop-filter: blur(10px); +} +.orangebox { + left: 10px; + top: 50px; + background: green; +} +.bluebox { + left: 60px; + top: 110px; + background: #00ff0055; +} +</style> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-ref.html index 92c1e9fedf9..137a9334f28 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-ref.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-ref.html @@ -10,12 +10,12 @@ } .cue { position: absolute; - top: 48px; + top: 30px; + left: 0px; font-family: sans-serif; background: green; color: rgba(255, 255, 255, 1); - font-size: 12px; - padding: 0px 2px; + font-size: 7.5px; } </style> <div class="container"> @@ -26,4 +26,4 @@ </video> <span class="cue">Bear is Coming!!!!!</span> </div> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html index 0da8c6f83d5..ec350ff44d5 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html @@ -21,4 +21,4 @@ track.addCue(cue); track.mode = "showing"; video.src = getVideoURI("/media/test"); </script> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-ref.html index c0415367cc1..1c8f751c2ce 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-ref.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-ref.html @@ -15,9 +15,11 @@ var cue = new VTTCue(0, 3, "cue 2"); cue.line = -2; track.addCue(cue); track.mode = "showing"; - -video.onloadeddata = function() { +video.play(); +video.onplaying = function() { + video.onplaying=null; + video.pause(); takeScreenshot(); }; </script> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html index c90313c887c..df816ffe2b9 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html @@ -11,20 +11,16 @@ // Add two cues, where the first cue ends before the second. var video = document.querySelector("video"); var track = video.addTextTrack("captions"); -track.addCue(new VTTCue(0, 1, "cue 1")); -track.addCue(new VTTCue(0, 3, "cue 2")); +let cue1 = new VTTCue(-1, 1, "cue 1"); +track.addCue(cue1); +// As video's duration is 10s, it ensures that this cue would always be displayed. +track.addCue(new VTTCue(0, 10, "cue 2")); track.mode = "showing"; - -video.onloadeddata = function() { - // Double nesting of requestAnimationFrame to - // make sure cue layout and paint happens. - window.requestAnimationFrame(function() { - window.requestAnimationFrame(function() { - // Seek past the end of the first cue. The second cue should not move. - video.currentTime = 2; - video.onseeked = function() { takeScreenshot(); }; - }); - }); +video.play(); +cue1.onexit = () => { + cue1.onexit = null; + video.pause(); + takeScreenshot(); }; </script> -</html>
\ No newline at end of file +</html> diff --git a/tests/wpt/web-platform-tests/interfaces/geometry.idl b/tests/wpt/web-platform-tests/interfaces/geometry.idl index b5b56e78054..5d5fe4fc2c4 100644 --- a/tests/wpt/web-platform-tests/interfaces/geometry.idl +++ b/tests/wpt/web-platform-tests/interfaces/geometry.idl @@ -81,6 +81,7 @@ dictionary DOMRectInit { unrestricted double height = 0; }; +[Exposed=Window] interface DOMRectList { readonly attribute unsigned long length; getter DOMRect? item(unsigned long index); diff --git a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl index 26f32a04ac9..a50d53b57cd 100644 --- a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl +++ b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl @@ -43,7 +43,7 @@ interface NFCReader : EventTarget { [Constructor(DOMString type, NFCReadingEventInit readingEventInitDict), SecureContext, Exposed=Window] interface NFCReadingEvent : Event { readonly attribute DOMString serialNumber; - readonly attribute NDEFMessage message; + readonly attribute object message; // NDEFMessage }; dictionary NFCReadingEventInit : EventInit { diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc.idl b/tests/wpt/web-platform-tests/interfaces/webrtc.idl index 4b5d1c1c581..b18d4ac2b46 100644 --- a/tests/wpt/web-platform-tests/interfaces/webrtc.idl +++ b/tests/wpt/web-platform-tests/interfaces/webrtc.idl @@ -612,7 +612,7 @@ dictionary RTCStatsEventInit : EventInit { [ Exposed=Window, - Constructor(RTCErrorInit init, optional DOMString message = "")] interface RTCError { + Constructor(RTCErrorInit init, optional DOMString message = "")] interface RTCError : DOMException { readonly attribute RTCErrorDetailType errorDetail; readonly attribute long? sdpLineNumber; readonly attribute long? httpRequestStatusCode; diff --git a/tests/wpt/web-platform-tests/interfaces/webxr.idl b/tests/wpt/web-platform-tests/interfaces/webxr.idl index 9b48a0f9040..f9bfdce5842 100644 --- a/tests/wpt/web-platform-tests/interfaces/webxr.idl +++ b/tests/wpt/web-platform-tests/interfaces/webxr.idl @@ -28,9 +28,16 @@ enum XREnvironmentBlendMode { "alpha-blend", }; +enum XRVisibilityState { + "visible", + "visible-blurred", + "hidden", +}; + [SecureContext, Exposed=Window] interface XRSession : EventTarget { // Attributes readonly attribute XREnvironmentBlendMode environmentBlendMode; + readonly attribute XRVisibilityState visibilityState; [SameObject] readonly attribute XRRenderState renderState; [SameObject] readonly attribute XRInputSourceArray inputSources; @@ -44,29 +51,26 @@ enum XREnvironmentBlendMode { Promise<void> end(); // Events - attribute EventHandler onblur; - attribute EventHandler onfocus; attribute EventHandler onend; attribute EventHandler onselect; attribute EventHandler oninputsourceschange; attribute EventHandler onselectstart; attribute EventHandler onselectend; + attribute EventHandler onvisibilitychange; }; dictionary XRRenderStateInit { double depthNear; double depthFar; double inlineVerticalFieldOfView; - XRLayer? baseLayer; - XRPresentationContext? outputContext; + XRWebGLLayer? baseLayer; }; [SecureContext, Exposed=Window] interface XRRenderState { readonly attribute double depthNear; readonly attribute double depthFar; readonly attribute double? inlineVerticalFieldOfView; - readonly attribute XRLayer? baseLayer; - readonly attribute XRPresentationContext? outputContext; + readonly attribute XRWebGLLayer? baseLayer; }; callback XRFrameRequestCallback = void (DOMHighResTimeStamp time, XRFrame frame); @@ -182,8 +186,6 @@ enum GamepadMappingType { "xr-standard", }; -[SecureContext, Exposed=Window] interface XRLayer {}; - typedef (WebGLRenderingContext or WebGL2RenderingContext) XRWebGLRenderingContext; @@ -199,7 +201,7 @@ dictionary XRWebGLLayerInit { [SecureContext, Exposed=Window, Constructor(XRSession session, XRWebGLRenderingContext context, optional XRWebGLLayerInit layerInit)] -interface XRWebGLLayer : XRLayer { +interface XRWebGLLayer { // Attributes [SameObject] readonly attribute XRWebGLRenderingContext context; @@ -225,10 +227,6 @@ partial interface mixin WebGLRenderingContextBase { Promise<void> makeXRCompatible(); }; -[SecureContext, Exposed=Window] interface XRPresentationContext { - [SameObject] readonly attribute HTMLCanvasElement canvas; -}; - [SecureContext, Exposed=Window, Constructor(DOMString type, XRSessionEventInit eventInitDict)] interface XRSessionEvent : Event { [SameObject] readonly attribute XRSession session; diff --git a/tests/wpt/web-platform-tests/intersection-observer/root-margin-root-element.html b/tests/wpt/web-platform-tests/intersection-observer/root-margin-root-element.html new file mode 100644 index 00000000000..6016d45bdf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/intersection-observer/root-margin-root-element.html @@ -0,0 +1,90 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="./resources/intersection-observer-test-utils.js"></script> + +<style> +pre, #log { + position: absolute; + top: 0; + left: 200px; +} +.spacer { + height: calc(100vh + 100px); +} +#root { + display: inline-block; + overflow-y: scroll; + height: 200px; + border: 3px solid black; +} +#target { + width: 100px; + height: 100px; + background-color: green; +} +</style> + +<div class="spacer"></div> +<div id="root"> + <div style="height: 300px;"></div> + <div id="target"></div> +</div> +<div class="spacer"></div> + +<script> +var vw = document.documentElement.clientWidth; +var vh = document.documentElement.clientHeight; + +var entries = []; +var root, target; + +runTestCycle(function() { + target = document.getElementById("target"); + assert_true(!!target, "target exists"); + root = document.getElementById("root"); + assert_true(!!root, "root exists"); + var observer = new IntersectionObserver(function(changes) { + entries = entries.concat(changes) + }, { root: root, rootMargin: "10px 20% 40% 30px" }); + observer.observe(target); + entries = entries.concat(observer.takeRecords()); + assert_equals(entries.length, 0, "No initial notifications."); + runTestCycle(step0, "First rAF"); +}, "Root margin with explicit root."); + +function step0() { + document.scrollingElement.scrollTop = vh; + runTestCycle(step1, "document.scrollingElement.scrollTop = window.innerHeight."); + checkLastEntry(entries, 0, [ 11, 111, vh + 411, vh + 511, 0, 0, 0, 0, -19, 131, vh + 101, vh + 391, false]); +} + +function step1() { + root.scrollTop = 50; + runTestCycle(step2, "root.scrollTop = 50, putting target into root margin"); + assert_equals(entries.length, 1, "No notifications after scrolling frame."); +} + +function step2() { + document.scrollingElement.scrollTop = 0; + runTestCycle(step3, "document.scrollingElement.scrollTop = 0."); + checkLastEntry(entries, 1, [11, 111, 361, 461, 11, 111, 361, 391, -19, 131, 101, 391, true]); +} + +function step3() { + root.scrollTop = 0; + runTestCycle(step4, "root.scrollTop = 0"); + checkLastEntry(entries, 1); +} + +function step4() { + root.scrollTop = 50; + runTestCycle(step5, "root.scrollTop = 50 with root scrolled out of view."); + checkLastEntry(entries, 2, [ 11, 111, vh + 411, vh + 511, 0, 0, 0, 0, -19, 131, vh + 101, vh + 391, false]); +} + +// This tests that notifications are generated even when the root element is off screen. +function step5() { + checkLastEntry(entries, 3, [11, 111, vh + 361, vh + 461, 11, 111, vh + 361, vh + 391, -19, 131, vh + 101, vh + 391, true]); +} +</script> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-overall-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-overall-ref.html new file mode 100644 index 00000000000..1f823e5b0c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-overall-ref.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"/> + <title>Verify dir attribute on various containers</title> + </head> + <body> + <p> + math: + <math> + <mspace width="25px" height="25px" mathbackground="blue"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="red"/> + </math> + </p> + + <p> + mrow: + <math> + <mrow> + <mspace width="25px" height="25px" mathbackground="blue"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="red"/> + </mrow> + </math> + </p> + + <p> + mstyle: + <math> + <mstyle> + <mspace width="25px" height="25px" mathbackground="blue"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="red"/> + </mstyle> + </math> + </p> + + <p> + msqrt: + <math> + <msqrt> + <mspace width="25px" height="25px" mathbackground="red"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="blue"/> + </msqrt> + </math> + </p> + + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-overall.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-overall.html new file mode 100644 index 00000000000..7f377e540f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-overall.html @@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"/> + <title>Verify dir attribute on various containers</title> + <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#attributes-common-to-html-and-mathml-elements"> + <meta name="assert" content="Verify dir attribute on various containers."> + <link rel="match" href="direction-overall-ref.html"> + </head> + <body> + + <!-- Test dir="rtl" on <math>, <mrow> and <mstyle> elements. The rectangle + inside these elements should be displayed right-to-left. --> + + <p> + math: + <math dir="rtl"> + <mspace width="25px" height="25px" mathbackground="red"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="blue"/> + </math> + </p> + + <p> + mrow: + <math> + <mrow dir="rtl"> + <mspace width="25px" height="25px" mathbackground="red"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="blue"/> + </mrow> + </math> + </p> + + <p> + mstyle: + <math> + <mstyle dir="rtl"> + <mspace width="25px" height="25px" mathbackground="red"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="blue"/> + </mstyle> + </math> + </p> + + <!-- dir="rtl" on <msqrt> should be ignored. The rectangle + inside this element should be displayed left-to-right. --> + + <p> + msqrt: + <math> + <msqrt dir="rtl"> + <mspace width="25px" height="25px" mathbackground="red"/> + <mspace width="25px" height="25px" mathbackground="green"/> + <mspace width="25px" height="25px" mathbackground="blue"/> + </msqrt> + </math> + </p> + + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-token-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-token-ref.html new file mode 100644 index 00000000000..95f182bc8c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-token-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html dir="rtl"> + <head> + <meta charset="utf-8"/> + <title>Verify dir attribute on token elements</title> + </head> + <body> + + <!-- Test dir="rtl" on MathML token elements. The text contains RTL and + LTR characters, so the attribute is needed to specify the actual + direction. --> + + <p><math><mtext dir="rtl">חוק \left חסר או חוק \right מיותר</mtext></math></p> + <p><math><ms dir="rtl">חוק \left חסר או חוק \right מיותר</ms></math></p> + <p><math><mo dir="rtl">חוק \left חסר או חוק \right מיותר</mo></math></p> + <p><math><mi dir="rtl">חוק \left חסר או חוק \right מיותר</mi></math></p> + <p><math><mn dir="rtl">חוק \left חסר או חוק \right מיותר</mn></math></p> + + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-token.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-token.html new file mode 100644 index 00000000000..a02793cc84a --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction-token.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html dir="rtl"> + <head> + <meta charset="utf-8"/> + <title>Verify dir attribute on token elements</title> + <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#attributes-common-to-html-and-mathml-elements"> + <meta name="assert" content="Verify dir attribute on various token elements."> + <link rel="match" href="direction-token-ref.html"> + </head> + <body> + + <!-- Test dir="rtl" on MathML token elements. The text contains RTL and + LTR characters, so the attribute is needed to specify the actual + direction. --> + + <p><math><mtext dir="rtl">חוק \left חסר או חוק \right מיותר</mtext></math></p> + <p><math><ms dir="rtl">חוק \left חסר או חוק \right מיותר</ms></math></p> + <p><math><mo dir="rtl">חוק \left חסר או חוק \right מיותר</mo></math></p> + <p><math><mi dir="rtl">חוק \left חסר או חוק \right מיותר</mi></math></p> + <p><math><mn dir="rtl">חוק \left חסר או חוק \right מיותר</mn></math></p> + + </body> +</html> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction.html new file mode 100644 index 00000000000..05ea8b74fb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/direction/direction.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html dir="rtl"> +<head> +<meta charset="utf-8"/> +<title>Verify computed direction</title> +<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#attributes-common-to-html-and-mathml-elements"> +<meta name="assert" content="Verify computed direction value."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + setup({ explicit_done: true }); + window.addEventListener("load", runTests); + function runTests() { + test(function() { + assert_equals(window.getComputedStyle(document.getElementById('x1')).direction, "ltr"); + assert_equals(window.getComputedStyle(document.getElementById('x2')).direction, "ltr"); + assert_equals(window.getComputedStyle(document.getElementById('x3')).direction, "ltr"); + assert_equals(window.getComputedStyle(document.getElementById('x4')).direction, "rtl"); + }, "Check direction"); + + done(); + } +</script> +</head> +<body> + <!-- Test the CSS direction and dir attribute on the <math> element. It + should be "ltr", except if an explicit dir="rtl" is used. --> + + <p>שורשי משוואה מודגשת זו <math id="x1"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p> + + <p>שורשי משוואה מודגשת זו <math id="x2" dir="ltr"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p> + + <p>שורשי משוואה מודגשת זו <math id="x3" dir="invalid"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p> + + <p>שורשי משוואה מודגשת זו <math id="x4" dir="rtl"> <mstyle mathvariant="bold"> <msup> <mi>y</mi> <mn>3</mn> </msup> <mo>+</mo> <mi>p</mi> <mi>y</mi> <mo>+</mo> <mi>q</mi> <mo>=</mo> <mn>0</mn> </mstyle> </math> מודגשים גם הם</p> + +</body> +</html> diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-play.html b/tests/wpt/web-platform-tests/media-source/mediasource-play.html index 62fb04681ae..2129b8f4730 100644 --- a/tests/wpt/web-platform-tests/media-source/mediasource-play.html +++ b/tests/wpt/web-platform-tests/media-source/mediasource-play.html @@ -3,6 +3,7 @@ <html> <head> <title>Simple MediaSource playback test case.</title> + <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="mediasource-util.js"></script> diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html index 1c629245886..714ae01b19c 100644 --- a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html +++ b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html @@ -38,9 +38,12 @@ promise_test(async t => { promise, wait(time).then(() => Promise.reject(new Error(msg))) ]); - const unexpected = e => { throw new Error(`Got unexpected event ${e.name}`); }; + const unexpected = e => assert_unreached(`Got unexpected event ${e.type}`); const stream = await navigator.mediaDevices.getUserMedia({video: true}); - t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); + t.add_cleanup(() => { + vid.ondurationchange = null; + stream.getTracks().forEach(track => track.stop()) + }); vid.srcObject = stream; vid.onloadstart = unexpected; diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html index 4b9a3c8246d..3b16006e0f5 100644 --- a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html +++ b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html @@ -22,52 +22,247 @@ via the <code>srcObject</code> attribute.</p> const vid = document.getElementById("vid"); promise_test(async t => { - const wait = ms => new Promise(r => t.step_timeout(r, ms)); - const timeout = (promise, time, msg) => - Promise.race([promise, wait(time).then(() => Promise.reject(new Error(msg)))]); + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + vid.srcObject = stream; +}, "Tests that a MediaStream can be assigned to a video element with srcObject"); - const stream = await timeout(navigator.mediaDevices.getUserMedia({video: true}), 10000, "getUserMedia timeout"); - t.add_cleanup(() => stream.getTracks().forEach(track => track.stop())); - vid.defaultPlaybackRate = 0.4; - vid.playbackRate = 0.4; - vid.preload = "metadata"; +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); vid.srcObject = stream; - vid.onratechange = t.unreached_func('ratechange event must not be fired'); - vid.play(); + assert_true(!vid.seeking, "A MediaStream is not seekable"); assert_equals(vid.seekable.length, 0, "A MediaStream is not seekable"); +}, "Tests that a MediaStream assigned to a video element is not seekable"); + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + vid.srcObject = stream; + + assert_equals(vid.readyState, vid.HAVE_NOTHING, + "readyState is HAVE_NOTHING initially"); + await new Promise(r => vid.onloadeddata = r); + assert_equals(vid.readyState, vid.HAVE_ENOUGH_DATA, + "Upon having loaded a media stream, the UA sets readyState to HAVE_ENOUGH_DATA"); +}, "Tests that a MediaStream assigned to a video element is in readyState HAVE_NOTHING initially"); + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + vid.srcObject = stream; + + assert_equals(vid.duration, NaN, + "A MediaStream does not have any duration initially."); + await new Promise(r => vid.ondurationchange = r); + assert_equals(vid.duration, Infinity, + "A loaded MediaStream does not have a pre-defined duration."); + + vid.play(); + await new Promise(r => vid.ontimeupdate = r); + for (const t of stream.getTracks()) { + t.stop(); + } + + await new Promise(r => vid.ondurationchange = r); + assert_equals(vid.duration, vid.currentTime, + "After ending playback, duration gets set to currentTime"); +}, "Tests that a MediaStream assigned to a video element has expected duration"); + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + + vid.preload = "metadata"; + vid.srcObject = stream; + + assert_equals(vid.buffered.length, 0, + "A MediaStream cannot be preloaded. Therefore, there are no buffered timeranges"); + assert_equals(vid.preload, "none", "preload must always be none"); + vid.preload = "auto"; + assert_equals(vid.preload, "none", "Setting preload must be ignored"); + + await new Promise(r => vid.onloadeddata = r); + assert_equals(vid.buffered.length, 0, + "A MediaStream cannot be preloaded. Therefore, there are no buffered timeranges"); + + vid.srcObject = null; + + assert_equals(vid.preload, "metadata", + "The preload attribute returns the value it had before using a MediaStream"); +}, "Tests that a video element with a MediaStream assigned is not preloaded"); + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + + vid.defaultPlaybackRate = 0.3; + vid.playbackRate = 0.3; + vid.onratechange = t.unreached_func("ratechange event must not be fired"); + vid.srcObject = stream; + assert_equals(vid.defaultPlaybackRate, 1, "playback rate is always 1"); vid.defaultPlaybackRate = 0.5; - assert_equals(vid.defaultPlaybackRate, 1, "Setting defaultPlaybackRate must be ignored"); + assert_equals(vid.defaultPlaybackRate, 1, + "Setting defaultPlaybackRate must be ignored"); + assert_equals(vid.playbackRate, 1, "playback rate is always 1"); vid.playbackRate = 0.5; assert_equals(vid.playbackRate, 1, "Setting playbackRate must be ignored"); - assert_equals(vid.buffered.length, 0, "A MediaStream cannot be preloaded. Therefore, there is no buffered timeranges"); - assert_equals(vid.readyState, vid.HAVE_NOTHING, "readyState is HAVE_NOTHING initially"); - assert_equals(vid.duration, NaN, "A MediaStream does not have any duration initially."); - assert_equals(vid.preload, "none", "preload must always be none"); - vid.preload = "metadata"; - assert_equals(vid.preload, "none", "Setting preload must be ignored"); - const haveLoadedData = new Promise(r => vid.addEventListener("loadeddata", r, {once: true})); + vid.srcObject = null; + assert_equals(vid.defaultPlaybackRate, 0.3, + "The defaultPlaybackRate attribute returns the value it had before using a MediaStream"); + assert_equals(vid.playbackRate, 0.3, + "The playbackRate attribute is set to the value of the defaultPlaybackRate attribute when unsetting srcObject"); + + // Check that there's no ratechange event + await new Promise(r => t.step_timeout(r, 100)); +}, "Tests that a video element with a MediaStream assigned ignores playbackRate attributes (defaultPlaybackRate is identical)"); + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + + vid.defaultPlaybackRate = 0.3; + vid.playbackRate = 0.4; + vid.onratechange = t.unreached_func("ratechange event must not be fired"); + vid.srcObject = stream; + + assert_equals(vid.defaultPlaybackRate, 1, "playback rate is always 1"); + vid.defaultPlaybackRate = 0.5; + assert_equals(vid.defaultPlaybackRate, 1, + "Setting defaultPlaybackRate must be ignored"); + + assert_equals(vid.playbackRate, 1, "playback rate is always 1"); + vid.playbackRate = 0.5; + assert_equals(vid.playbackRate, 1, "Setting playbackRate must be ignored"); + + vid.srcObject = null; + assert_equals(vid.defaultPlaybackRate, 0.3, + "The defaultPlaybackRate attribute returns the value it had before using a MediaStream"); + assert_equals(vid.playbackRate, 0.3, + "The playbackRate attribute is set to the value of the defaultPlaybackRate attribute when unsetting srcObject (and fires ratechange)"); + await new Promise(r => vid.onratechange = r); +}, "Tests that a video element with a MediaStream assigned ignores playbackRate attributes (defaultPlaybackRate is different)"); + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + vid.srcObject = stream; + await new Promise(r => vid.oncanplay = r); + vid.play(); + await new Promise(r => vid.ontimeupdate = r); + assert_greater_than(vid.currentTime, 0, + "currentTime is greater than 0 after first timeupdate"); - await new Promise(r => vid.addEventListener("timeupdate", r, {once: true})); - assert_equals(vid.played.length, 1, "A MediaStream's timeline always consists of a single range"); - assert_equals(vid.played.start(0), 0, "A MediaStream's timeline always starts at zero"); - assert_equals(vid.played.end(0), vid.currentTime, "A MediaStream's end MUST return the last known currentTime, says mediacapture-main"); - assert_equals(vid.duration, Infinity, "A MediaStream does not have a pre-defined duration. "); + assert_equals(vid.played.length, 1, + "A MediaStream's timeline always consists of a single range"); + assert_equals(vid.played.start(0), 0, + "A MediaStream's timeline always starts at zero"); + assert_equals(vid.played.end(0), vid.currentTime, + "A MediaStream's end MUST return the last known currentTime"); const time = vid.currentTime; vid.currentTime = 0; - assert_equals(vid.currentTime, time, "The UA MUST ignore attempts to set the currentTime attribute"); + assert_equals(vid.currentTime, time, + "The UA MUST ignore attempts to set the currentTime attribute"); +}, "Tests that a media element with an assigned MediaStream reports the played attribute as expected"); - await haveLoadedData; - assert_equals(vid.readyState, vid.HAVE_ENOUGH_DATA, "Upon having loaded a media stream, the UA sets readyState to HAVE_ENOUGH_DATA"); - assert_equals(vid.duration, Infinity, "A MediaStream does not have a pre-defined duration."); +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + vid.srcObject = stream; - // TODO add test that duration must be set to currentTime - // when mediastream is destroyed -}, "Tests that a MediaStream can be assigned to a video element with srcObject"); + assert_equals(vid.currentTime, 0, "The initial value is 0"); + vid.currentTime = 42; + assert_equals(vid.currentTime, 0, + "The UA MUST ignore attempts to set the currentTime attribute (default playback start position)"); + + await new Promise(r => vid.onloadeddata = r); + assert_equals(vid.currentTime, 0, "The initial value is 0"); + vid.currentTime = 42; + assert_equals(vid.currentTime, 0, + "The UA MUST ignore attempts to set the currentTime attribute (official playback position)"); + + vid.play(); + await new Promise(r => vid.ontimeupdate = r); + assert_greater_than(vid.currentTime, 0, + "currentTime is greater than 0 after first timeupdate"); + + const lastTime = vid.currentTime; + vid.currentTime = 0; + assert_equals(vid.currentTime, lastTime, + "The UA MUST ignore attempts to set the currentTime attribute (restart)"); + + for(const t of stream.getTracks()) { + t.stop(); + } + await new Promise(r => vid.onended = r); + assert_greater_than_equal(vid.currentTime, lastTime, + "currentTime advanced after stopping"); +}, "Tests that a media element with an assigned MediaStream reports the currentTime attribute as expected"); + + +promise_test(async t => { + const stream = await navigator.mediaDevices.getUserMedia({video: true}); + t.add_cleanup(() => { + vid.srcObject = null; + stream.getTracks().forEach(track => track.stop()); + }); + assert_equals(vid.loop, false, "loop is false by default"); + vid.srcObject = stream; + + vid.loop = true; + assert_equals(vid.loop, true, + "loop can be changed when assigned a MediaStream"); + + await new Promise(r => vid.onloadeddata = r); + vid.loop = false; + assert_equals(vid.loop, false, + "loop can be changed when having loaded a MediaStream"); + + vid.play(); + await new Promise(r => vid.ontimeupdate = r); + vid.loop = true; + assert_equals(vid.loop, true, + "loop can be changed when playing a MediaStream"); + + for(const t of stream.getTracks()) { + t.stop(); + } + // If loop is ignored, we get "ended", + // otherwise the media element sets currentTime to 0 without ending. + await new Promise(r => vid.onended = r); +}, "Tests that the loop attribute has no effect on a media element with an assigned MediaStream"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mediasession/setactionhandler.html b/tests/wpt/web-platform-tests/mediasession/setactionhandler.html index dc7c3359e12..06d145b37d1 100644 --- a/tests/wpt/web-platform-tests/mediasession/setactionhandler.html +++ b/tests/wpt/web-platform-tests/mediasession/setactionhandler.html @@ -11,6 +11,7 @@ test(function(t) { window.navigator.mediaSession.setActionHandler("nexttrack", null); window.navigator.mediaSession.setActionHandler("seekbackward", null); window.navigator.mediaSession.setActionHandler("seekforward", null); + window.navigator.mediaSession.setActionHandler("stop", null); }, "Test that setActionHandler() can be executed for supported actions"); test(function(t) { diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https.html index ae64fcb9a54..d9147f85494 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https.html @@ -44,10 +44,12 @@ async function do_test(url) { assert_equals(response, 'messageHandlerInitialized'); // Start a fetch. - frame.contentWindow.fetch(url); + const fetchPromise = frame.contentWindow.fetch(url); // Receive the test result from the service worker. - return wait_for_message(); + const result = wait_for_message(); + await fetchPromise.then(()=> {}, () => {}); + return result; }; promise_test(async (t) => { diff --git a/tests/wpt/web-platform-tests/svg/render/reftests/change-sync-for-nested-use-ref.html b/tests/wpt/web-platform-tests/svg/render/reftests/change-sync-for-nested-use-ref.html new file mode 100644 index 00000000000..e52fa18d3f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/render/reftests/change-sync-for-nested-use-ref.html @@ -0,0 +1,16 @@ +<!doctype html> +<html> +<title>Change sync for nested use</title> +<svg width="400" height="500"> + <rect id="r1" width="40" height="40" style="fill:navy" /> + <rect id="r2" x="50" y="50" width="40" height="40" style="fill:purple" /> + <g id="g1"> + <use id="u1" x="120" href="#r1" /> + <use id="u2" x="120" href="#r2" /> + <rect x="120" y="120" width="50" height="50" style="fill:skyblue" /> + </g> + <use id="u3" x="120" href="#g1" /> + <use id="u4" y="170" href="#u2" /> + <use id="u5" x="-30" y="220" href="#u2" /> +</svg> +</html> diff --git a/tests/wpt/web-platform-tests/svg/render/reftests/change-sync-for-nested-use.html b/tests/wpt/web-platform-tests/svg/render/reftests/change-sync-for-nested-use.html new file mode 100644 index 00000000000..9a6e1343509 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/render/reftests/change-sync-for-nested-use.html @@ -0,0 +1,30 @@ +<!doctype html> +<html class="reftest-wait"> +<title>Change sync for nested use</title> +<link rel="match" href="change-sync-for-nested-use-ref.html"> +<svg width="400" height="500" onload="main()"> + <rect id="r1" width="40" height="40" style="fill:red" /> + <rect id="r2" x="50" y="50" width="40" height="40" style="fill:gray" /> + <g id="g1"> + <use id="u1" x="120" href="#r1" /> + <use id="u2" x="120" href="#r2" /> + <rect x="120" y="120" width="50" height="50" style="fill:skyblue" /> + </g> + <use id="u3" x="120" href="#g1" /> + <use id="u4" y="170" href="#u2" /> + <use id="u5" x="-30" y="220" href="#u2" /> +</svg> + +<script> + function main() { + let r1 = document.getElementById("r1"), + r2 = document.getElementById("r2"); + + requestAnimationFrame(() => requestAnimationFrame(() => { + r1.style.fill = "navy"; + r2.style.fill = "purple"; + document.documentElement.removeAttribute("class"); + })); + }; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/tools/lint/lint.py b/tests/wpt/web-platform-tests/tools/lint/lint.py index 6a71dc860fe..062c6a42d0f 100644 --- a/tests/wpt/web-platform-tests/tools/lint/lint.py +++ b/tests/wpt/web-platform-tests/tools/lint/lint.py @@ -146,6 +146,13 @@ def check_path_length(repo_root, path): return [] +def check_file_type(repo_root, path): + # type: (str, str) -> List[rules.Error] + if os.path.islink(path): + return [rules.FileType.error(path, (path, "symlink"))] + return [] + + def check_worker_collision(repo_root, path): # type: (str, str) -> List[rules.Error] endings = [(".any.html", ".any.js"), @@ -907,7 +914,8 @@ def lint(repo_root, paths, output_format): logger.info(line) return sum(itervalues(error_count)) -path_lints = [check_path_length, check_worker_collision, check_ahem_copy, check_gitignore_file] +path_lints = [check_file_type, check_path_length, check_worker_collision, check_ahem_copy, + check_gitignore_file] all_paths_lints = [check_css_globally_unique] file_lints = [check_regexp_line, check_parsed, check_python_ast, check_script_metadata] diff --git a/tests/wpt/web-platform-tests/tools/lint/rules.py b/tests/wpt/web-platform-tests/tools/lint/rules.py index 685bac3474e..9b78f3495b2 100644 --- a/tests/wpt/web-platform-tests/tools/lint/rules.py +++ b/tests/wpt/web-platform-tests/tools/lint/rules.py @@ -57,6 +57,11 @@ class PathLength(Rule): description = "/%s longer than maximum path length (%d > 150)" +class FileType(Rule): + name = "FILE TYPE" + description = "/%s is an unsupported file type (%s)" + + class WorkerCollision(Rule): name = "WORKER COLLISION" description = ("path ends with %s which collides with generated tests " diff --git a/tests/wpt/web-platform-tests/tools/lint/tests/test_path_lints.py b/tests/wpt/web-platform-tests/tools/lint/tests/test_path_lints.py index 9f6f49e14a1..558b0ed4f64 100644 --- a/tests/wpt/web-platform-tests/tools/lint/tests/test_path_lints.py +++ b/tests/wpt/web-platform-tests/tools/lint/tests/test_path_lints.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals +import mock import os from ..lint import check_path @@ -32,7 +33,7 @@ def test_forbidden_path_length(): (".any.worker.html", ".any.js"), (".any.html", ".any.js")]) def test_forbidden_path_endings(path_ending, generated): - path = "/test/test" + path_ending + path = "test/test" + path_ending message = ("path ends with %s which collides with generated tests from %s files" % (path_ending, generated)) @@ -42,6 +43,17 @@ def test_forbidden_path_endings(path_ending, generated): assert errors == [("WORKER COLLISION", message, path, None)] +def test_file_type(): + path = "test/test" + + message = "/%s is an unsupported file type (symlink)" % (path,) + + with mock.patch("os.path.islink", returnvalue=True): + errors = check_path("/foo/", path) + + assert errors == [("FILE TYPE", message, path, None)] + + @pytest.mark.parametrize("path", ["ahem.ttf", "Ahem.ttf", "ahem.tTf", diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/setup.py b/tests/wpt/web-platform-tests/tools/wptrunner/setup.py index 0a16aa537b3..ab96bd10357 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/setup.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/setup.py @@ -57,7 +57,6 @@ setup(name=PACKAGE_NAME, "prefs/*"]}, include_package_data=True, data_files=[("requirements", requirements_files)], - install_requires=deps ) if "install" in sys.argv: diff --git a/tests/wpt/web-platform-tests/trusted-types/Element-insertAdjacentText.tentative.html b/tests/wpt/web-platform-tests/trusted-types/Element-insertAdjacentText.tentative.html new file mode 100644 index 00000000000..f6221362c17 --- /dev/null +++ b/tests/wpt/web-platform-tests/trusted-types/Element-insertAdjacentText.tentative.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support/helper.sub.js"></script> +<body> +<div id="container"></div> +<script> + var container = document.querySelector('#container'); + + test(t => { + let p = createHTML_policy(window, 1); + let html = p.createHTML(INPUTS.HTML); + let before = 'before'; + let after = 'after'; + let htmlBefore = p.createHTML(before); + let htmlAfter = p.createHTML(after); + + var d = document.createElement('div'); + container.appendChild(d); + + d.insertAdjacentHTML('beforebegin', html); + assert_equals(d.previousSibling.nodeType, Node.TEXT_NODE); + assert_equals(d.previousSibling.data, RESULTS.HTML); + + d.insertAdjacentHTML('afterbegin', htmlBefore); + d.insertAdjacentHTML('beforeend', htmlAfter); + assert_equals(d.innerHTML, before + after); + + d.insertAdjacentHTML('afterend', html); + assert_equals(d.nextSibling.nodeType, Node.TEXT_NODE); + assert_equals(d.nextSibling.data, RESULTS.HTML); + + while (container.firstChild) + container.firstChild.remove(); + }, "insertAdjacentHTML with html assigned via policy (successful HTML transformation)."); +</script> + diff --git a/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html new file mode 100644 index 00000000000..a6aa061f730 --- /dev/null +++ b/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html @@ -0,0 +1,67 @@ +<!DOCTYPE html> +<html> +<head> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/helper.sub.js"></script> + <meta http-equiv="Content-Security-Policy" content="trusted-types *"> +</head> +<body> +<div id="container"></div> +<script> + var container = document.querySelector("#container"); + + // Regression tests for 'Bypass via insertAdjacentText', reported at + // https://github.com/WICG/trusted-types/issues/133 + + // Original report: + test(t => { + // Setup: Create a <script> element with a <p> child. + let s = document.createElement("script"); + let p = document.createElement("p"); + p.textContent = "hello('world');"; + s.appendChild(p); + container.appendChild(s); + + // Sanity check: The <p> content doesn't count as source text. + assert_equals(s.text, ""); + + // Try to insertAdjacentText into the <script>, starting from the <p> + try { + p.insertAdjacentText("beforebegin", "hello('before');"); + } catch (err) { } + assert_equals(s.text, ""); + try { + p.insertAdjacentText("afterend", "hello('after');"); + } catch (err) { } + assert_equals(s.text, ""); + }, "Regression test: Bypass via insertAdjacentText, initial comment"); + + // Variant: Create a <script> element and create & insert a text node. Then + // insert it into the document container to make it live. + test(t => { + // Setup: Create a <script> element, and insert text via a text node. + let s = document.createElement("script"); + let text = document.createTextNode("alert('hello');"); + assert_throws(new TypeError(), + _ => { s.appendChild(text); }, + "We should not be able to modify <script>."); + container.appendChild(s); + }, "Regression test: Bypass via appendChild into off-document script element"); + + // Variant: Create a <script> element and insert it into the document. Then + // create a text node and insert it into the live <script> element. + test(t => { + // Setup: Create a <script> element, insert it into the doc, and then create + // and insert text via a text node. + let s = document.createElement("script"); + container.appendChild(s); + let text = document.createTextNode("alert('hello');"); + assert_throws(new TypeError(), + _ => { s.appendChild(text); }, + "We should not be able to modify <script>."); + }, "Regression test: Bypass via appendChild into live script element"); +</script> +</body> +</html> + diff --git a/tests/wpt/web-platform-tests/web-nfc/NFCErrorEvent_constructor.https.html b/tests/wpt/web-platform-tests/web-nfc/NFCErrorEvent_constructor.https.html index 8a08fe0a70e..1cc9ce160be 100644 --- a/tests/wpt/web-platform-tests/web-nfc/NFCErrorEvent_constructor.https.html +++ b/tests/wpt/web-platform-tests/web-nfc/NFCErrorEvent_constructor.https.html @@ -8,4 +8,13 @@ assert_equals(NFCErrorEvent.length, 2); assert_throws(new TypeError, () => new NFCErrorEvent('error')); }, 'NFCErrorEvent constructor without init dict'); + + test(() => { + assert_throws(new TypeError, () => new NFCErrorEvent('error', { error : null })); + }, 'NFCErrorEvent constructor with a null that is not of type DOMException'); + + test(() => { + const event = new NFCErrorEvent('error', { error : new DOMException() }); + assert_true(event.error instanceof DOMException); + }, 'NFCErrorEvent constructor with a valid DOMException'); </script> diff --git a/tests/wpt/web-platform-tests/web-nfc/NFCReadingEvent_constructor.https.html b/tests/wpt/web-platform-tests/web-nfc/NFCReadingEvent_constructor.https.html index 6cfcc0d3bdd..460e92b2508 100644 --- a/tests/wpt/web-platform-tests/web-nfc/NFCReadingEvent_constructor.https.html +++ b/tests/wpt/web-platform-tests/web-nfc/NFCReadingEvent_constructor.https.html @@ -3,9 +3,32 @@ <link rel="help" href="https://w3c.github.io/web-nfc/#dom-nfcreadingevent"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="resources/nfc_help.js"></script> <script> + + const non_strings = [ + 123, + {}, + true, + Symbol(), + () => {}, + self + ] + test(() => { assert_equals(NFCReadingEvent.length, 2); assert_throws(new TypeError, () => new NFCReadingEvent('message')); }, 'NFCReadingEvent constructor without init dict'); + + test(() => { + assert_equals(NFCReadingEvent.length, 2); + const message = createMessage([createJsonRecord(test_json_data)]); + non_strings.forEach(invalid_serialNumber => { + assert_throws(new TypeError, () => new NFCReadingEvent( + 'message', + {invalid_serialNumber, message} + )); + }); + }, 'NFCReadingEvent constructor with non-string serialNumber'); + </script> diff --git a/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html b/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html index 5badeb40838..b1559b30fec 100644 --- a/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html +++ b/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html @@ -233,17 +233,4 @@ promise_test(t => { return Promise.all(promises); }, "Test that promise is rejected with TypeError if NDEFMessageSource contains non-string url."); -promise_test(t => { - const writer = new NFCWriter(); - const promises = []; - non_strings.forEach(invalid_serialNumber => { - promises.push( - promise_rejects(t, new TypeError(), writer.push({ - serialNumber: invalid_serialNumber, - records: [{ recordType: "text", data: 'Hello World' }] - }))); - }); - return Promise.all(promises); -}, "Test that promise is rejected with TypeError if NDEFMessageSource contains non-string serialNumber."); - </script> diff --git a/tests/wpt/web-platform-tests/web-nfc/idlharness.https.window.js b/tests/wpt/web-platform-tests/web-nfc/idlharness.https.window.js index ab0d6cd191a..c19458aed83 100644 --- a/tests/wpt/web-platform-tests/web-nfc/idlharness.https.window.js +++ b/tests/wpt/web-platform-tests/web-nfc/idlharness.https.window.js @@ -14,7 +14,7 @@ const message = { idl_test( ['web-nfc'], - ['html', 'dom'], + ['html', 'dom', 'WebIDL'], idl_array => { idl_array.add_objects({ NFCWriter: ['new NFCWriter();'], diff --git a/tests/wpt/web-platform-tests/webrtc/idlharness.https.window.js b/tests/wpt/web-platform-tests/webrtc/idlharness.https.window.js index 66abc25b084..85fc7a68b9d 100644 --- a/tests/wpt/web-platform-tests/webrtc/idlharness.https.window.js +++ b/tests/wpt/web-platform-tests/webrtc/idlharness.https.window.js @@ -102,7 +102,7 @@ function asyncInit() { idl_test( ['webrtc'], - ['mediacapture-streams', 'dom', 'html'], + ['WebIDL', 'mediacapture-streams', 'dom', 'html'], async idlArray => { idlArray.add_objects({ RTCPeerConnection: [`new RTCPeerConnection()`], diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html index 4be9d6a5c1c..17222bdc7b3 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html @@ -11,26 +11,22 @@ body { margin:0 } position: relative; font-size: 9px; } -#cue1 { +.cue { position: absolute; - top: 50%; + bottom: 0; left: 0; right: 0; - margin-top: -4.5px; - text-align: center + text-align: center; } -#cue2 { - position: absolute; - top: 50%; - left: 0; - right: 0; - margin-top: -13.5px; - text-align: center -} -.cue > span { +.cueText { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; } </style> -<div class="video"><span class="cue" id="cue1"><span>This is a test subtitle</span></span><span class="cue" id="cue2"><span>This is another test subtitle</span></span></div> +<div class="video"> + <span class="cue"> + <div><span class="cueText">This is another test subtitle</span></div> + <div><span class="cueText">This is a test subtitle</span></div> + </span> +</div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html index d6117b32571..22a711af687 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html @@ -11,26 +11,26 @@ body { margin:0 } position: relative; font-size: 9px; } -#cue1 { +.cue { position: absolute; - top: 50%; + bottom: 0; left: 0; right: 0; - margin-top: -4.5px; - text-align: center + text-align: center; } -#cue2 { - position: absolute; - top: 50%; - left: 0; - right: 0; - margin-top: -13.5px; - text-align: center -} -.cue > span { +.cueText { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; } +.cueTextGoingUp { + position: relative; + top: -1.8px; /* 1% height of video's height */ +} </style> -<div class="video"><span class="cue" id="cue1"><span>This is a test subtitle</span></span><span class="cue" id="cue2"><span>This is another test subtitle</span></span></div> +<div class="video"> + <span class="cue"> + <div><span class="cueText cueTextGoingUp">This is another test subtitle</span></div> + <div><span class="cueText">This is a test subtitle</span></div> + </span> +</div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_gt_50-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_gt_50-ref.html index 9f79bf8e3bf..c37ae7a7dfa 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_gt_50-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_gt_50-ref.html @@ -14,7 +14,7 @@ body { margin:0 } .cue { position: absolute; bottom: 0; - right: 23px; + right: 0px; width: 64px; text-align: center; } @@ -24,4 +24,4 @@ body { margin:0 } color: green; } </style> -<div class=video><span class=cue><span>Aweso<br>me!!!</span></span></div> +<div class=video><span class=cue><span>Awesome!!!</span></span></div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50-ref.html index cc52e2db733..108495e4b00 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50-ref.html @@ -14,7 +14,7 @@ body { margin:0 } .cue { position: absolute; bottom: 0; - left: 23px; + left: 0px; right: 0; width: 64px; text-align: center @@ -25,4 +25,4 @@ body { margin:0 } color: green; } </style> -<div class=video><span class=cue><span>Awesome<br>!!!</span></span></div> +<div class=video><span class=cue><span>Awesome!!!</span></span></div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50_size_gt_maximum_size-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50_size_gt_maximum_size-ref.html index 02a7ae45849..296369332cf 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50_size_gt_maximum_size-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_position_lt_50_size_gt_maximum_size-ref.html @@ -14,7 +14,7 @@ body { margin:0 } .cue { position: absolute; bottom: 0; - left: 23px; + left: 0px; right: 0; width: 64px; text-align: center; @@ -25,4 +25,4 @@ body { margin:0 } color: green; } </style> -<div class=video><span class=cue><span>Aweso<br>me!!!</span></span></div> +<div class=video><span class=cue><span>Awesome!!!</span></span></div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_wrapped-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_wrapped-ref.html index d67f0a8c04a..55aed284b7a 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_wrapped-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_center_wrapped-ref.html @@ -24,4 +24,4 @@ body { margin:0 } color: green; } </style> -<div class=video><span class=cue><span>This is a test subtitle that <br>most likely will span over <br>several rows since it is a pretty <br>long cue with a lot of text.</span></span></div> +<div class=video><span class=cue><span>This is a test subtitle that most likely will span over several rows since it is a pretty long cue with a lot of text.</span></span></div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html index 70b32cfc9ba..eee75f138fd 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html @@ -24,4 +24,4 @@ body { margin:0 } color: green; } </style> -<div class=video><span class=cue><span>This is a test <br>subtitle that <br>most likely <br>will span over <br>several rows <br>since it is a <br>pretty long <br>cue with a <br>lot of text.</span></span></div> +<div class=video><span class=cue><span>This is a test subtitle that most likely will span over several rows since it is a pretty long cue with a lot of text.</span></span></div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html index d3c28fc3619..45cb287e2f6 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html @@ -24,4 +24,4 @@ body { margin:0 } color: green; } </style> -<div class=video><span class=cue><span>This is a test <br>subtitle that <br>most likely <br>will span over <br>several rows <br>since it is a <br>pretty long <br>cue with a <br>lot of text.</span></span></div> +<div class=video><span class=cue><span>This is a test subtitle that most likely will span over several rows since it is a pretty long cue with a lot of text.</span></span></div> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment-ref.html new file mode 100644 index 00000000000..78ca8979c95 --- /dev/null +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment-ref.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<html class="reftest-wait"> +<title>WebVTT rendering, set align start and the cue contains two lines with different writing directions</title> +<script src="/common/reftest-wait.js"></script> +<style> +html { overflow:hidden } +body { margin:0 } +.video { + display: inline-block; + width: 320px; + height: 180px; + position: relative; + font-size: 9px; +} +.cue { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: start; + unicode-bidi: plaintext; +} +.cueText { + font-family: sans-serif; + background: rgba(0,0,0,0.8); + color: green; +} +</style> +<div class="video"> + <video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> + </video> + <span class="cue"> + <span class="cueText">Hello!</span><br> + <span class="cueText">שלום!</span> + </span> +</div> +</html> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment.html new file mode 100644 index 00000000000..2b6cd76c201 --- /dev/null +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/bidi/start_alignment.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<title>WebVTT rendering, set align start and the cue contains two lines with different writing directions</title> +<link rel="match" href="start_alignment-ref.html"> +<style> +html { overflow:hidden } +body { margin:0 } +::cue { + font-family: sans-serif; + color: green; +} +</style> +<script src="/common/reftest-wait.js"></script> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> + <track src="../support/start_alignment.vtt" default> +</video> +</html> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html index 0139f0c8339..87f3834e3d7 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html @@ -14,7 +14,7 @@ video { color: green; } </style> -<video autoplay controls onplaying="this.onplaying = null; +<video autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0; "> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html index fb954a42302..5ee98043ec2 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html @@ -17,7 +17,7 @@ video { } .cue { position: absolute; - bottom: 50px; + bottom: 0; left: 0; right: 0; text-align: center @@ -28,7 +28,7 @@ video { color: green; } </style> -<video controls> +<video> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> </video> diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_completely_move_up.vtt b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_completely_move_up.vtt index d4a96792482..1ca56e56f6a 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_completely_move_up.vtt +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_completely_move_up.vtt @@ -1,7 +1,7 @@ WEBVTT -00:00:00.000 --> 00:00:05.000 line:50% +00:00:00.000 --> 00:00:05.000 line:100% This is a test subtitle -00:00:01.000 --> 00:00:05.000 line:50% +00:00:01.000 --> 00:00:05.000 line:100% This is another test subtitle diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_partially_move_up.vtt b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_partially_move_up.vtt index 6c99ce3b1fe..7160f3791ee 100644 --- a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_partially_move_up.vtt +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_partially_move_up.vtt @@ -1,7 +1,7 @@ WEBVTT -00:00:00.000 --> 00:00:05.000 line:50% +00:00:00.000 --> 00:00:05.000 line:100% This is a test subtitle -00:00:01.000 --> 00:00:05.000 line:49% +00:00:01.000 --> 00:00:05.000 line:99% This is another test subtitle diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/start_alignment.vtt b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/start_alignment.vtt new file mode 100644 index 00000000000..9a92729381b --- /dev/null +++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/support/start_alignment.vtt @@ -0,0 +1,5 @@ +WEBVTT FILE + +00:00:00.000 --> 00:00:10.000 align:start line:0 +Hello! +שלום! |