diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index b0e14361c0c..0b8ba11ebd4 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -19035,6 +19035,18 @@ {} ] ], + "2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self.html": [ + [ + "/2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self.html", + [ + [ + "/2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self_ref.html", + "==" + ] + ], + {} + ] + ], "2dcontext/line-styles/canvas_linestyles_linecap_001.htm": [ [ "/2dcontext/line-styles/canvas_linestyles_linecap_001.htm", @@ -108924,7 +108936,7 @@ "/css/css-contain/contain-layout-001.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -108936,7 +108948,7 @@ "/css/css-contain/contain-layout-002.html", [ [ - "/css/css-contain/reference/contain-layout-002-ref.html", + "/css/reference/ref-filled-green-100px-square.xht", "==" ] ], @@ -108948,7 +108960,7 @@ "/css/css-contain/contain-layout-003.html", [ [ - "/css/css-contain/reference/contain-layout-002-ref.html", + "/css/reference/ref-filled-green-100px-square.xht", "==" ] ], @@ -108960,7 +108972,7 @@ "/css/css-contain/contain-layout-004.html", [ [ - "/css/css-contain/reference/contain-layout-004-ref.html", + "/css/reference/ref-filled-green-100px-square.xht", "==" ] ], @@ -108972,7 +108984,7 @@ "/css/css-contain/contain-layout-005.html", [ [ - "/css/css-contain/reference/contain-layout-005-ref.html", + "/css/reference/ref-filled-green-100px-square.xht", "==" ] ], @@ -109140,7 +109152,7 @@ "/css/css-contain/contain-paint-002.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109152,7 +109164,7 @@ "/css/css-contain/contain-paint-003.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109164,7 +109176,7 @@ "/css/css-contain/contain-paint-004.html", [ [ - "/css/css-contain/reference/contain-paint-004-ref.html", + "/css/reference/nothing.html", "==" ] ], @@ -109176,7 +109188,7 @@ "/css/css-contain/contain-paint-005.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109188,7 +109200,7 @@ "/css/css-contain/contain-paint-006.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109284,7 +109296,7 @@ "/css/css-contain/contain-paint-014.html", [ [ - "/css/css-contain/reference/contain-paint-014-ref.html", + "/css/reference/nothing.html", "==" ] ], @@ -109296,7 +109308,7 @@ "/css/css-contain/contain-paint-015.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109308,7 +109320,7 @@ "/css/css-contain/contain-paint-016.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109320,7 +109332,7 @@ "/css/css-contain/contain-paint-017.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109332,7 +109344,7 @@ "/css/css-contain/contain-paint-018.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109344,7 +109356,7 @@ "/css/css-contain/contain-paint-019.html", [ [ - "/css/css-contain/reference/contain-paint-014-ref.html", + "/css/reference/nothing.html", "==" ] ], @@ -109356,7 +109368,7 @@ "/css/css-contain/contain-size-001.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109368,7 +109380,7 @@ "/css/css-contain/contain-size-002.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109380,7 +109392,7 @@ "/css/css-contain/contain-size-003.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109416,7 +109428,7 @@ "/css/css-contain/contain-size-006.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109428,7 +109440,7 @@ "/css/css-contain/contain-size-007.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109440,7 +109452,7 @@ "/css/css-contain/contain-size-008.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109452,7 +109464,7 @@ "/css/css-contain/contain-size-009.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109464,7 +109476,7 @@ "/css/css-contain/contain-size-010.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -109476,7 +109488,7 @@ "/css/css-contain/contain-size-011.html", [ [ - "/css/css-contain/reference/contain-paint-014-ref.html", + "/css/reference/nothing.html", "==" ] ], @@ -109488,7 +109500,7 @@ "/css/css-contain/contain-size-012.html", [ [ - "/css/css-contain/reference/contain-size-001-ref.html", + "/css/reference/pass_if_pass_below.html", "==" ] ], @@ -122343,6 +122355,150 @@ {} ] ], + "css/css-lists/content-property/marker-text-matches-armenian.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-armenian.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-armenian-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-circle.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-circle.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-circle-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-decimal-leading-zero.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-decimal-leading-zero.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-decimal-leading-zero-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-decimal.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-decimal.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-decimal-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-disc.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-disc.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-disc-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-georgian.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-georgian.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-georgian-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-lower-greek.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-lower-greek.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-lower-greek-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-lower-latin.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-lower-latin.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-lower-latin-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-lower-roman.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-lower-roman.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-lower-roman-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-square.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-square.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-square-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-upper-latin.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-upper-latin.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-upper-latin-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-upper-roman.html": [ + [ + "/css/css-lists/content-property/marker-text-matches-upper-roman.html", + [ + [ + "/css/css-lists/content-property/marker-text-matches-upper-roman-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-lists/counter-increment-inside-display-contents.html": [ [ "/css/css-lists/counter-increment-inside-display-contents.html", @@ -127515,6 +127671,18 @@ {} ] ], + "css/css-pseudo/marker-inherit-line-height.html": [ + [ + "/css/css-pseudo/marker-inherit-line-height.html", + [ + [ + "/css/css-pseudo/marker-inherit-line-height-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-pseudo/marker-inherit-values.html": [ [ "/css/css-pseudo/marker-inherit-values.html", @@ -135187,18 +135355,6 @@ {} ] ], - "css/css-text/overflow-wrap/overflow-wrap-break-word-004.html": [ - [ - "/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html", - [ - [ - "/css/css-text/overflow-wrap/reference/overflow-wrap-break-word-001-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html": [ [ "/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html", @@ -137323,30 +137479,6 @@ {} ] ], - "css/css-text/word-break/word-break-break-all-010.html": [ - [ - "/css/css-text/word-break/word-break-break-all-010.html", - [ - [ - "/css/css-text/word-break/reference/word-break-break-all-010-ref.html", - "==" - ] - ], - {} - ] - ], - "css/css-text/word-break/word-break-break-all-011.html": [ - [ - "/css/css-text/word-break/word-break-break-all-011.html", - [ - [ - "/css/css-text/word-break/reference/word-break-break-all-010-ref.html", - "==" - ] - ], - {} - ] - ], "css/css-text/word-break/word-break-keep-all-000.html": [ [ "/css/css-text/word-break/word-break-keep-all-000.html", @@ -184727,6 +184859,18 @@ {} ] ], + "svg/linking/reftests/use-descendant-combinator-003.html": [ + [ + "/svg/linking/reftests/use-descendant-combinator-003.html", + [ + [ + "/svg/linking/reftests/use-descendant-combinator-ref.html", + "==" + ] + ], + {} + ] + ], "svg/painting/currentColor-override-pserver-fallback.svg": [ [ "/svg/painting/currentColor-override-pserver-fallback.svg", @@ -189840,6 +189984,11 @@ {} ] ], + "2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self_ref.html": [ + [ + {} + ] + ], "2dcontext/drawing-rectangles-to-the-canvas/clear-100x50.png": [ [ {} @@ -241990,21 +242139,6 @@ {} ] ], - "css/css-contain/reference/contain-layout-002-ref.html": [ - [ - {} - ] - ], - "css/css-contain/reference/contain-layout-004-ref.html": [ - [ - {} - ] - ], - "css/css-contain/reference/contain-layout-005-ref.html": [ - [ - {} - ] - ], "css/css-contain/reference/contain-layout-breaks-002-ref.html": [ [ {} @@ -242015,11 +242149,6 @@ {} ] ], - "css/css-contain/reference/contain-paint-004-ref.html": [ - [ - {} - ] - ], "css/css-contain/reference/contain-paint-007-ref.html": [ [ {} @@ -242035,16 +242164,6 @@ {} ] ], - "css/css-contain/reference/contain-paint-014-ref.html": [ - [ - {} - ] - ], - "css/css-contain/reference/contain-size-001-ref.html": [ - [ - {} - ] - ], "css/css-contain/reference/contain-size-004-ref.html": [ [ {} @@ -252960,6 +253079,66 @@ {} ] ], + "css/css-lists/content-property/marker-text-matches-armenian-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-circle-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-decimal-leading-zero-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-decimal-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-disc-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-georgian-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-lower-greek-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-lower-latin-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-lower-roman-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-square-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-upper-latin-ref.html": [ + [ + {} + ] + ], + "css/css-lists/content-property/marker-text-matches-upper-roman-ref.html": [ + [ + {} + ] + ], "css/css-lists/counter-7-ref.html": [ [ {} @@ -254585,6 +254764,11 @@ {} ] ], + "css/css-pseudo/marker-inherit-line-height-ref.html": [ + [ + {} + ] + ], "css/css-pseudo/marker-inherit-values-ref.html": [ [ {} @@ -258855,11 +259039,6 @@ {} ] ], - "css/css-text/word-break/reference/word-break-break-all-010-ref.html": [ - [ - {} - ] - ], "css/css-text/word-break/reference/word-break-break-all-ref-000.html": [ [ {} @@ -275195,11 +275374,21 @@ {} ] ], + "feature-policy/experimental-features/resources/async-script.js": [ + [ + {} + ] + ], "feature-policy/experimental-features/resources/common.js": [ [ {} ] ], + "feature-policy/experimental-features/resources/defer-script.js": [ + [ + {} + ] + ], "feature-policy/experimental-features/resources/document-write.html": [ [ {} @@ -275225,6 +275414,16 @@ {} ] ], + "feature-policy/experimental-features/resources/parser-blocking-script.js": [ + [ + {} + ] + ], + "feature-policy/experimental-features/resources/sync-script-test.js": [ + [ + {} + ] + ], "feature-policy/experimental-features/resources/vertical-scroll-scrollintoview.html": [ [ {} @@ -275255,6 +275454,11 @@ {} ] ], + "feature-policy/experimental-features/sync-script.tentative.https.sub.html.headers": [ + [ + {} + ] + ], "feature-policy/experimental-features/unsized-image.tentative.https.sub.html.headers": [ [ {} @@ -287570,7 +287774,7 @@ {} ] ], - "interfaces/battery.idl": [ + "interfaces/battery-status.idl": [ [ {} ] @@ -287630,6 +287834,11 @@ {} ] ], + "interfaces/css-counter-styles.idl": [ + [ + {} + ] + ], "interfaces/css-font-loading.idl": [ [ {} @@ -287650,6 +287859,11 @@ {} ] ], + "interfaces/css-regions.idl": [ + [ + {} + ] + ], "interfaces/css-transitions.idl": [ [ {} @@ -287790,6 +288004,11 @@ {} ] ], + "interfaces/media-source.idl": [ + [ + {} + ] + ], "interfaces/mediacapture-depth.idl": [ [ {} @@ -295330,6 +295549,11 @@ {} ] ], + "service-workers/service-worker/resources/malformed-http-response.asis": [ + [ + {} + ] + ], "service-workers/service-worker/resources/malformed-worker.py": [ [ {} @@ -295865,6 +296089,11 @@ {} ] ], + "service-workers/service-worker/resources/update_shell.py": [ + [ + {} + ] + ], "service-workers/service-worker/resources/vtt-frame.html": [ [ {} @@ -310764,9 +310993,9 @@ {} ] ], - "ambient-light/idlharness.https.html": [ + "ambient-light/idlharness.https.window.js": [ [ - "/ambient-light/idlharness.https.html", + "/ambient-light/idlharness.https.window.html", {} ] ], @@ -310834,13 +311063,21 @@ {} ] ], - "background-fetch/interfaces.https.any.js": [ + "background-fetch/idlharness.any.js": [ [ - "/background-fetch/interfaces.https.any.html", + "/background-fetch/idlharness.any.html", {} ], [ - "/background-fetch/interfaces.https.any.worker.html", + "/background-fetch/idlharness.any.sharedworker.html", + {} + ], + [ + "/background-fetch/idlharness.any.worker.html", + {} + ], + [ + "/background-fetch/idlharness.https.any.serviceworker.html", {} ] ], @@ -310868,9 +311105,9 @@ {} ] ], - "battery-status/battery-interface-idlharness.https.html": [ + "battery-status/battery-interface-idlharness.https.window.js": [ [ - "/battery-status/battery-interface-idlharness.https.html", + "/battery-status/battery-interface-idlharness.https.window.html", {} ] ], @@ -316728,6 +316965,12 @@ {} ] ], + "css/css-counter-styles/idlharness.html": [ + [ + "/css/css-counter-styles/idlharness.html", + {} + ] + ], "css/css-display/display-contents-computed-style.html": [ [ "/css/css-display/display-contents-computed-style.html", @@ -319482,6 +319725,12 @@ {} ] ], + "css/css-regions/idlharness.html": [ + [ + "/css/css-regions/idlharness.html", + {} + ] + ], "css/css-regions/stacking-context/javascript-stacking-context-001.html": [ [ "/css/css-regions/stacking-context/javascript-stacking-context-001.html", @@ -338140,6 +338389,12 @@ {} ] ], + "feature-policy/experimental-features/sync-script.tentative.https.sub.html": [ + [ + "/feature-policy/experimental-features/sync-script.tentative.https.sub.html", + {} + ] + ], "feature-policy/experimental-features/unsized-image.tentative.https.sub.html": [ [ "/feature-policy/experimental-features/unsized-image.tentative.https.sub.html", @@ -339736,9 +339991,9 @@ {} ] ], - "gamepad/idlharness.html": [ + "gamepad/idlharness.window.js": [ [ - "/gamepad/idlharness.html", + "/gamepad/idlharness.window.html", {} ] ], @@ -339862,9 +340117,9 @@ {} ] ], - "geolocation-sensor/idlharness.https.html": [ + "geolocation-sensor/idlharness.https.window.js": [ [ - "/geolocation-sensor/idlharness.https.html", + "/geolocation-sensor/idlharness.https.window.html", {} ] ], @@ -339916,9 +340171,9 @@ {} ] ], - "gyroscope/idlharness.https.html": [ + "gyroscope/idlharness.https.window.js": [ [ - "/gyroscope/idlharness.https.html", + "/gyroscope/idlharness.https.window.html", {} ] ], @@ -346366,6 +346621,14 @@ } ] ], + "html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html": [ + [ + "/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html", + { + "timeout": "long" + } + ] + ], "html/semantics/embedded-content/the-img-element/decode/image-decode.html": [ [ "/html/semantics/embedded-content/the-img-element/decode/image-decode.html", @@ -347640,18 +347903,42 @@ {} ] ], + "html/semantics/forms/the-textarea-element/textarea-maxlength.html": [ + [ + "/html/semantics/forms/the-textarea-element/textarea-maxlength.html", + {} + ] + ], + "html/semantics/forms/the-textarea-element/textarea-minlength.html": [ + [ + "/html/semantics/forms/the-textarea-element/textarea-minlength.html", + {} + ] + ], "html/semantics/forms/the-textarea-element/textarea-setcustomvalidity.html": [ [ "/html/semantics/forms/the-textarea-element/textarea-setcustomvalidity.html", {} ] ], + "html/semantics/forms/the-textarea-element/textarea-textLength.html": [ + [ + "/html/semantics/forms/the-textarea-element/textarea-textLength.html", + {} + ] + ], "html/semantics/forms/the-textarea-element/textarea-type.html": [ [ "/html/semantics/forms/the-textarea-element/textarea-type.html", {} ] ], + "html/semantics/forms/the-textarea-element/textarea-validity-clone.html": [ + [ + "/html/semantics/forms/the-textarea-element/textarea-validity-clone.html", + {} + ] + ], "html/semantics/forms/the-textarea-element/value-defaultValue-textContent-xhtml.xhtml": [ [ "/html/semantics/forms/the-textarea-element/value-defaultValue-textContent-xhtml.xhtml", @@ -353120,9 +353407,9 @@ {} ] ], - "keyboard-lock/idlharness.https.html": [ + "keyboard-lock/idlharness.https.window.js": [ [ - "/keyboard-lock/idlharness.https.html", + "/keyboard-lock/idlharness.https.window.html", {} ] ], @@ -353162,9 +353449,9 @@ {} ] ], - "keyboard-map/idlharness.https.html": [ + "keyboard-map/idlharness.https.window.js": [ [ - "/keyboard-map/idlharness.https.html", + "/keyboard-map/idlharness.https.window.html", {} ] ], @@ -353318,9 +353605,9 @@ {} ] ], - "magnetometer/idlharness.https.html": [ + "magnetometer/idlharness.https.window.js": [ [ - "/magnetometer/idlharness.https.html", + "/magnetometer/idlharness.https.window.html", {} ] ], @@ -353534,9 +353821,13 @@ {} ] ], - "media-source/interfaces.html": [ + "media-source/idlharness.any.js": [ [ - "/media-source/interfaces.html", + "/media-source/idlharness.any.html", + {} + ], + [ + "/media-source/idlharness.any.worker.html", {} ] ], @@ -353898,9 +354189,9 @@ {} ] ], - "mediacapture-image/idlharness.html": [ + "mediacapture-image/idlharness.window.js": [ [ - "/mediacapture-image/idlharness.html", + "/mediacapture-image/idlharness.window.html", {} ] ], @@ -354090,9 +354381,9 @@ {} ] ], - "mediasession/idlharness.html": [ + "mediasession/idlharness.window.js": [ [ - "/mediasession/idlharness.html", + "/mediasession/idlharness.window.html", {} ] ], @@ -365394,9 +365685,9 @@ {} ] ], - "orientation-sensor/idlharness.https.html": [ + "orientation-sensor/idlharness.https.window.js": [ [ - "/orientation-sensor/idlharness.https.html", + "/orientation-sensor/idlharness.https.window.html", {} ] ], @@ -366046,6 +366337,14 @@ } ] ], + "picture-in-picture/request-picture-in-picture-twice.html": [ + [ + "/picture-in-picture/request-picture-in-picture-twice.html", + { + "testdriver": true + } + ] + ], "picture-in-picture/request-picture-in-picture.html": [ [ "/picture-in-picture/request-picture-in-picture.html", @@ -366062,9 +366361,9 @@ } ] ], - "pointerevents/extension/idlharness.html": [ + "pointerevents/extension/idlharness.window.js": [ [ - "/pointerevents/extension/idlharness.html", + "/pointerevents/extension/idlharness.window.html", {} ] ], @@ -366360,9 +366659,9 @@ {} ] ], - "proximity/idlharness.https.html": [ + "proximity/idlharness.https.window.js": [ [ - "/proximity/idlharness.https.html", + "/proximity/idlharness.https.window.html", {} ] ], @@ -366450,6 +366749,12 @@ {} ] ], + "quirks/unitless-length/excluded-properties.html": [ + [ + "/quirks/unitless-length/excluded-properties.html", + {} + ] + ], "quirks/unitless-length/limited-quirks.html": [ [ "/quirks/unitless-length/limited-quirks.html", @@ -375872,9 +376177,9 @@ {} ] ], - "selection/interfaces.html": [ + "selection/idlharness.window.js": [ [ - "/selection/interfaces.html", + "/selection/idlharness.window.html", {} ] ], @@ -377309,6 +377614,14 @@ "service-workers/service-worker/update-after-navigation-fetch-event.https.html": [ [ "/service-workers/service-worker/update-after-navigation-fetch-event.https.html", + { + "timeout": "long" + } + ] + ], + "service-workers/service-worker/update-after-navigation-redirect.https.html": [ + [ + "/service-workers/service-worker/update-after-navigation-redirect.https.html", {} ] ], @@ -381472,9 +381785,9 @@ {} ] ], - "web-share/idlharness.https.html": [ + "web-share/idlharness.https.window.js": [ [ - "/web-share/idlharness.https.html", + "/web-share/idlharness.https.window.html", {} ] ], @@ -381508,9 +381821,9 @@ {} ] ], - "webaudio/idlharness.https.html": [ + "webaudio/idlharness.https.window.js": [ [ - "/webaudio/idlharness.https.html", + "/webaudio/idlharness.https.window.html", { "timeout": "long" } @@ -383630,6 +383943,12 @@ {} ] ], + "webrtc/RTCPeerConnection-transceivers.https.html": [ + [ + "/webrtc/RTCPeerConnection-transceivers.https.html", + {} + ] + ], "webrtc/RTCPeerConnectionIceEvent-constructor.html": [ [ "/webrtc/RTCPeerConnectionIceEvent-constructor.html", @@ -385994,9 +386313,9 @@ } ] ], - "webstorage/idlharness.html": [ + "webstorage/idlharness.window.js": [ [ - "/webstorage/idlharness.html", + "/webstorage/idlharness.window.html", {} ] ], @@ -386800,6 +387119,12 @@ {} ] ], + "webxr/xrSession_exclusive_requestAnimationFrame.https.html": [ + [ + "/webxr/xrSession_exclusive_requestAnimationFrame.https.html", + {} + ] + ], "workers/SharedWorkerPerformanceNow.html": [ [ "/workers/SharedWorkerPerformanceNow.html", @@ -410469,6 +410794,14 @@ "3b15af010f2ce13316fed6fcab9d85e05484b60d", "testharness" ], + "2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self.html": [ + "ec6a6d1111aae9ce051cd1a2503a5b01149ceca6", + "reftest" + ], + "2dcontext/drawing-images-to-the-canvas/drawimage_canvas_self_ref.html": [ + "f09c2922fc630872519fc37de47f232ecc8cc677", + "support" + ], "2dcontext/drawing-images-to-the-canvas/drawimage_html_image.html": [ "ec86f8f5c84628cd5f3b8673de8dde34dc372fd9", "testharness" @@ -417129,8 +417462,8 @@ "a1f6a1ae10eeaccc4288d31a9a1c1584cfbafb22", "support" ], - "ambient-light/idlharness.https.html": [ - "0b3417b7e88f77777d124793e2179eac0e5e5b4d", + "ambient-light/idlharness.https.window.js": [ + "10e42151ea1345b66c0daa273ffd65ffe85ac3f1", "testharness" ], "animation-worklet/META.yml": [ @@ -419213,8 +419546,8 @@ "6177ea08e069fd1aca85fd3d772a53022b07f519", "support" ], - "background-fetch/interfaces.https.any.js": [ - "34a07e3b0425cb5a1b940c9581573e2b3322724f", + "background-fetch/idlharness.any.js": [ + "5c0eebc307b9cdb534003593248b03004352dacd", "testharness" ], "background-fetch/mixed-content-and-allowed-schemes.https.window.js": [ @@ -419261,8 +419594,8 @@ "39639373d161846186cbcb7eb33466493bcc77ad", "testharness" ], - "battery-status/battery-interface-idlharness.https.html": [ - "0390a5ad8de487a38e9b981ae61786c33c980222", + "battery-status/battery-interface-idlharness.https.window.js": [ + "a95b16677ae52391ccd2d92b40eba679664c83bd", "testharness" ], "battery-status/battery-plugging-in-manual.https.html": [ @@ -437754,7 +438087,7 @@ "support" ], "conformance-checkers/messages.json": [ - "8f8eb9dbff99fb25ef4a875b865dbaf41275614b", + "876e8e40feaa96e289d6528497dc4ba1c8027511", "support" ], "conformance-checkers/tools/build-svg-tests.py": [ @@ -506610,23 +506943,23 @@ "support" ], "css/css-contain/contain-layout-001.html": [ - "325039fe561cd040fe680c42155a53d59eaf114e", + "d7e8b61bd8a7f5a2e212861f8ece100ce2d5bf49", "reftest" ], "css/css-contain/contain-layout-002.html": [ - "950f95e3be4bfa0b7458699e1f34e6f0567b9a35", + "be7015089e1e8e8fe25890734862cf703b790d48", "reftest" ], "css/css-contain/contain-layout-003.html": [ - "ab1c4fa31dd731e4b0993c4a2a2ba8d82ec3d524", + "ee83742ffee11bdb5d892b8513cc4b5ac08c691a", "reftest" ], "css/css-contain/contain-layout-004.html": [ - "bb9d7c13fa5745171c5e3319e04e7dc1c4007807", + "b42792df963aa8a6295df498ba9ace7770660cbe", "reftest" ], "css/css-contain/contain-layout-005.html": [ - "26160f813c0b3e5c963d4aae7bb23f90e9956941", + "33af5800bb2bc8cff3a5e6a2979cb9224aada355", "reftest" ], "css/css-contain/contain-layout-006.html": [ @@ -506682,23 +507015,23 @@ "reftest" ], "css/css-contain/contain-paint-002.html": [ - "50adc0e83ba0d3bffd957dbf8acdf7474f6350f5", + "fdf31fdc298da8545f125406bc6b7d679bbe3132", "reftest" ], "css/css-contain/contain-paint-003.html": [ - "7eb703232b2a448b3b49394ed0102b65aa37e647", + "cb8c27b18abe50d15c0dc80520cc3e920aff2160", "reftest" ], "css/css-contain/contain-paint-004.html": [ - "2db5aaea054ed4b3a2c2db1786f29fc44515cdd4", + "7b4b39e623ee8e4845cde4eb51a9f81a2993cec2", "reftest" ], "css/css-contain/contain-paint-005.html": [ - "68c7155386ef96ba8fe22ce55d996634f928b703", + "18716da09c82bb564ad29628ff83d3ce914bc2b2", "reftest" ], "css/css-contain/contain-paint-006.html": [ - "935d160de8000eb1f83ac6a987b6c7047ca80e93", + "e95dfaad34be2427cab57f0320872b5481ff7a25", "reftest" ], "css/css-contain/contain-paint-007.html": [ @@ -506730,39 +507063,39 @@ "reftest" ], "css/css-contain/contain-paint-014.html": [ - "c22ee90cf05992dab4188cc86c255bd040babe26", + "272e9031acbe072e8daab8a6b034e93395dee933", "reftest" ], "css/css-contain/contain-paint-015.html": [ - "3941644b7fffc11a2786e55dc28d6fcfe55c57dc", + "8de03ed418d767537b000ba317897aa4faa5f0da", "reftest" ], "css/css-contain/contain-paint-016.html": [ - "fbedca7cd40c2e5a6aea020de403d81ea334f2c1", + "f413eba1117e883daa04e734c414a66f891753af", "reftest" ], "css/css-contain/contain-paint-017.html": [ - "40a82207bac0728925609faf19e0aa896f956009", + "cbd018f0c83662866b216cb3828a97f9ddb847f0", "reftest" ], "css/css-contain/contain-paint-018.html": [ - "74f65ae0e2f8c4ceb77c54fa8bf9b1d364f55c38", + "f1a438d882f622974276d52dc737e1daa8b04b91", "reftest" ], "css/css-contain/contain-paint-019.html": [ - "75b780b1b791b6c3c06cddbd9462103b88bbd603", + "a0c12cdb221a1bb1e73c81b982ba78f87a63b93c", "reftest" ], "css/css-contain/contain-size-001.html": [ - "089c4fd7352f91a85d5d8f6bf8c5f261c868cd37", + "05060bb62063edcc4b7d7ad095e73f703c68eb01", "reftest" ], "css/css-contain/contain-size-002.html": [ - "ea16d90e56729c1678b327412cd945a0dea6b762", + "235ec0441285890c93dffb4ff2bd0872f3f95dd7", "reftest" ], "css/css-contain/contain-size-003.html": [ - "4b1fd16d90f0eebd7ce97a82a5ef55806f92060e", + "a49f582fbed96fab59ab3bce4295ff86c3032c22", "reftest" ], "css/css-contain/contain-size-004.html": [ @@ -506774,31 +507107,31 @@ "reftest" ], "css/css-contain/contain-size-006.html": [ - "2952e1bfc74d784dd2d16867ad95199d78c08efa", + "bd204b37cafa98d3d3eb1796896c893c55c3e028", "reftest" ], "css/css-contain/contain-size-007.html": [ - "54d0f08274e3bb380d098fb5dbf9edeee67780f3", + "8c75bee5e46d80563532d441f6195a1e5bf455f8", "reftest" ], "css/css-contain/contain-size-008.html": [ - "eaff3d8150332dffa1c70fc75efd66929f8adc79", + "cbe3b7b06287b828b49e992f247a4a6e00cfcc80", "reftest" ], "css/css-contain/contain-size-009.html": [ - "727fa2cfad094c1a4e4785fb71cdc3c09a5d7f1b", + "14b67af417b6c662fbb38f6875ebb2a625923063", "reftest" ], "css/css-contain/contain-size-010.html": [ - "1bfca9e97f9135b4f4b1b456f017a641c8b85a1c", + "efe7acae5fc908a049275c407acc26843dc89552", "reftest" ], "css/css-contain/contain-size-011.html": [ - "c4b06e89428d47d9777610bb949714f70685dac5", + "de95aef6aef63dc6cfa71bdc6ca749feeca9d575", "reftest" ], "css/css-contain/contain-size-012.html": [ - "51cc7a37659688af3830dbca89b9a515e22b2551", + "b85a20c31a5b0c33f2f4f459c6507e3eb40958f0", "reftest" ], "css/css-contain/contain-size-013.html": [ @@ -506881,18 +507214,6 @@ "5067c9308951cae6deb33f4383398f96d859428f", "reftest" ], - "css/css-contain/reference/contain-layout-002-ref.html": [ - "cb077e2b280d7200c33e945fb175ffdbb536651a", - "support" - ], - "css/css-contain/reference/contain-layout-004-ref.html": [ - "6a591187b27feb07fa982059850e06ae65f80e32", - "support" - ], - "css/css-contain/reference/contain-layout-005-ref.html": [ - "6320656dc24c5377756d0895edcc2134a4ba1da1", - "support" - ], "css/css-contain/reference/contain-layout-breaks-002-ref.html": [ "f5804830fd9d22117b027135bf5b9191f0f3f15e", "support" @@ -506901,10 +507222,6 @@ "be57e942110661fd32f0342bbe2870e4e3280d86", "support" ], - "css/css-contain/reference/contain-paint-004-ref.html": [ - "eecbc6d0ea1638e8c853458ed59cfbd67d096ef0", - "support" - ], "css/css-contain/reference/contain-paint-007-ref.html": [ "c34cc4f333edcc4949ae8418ca736154632dc5eb", "support" @@ -506917,14 +507234,6 @@ "c3d8d642f2b4b25df84170669222b61866ab3057", "support" ], - "css/css-contain/reference/contain-paint-014-ref.html": [ - "1f281c10ae1bf7dd0f1c9119458b3698077a8e60", - "support" - ], - "css/css-contain/reference/contain-size-001-ref.html": [ - "6f68316c3e9647eb6f71d299bb1d43e286899a7d", - "support" - ], "css/css-contain/reference/contain-size-004-ref.html": [ "090aba85ddcf927a33de227157ac8e411fd5c268", "support" @@ -507237,6 +507546,10 @@ "fa84f0514e4437d3f7bfa244d0c918adcdb2b387", "manual" ], + "css/css-counter-styles/idlharness.html": [ + "74110d44fac33763366a06a867bec0d8eb804316", + "testharness" + ], "css/css-counter-styles/japanese-formal/css3-counter-styles-047.html": [ "97e41edc2a10dfb95589ce63a578edea9c369a59", "manual" @@ -512306,7 +512619,7 @@ "testharness" ], "css/css-font-loading/idlharness.https.html": [ - "93c01c16bf27adc0789dda15dd2e704b96715415", + "3284f427d0cecb3337b83a6fbfd60b16e5db0600", "testharness" ], "css/css-fonts/META.yml": [ @@ -522873,6 +523186,102 @@ "3ddf25363a61baa64374747cdfadeb9329e87f81", "support" ], + "css/css-lists/content-property/marker-text-matches-armenian-ref.html": [ + "36a124835188ab9172d59dcf8615d050f3b4b37d", + "support" + ], + "css/css-lists/content-property/marker-text-matches-armenian.html": [ + "08e07d745f07a15806d532ab2b859a528ea58f0b", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-circle-ref.html": [ + "5cf7f2cb8c066d220dfd441bb50aeec2f514bf25", + "support" + ], + "css/css-lists/content-property/marker-text-matches-circle.html": [ + "3191e867c0d1a02840977838fd13e25e12cdb491", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-decimal-leading-zero-ref.html": [ + "428d093039a3e489e0b5765b0dfe1a3587d1bf92", + "support" + ], + "css/css-lists/content-property/marker-text-matches-decimal-leading-zero.html": [ + "648d651fce939501916074632c5704764115fcd5", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-decimal-ref.html": [ + "f7c2fcd3655546e3d8e6d5fdd82523db81c69927", + "support" + ], + "css/css-lists/content-property/marker-text-matches-decimal.html": [ + "c00f56ab58e7fd3ce8a2fc281543ddcde05d26fb", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-disc-ref.html": [ + "6eee62533f2d54b12a5c9b39e93c3224cb2ffafb", + "support" + ], + "css/css-lists/content-property/marker-text-matches-disc.html": [ + "876d93ca33eac5044084c7a5d0e5e445f3770a98", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-georgian-ref.html": [ + "60f3e664d51a2a71df464f470cb644904f21f612", + "support" + ], + "css/css-lists/content-property/marker-text-matches-georgian.html": [ + "192b49e24f250a1b403ab4b4f815c2d916a17abd", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-lower-greek-ref.html": [ + "4f2732719698d51272bb5cccf891e64a016cef8d", + "support" + ], + "css/css-lists/content-property/marker-text-matches-lower-greek.html": [ + "967b17032b21f3a041fd69b00a7b10a78d6743e6", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-lower-latin-ref.html": [ + "0b9981e525a3bcfe86a1b837d32c70af5355f7c0", + "support" + ], + "css/css-lists/content-property/marker-text-matches-lower-latin.html": [ + "258697c2a8b72849da7e99db6fcb1e18bed313b1", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-lower-roman-ref.html": [ + "d0c2e9b1b84254e32956f9f26461f7d8751e17b8", + "support" + ], + "css/css-lists/content-property/marker-text-matches-lower-roman.html": [ + "8507450cf81d498202277ad20f47d9047b82803c", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-square-ref.html": [ + "1b69ce33b9dd6e674407f78937e47b3aa4d012af", + "support" + ], + "css/css-lists/content-property/marker-text-matches-square.html": [ + "198deb47052925b046d8b9f37ddb2b2109d29c25", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-upper-latin-ref.html": [ + "f2b5bb160a67b42add362f0bdd3d492f1992b3ff", + "support" + ], + "css/css-lists/content-property/marker-text-matches-upper-latin.html": [ + "5640698b5296d42d403591796cb35984d4f44e3a", + "reftest" + ], + "css/css-lists/content-property/marker-text-matches-upper-roman-ref.html": [ + "188a77cab595081eac21b18005a911cf2c3c53ec", + "support" + ], + "css/css-lists/content-property/marker-text-matches-upper-roman.html": [ + "5b66ea59ac497741a1501c3c6d91764fb8d99e0d", + "reftest" + ], "css/css-lists/counter-7-ref.html": [ "6391e214ad5262afaab7cd6caaf57e7f2506fb4d", "support" @@ -526253,6 +526662,14 @@ "7d4739f2252956461b38d8b8566a84ead3c1d8b1", "reftest" ], + "css/css-pseudo/marker-inherit-line-height-ref.html": [ + "e0b76bc582df84e630c911cd45a77bd714ae3727", + "support" + ], + "css/css-pseudo/marker-inherit-line-height.html": [ + "d6da862bc43db77db9e22a1fd1090a26a497e8cc", + "reftest" + ], "css/css-pseudo/marker-inherit-values-ref.html": [ "92bdc9d8f482c34ad389f27c957d4024a7e05b43", "support" @@ -527177,6 +527594,10 @@ "bede636479a9450801076e2cb5a91a7a8effc0ec", "reftest" ], + "css/css-regions/idlharness.html": [ + "b91447384f751f12fde804a03f76017c53dae523", + "testharness" + ], "css/css-regions/interactivity/full-screen/fullscreen-region-content-001.html": [ "3957e4a00d80b21da053611ca095cfda0caa6807", "manual" @@ -533605,10 +534026,6 @@ "63bbe4f7fb67f33217876af58c1de4d032c369f4", "reftest" ], - "css/css-text/overflow-wrap/overflow-wrap-break-word-004.html": [ - "ca2b98f9db6ac13da149380dab3311301d741045", - "reftest" - ], "css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html": [ "9f88a667825f8cb725dc348e17081e1a25b3f4de", "reftest" @@ -535173,10 +535590,6 @@ "5ad54c7b9197746f66fa30628b6059a369f5bd36", "support" ], - "css/css-text/word-break/reference/word-break-break-all-010-ref.html": [ - "0b16a0bdb25ddd647ad96dd82e3430274667ee87", - "support" - ], "css/css-text/word-break/reference/word-break-break-all-ref-000.html": [ "765afbeeede3d3dd8ad33b88927d6eb8e5435463", "support" @@ -535353,14 +535766,6 @@ "fd5f0cf9f57152d3c6df7c4b59c0fe70733bf9f4", "manual" ], - "css/css-text/word-break/word-break-break-all-010.html": [ - "f9eedfe8e72bcf6693f8049bfdf2e1efdf3084ef", - "reftest" - ], - "css/css-text/word-break/word-break-break-all-011.html": [ - "047e950374d902e426287900a2d03c63726420a2", - "reftest" - ], "css/css-text/word-break/word-break-keep-all-000.html": [ "219e6b0435541a834ebbee114b0dd40e15956f75", "reftest" @@ -568482,7 +568887,7 @@ "testharness" ], "encoding/idlharness.any.js": [ - "d37d060ee1ab2b54cf4dccc2cb80796771324ef7", + "60a9348e7608a10af6091b0a157943ffc31a2e8a", "testharness" ], "encoding/iso-2022-jp-decoder.any.js": [ @@ -570777,10 +571182,18 @@ "c91dfd7dd6d0f18e3a5d224823676f623f9dd426", "testharness" ], + "feature-policy/experimental-features/resources/async-script.js": [ + "2c4a6fbbaec1f46e4f22a8f07f9601c498b6c4b7", + "support" + ], "feature-policy/experimental-features/resources/common.js": [ "36dd671a85ed93f2e69927c843243cb953f82a97", "support" ], + "feature-policy/experimental-features/resources/defer-script.js": [ + "5084a464bf3da0a8ffd2c92ce5a1b49c66210c75", + "support" + ], "feature-policy/experimental-features/resources/document-write.html": [ "a0e39689056dc5cc24ad2d7e6fb2c681e84fd35d", "support" @@ -570801,6 +571214,14 @@ "39f716f4bc22283fc444ea0b3a807ae426e2aadf", "support" ], + "feature-policy/experimental-features/resources/parser-blocking-script.js": [ + "833b1492f3558f16486bfe88670a180657b08a4d", + "support" + ], + "feature-policy/experimental-features/resources/sync-script-test.js": [ + "432e7f767cccc0254385b2345cbfd1eca57138dc", + "support" + ], "feature-policy/experimental-features/resources/vertical-scroll-scrollintoview.html": [ "7be60c6f51698ea1e63030bf94aad995881e0049", "support" @@ -570825,6 +571246,14 @@ "7c6d80135c0688eb5ef5e79351c8ebbd24cb7d77", "support" ], + "feature-policy/experimental-features/sync-script.tentative.https.sub.html": [ + "eb102d262fd4c9a1c600beb6bba79e5b4c055d64", + "testharness" + ], + "feature-policy/experimental-features/sync-script.tentative.https.sub.html.headers": [ + "28b3d20a2ee88ab7771fc2ea671dd139182f5182", + "support" + ], "feature-policy/experimental-features/unsized-image.tentative.https.sub.html": [ "ac063a3e3084a9416a272bbac413016124e5289f", "testharness" @@ -570986,11 +571415,11 @@ "support" ], "feature-policy/picture-in-picture-default-feature-policy.https.sub.html": [ - "49c95204e8d3478f6c4509740fa0ed605146ca36", + "97beb6665671a5ccead61b3e512840d478bf3a7a", "testharness" ], "feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html": [ - "fb7ea1dbfb4bd71aa007bb456ce5528c3f71fb0c", + "6cf3bfd76a411e9981b34b30e538a190c76da206", "testharness" ], "feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html.headers": [ @@ -571050,7 +571479,7 @@ "support" ], "feature-policy/resources/picture-in-picture.js": [ - "5f8637f67053cd55cfa0aa03d0bcbc7dee3ba876", + "ec1d60b406b88b9b710dd92749e61f9b96a5ab24", "support" ], "feature-policy/resources/redirect-on-load.html": [ @@ -573226,11 +573655,11 @@ "manual" ], "gamepad/idlharness-manual.html": [ - "e570c8f2defac5b53f5f18fa3a09b184e8adb845", + "ebca979aed330d7790bc348f23f30f1a69a8fb72", "manual" ], - "gamepad/idlharness.html": [ - "0cb95e9fda86db8327efdd3a05c3b2a99d480255", + "gamepad/idlharness.window.js": [ + "30bf94fe8e091d9c0245d071c42c19e96936b4a0", "testharness" ], "gamepad/timestamp-manual.html": [ @@ -573385,8 +573814,8 @@ "f30e3e92646c4ab20aab3b14d2418214e9e0a918", "support" ], - "geolocation-sensor/idlharness.https.html": [ - "38c75b8946de5be961435045007b8af9a4627cd2", + "geolocation-sensor/idlharness.https.window.js": [ + "c29a81848d39576fc68ad145216ab17c27a1f213", "testharness" ], "graphics-aam/META.yml": [ @@ -573469,8 +573898,8 @@ "45ddcab383d36c4993f487dadb339adc729f63eb", "support" ], - "gyroscope/idlharness.https.html": [ - "8b9b8fcdc6d33fb20c174b67306a182bdbb707fd", + "gyroscope/idlharness.https.window.js": [ + "5d74b2071370ce6232e7ea541ca984f9b9fbf95d", "testharness" ], "hr-time/META.yml": [ @@ -585661,6 +586090,10 @@ "9405efb65176096957438cbdcc59109b488d80e6", "testharness" ], + "html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html": [ + "cd7e495a854d848712b46cddec40e3ebffe9d3ba", + "testharness" + ], "html/semantics/embedded-content/the-img-element/decode/image-decode.html": [ "5368b62bf6c950e8d57b16b36148e5695ce16fd8", "testharness" @@ -586789,6 +587222,14 @@ "b61235681689807b5d46b8aaca9ae6c7a18039f7", "testharness" ], + "html/semantics/forms/the-textarea-element/textarea-maxlength.html": [ + "fb2796fe7e542bd9551c18c0176a4f822ee347cd", + "testharness" + ], + "html/semantics/forms/the-textarea-element/textarea-minlength.html": [ + "fcccb00d0db7222af1fb03e7481ccf31e51ec924", + "testharness" + ], "html/semantics/forms/the-textarea-element/textarea-newline-bidi-ref.html": [ "26eb3e615f8b0e15cf02b7ee18d39fd71b04da70", "support" @@ -586813,10 +587254,18 @@ "5f5932aeba8a0a7da66ee006a6e604780210d57b", "testharness" ], + "html/semantics/forms/the-textarea-element/textarea-textLength.html": [ + "0f9b8cdaace12d4f4e7fbd57a90fcba7e826ced5", + "testharness" + ], "html/semantics/forms/the-textarea-element/textarea-type.html": [ "81a270bc3c9304f8b2e7dd526519f4eab7d94f45", "testharness" ], + "html/semantics/forms/the-textarea-element/textarea-validity-clone.html": [ + "d0334cee779937e5d800e478013e5c8ffeaa6a1c", + "testharness" + ], "html/semantics/forms/the-textarea-element/value-defaultValue-textContent-xhtml.xhtml": [ "03ce5d00e9887037bbd96f2d49e116c6b3329802", "testharness" @@ -592014,11 +592463,11 @@ "support" ], "interfaces/background-fetch.idl": [ - "272d5ef66a2df3a6c3fefaf9688802ed93a9ad5f", + "4f744971f4eb6fc90bfb5fa4cc7514230e5e57dd", "support" ], - "interfaces/battery.idl": [ - "37550560186be55b56d226be2fdecc1e36574a6d", + "interfaces/battery-status.idl": [ + "0afe8bca88113d4a8116663a308079c439b5530d", "support" ], "interfaces/beacon.idl": [ @@ -592065,6 +592514,10 @@ "0019e54201874e5d2a2b10c887e44b8c42199c32", "support" ], + "interfaces/css-counter-styles.idl": [ + "437dd5859385f5a17f9b9b2509b8f50eeb42a717", + "support" + ], "interfaces/css-font-loading.idl": [ "9f2f252c5b63c159d9680de46a932bfa4335bf11", "support" @@ -592081,6 +592534,10 @@ "9939fb7f08cab0f167e6e0762eac6ad94b2dfd9f", "support" ], + "interfaces/css-regions.idl": [ + "23d01fa1c91539c443b2227df6a89e377b65a393", + "support" + ], "interfaces/css-transitions.idl": [ "54dd701233a71187c8b675ebbf7336f852a7cace", "support" @@ -592142,7 +592599,7 @@ "support" ], "interfaces/geolocation-API.idl": [ - "87be830712d8d40ec01b200935a41422e72ab7c4", + "ae1b33281c8833971cabe9ffb3ab37c065251fc0", "support" ], "interfaces/geolocation-sensor.idl": [ @@ -592193,6 +592650,10 @@ "dad6123e39feca39ec620de51307e56823cc5408", "support" ], + "interfaces/media-source.idl": [ + "a3c8e49db54b906ae99e2aa2cc385c0e4d949a80", + "support" + ], "interfaces/mediacapture-depth.idl": [ "2ac0dcf83f5afb227f24c9063d738dd22e941fe9", "support" @@ -592218,7 +592679,7 @@ "support" ], "interfaces/netinfo.idl": [ - "357a99c1a5cb73265ee63d1ab1a0e413c6ced458", + "c40e777040b92c90591f40a02a66440ecc228c5a", "support" ], "interfaces/orientation-event.idl": [ @@ -592246,7 +592707,7 @@ "support" ], "interfaces/payment-request.idl": [ - "1523f682dd32680417a5e45d9201743685549fe6", + "8e5193372ad6f38d36fc20c454ea7b55e21b6379", "support" ], "interfaces/performance-timeline.idl": [ @@ -592258,11 +592719,11 @@ "support" ], "interfaces/picture-in-picture.idl": [ - "4051a7f0ba28e984294ca32a5a2aef73b7f9a6bb", + "6feee4b6ea8d50e9ec572a6786c8fd9b4b8f80da", "support" ], "interfaces/pointerevents-extension.idl": [ - "26055736a27852501eba7da7f0cab7c57eceb652", + "e3f284d2a59f53f6127f7d146b8759918431d859", "support" ], "interfaces/pointerevents.idl": [ @@ -592294,11 +592755,11 @@ "support" ], "interfaces/requestidlecallback.idl": [ - "e49a6aad4ba17b797516f397096703690bcbecd9", + "72a32cc188200761e80bb1b35f21f3a86b0839fe", "support" ], "interfaces/resource-timing.idl": [ - "75fcdf5c6ac811254e1a025cd58d958f27ab5b5b", + "d500e42e860b94614c0efeeb0b46d2ad7e8d79f9", "support" ], "interfaces/screen-orientation.idl": [ @@ -592314,7 +592775,7 @@ "support" ], "interfaces/selection-api.idl": [ - "10e7cdeb0e3c5e3871c81e30e89e72412d3f572f", + "622e064c826b3d25618e0bd6041e4297f9939d78", "support" ], "interfaces/server-timing.idl": [ @@ -592334,7 +592795,7 @@ "support" ], "interfaces/touch-events.idl": [ - "00811ff421c7ecafb8070d1a3d17310e1228c725", + "4e456ecce04a5f8fb19a7be5ae0d9e5bd69a1ec1", "support" ], "interfaces/touchevents.idl": [ @@ -592350,7 +592811,7 @@ "support" ], "interfaces/user-timing.idl": [ - "41c00eec8e9c1b2137bd05e85bdc029b7a87c349", + "e91a31115b596326e55da3c9ccd141b2b5e7275a", "support" ], "interfaces/vibration.idl": [ @@ -592382,7 +592843,7 @@ "support" ], "interfaces/webaudio.idl": [ - "a2adb319de88d1d33080a837972caefa5c5c1946", + "1750df8547db73ffe06d1c3e87f34fbcc7c49dcb", "support" ], "interfaces/webauthn.idl": [ @@ -592621,8 +593082,8 @@ "94a99910be54c9c6db2a318a8a6bcbd18947541d", "support" ], - "keyboard-lock/idlharness.https.html": [ - "d196b06e8606572e1e6c1a9e81e2f0920641c069", + "keyboard-lock/idlharness.https.window.js": [ + "70fb3044f9154dd97ca82c5b3f76a4e383252ff3", "testharness" ], "keyboard-lock/navigator-keyboard-lock-blocked-from-cross-origin-iframe.https.html": [ @@ -592657,8 +593118,8 @@ "abee315df71456ef5fd663747ff570cc3c6d3dfc", "support" ], - "keyboard-map/idlharness.https.html": [ - "3215b6729d83ca2841baf6eb33445eb07e0a7c25", + "keyboard-map/idlharness.https.window.js": [ + "30317f694273b15b2b1b6fea2fddc88c806a3303", "testharness" ], "keyboard-map/navigator-keyboard-map-blocked-from-cross-origin-iframe.https.html": [ @@ -592821,8 +593282,8 @@ "5da81d90bd6960c94d5b3dd7592aa4c93d996e1a", "manual" ], - "magnetometer/idlharness.https.html": [ - "d5ba7fe95ed2740eec56757dfe3b0a900f3ea4c4", + "magnetometer/idlharness.https.window.js": [ + "2d163a0c50467e06311dfff5c0c3b60420e6150b", "testharness" ], "mathml/META.yml": [ @@ -593337,14 +593798,14 @@ "fefa39b93290d8d97b18f606c5166d7792193251", "support" ], + "media-source/idlharness.any.js": [ + "d9b97ca6d0883ef11491723a5db5b9e92e32a380", + "testharness" + ], "media-source/import_tests.sh": [ "943d26f264d59f2a7c01db30f5d91e72dafa9935", "support" ], - "media-source/interfaces.html": [ - "f836da38e12662cd56590d5a0534ad555dbf249e", - "testharness" - ], "media-source/manifest.txt": [ "d1e89d132c19294d2c7bb677668c03f3309b475e", "support" @@ -593909,8 +594370,8 @@ "0e0b75556b814c4d95b6bbefa19597d7f618467d", "support" ], - "mediacapture-image/idlharness.html": [ - "ad2c957734eb67577ef3e50f95984eeb999f4743", + "mediacapture-image/idlharness.window.js": [ + "2a422e686bd462ea9cf1d8718becac291e3da2e9", "testharness" ], "mediacapture-record/BlobEvent-constructor.html": [ @@ -594065,8 +594526,8 @@ "5ceecb2611837e6c52a303cec32d8cb9fabe93a6", "support" ], - "mediasession/idlharness.html": [ - "e5b4267255f62b4505b3c656d2b377380f8dfab5", + "mediasession/idlharness.window.js": [ + "5ab75d11ae3fcb7dc19971865df170cdf4e706ee", "testharness" ], "mediasession/mediametadata.html": [ @@ -602481,8 +602942,8 @@ "9bf83c64eb5dcf284eb6c45db8ac278ab3c637a2", "testharness" ], - "orientation-sensor/idlharness.https.html": [ - "1f94329cb330a1a904d409a6e158a5fe9f8dd709", + "orientation-sensor/idlharness.https.window.js": [ + "0be5ccc874864dd3f1a0aeb9a79f0ddfe601b30e", "testharness" ], "orientation-sensor/orientation-sensor-tests.js": [ @@ -603106,7 +603567,7 @@ "support" ], "picture-in-picture/disable-picture-in-picture.html": [ - "d97bf03a6e2f991c173248f9e28bd713da19a6f4", + "f80cdccd1c6edcf6a859a1ae2315a9f65188d812", "testharness" ], "picture-in-picture/enter-picture-in-picture.html": [ @@ -603118,7 +603579,7 @@ "testharness" ], "picture-in-picture/idlharness.window.js": [ - "a2a5c08651d42ef14d4ffd1ac0fa0c56a7a2eb37", + "8861876d089790497afb99496c118ac24f43eadd", "testharness" ], "picture-in-picture/leave-picture-in-picture.html": [ @@ -603133,12 +603594,16 @@ "628cc1c6d8d2c83a6f3e466bc66a26ea76b85ff2", "testharness" ], + "picture-in-picture/request-picture-in-picture-twice.html": [ + "c45cc223ec4336916d46c3d4db8bc4decbbd3332", + "testharness" + ], "picture-in-picture/request-picture-in-picture.html": [ - "3ffc08be84a5c7b67d35b21c614ccc8fa2a8c642", + "fb6711b83e61613cef5928b6829b048d2cb7d73b", "testharness" ], "picture-in-picture/resources/picture-in-picture-helpers.js": [ - "f31184184ba9a74456ab449c480a6777e860a81a", + "b41a3c97a777a69ab28eea3b33f464379303da3d", "support" ], "picture-in-picture/shadow-dom.html": [ @@ -603157,8 +603622,8 @@ "cba44e2dd2a3c54106bfecc6cdd407643e2ba995", "manual" ], - "pointerevents/extension/idlharness.html": [ - "70f3fc4fce01d7acb4611aa870d7f95a1d734dbc", + "pointerevents/extension/idlharness.window.js": [ + "ec3860925d71afeda168b89025e5ee6085e67d3e", "testharness" ], "pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html": [ @@ -603838,7 +604303,7 @@ "testharness" ], "presentation-api/controlling-ua/idlharness.https.html": [ - "75dca68e8398772129feacc28bfe574e9c8d402b", + "b369c2a6001fa89daffbee9dc588388c74c6badc", "testharness" ], "presentation-api/controlling-ua/reconnectToPresentation_notfound_error.https.html": [ @@ -604025,8 +604490,8 @@ "5c6c0c5c8abd844fa89a01e646def9cd21f4864d", "manual" ], - "proximity/idlharness.https.html": [ - "7265649abefcaec47f159b4980b0c43ca7e47528", + "proximity/idlharness.https.window.js": [ + "8e3e606f370b32c31d2acb1a1de32985c048ae36", "testharness" ], "push-api/META.yml": [ @@ -604101,6 +604566,10 @@ "b7a8466a3842237ddf9446bd3ab49de043001526", "testharness" ], + "quirks/unitless-length/excluded-properties.html": [ + "d1214dc257034cf6a844289039ffd8a2e736193c", + "testharness" + ], "quirks/unitless-length/limited-quirks.html": [ "5d34a17086a2f3abb58b0e3e3f0599bc39f8486e", "testharness" @@ -612142,7 +612611,7 @@ "testharness" ], "resource-timing/idlharness.any.js": [ - "a1bb5ee0f67683b42035fa683e9a984b0cf4d5dc", + "2065b03393c21199e49553ec99902aaddec74ce0", "testharness" ], "resource-timing/iframe-setdomain.sub.html": [ @@ -612709,8 +613178,8 @@ "4b5b638ae5cdaab02fbe9cca255a119134238a7d", "testharness" ], - "selection/interfaces.html": [ - "78e92642e2562da8040c791e4c3a7ad1de53e600", + "selection/idlharness.window.js": [ + "2a89076946fd12a1629ef962c2e459accba952df", "testharness" ], "selection/isCollapsed.html": [ @@ -613466,11 +613935,11 @@ "support" ], "server-timing/server_timing_header-parsing.html": [ - "10f756bbf749b7ad8f7c6eb4efe752ee79c44b4a", + "7ec595af5a8c240c0fe0a4b10469fd11e2f56cbf", "testharness" ], "server-timing/server_timing_header-parsing.https.html": [ - "10f756bbf749b7ad8f7c6eb4efe752ee79c44b4a", + "7ec595af5a8c240c0fe0a4b10469fd11e2f56cbf", "testharness" ], "server-timing/service_worker_idl.https.html": [ @@ -615113,6 +615582,10 @@ "7a74ae709c072750cf0639f78bf9a0ac4f16f50b", "support" ], + "service-workers/service-worker/resources/malformed-http-response.asis": [ + "06de4e389698b70ab9b354c9b3df5678f342c7ab", + "support" + ], "service-workers/service-worker/resources/malformed-worker.py": [ "a9f19c8f8f6908c4a4732bbd0f6b2f3d19401909", "support" @@ -615541,6 +616014,10 @@ "f2c2345c448cee3c12b8f6dcc6e6da3c32b2d43a", "support" ], + "service-workers/service-worker/resources/update_shell.py": [ + "429b6a398c226bb18100f95380d08aa5c777b5bd", + "support" + ], "service-workers/service-worker/resources/vtt-frame.html": [ "6ecbf39466212039c7f3ed307e19c89ef2e12735", "support" @@ -615686,7 +616163,11 @@ "testharness" ], "service-workers/service-worker/update-after-navigation-fetch-event.https.html": [ - "14d79d1008193c96f0eadaf3e47ef321a429b905", + "48622ab7b06a9da3946d4ade596bf3f8f6d2fda7", + "testharness" + ], + "service-workers/service-worker/update-after-navigation-redirect.https.html": [ + "f81390e04cd4d04e0b44ba3884aabcaae64d9772", "testharness" ], "service-workers/service-worker/update-after-oneday.https.html": [ @@ -620269,6 +620750,10 @@ "3d51ca0fc007d52147e7ea03493cac7ee1bb7903", "reftest" ], + "svg/linking/reftests/use-descendant-combinator-003.html": [ + "d9155d3b92ecf0735f82ed9a0f2a8fd3fc380d55", + "reftest" + ], "svg/linking/reftests/use-descendant-combinator-ref.html": [ "fb8aec792684b97151d2964b85d1e70829e141ad", "support" @@ -620830,7 +621315,7 @@ "testharness" ], "touch-events/idlharness.window.js": [ - "c5bcdd44381f6f49f0e653c48d05cc14c93f424a", + "8a4eee7d4002836a205a1cd0aceb3a8008a1a929", "testharness" ], "touch-events/multi-touch-interactions-manual.html": [ @@ -621782,7 +622267,7 @@ "testharness" ], "user-timing/idlharness.any.js": [ - "6a0dcd26b5ff16b18603c50b9257d55e6e25f0ce", + "62a3040dfb0508df0ef9d572a33e750cdd2b0d18", "testharness" ], "user-timing/invoke_with_timing_attributes.html": [ @@ -623617,8 +624102,8 @@ "bb99f1213ae2dfd767b69ee42b3c55978f5ce0fd", "support" ], - "web-share/idlharness.https.html": [ - "17e370aefd324ffac6a6f4b0211fbaecd1781ad4", + "web-share/idlharness.https.window.js": [ + "cd9160bc9790e6e734a73a1f0656f70f8583e246", "testharness" ], "web-share/resources/manual-helper.js": [ @@ -623710,11 +624195,11 @@ "support" ], "webaudio/historical.html": [ - "93068df297042344669093ce899f0230c87ebf54", + "c6e3c7d6751731c708edfb0f4e32df8a6a3b80b0", "testharness" ], - "webaudio/idlharness.https.html": [ - "0403de985b3346240ba1d4b465a8e0838f3860bc", + "webaudio/idlharness.https.window.js": [ + "cadc212b4ecb16e95581e34886f49f0357c593bc", "testharness" ], "webaudio/js/buffer-loader.js": [ @@ -624542,7 +625027,7 @@ "testharness" ], "webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html": [ - "820c902b9bcfeed9611ec9c3cba3ee2179a8cee7", + "7ea63964142ab76e3883bef9e73c2e8e0b28ea96", "testharness" ], "webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-stereo.html": [ @@ -624730,7 +625215,7 @@ "support" ], "webdriver/tests/actions/control_click.py": [ - "341a8fbfe64f5231a91999768de0b44bba121122", + "cbe7cc08b4a991da0cce1dfefd96b25be3b50138", "wdspec" ], "webdriver/tests/actions/key.py": [ @@ -624774,7 +625259,7 @@ "support" ], "webdriver/tests/actions/support/keys.py": [ - "528ab8473914c14f9671d89b8a888d30162714ec", + "b06f684335c4ebb18ee8d0dd9e9b757f4cdcd52a", "support" ], "webdriver/tests/actions/support/mouse.py": [ @@ -625262,7 +625747,7 @@ "support" ], "webdriver/tests/set_window_rect/set.py": [ - "79de443bc251f7effaa7c2ef3b95695f22db01c6", + "04161b59c5b144dd571dca3ef224595f9d4612f2", "wdspec" ], "webdriver/tests/set_window_rect/user_prompts.py": [ @@ -625950,7 +626435,7 @@ "testharness" ], "webrtc/RTCPeerConnection-addTransceiver.html": [ - "c2d5766daa3ea4050ccb2777d7c08af1a1bd176f", + "3d1531048c244d0f3391d6fe30e7c8bc7e13ef35", "testharness" ], "webrtc/RTCPeerConnection-canTrickleIceCandidates.html": [ @@ -626089,6 +626574,10 @@ "d40ed4a64f9e769c21060b0ba9b593938d8f8403", "testharness" ], + "webrtc/RTCPeerConnection-transceivers.https.html": [ + "a7eee2ccff5db0c393346cfcb842b0b6d9e3b966", + "testharness" + ], "webrtc/RTCPeerConnectionIceEvent-constructor.html": [ "f273bd7fdfc883a15e8fb16fef5309061254c6cc", "testharness" @@ -627333,8 +627822,8 @@ "6ba7d14a894e782495d818e43f4b0901607c207e", "support" ], - "webstorage/idlharness.html": [ - "9bbb03ed7a846411183963fba16241a107652c0f", + "webstorage/idlharness.window.js": [ + "4aeab6abb761637eeb0d03e6f95dcc5c8a9e00c1", "testharness" ], "webstorage/missing_arguments.html": [ @@ -630474,13 +630963,17 @@ "support" ], "webxr/resources/webxr_util.js": [ - "e8e9631d39b75b8e01a583636de765bc9c81dcd1", + "e145f999bb691a4d19067c75adc0f1206a63835d", "support" ], "webxr/webxr_availability.http.sub.html": [ "d8aa0ef8b7b3363fd23af2700dc6d9186201c408", "testharness" ], + "webxr/xrSession_exclusive_requestAnimationFrame.https.html": [ + "e75f95ee7d2751f7cbeadda9d6219bb29dbedfdc", + "testharness" + ], "workers/META.yml": [ "e10618bcfad6f80d5d983b9f4da878560b644108", "support" diff --git a/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html.ini b/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html.ini deleted file mode 100644 index 1df73b03f34..00000000000 --- a/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[overflow-wrap-break-word-004.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-010.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-010.html.ini deleted file mode 100644 index e6a156581dd..00000000000 --- a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-010.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-break-break-all-010.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini deleted file mode 100644 index 6833da89a76..00000000000 --- a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-break-break-all-011.html] - expected: FAIL diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index 4957cfd5c0b..b98c1201f0b 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -34,3 +34,5 @@ [windows-1254: iso_8859-9:1989 (XMLHttpRequest)] expected: FAIL + +[single-byte-decoder.html?TextDecoder] diff --git a/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini b/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini index c2a729a1e63..57f7b4fc44f 100644 --- a/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-keepalive-quota.html.ini @@ -24,3 +24,5 @@ [A Keep-Alive fetch() with a body over the Quota Limit should reject.] expected: FAIL + +[request-keepalive-quota.html?include=slow-1] diff --git a/tests/wpt/metadata/gamepad/idlharness.html.ini b/tests/wpt/metadata/gamepad/idlharness.html.ini deleted file mode 100644 index 6211f10656e..00000000000 --- a/tests/wpt/metadata/gamepad/idlharness.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[idlharness.html] - [Gamepad IDL tests] - expected: FAIL - diff --git a/tests/wpt/metadata/gamepad/idlharness.window.js.ini b/tests/wpt/metadata/gamepad/idlharness.window.js.ini new file mode 100644 index 00000000000..e663f693ac3 --- /dev/null +++ b/tests/wpt/metadata/gamepad/idlharness.window.js.ini @@ -0,0 +1,4 @@ +[idlharness.window.html] + [idlharness] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini index 20865f493ec..9579b42287e 100644 --- a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini @@ -30,3 +30,6 @@ [Set HTTP URL frame location.protocol to data] expected: FAIL + [Set HTTP URL frame location.protocol to x] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html.ini b/tests/wpt/metadata/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html.ini index a3331003f7b..54f6b43a6f2 100644 --- a/tests/wpt/metadata/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html.ini +++ b/tests/wpt/metadata/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html.ini @@ -292,3 +292,7 @@ [: "1\\furl=foo"] expected: TIMEOUT + +[parsing.html?131-last] + +[parsing.html?81-90] diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 559c27de134..1de3f8d68b2 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -172,63 +172,3 @@ [XHTML img usemap="http://example.org/#garbage-before-hash-id"] expected: FAIL - [HTML (quirks) IMG usemap="no-hash-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="no-hash-id"] - expected: FAIL - - [HTML (quirks) IMG usemap="hash-last#"] - expected: FAIL - - [HTML (quirks) IMG usemap=""] - expected: FAIL - - [HTML (quirks) IMG usemap="#"] - expected: FAIL - - [HTML (quirks) IMG usemap="#percent-escape-name-%41"] - expected: FAIL - - [HTML (quirks) IMG usemap="#percent-escape-id-%41"] - expected: FAIL - - [HTML (quirks) IMG usemap="#no-such-map"] - expected: FAIL - - [HTML (quirks) IMG usemap="#different-CASE-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="#different-CASE-id"] - expected: FAIL - - [XHTML img usemap="no-hash-name"] - expected: FAIL - - [XHTML img usemap="no-hash-id"] - expected: FAIL - - [XHTML img usemap="hash-last#"] - expected: FAIL - - [XHTML img usemap=""] - expected: FAIL - - [XHTML img usemap="#"] - expected: FAIL - - [XHTML img usemap="#percent-escape-name-%41"] - expected: FAIL - - [XHTML img usemap="#percent-escape-id-%41"] - expected: FAIL - - [XHTML img usemap="#no-such-map"] - expected: FAIL - - [XHTML img usemap="#different-CASE-name"] - expected: FAIL - - [XHTML img usemap="#different-CASE-id"] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html.ini new file mode 100644 index 00000000000..27790990a42 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html.ini @@ -0,0 +1,4 @@ +[image-decode-with-quick-attach.html] + [HTMLImageElement.prototype.decode(), attach to DOM before promise resolves.] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/forms/the-textarea-element/textarea-validity-clone.html.ini b/tests/wpt/metadata/html/semantics/forms/the-textarea-element/textarea-validity-clone.html.ini new file mode 100644 index 00000000000..ac858953e17 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/the-textarea-element/textarea-validity-clone.html.ini @@ -0,0 +1,4 @@ +[textarea-validity-clone.html] + [ + + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html new file mode 100644 index 00000000000..9a15a129392 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html @@ -0,0 +1,51 @@ + + + + + textarea minlength + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html new file mode 100644 index 00000000000..d249278960e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html @@ -0,0 +1,19 @@ + +The textLengh IDL attribute + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-validity-clone.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-validity-clone.html new file mode 100644 index 00000000000..23d90e714b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-validity-clone.html @@ -0,0 +1,27 @@ + + +HTML Test: <textarea> validity state is correct after a clone + + + + + + diff --git a/tests/wpt/web-platform-tests/interfaces/background-fetch.idl b/tests/wpt/web-platform-tests/interfaces/background-fetch.idl index 68509fc1a68..fc3ed8dad35 100644 --- a/tests/wpt/web-platform-tests/interfaces/background-fetch.idl +++ b/tests/wpt/web-platform-tests/interfaces/background-fetch.idl @@ -18,7 +18,7 @@ partial interface ServiceWorkerRegistration { interface BackgroundFetchManager { Promise fetch(DOMString id, (RequestInfo or sequence) requests, optional BackgroundFetchOptions options); Promise get(DOMString id); - Promise> getIds(); + Promise> getIds(); // TODO: in future this should become an async iterator for BackgroundFetchRegistration objects }; @@ -50,15 +50,11 @@ interface BackgroundFetchRegistration : EventTarget { Promise abort(); }; -[Exposed=(Window,Worker)] -interface BackgroundFetchFetch { - readonly attribute Request request; -}; - [Exposed=(Window,Worker)] interface BackgroundFetchActiveFetches { - Promise match(RequestInfo request); - Promise> values(); + Promise match(RequestInfo request, optional CacheQueryOptions options); + Promise> matchAll(RequestInfo request, optional CacheQueryOptions options); + Promise> values(); }; [Exposed=(Window,Worker)] @@ -67,6 +63,11 @@ interface BackgroundFetchActiveFetch : BackgroundFetchFetch { // In future this will include a fetch observer }; +[Exposed=(Window,Worker)] +interface BackgroundFetchFetch { + readonly attribute Request request; +}; + [Constructor(DOMString type, BackgroundFetchEventInit init), Exposed=ServiceWorker] interface BackgroundFetchEvent : ExtendableEvent { readonly attribute DOMString id; @@ -87,8 +88,9 @@ dictionary BackgroundFetchSettledEventInit : BackgroundFetchEventInit { [Exposed=ServiceWorker] interface BackgroundFetchSettledFetches { - Promise match(RequestInfo request); - Promise> values(); + Promise match(RequestInfo request, optional CacheQueryOptions options); + Promise> matchAll(RequestInfo request, optional CacheQueryOptions options); + Promise> values(); }; [Exposed=ServiceWorker] diff --git a/tests/wpt/web-platform-tests/interfaces/battery-status.idl b/tests/wpt/web-platform-tests/interfaces/battery-status.idl new file mode 100644 index 00000000000..1491d6429c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/battery-status.idl @@ -0,0 +1,19 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the +// "Battery Status API" spec. +// See: https://w3c.github.io/battery/ + +partial interface Navigator { + Promise getBattery(); +}; +[Exposed=Window] +interface BatteryManager : EventTarget { + readonly attribute boolean charging; + readonly attribute unrestricted double chargingTime; + readonly attribute unrestricted double dischargingTime; + readonly attribute double level; + attribute EventHandler onchargingchange; + attribute EventHandler onchargingtimechange; + attribute EventHandler ondischargingtimechange; + attribute EventHandler onlevelchange; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/battery.idl b/tests/wpt/web-platform-tests/interfaces/battery.idl deleted file mode 100644 index 2596a6ebe53..00000000000 --- a/tests/wpt/web-platform-tests/interfaces/battery.idl +++ /dev/null @@ -1,19 +0,0 @@ -// GENERATED CONTENT - DO NOT EDIT -// Content of this file was automatically extracted from the Battery Status API spec. -// See https://w3c.github.io/battery/ - -partial interface Navigator { - Promise getBattery(); -}; - -[Exposed=Window] -interface BatteryManager : EventTarget { - readonly attribute boolean charging; - readonly attribute unrestricted double chargingTime; - readonly attribute unrestricted double dischargingTime; - readonly attribute double level; - attribute EventHandler onchargingchange; - attribute EventHandler onchargingtimechange; - attribute EventHandler ondischargingtimechange; - attribute EventHandler onlevelchange; -}; diff --git a/tests/wpt/web-platform-tests/interfaces/css-counter-styles.idl b/tests/wpt/web-platform-tests/interfaces/css-counter-styles.idl new file mode 100644 index 00000000000..b1c36639bdc --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/css-counter-styles.idl @@ -0,0 +1,23 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the +// "CSS Counter Styles Level 3" spec. +// See: https://drafts.csswg.org/css-counter-styles/ + +partial interface CSSRule { + const unsigned short COUNTER_STYLE_RULE = 11; +}; + +[Exposed=Window] +interface CSSCounterStyleRule : CSSRule { + attribute CSSOMString name; + attribute CSSOMString system; + attribute CSSOMString symbols; + attribute CSSOMString additiveSymbols; + attribute CSSOMString negative; + attribute CSSOMString prefix; + attribute CSSOMString suffix; + attribute CSSOMString range; + attribute CSSOMString pad; + attribute CSSOMString speakAs; + attribute CSSOMString fallback; +}; diff --git a/tests/wpt/web-platform-tests/interfaces/css-regions.idl b/tests/wpt/web-platform-tests/interfaces/css-regions.idl new file mode 100644 index 00000000000..546c21ad376 --- /dev/null +++ b/tests/wpt/web-platform-tests/interfaces/css-regions.idl @@ -0,0 +1,35 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the +// "CSS Regions Module Level 1" spec. +// See: https://drafts.csswg.org/css-regions/ + +partial interface Document { + readonly attribute NamedFlowMap namedFlows; +}; + +[Exposed=Window, + MapClass=(CSSOMString, NamedFlow)] interface NamedFlowMap { + NamedFlow? get(CSSOMString flowName); + boolean has(CSSOMString flowName); + NamedFlowMap set(CSSOMString flowName, NamedFlow flowValue); + boolean delete(CSSOMString flowName); +}; + +[Exposed=Window] +interface NamedFlow : EventTarget { + readonly attribute CSSOMString name; + readonly attribute boolean overset; + sequence getRegions(); + readonly attribute short firstEmptyRegionIndex; + sequence getContent(); + sequence getRegionsByContent(Node node); +}; + +[Exposed=Window, + NoInterfaceObject] +interface Region { + readonly attribute CSSOMString regionOverset; + sequence? getRegionFlowRanges(); +}; + +Element implements Region; diff --git a/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl b/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl index 2972539e03b..c36fb8b8b03 100644 --- a/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl +++ b/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl @@ -7,9 +7,9 @@ partial interface Navigator { readonly attribute Geolocation geolocation; }; - - [NoInterfaceObject] +[NoInterfaceObject] interface Geolocation { + void getCurrentPosition(PositionCallback successCallback, optional PositionErrorCallback errorCallback, optional PositionOptions options); @@ -25,20 +25,19 @@ partial interface Navigator { callback PositionErrorCallback = void (PositionError positionError); - dictionary PositionOptions { +dictionary PositionOptions { boolean enableHighAccuracy = false; [Clamp] unsigned long timeout = 0xFFFFFFFF; [Clamp] unsigned long maximumAge = 0; }; - - [NoInterfaceObject] +[NoInterfaceObject] interface Position { readonly attribute Coordinates coords; readonly attribute DOMTimeStamp timestamp; }; - [NoInterfaceObject] +[NoInterfaceObject] interface Coordinates { readonly attribute double latitude; readonly attribute double longitude; @@ -49,7 +48,7 @@ partial interface Navigator { readonly attribute double? speed; }; - [NoInterfaceObject] +[NoInterfaceObject] interface PositionError { const unsigned short PERMISSION_DENIED = 1; const unsigned short POSITION_UNAVAILABLE = 2; diff --git a/tests/wpt/web-platform-tests/media-source/interfaces.html b/tests/wpt/web-platform-tests/interfaces/media-source.idl similarity index 52% rename from tests/wpt/web-platform-tests/media-source/interfaces.html rename to tests/wpt/web-platform-tests/interfaces/media-source.idl index 13e31489dd2..6476794ede0 100644 --- a/tests/wpt/web-platform-tests/media-source/interfaces.html +++ b/tests/wpt/web-platform-tests/interfaces/media-source.idl @@ -1,30 +1,17 @@ - - -Media Source Extensions IDL tests -
- - - - - - - diff --git a/tests/wpt/web-platform-tests/interfaces/netinfo.idl b/tests/wpt/web-platform-tests/interfaces/netinfo.idl index 75edd350968..3e6212c3712 100644 --- a/tests/wpt/web-platform-tests/interfaces/netinfo.idl +++ b/tests/wpt/web-platform-tests/interfaces/netinfo.idl @@ -4,42 +4,39 @@ // See: https://wicg.github.io/netinfo/ enum ConnectionType { - "bluetooth", - "cellular", - "ethernet", - "mixed", - "none", - "other", - "unknown", - "wifi", - "wimax" + "bluetooth", + "cellular", + "ethernet", + "mixed", + "none", + "other", + "unknown", + "wifi", + "wimax" }; + enum EffectiveConnectionType { - "2g", - "3g", - "4g", - "slow-2g" + "2g", + "3g", + "4g", + "slow-2g" }; -[NoInterfaceObject, - Exposed=(Window,Worker)] + +[NoInterfaceObject, Exposed=(Window,Worker)] interface NavigatorNetworkInformation { - readonly attribute NetworkInformation connection; + readonly attribute NetworkInformation connection; }; Navigator implements NavigatorNetworkInformation; - WorkerNavigator implements NavigatorNetworkInformation; + [Exposed=(Window,Worker)] interface NetworkInformation : EventTarget { - readonly attribute ConnectionType type; - readonly attribute EffectiveConnectionType effectiveType; - readonly attribute Megabit downlinkMax; - readonly attribute Megabit downlink; - readonly attribute Millisecond rtt; - readonly attribute boolean saveData; - attribute EventHandler onchange; -}; - -typedef unrestricted double Megabit; - -typedef unsigned long long Millisecond; + readonly attribute ConnectionType type; + readonly attribute EffectiveConnectionType effectiveType; + readonly attribute Megabit downlinkMax; + readonly attribute Megabit downlink; + readonly attribute Millisecond rtt; + readonly attribute boolean saveData; + attribute EventHandler onchange; +};typedef unrestricted double Megabit;typedef unsigned long long Millisecond; diff --git a/tests/wpt/web-platform-tests/interfaces/payment-request.idl b/tests/wpt/web-platform-tests/interfaces/payment-request.idl index 6e42524cf0c..1018ecc93e7 100644 --- a/tests/wpt/web-platform-tests/interfaces/payment-request.idl +++ b/tests/wpt/web-platform-tests/interfaces/payment-request.idl @@ -166,7 +166,7 @@ interface PaymentResponse : EventTarget { dictionary PaymentValidationErrors { PayerErrorFields payer; - AddressErrorFields shippingAddress; + AddressErrors shippingAddress; }; dictionary PayerErrorFields { diff --git a/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl b/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl index cafcae11df7..78a5ae781b1 100644 --- a/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl +++ b/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl @@ -22,7 +22,7 @@ partial interface DocumentOrShadowRoot { readonly attribute Element? pictureInPictureElement; }; -interface PictureInPictureWindow { +interface PictureInPictureWindow : EventTarget { readonly attribute long width; readonly attribute long height; diff --git a/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl b/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl index 63a05a58dd6..f4f2de38d0f 100644 --- a/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl +++ b/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl @@ -1,8 +1,14 @@ -dictionary PointerEventInit : MouseEventInit { - sequence coalescedEvents; +// GENERATED CONTENT - DO NOT EDIT +// Content of this file was automatically extracted from the +// "PointerEvents - Level 2 - Extensions" spec. +// See: https://w3c.github.io/pointerevents/extension.html + +partial dictionary PointerEventInit { + sequence coalescedEvents = []; + sequence predictedEvents = []; }; -[Constructor(DOMString type, optional PointerEventInit eventInitDict)] -interface PointerEvent : MouseEvent { +partial interface PointerEvent { sequence getCoalescedEvents(); + sequence getPredictedEvents(); }; diff --git a/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl b/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl index 195f3767d5f..614478155fa 100644 --- a/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl +++ b/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl @@ -4,19 +4,17 @@ // See: https://w3c.github.io/requestidlecallback/ partial interface Window { - unsigned long requestIdleCallback(IdleRequestCallback callback, - optional IdleRequestOptions options); - void cancelIdleCallback(unsigned long handle); + unsigned long requestIdleCallback(IdleRequestCallback callback, optional IdleRequestOptions options); + void cancelIdleCallback(unsigned long handle); }; dictionary IdleRequestOptions { - unsigned long timeout; + unsigned long timeout; }; -[Exposed=Window] -interface IdleDeadline { - DOMHighResTimeStamp timeRemaining(); - readonly attribute boolean didTimeout; +[Exposed=Window] interface IdleDeadline { + DOMHighResTimeStamp timeRemaining(); + readonly attribute boolean didTimeout; }; callback IdleRequestCallback = void (IdleDeadline deadline); diff --git a/tests/wpt/web-platform-tests/interfaces/resource-timing.idl b/tests/wpt/web-platform-tests/interfaces/resource-timing.idl index 3f041e158e7..2668f912301 100644 --- a/tests/wpt/web-platform-tests/interfaces/resource-timing.idl +++ b/tests/wpt/web-platform-tests/interfaces/resource-timing.idl @@ -5,27 +5,28 @@ [Exposed=(Window,Worker)] interface PerformanceResourceTiming : PerformanceEntry { - readonly attribute DOMString initiatorType; - readonly attribute DOMString nextHopProtocol; - readonly attribute DOMHighResTimeStamp workerStart; - readonly attribute DOMHighResTimeStamp redirectStart; - readonly attribute DOMHighResTimeStamp redirectEnd; - readonly attribute DOMHighResTimeStamp fetchStart; - readonly attribute DOMHighResTimeStamp domainLookupStart; - readonly attribute DOMHighResTimeStamp domainLookupEnd; - readonly attribute DOMHighResTimeStamp connectStart; - readonly attribute DOMHighResTimeStamp connectEnd; - readonly attribute DOMHighResTimeStamp secureConnectionStart; - readonly attribute DOMHighResTimeStamp requestStart; - readonly attribute DOMHighResTimeStamp responseStart; - readonly attribute DOMHighResTimeStamp responseEnd; - readonly attribute unsigned long long transferSize; - readonly attribute unsigned long long encodedBodySize; - readonly attribute unsigned long long decodedBodySize; + readonly attribute DOMString initiatorType; + readonly attribute DOMString nextHopProtocol; + readonly attribute DOMHighResTimeStamp workerStart; + readonly attribute DOMHighResTimeStamp redirectStart; + readonly attribute DOMHighResTimeStamp redirectEnd; + readonly attribute DOMHighResTimeStamp fetchStart; + readonly attribute DOMHighResTimeStamp domainLookupStart; + readonly attribute DOMHighResTimeStamp domainLookupEnd; + readonly attribute DOMHighResTimeStamp connectStart; + readonly attribute DOMHighResTimeStamp connectEnd; + readonly attribute DOMHighResTimeStamp secureConnectionStart; + readonly attribute DOMHighResTimeStamp requestStart; + readonly attribute DOMHighResTimeStamp responseStart; + readonly attribute DOMHighResTimeStamp responseEnd; + readonly attribute unsigned long long transferSize; + readonly attribute unsigned long long encodedBodySize; + readonly attribute unsigned long long decodedBodySize; [Default] object toJSON(); }; + partial interface Performance { - void clearResourceTimings(); - void setResourceTimingBufferSize(unsigned long maxSize); - attribute EventHandler onresourcetimingbufferfull; + void clearResourceTimings(); + void setResourceTimingBufferSize(unsigned long maxSize); + attribute EventHandler onresourcetimingbufferfull; }; diff --git a/tests/wpt/web-platform-tests/interfaces/selection-api.idl b/tests/wpt/web-platform-tests/interfaces/selection-api.idl index b2d2f86885a..6e814ea149e 100644 --- a/tests/wpt/web-platform-tests/interfaces/selection-api.idl +++ b/tests/wpt/web-platform-tests/interfaces/selection-api.idl @@ -4,42 +4,40 @@ // See: https://w3c.github.io/selection-api/ interface Selection { - readonly attribute Node? anchorNode; - readonly attribute unsigned long anchorOffset; - readonly attribute Node? focusNode; - readonly attribute unsigned long focusOffset; - readonly attribute boolean isCollapsed; - readonly attribute unsigned long rangeCount; - readonly attribute DOMString type; - Range getRangeAt(unsigned long index); - void addRange(Range range); - void removeRange(Range range); - void removeAllRanges(); - void empty(); - void collapse(Node? node, - optional unsigned long offset = 0); - void setPosition(Node? node, - optional unsigned long offset = 0); - void collapseToStart(); - void collapseToEnd(); - void extend(Node node, optional unsigned long offset = 0); - void setBaseAndExtent(Node anchorNode, - unsigned long anchorOffset, - Node focusNode, - unsigned long focusOffset); - void selectAllChildren(Node node); - [CEReactions] void deleteFromDocument(); - boolean containsNode(Node node, - optional boolean allowPartialContainment = false); - stringifier DOMString (); + readonly attribute Node? anchorNode; + readonly attribute unsigned long anchorOffset; + readonly attribute Node? focusNode; + readonly attribute unsigned long focusOffset; + readonly attribute boolean isCollapsed; + readonly attribute unsigned long rangeCount; + readonly attribute DOMString type; + Range getRangeAt(unsigned long index); + void addRange(Range range); + void removeRange(Range range); + void removeAllRanges(); + void empty(); + void collapse(Node? node, optional unsigned long offset = 0); + void setPosition(Node? node, optional unsigned long offset = 0); + void collapseToStart(); + void collapseToEnd(); + void extend(Node node, optional unsigned long offset = 0); + void setBaseAndExtent(Node anchorNode, unsigned long anchorOffset, Node focusNode, unsigned long focusOffset); + void selectAllChildren(Node node); + [CEReactions] + void deleteFromDocument(); + boolean containsNode(Node node, optional boolean allowPartialContainment = false); + stringifier DOMString (); }; + partial interface Document { - Selection? getSelection(); + Selection? getSelection(); }; + partial interface Window { - Selection? getSelection(); + Selection? getSelection(); }; + partial interface GlobalEventHandlers { - attribute EventHandler onselectstart; - attribute EventHandler onselectionchange; + attribute EventHandler onselectstart; + attribute EventHandler onselectionchange; }; diff --git a/tests/wpt/web-platform-tests/interfaces/touch-events.idl b/tests/wpt/web-platform-tests/interfaces/touch-events.idl index 5c5a3ef82e8..097b0e9ac9e 100644 --- a/tests/wpt/web-platform-tests/interfaces/touch-events.idl +++ b/tests/wpt/web-platform-tests/interfaces/touch-events.idl @@ -9,78 +9,74 @@ enum TouchType { }; dictionary TouchInit { - required long identifier; + required long identifier; required EventTarget target; - double clientX = 0; - double clientY = 0; - double screenX = 0; - double screenY = 0; - double pageX = 0; - double pageY = 0; - float radiusX = 0; - float radiusY = 0; - float rotationAngle = 0; - float force = 0; - double altitudeAngle = 0; - double azimuthAngle = 0; - TouchType touchType = "direct"; + double clientX = 0; + double clientY = 0; + double screenX = 0; + double screenY = 0; + double pageX = 0; + double pageY = 0; + float radiusX = 0; + float radiusY = 0; + float rotationAngle = 0; + float force = 0; + double altitudeAngle = 0; + double azimuthAngle = 0; + TouchType touchType = "direct"; }; -[Constructor(TouchInit touchInitDict), - Exposed=Window] +[Constructor(TouchInit touchInitDict), Exposed=Window] interface Touch { - readonly attribute long identifier; - readonly attribute EventTarget target; - readonly attribute double screenX; - readonly attribute double screenY; - readonly attribute double clientX; - readonly attribute double clientY; - readonly attribute double pageX; - readonly attribute double pageY; - readonly attribute float radiusX; - readonly attribute float radiusY; - readonly attribute float rotationAngle; - readonly attribute float force; - readonly attribute float altitudeAngle; - readonly attribute float azimuthAngle; - readonly attribute TouchType touchType; + readonly attribute long identifier; + readonly attribute EventTarget target; + readonly attribute double screenX; + readonly attribute double screenY; + readonly attribute double clientX; + readonly attribute double clientY; + readonly attribute double pageX; + readonly attribute double pageY; + readonly attribute float radiusX; + readonly attribute float radiusY; + readonly attribute float rotationAngle; + readonly attribute float force; + readonly attribute float altitudeAngle; + readonly attribute float azimuthAngle; + readonly attribute TouchType touchType; }; + interface TouchList { - readonly attribute unsigned long length; + readonly attribute unsigned long length; getter Touch? item(unsigned long index); }; + dictionary TouchEventInit : EventModifierInit { - sequence touches = []; - sequence targetTouches = []; - sequence changedTouches = []; + sequence touches = []; + sequence targetTouches = []; + sequence changedTouches = []; }; -[Constructor(DOMString type, optional TouchEventInit eventInitDict), - Exposed=Window] +[Constructor(DOMString type, optional TouchEventInit eventInitDict), Exposed=Window] interface TouchEvent : UIEvent { - readonly attribute TouchList touches; - readonly attribute TouchList targetTouches; - readonly attribute TouchList changedTouches; - readonly attribute boolean altKey; - readonly attribute boolean metaKey; - readonly attribute boolean ctrlKey; - readonly attribute boolean shiftKey; + readonly attribute TouchList touches; + readonly attribute TouchList targetTouches; + readonly attribute TouchList changedTouches; + readonly attribute boolean altKey; + readonly attribute boolean metaKey; + readonly attribute boolean ctrlKey; + readonly attribute boolean shiftKey; }; + partial interface GlobalEventHandlers { - attribute EventHandler ontouchstart; - attribute EventHandler ontouchend; - attribute EventHandler ontouchmove; - attribute EventHandler ontouchcancel; + attribute EventHandler ontouchstart; + attribute EventHandler ontouchend; + attribute EventHandler ontouchmove; + attribute EventHandler ontouchcancel; }; + partial interface Document { - // Deprecated in this specification - Touch createTouch(WindowProxy view, - EventTarget target, - long identifier, - double pageX, - double pageY, - double screenX, - double screenY); - // Deprecated in this specification - TouchList createTouchList(Touch... touches); + // Deprecated in this specification + Touch createTouch(WindowProxy view, EventTarget target, long identifier, double pageX, double pageY, double screenX, double screenY); + // Deprecated in this specification + TouchList createTouchList(Touch... touches); }; diff --git a/tests/wpt/web-platform-tests/interfaces/user-timing.idl b/tests/wpt/web-platform-tests/interfaces/user-timing.idl index 576ee5357a9..74139c6c7af 100644 --- a/tests/wpt/web-platform-tests/interfaces/user-timing.idl +++ b/tests/wpt/web-platform-tests/interfaces/user-timing.idl @@ -6,14 +6,14 @@ partial interface Performance { void mark(DOMString markName); void clearMarks(optional DOMString markName); - void measure(DOMString measureName, - optional DOMString startMark, - optional DOMString endMark); + void measure(DOMString measureName, optional DOMString startMark, optional DOMString endMark); void clearMeasures(optional DOMString measureName); }; + [Exposed=(Window,Worker)] interface PerformanceMark : PerformanceEntry { }; + [Exposed=(Window,Worker)] interface PerformanceMeasure : PerformanceEntry { }; diff --git a/tests/wpt/web-platform-tests/interfaces/webaudio.idl b/tests/wpt/web-platform-tests/interfaces/webaudio.idl index 5f3085df81e..0ea32e506eb 100644 --- a/tests/wpt/web-platform-tests/interfaces/webaudio.idl +++ b/tests/wpt/web-platform-tests/interfaces/webaudio.idl @@ -46,8 +46,8 @@ interface BaseAudioContext : EventTarget { WaveShaperNode createWaveShaper (); Promise decodeAudioData (ArrayBuffer audioData, - optional DecodeSuccessCallback successCallback, - optional DecodeErrorCallback errorCallback); + optional DecodeSuccessCallback? successCallback, + optional DecodeErrorCallback? errorCallback); Promise resume (); }; diff --git a/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.html b/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.html deleted file mode 100644 index a63e387b18b..00000000000 --- a/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.html +++ /dev/null @@ -1,34 +0,0 @@ - - - -Keyboard Lock IDL tests - - - - - - diff --git a/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.window.js b/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.window.js new file mode 100644 index 00000000000..27573bd8773 --- /dev/null +++ b/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.window.js @@ -0,0 +1,18 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/keyboard-lock/ + +'use strict'; + +idl_test( + ['keyboard-lock'], + ['html'], + idl_array => { + idl_array.add_objects({ + Navigator: ['navigator'], + Keyboard: ['navigator.keyboard'], + }); + }, + 'keyboard-lock interfaces' +); diff --git a/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.html b/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.html deleted file mode 100644 index 05d687d7fb1..00000000000 --- a/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.html +++ /dev/null @@ -1,31 +0,0 @@ - - - -Keyboard Map IDL tests - - - - - - diff --git a/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.window.js b/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.window.js new file mode 100644 index 00000000000..d80016677bd --- /dev/null +++ b/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.window.js @@ -0,0 +1,21 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://wicg.github.io/keyboard-map/ + +'use strict'; + +idl_test( + ['keyboard-map'], + ['html'], + async idl_array => { + idl_array.add_objects({ + Navigator: ['navigator'], + Keyboard: ['navigator.keyboard'], + KeyboardLayoutMap: ['layout_map'], + }); + + self.layout_map = await navigator.keyboard.getLayoutMap(); + }, + 'Test IDL implementation of Keyboard Map API' +); diff --git a/tests/wpt/web-platform-tests/magnetometer/idlharness.https.html b/tests/wpt/web-platform-tests/magnetometer/idlharness.https.html deleted file mode 100644 index 904869ebd6d..00000000000 --- a/tests/wpt/web-platform-tests/magnetometer/idlharness.https.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Magnetometer Sensor IDL tests - - - - - - - - diff --git a/tests/wpt/web-platform-tests/magnetometer/idlharness.https.window.js b/tests/wpt/web-platform-tests/magnetometer/idlharness.https.window.js new file mode 100644 index 00000000000..97a3c85e39f --- /dev/null +++ b/tests/wpt/web-platform-tests/magnetometer/idlharness.https.window.js @@ -0,0 +1,18 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/magnetometer/ + +'use strict'; + +idl_test( + ['magnetometer'], + ['generic-sensor', 'dom'], + idl_array => { + idl_array.add_objects({ + Magnetometer: ['new Magnetometer();'], + UncalibratedMagnetometer: ['new UncalibratedMagnetometer();'] + }); + }, + 'Test IDL implementation of Magnetometer Sensor' +); diff --git a/tests/wpt/web-platform-tests/media-source/idlharness.any.js b/tests/wpt/web-platform-tests/media-source/idlharness.any.js new file mode 100644 index 00000000000..7992b117131 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/idlharness.any.js @@ -0,0 +1,59 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/media-source/ + +'use strict'; + +var mediaSource; +var sourceBuffer; +var video = document.createElement("video"); + +promise_test(async t => { + const srcs = ['media-source', 'dom', 'html', 'url']; + const [idl, dom, html, url] = await Promise.all( + srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text()))); + + var idlArray = new IdlArray(); + idlArray.add_idls(idl); + idlArray.add_dependency_idls(dom); + idlArray.add_dependency_idls(html); + idlArray.add_dependency_idls(url); + + const testIdls = new Promise(resolve => { + try { + mediaSource = new MediaSource(); + video.src = URL.createObjectURL(mediaSource); + mediaSource.addEventListener("sourceopen", function () { + var defaultType ='video/webm;codecs="vp8,vorbis"'; + if (MediaSource.isTypeSupported(defaultType)) { + sourceBuffer = mediaSource.addSourceBuffer(defaultType); + } else { + sourceBuffer = mediaSource.addSourceBuffer('video/mp4'); + } + sourceBuffer.addEventListener("updateend", function (e) { + mediaSource.endOfStream(); + resolve(); + }); + sourceBuffer.appendBuffer(new ArrayBuffer()); + }); + } catch (e) { + // Will be surfaced in idlharness.js's test_object below. + } + }) + + idlArray.add_objects({ + MediaSource: ['mediaSource'], + SourceBuffer: ['sourceBuffer'], + SourceBufferList: ['mediaSource.sourceBuffers'] + }); + + const timeout = new Promise((_, reject) => t.step_timeout(reject, 3000)); + return Promise + .race([testIdls, timeout]) + .then(() => { idlArray.test(); }) + .catch(() => { + idlArray.test(); + return Promise.reject('Failed to create media-source objects') + }); +}, 'media-source interfaces'); diff --git a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html b/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html deleted file mode 100644 index 40888f0b59e..00000000000 --- a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - Image Capture IDL test - - - - - - - - - - - -
- - diff --git a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.window.js b/tests/wpt/web-platform-tests/mediacapture-image/idlharness.window.js new file mode 100644 index 00000000000..0c06405aba8 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-image/idlharness.window.js @@ -0,0 +1,27 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/mediacapture-image/ + +'use strict'; + +idl_test( + ['image-capture'], + ['mediacapture-streams', 'html', 'dom'], + async idl_array => { + idl_array.add_objects({ + ImageCapture : ['capture'], + PhotoCapabilities: ['capabilities'], + }); + + const canvas = document.createElement('canvas'); + document.body.appendChild(canvas); + const context = canvas.getContext("2d"); + context.fillStyle = "red"; + context.fillRect(0, 0, 10, 10); + const track = canvas.captureStream().getVideoTracks()[0]; + self.capture = new ImageCapture(track); + self.capabilities = await capture.getPhotoCapabilities(); + }, + 'Test mediacapture-image IDL interfaces' +); diff --git a/tests/wpt/web-platform-tests/mediasession/idlharness.html b/tests/wpt/web-platform-tests/mediasession/idlharness.html deleted file mode 100644 index d732c0333b7..00000000000 --- a/tests/wpt/web-platform-tests/mediasession/idlharness.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - -Media Session IDL tests - - - - - - - -

Media Session IDL tests

- -
- - diff --git a/tests/wpt/web-platform-tests/mediasession/idlharness.window.js b/tests/wpt/web-platform-tests/mediasession/idlharness.window.js new file mode 100644 index 00000000000..f9ac62d1e99 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediasession/idlharness.window.js @@ -0,0 +1,19 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://wicg.github.io/mediasession/ + +'use strict'; + +idl_test( + ['mediasession'], + ['html'], + idl_array => { + idl_array.add_objects({ + MediaMetadata: ['new MediaMetadata()'], + MediaSession: ['navigator.mediaSession'], + Navigator: ['navigator'] + }); + }, + 'Test IDL implementation of Media Session' +); diff --git a/tests/wpt/web-platform-tests/orientation-sensor/idlharness.https.html b/tests/wpt/web-platform-tests/orientation-sensor/idlharness.https.html deleted file mode 100644 index c87d99f8085..00000000000 --- a/tests/wpt/web-platform-tests/orientation-sensor/idlharness.https.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Orientation Sensor IDL tests - - - - - - - - diff --git a/tests/wpt/web-platform-tests/orientation-sensor/idlharness.https.window.js b/tests/wpt/web-platform-tests/orientation-sensor/idlharness.https.window.js new file mode 100644 index 00000000000..39217fcc627 --- /dev/null +++ b/tests/wpt/web-platform-tests/orientation-sensor/idlharness.https.window.js @@ -0,0 +1,19 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/orientation-sensor/"> + +'use strict'; + +idl_test( + ['orientation-sensor'], + ['generic-sensor', 'dom'], + idl_array => { + idl_array.add_objects({ + AbsoluteOrientationSensor: ['new AbsoluteOrientationSensor();'], + RelativeOrientationSensor: ['new RelativeOrientationSensor();'] + }); + idl_array.prevent_multiple_testing('OrientationSensor'); + }, + 'Test IDL implementation of Orientation Sensor' +); diff --git a/tests/wpt/web-platform-tests/picture-in-picture/disable-picture-in-picture.html b/tests/wpt/web-platform-tests/picture-in-picture/disable-picture-in-picture.html index 1a59b7a3b32..fdd8e9798e0 100644 --- a/tests/wpt/web-platform-tests/picture-in-picture/disable-picture-in-picture.html +++ b/tests/wpt/web-platform-tests/picture-in-picture/disable-picture-in-picture.html @@ -33,7 +33,7 @@ promise_test(async t => { promise_test(async t => { const video = await loadVideo(); - return callWithTrustedClick(async () => { + return test_driver.bless('request picture in picture', async () => { const promise = video.requestPictureInPicture(); video.disablePictureInPicture = true; await promise_rejects(t, 'InvalidStateError', promise); diff --git a/tests/wpt/web-platform-tests/picture-in-picture/idlharness.window.js b/tests/wpt/web-platform-tests/picture-in-picture/idlharness.window.js index 6ada0fe7bfd..ac4c0bfe01f 100644 --- a/tests/wpt/web-platform-tests/picture-in-picture/idlharness.window.js +++ b/tests/wpt/web-platform-tests/picture-in-picture/idlharness.window.js @@ -8,24 +8,19 @@ // https://wicg.github.io/picture-in-picture/ -promise_test(async () => { - try { +idl_test( + ['picture-in-picture'], + ['html', 'dom'], + async idl_array => { + idl_array.add_objects({ + Document: ['document'], + DocumentOrShadowRoot: ['document'], + HTMLVideoElement: ['video'], + PictureInPictureWindow: ['pipw'], + }); + self.video = await loadVideo(); self.pipw = await requestPictureInPictureWithTrustedClick(video); - } catch (e) { - // Will be surfaced when video/pipw are undefined below. - } - - idl_test( - ['picture-in-picture'], - ['html', 'dom'], - idl_array => { - idl_array.add_objects({ - Document: ['document'], - DocumentOrShadowRoot: ['document'], - HTMLVideoElement: ['video'], - PictureInPictureWindow: ['pipw'], - }); - }, - 'picture-in-picture interfaces.'); -}) + }, + 'picture-in-picture interfaces.' +); diff --git a/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html b/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html new file mode 100644 index 00000000000..556cf83b83e --- /dev/null +++ b/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html @@ -0,0 +1,21 @@ + +Test request Picture-in-Picture on two videos + + + + + + + diff --git a/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture.html b/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture.html index d2a59413471..a0c3217603b 100644 --- a/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture.html +++ b/tests/wpt/web-platform-tests/picture-in-picture/request-picture-in-picture.html @@ -33,17 +33,4 @@ promise_test(async t => { const video = await loadVideo(); return promise_rejects(t, 'NotAllowedError', video.requestPictureInPicture()); }, 'request Picture-in-Picture requires a user gesture'); - -promise_test(async t => { - const video1 = await loadVideo(); - const video2 = await loadVideo(); - return callWithTrustedClick(() => { - const first = video1.requestPictureInPicture(); - const second = video2.requestPictureInPicture(); - return Promise.all([ - first, - promise_rejects(t, 'NotAllowedError', second) - ]); - }); -}, 'request Picture-in-Picture consumes user gesture'); diff --git a/tests/wpt/web-platform-tests/picture-in-picture/resources/picture-in-picture-helpers.js b/tests/wpt/web-platform-tests/picture-in-picture/resources/picture-in-picture-helpers.js index ee8e1c23fc8..86b9f29ebd7 100644 --- a/tests/wpt/web-platform-tests/picture-in-picture/resources/picture-in-picture-helpers.js +++ b/tests/wpt/web-platform-tests/picture-in-picture/resources/picture-in-picture-helpers.js @@ -1,17 +1,7 @@ -function callWithTrustedClick(callback) { - return new Promise(resolve => { - let button = document.createElement('button'); - button.textContent = 'click to continue test'; - button.style.display = 'block'; - button.style.fontSize = '20px'; - button.style.padding = '10px'; - button.onclick = () => { - document.body.removeChild(button); - resolve(callback()); - }; - document.body.appendChild(button); - test_driver.click(button); - }); +if (!('pictureInPictureEnabled' in document)) { + HTMLVideoElement.prototype.requestPictureInPicture = function() { + return Promise.reject('Picture-in-Picture API is not available'); + } } function loadVideo(activeDocument, sourceUrl) { @@ -19,17 +9,14 @@ function loadVideo(activeDocument, sourceUrl) { const document = activeDocument || window.document; const video = document.createElement('video'); video.src = sourceUrl || '/media/movie_5.ogv'; - video.onloadedmetadata = () => { - resolve(video); - }; - video.onerror = error => { - reject(error); - }; + video.onloadedmetadata = () => { resolve(video); }; + video.onerror = error => { reject(error); }; }); } // Calls requestPictureInPicture() in a context that's 'allowed to request PiP'. function requestPictureInPictureWithTrustedClick(videoElement) { - return callWithTrustedClick( - () => videoElement.requestPictureInPicture()); + return test_driver.bless( + 'request picture in picture', + () => videoElement.requestPictureInPicture()); } diff --git a/tests/wpt/web-platform-tests/pointerevents/extension/idlharness.html b/tests/wpt/web-platform-tests/pointerevents/extension/idlharness.html deleted file mode 100644 index 40a441cf6c7..00000000000 --- a/tests/wpt/web-platform-tests/pointerevents/extension/idlharness.html +++ /dev/null @@ -1,56 +0,0 @@ - - -idlharness test - - - - - - - diff --git a/tests/wpt/web-platform-tests/pointerevents/extension/idlharness.window.js b/tests/wpt/web-platform-tests/pointerevents/extension/idlharness.window.js new file mode 100644 index 00000000000..703e1c455ab --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/extension/idlharness.window.js @@ -0,0 +1,15 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/pointerevents/extension.html + +idl_test( + ['pointerevents-extension'], + ['pointerevents', 'uievents', 'dom'], + idl_array => { + idl_array.add_objects({ + PointerEvent: ['new PointerEvent("pointer")'], + }) + }, + 'pointerevents extension interfaces' +); diff --git a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/idlharness.https.html b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/idlharness.https.html index 04d1741da0a..52aa8c55328 100644 --- a/tests/wpt/web-platform-tests/presentation-api/controlling-ua/idlharness.https.html +++ b/tests/wpt/web-platform-tests/presentation-api/controlling-ua/idlharness.https.html @@ -26,16 +26,24 @@ idl_array.add_dependency_idls(dom); idl_array.add_dependency_idls(html); - window.presentation_request = new PresentationRequest("/presentation-api/receiving-ua/idlharness.html"); - window.presentation_request_urls = new PresentationRequest([ - "/presentation-api/receiving-ua/idlharness.html", - "https://www.example.com/presentation.html" - ]); - navigator.presentation.defaultRequest = presentation_request; + try { + window.presentation_request = new PresentationRequest("/presentation-api/receiving-ua/idlharness.html"); + window.presentation_request_urls = new PresentationRequest([ + "/presentation-api/receiving-ua/idlharness.html", + "https://www.example.com/presentation.html" + ]); + navigator.presentation.defaultRequest = window.presentation_request; + } catch (e) { + // Will be surfaced in idlharness.js's test_object below. + } idl_array.add_objects({ - Presentation: ['navigator.presentation'], - PresentationRequest: ['navigator.presentation.defaultRequest', 'presentation_request', 'presentation_request_urls'] + Presentation: ['navigator.presentation'], + PresentationRequest: [ + 'navigator.presentation.defaultRequest', + 'presentation_request', + 'presentation_request_urls' + ], }); idl_array.test(); }, "Test IDL implementation of Presentation API"); diff --git a/tests/wpt/web-platform-tests/proximity/idlharness.https.html b/tests/wpt/web-platform-tests/proximity/idlharness.https.html deleted file mode 100644 index ee0dbcd9c24..00000000000 --- a/tests/wpt/web-platform-tests/proximity/idlharness.https.html +++ /dev/null @@ -1,37 +0,0 @@ - - -Proximity Sensor IDL tests - - - - - - - - diff --git a/tests/wpt/web-platform-tests/proximity/idlharness.https.window.js b/tests/wpt/web-platform-tests/proximity/idlharness.https.window.js new file mode 100644 index 00000000000..08270650c54 --- /dev/null +++ b/tests/wpt/web-platform-tests/proximity/idlharness.https.window.js @@ -0,0 +1,17 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://w3c.github.io/proximity/ + +'use strict'; + +idl_test( + ['proximity'], + ['generic-sensor','dom'], + idl_array => { + idl_array.add_objects({ + ProximitySensor: ['new ProximitySensor();'] + }); + }, + 'Test IDL implementation of Proximity Sensor' +); diff --git a/tests/wpt/web-platform-tests/quirks/unitless-length/excluded-properties.html b/tests/wpt/web-platform-tests/quirks/unitless-length/excluded-properties.html new file mode 100644 index 00000000000..a1de182770a --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks/unitless-length/excluded-properties.html @@ -0,0 +1,60 @@ + + + +Many properties do not support quirky-length + + + + + + + +
+ + + diff --git a/tests/wpt/web-platform-tests/resource-timing/idlharness.any.js b/tests/wpt/web-platform-tests/resource-timing/idlharness.any.js index d522aae0d5d..6dff5e85e05 100644 --- a/tests/wpt/web-platform-tests/resource-timing/idlharness.any.js +++ b/tests/wpt/web-platform-tests/resource-timing/idlharness.any.js @@ -5,24 +5,20 @@ // https://w3c.github.io/resource-timing/ -promise_test(async () => { - const [idl, perf, hrtime, dom, html] = await Promise.all([ - '/interfaces/resource-timing.idl', - '/interfaces/performance-timeline.idl', - '/interfaces/hr-time.idl', - '/interfaces/dom.idl', - '/interfaces/html.idl', - ].map(url => fetch(url).then(r => r.text()))); +idl_test( + ['resource-timing'], + ['performance-timeline', 'hr-time', 'dom', 'html'], + idl_array => { + try { + self.resource = performance.getEntriesByType('resource')[0]; + } catch (e) { + // Will be surfaced when resource is undefined below. + } - const idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(perf); - idl_array.add_dependency_idls(hrtime); - idl_array.add_dependency_idls(dom); - idl_array.add_dependency_idls(html); - idl_array.add_objects({ - Performance: ['performance'], - PerformanceResourceTiming: ["performance.getEntriesByType('resource')[0]"] - }); - idl_array.test(); -}, 'Test server-timing IDL implementation'); + idl_array.add_objects({ + Performance: ['performance'], + PerformanceResourceTiming: ['resource'] + }); + }, + 'Test server-timing IDL implementation' +); diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js new file mode 100644 index 00000000000..74be1f07896 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js @@ -0,0 +1,383 @@ +'use strict'; + +// This polyfill library implements the WebXR Test API as specified here: +// https://github.com/immersive-web/webxr-test-api + +class ChromeXRTest { + constructor() { + this.mockVRService_ = new MockVRService(mojo.frameInterfaces); + } + + simulateDeviceConnection(init_params) { + return Promise.resolve(this.mockVRService_.addDevice(init_params)); + } + + simulateUserActivation(callback) { + return new Promise(resolve => { + let button = document.createElement('button'); + button.textContent = 'click to continue test'; + button.style.display = 'block'; + button.style.fontSize = '20px'; + button.style.padding = '10px'; + button.onclick = () => { + resolve(callback()); + document.body.removeChild(button); + }; + document.body.appendChild(button); + test_driver.click(button); + }); + } +} + +// Mocking class definitions +class MockVRService { + constructor() { + this.bindingSet_ = new mojo.BindingSet(device.mojom.VRService); + this.devices_ = []; + + this.interceptor_ = + new MojoInterfaceInterceptor(device.mojom.VRService.name); + this.interceptor_.oninterfacerequest = e => + this.bindingSet_.addBinding(this, e.handle); + this.interceptor_.start(); + } + + // Test methods + addDevice(fakeDeviceInit) { + let device = new MockDevice(fakeDeviceInit, this); + this.devices_.push(device); + + return device; + } + + // VRService implementation. + setClient(client) { + this.client_ = client; + for (let i = 0; i < this.devices_.length; i++) { + this.devices_[i].notifyClientOfDisplay(); + } + + return Promise.resolve(); + } +} + +// Implements both VRDisplayHost and VRMagicWindowProvider. Maintains a mock for +// VRPresentationProvider. +class MockDevice { + constructor(fakeDeviceInit, service) { + this.displayClient_ = new device.mojom.VRDisplayClientPtr(); + this.presentation_provider_ = new MockVRPresentationProvider(); + + this.service_ = service; + + this.framesOfReference = {}; + + if (fakeDeviceInit.supportsImmersive) { + this.displayInfo_ = this.getImmersiveDisplayInfo(); + } else { + this.displayInfo_ = this.getNonImmersiveDisplayInfo(); + } + + if (service.client_) { + this.notifyClientOfDisplay(); + } + } + + // Functions for setup. + // This function calls to the backend to add this device to the list. + notifyClientOfDisplay() { + let displayPtr = new device.mojom.VRDisplayHostPtr(); + let displayRequest = mojo.makeRequest(displayPtr); + let displayBinding = + new mojo.Binding(device.mojom.VRDisplayHost, this, displayRequest); + + let clientRequest = mojo.makeRequest(this.displayClient_); + this.service_.client_.onDisplayConnected( + displayPtr, clientRequest, this.displayInfo_); + } + + // Test methods. + setXRPresentationFrameData(poseMatrix, views) { + if (poseMatrix == null) { + this.presentation_provider_.pose_ = null; + } else { + this.presentation_provider_.setPoseFromMatrix(poseMatrix); + } + + if (views) { + let changed = false; + for (let i = 0; i < views.length; i++) { + if (views[i].eye == 'left') { + this.displayInfo_.leftEye = this.getEye(views[i]); + changed = true; + } else if (views[i].eye == 'right') { + this.displayInfo_.rightEye = this.getEye(views[i]); + changed = true; + } + } + + if (changed) { + this.displayClient_.onChanged(this.displayInfo_); + } + } + } + + getNonImmersiveDisplayInfo() { + let displayInfo = this.getImmersiveDisplayInfo(); + + displayInfo.capabilities.canPresent = false; + displayInfo.leftEye = null; + displayInfo.rightEye = null; + + return displayInfo; + } + + // Function to generate some valid display information for the device. + getImmersiveDisplayInfo() { + return { + displayName: 'FakeDevice', + capabilities: { + hasPosition: false, + hasExternalDisplay: false, + canPresent: true, + maxLayers: 1 + }, + stageParameters: null, + leftEye: { + fieldOfView: { + upDegrees: 48.316, + downDegrees: 50.099, + leftDegrees: 50.899, + rightDegrees: 35.197 + }, + offset: [-0.032, 0, 0], + renderWidth: 20, + renderHeight: 20 + }, + rightEye: { + fieldOfView: { + upDegrees: 48.316, + downDegrees: 50.099, + leftDegrees: 50.899, + rightDegrees: 35.197 + }, + offset: [0.032, 0, 0], + renderWidth: 20, + renderHeight: 20 + }, + webxrDefaultFramebufferScale: 0.7, + }; + } + + // This function converts between the matrix provided by the WebXR test API + // and the internal data representation. + getEye(fakeXRViewInit) { + let m = fakeXRViewInit.projectionMatrix; + + function toDegrees(tan) { + return Math.atan(tan) * 180 / Math.PI; + } + + let xScale = m[0]; + let yScale = m[5]; + let near = m[14] / (m[10] - 1); + let far = m[14] / (m[10] - 1); + let leftTan = (1 - m[8]) / m[0]; + let rightTan = (1 + m[8]) / m[0]; + let upTan = (1 + m[9]) / m[5]; + let downTan = (1 - m[9]) / m[5]; + + return { + fieldOfView: { + upDegrees: toDegrees(upTan), + downDegrees: toDegrees(downTan), + leftDegrees: toDegrees(leftTan), + rightDegrees: toDegrees(rightTan) + }, + offset: [0, 0, 0], + renderWidth: 20, + renderHeight: 20 + }; + } + + // Mojo function implementations. + + // VRMagicWindowProvider implementation. + + getFrameData() { + // Convert current document time to monotonic time. + let now = window.performance.now() / 1000.0; + let diff = now - internals.monotonicTimeToZeroBasedDocumentTime(now); + now += diff; + now *= 1000000; + + return Promise.resolve({ + frameData: { + pose: this.presentation_provider_.pose_, + bufferHolder: null, + bufferSize: {}, + timeDelta: [], + projectionMatrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] + } + }); + } + + updateSessionGeometry(frame_size, display_rotation) { + // This function must exist to ensure that calls to it do not crash, but we + // do not have any use for this data at present. + } + + // VRDisplayHost implementation. + + requestSession(sessionOptions, was_activation) { + return this.supportsSession(sessionOptions).then((result) => { + // The JavaScript bindings convert c_style_names to camelCase names. + let options = new device.mojom.VRDisplayFrameTransportOptions(); + options.transportMethod = + device.mojom.VRDisplayFrameTransportMethod.SUBMIT_AS_MAILBOX_HOLDER; + options.waitForTransferNotification = true; + options.waitForRenderNotification = true; + + let connection; + if (result.supportsSession) { + connection = { + clientRequest: this.presentation_provider_.getClientRequest(), + provider: this.presentation_provider_.bindProvider(sessionOptions), + transportOptions: options + }; + + let magicWindowPtr = new device.mojom.VRMagicWindowProviderPtr(); + let magicWindowRequest = mojo.makeRequest(magicWindowPtr); + let magicWindowBinding = new mojo.Binding( + device.mojom.VRMagicWindowProvider, this, magicWindowRequest); + + return Promise.resolve({ + session: + {connection: connection, magicWindowProvider: magicWindowPtr} + }); + } else { + return Promise.resolve({session: null}); + } + }); + } + + supportsSession(options) { + return Promise.resolve({ + supportsSession: + !options.exclusive || this.displayInfo_.capabilities.canPresent + }); + }; +} + +class MockVRPresentationProvider { + constructor() { + this.binding_ = new mojo.Binding(device.mojom.VRPresentationProvider, this); + this.pose_ = null; + this.next_frame_id_ = 0; + this.submit_frame_count_ = 0; + this.missing_frame_count_ = 0; + } + + bindProvider(request) { + let providerPtr = new device.mojom.VRPresentationProviderPtr(); + let providerRequest = mojo.makeRequest(providerPtr); + + this.binding_.close(); + + this.binding_ = new mojo.Binding( + device.mojom.VRPresentationProvider, this, providerRequest); + + return providerPtr; + } + + getClientRequest() { + this.submitFrameClient_ = new device.mojom.VRSubmitFrameClientPtr(); + return mojo.makeRequest(this.submitFrameClient_); + } + + setPoseFromMatrix(poseMatrix) { + this.pose_ = { + orientation: null, + position: null, + angularVelocity: null, + linearVelocity: null, + angularAcceleration: null, + linearAcceleration: null, + inputState: null, + poseIndex: 0 + }; + + let pose = this.poseFromMatrix(poseMatrix); + for (let field in pose) { + if (this.pose_.hasOwnProperty(field)) { + this.pose_[field] = pose[field]; + } + } + } + + poseFromMatrix(m) { + let orientation = []; + + let m00 = m[0]; + let m11 = m[5]; + let m22 = m[10]; + // The max( 0, ... ) is just a safeguard against rounding error. + orientation[3] = Math.sqrt(Math.max(0, 1 + m00 + m11 + m22)) / 2; + orientation[0] = Math.sqrt(Math.max(0, 1 + m00 - m11 - m22)) / 2; + orientation[1] = Math.sqrt(Math.max(0, 1 - m00 + m11 - m22)) / 2; + orientation[2] = Math.sqrt(Math.max(0, 1 - m00 - m11 + m22)) / 2; + + let position = []; + position[0] = m[12]; + position[1] = m[13]; + position[2] = m[14]; + + return { + orientation, position + } + } + + // VRPresentationProvider mojo implementation + submitFrameMissing(frameId, mailboxHolder, timeWaited) { + this.missing_frame_count_++; + } + + submitFrame(frameId, mailboxHolder, timeWaited) { + this.submit_frame_count_++; + + // Trigger the submit completion callbacks here. WARNING: The + // Javascript-based mojo mocks are *not* re-entrant. It's OK to + // wait for these notifications on the next frame, but waiting + // within the current frame would never finish since the incoming + // calls would be queued until the current execution context finishes. + this.submitFrameClient_.onSubmitFrameTransferred(true); + this.submitFrameClient_.onSubmitFrameRendered(); + } + + getFrameData() { + if (this.pose_) { + this.pose_.poseIndex++; + } + + // Convert current document time to monotonic time. + let now = window.performance.now() / 1000.0; + let diff = now - internals.monotonicTimeToZeroBasedDocumentTime(now); + now += diff; + now *= 1000000; + + return Promise.resolve({ + frameData: { + pose: this.pose_, + timeDelta: { + microseconds: now, + }, + frameId: this.next_frame_id_++, + projectionMatrix: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + bufferHolder: null, + bufferSize: {} + } + }); + } +} + +let XRTest = new ChromeXRTest(); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js.headers b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js.headers new file mode 100644 index 00000000000..6805c323df5 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js.headers @@ -0,0 +1 @@ +Content-Type: text/javascript; charset=utf-8 diff --git a/tests/wpt/web-platform-tests/selection/idlharness.window.js b/tests/wpt/web-platform-tests/selection/idlharness.window.js new file mode 100644 index 00000000000..d7b851d4752 --- /dev/null +++ b/tests/wpt/web-platform-tests/selection/idlharness.window.js @@ -0,0 +1,20 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +'use strict'; + +// https://w3c.github.io/selection-api/ + +idl_test( + ['selection-api'], + ['dom', 'html'], + idlArray => { + idlArray.add_objects({ + Window: ['window'], + Document: ['document'], + Selection: ['getSelection()'], + GlobalEventHandlers: ['self'], + }); + }, + 'selection-api interfaces' +); diff --git a/tests/wpt/web-platform-tests/selection/interfaces.html b/tests/wpt/web-platform-tests/selection/interfaces.html deleted file mode 100644 index 6b72f286caf..00000000000 --- a/tests/wpt/web-platform-tests/selection/interfaces.html +++ /dev/null @@ -1,33 +0,0 @@ - -Selection interface tests -
- - - - - diff --git a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html index 50396ed642f..f74ffeba0f8 100644 --- a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html +++ b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.html @@ -28,12 +28,17 @@ tests generated by: const dur = expectedResult.dur || 0 const desc = expectedResult.desc || '' const index = expectedResults.length === 1 ? '' : `[${i}].` - test_equals(expectedResult.name, serverTiming[i].name, - `${fileName} - ${index}name (${expectedResult.name} ?== ${serverTiming[i].name})`) - test_equals(dur, serverTiming[i].duration, - `${fileName} - ${index}duration (${dur} ?== ${serverTiming[i].duration})`) - test_equals(desc, serverTiming[i].description, - `${fileName} - ${index}description (${desc} ?== ${serverTiming[i].description})`) + const actual = serverTiming[i] + if (actual === undefined) { + // Protect against more expected results than actual results. + return + } + test_equals(expectedResult.name, actual.name, + `${fileName} - ${index}name (${expectedResult.name} ?== ${actual.name})`) + test_equals(dur, actual.duration, + `${fileName} - ${index}duration (${dur} ?== ${actual.duration})`) + test_equals(desc, actual.description, + `${fileName} - ${index}description (${desc} ?== ${actual.description})`) }) }) done() diff --git a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.https.html b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.https.html index 50396ed642f..f74ffeba0f8 100644 --- a/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.https.html +++ b/tests/wpt/web-platform-tests/server-timing/server_timing_header-parsing.https.html @@ -28,12 +28,17 @@ tests generated by: const dur = expectedResult.dur || 0 const desc = expectedResult.desc || '' const index = expectedResults.length === 1 ? '' : `[${i}].` - test_equals(expectedResult.name, serverTiming[i].name, - `${fileName} - ${index}name (${expectedResult.name} ?== ${serverTiming[i].name})`) - test_equals(dur, serverTiming[i].duration, - `${fileName} - ${index}duration (${dur} ?== ${serverTiming[i].duration})`) - test_equals(desc, serverTiming[i].description, - `${fileName} - ${index}description (${desc} ?== ${serverTiming[i].description})`) + const actual = serverTiming[i] + if (actual === undefined) { + // Protect against more expected results than actual results. + return + } + test_equals(expectedResult.name, actual.name, + `${fileName} - ${index}name (${expectedResult.name} ?== ${actual.name})`) + test_equals(dur, actual.duration, + `${fileName} - ${index}duration (${dur} ?== ${actual.duration})`) + test_equals(desc, actual.description, + `${fileName} - ${index}description (${desc} ?== ${actual.description})`) }) }) done() diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/malformed-http-response.asis b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/malformed-http-response.asis new file mode 100644 index 00000000000..bc3c68d46d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/malformed-http-response.asis @@ -0,0 +1 @@ +HAHAHA THIS IS NOT HTTP AND THE BROWSER SHOULD CONSIDER IT A NETWORK ERROR diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/update_shell.py b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/update_shell.py new file mode 100644 index 00000000000..642e5194140 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/update_shell.py @@ -0,0 +1,31 @@ +# This serves a different response to each request, to test service worker +# updates. If |filename| is provided, it writes that file into the body. +# +# Usage: +# navigator.serviceWorker.register('update_shell.py?filename=worker.js') +# +# This registers worker.js as a service worker, and every update check +# will return a new response. +import os +import sys +import time + +def main(request, response): + # Set no-cache to ensure the user agent finds a new version for each update. + headers = [('Cache-Control', 'no-cache, must-revalidate'), + ('Pragma', 'no-cache'), + ('Content-Type', 'application/javascript')] + + # Return a different script for each access. Use .time() and .clock() for + # best time resolution across different platforms. + timestamp = '// %s %s' % (time.time(), time.clock()) + body = timestamp + '\n' + + # Inject the file into the response. + if 'filename' in request.GET: + path = os.path.join(os.path.dirname(__file__), + request.GET['filename']) + with open(path, 'rb') as f: + body += f.read() + + return headers, body diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html index 04cd9960fc6..ff51f7f902c 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https.html @@ -1,34 +1,91 @@ -Service Worker: Update should be triggered after a navigation fetch event. + +Service Worker: Update should be triggered after a navigation diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-redirect.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-redirect.https.html new file mode 100644 index 00000000000..321e40ca945 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/update-after-navigation-redirect.https.html @@ -0,0 +1,73 @@ + + +Service Worker: Update should be triggered after redirects during navigation + + + + diff --git a/tests/wpt/web-platform-tests/svg/linking/reftests/use-descendant-combinator-003.html b/tests/wpt/web-platform-tests/svg/linking/reftests/use-descendant-combinator-003.html new file mode 100644 index 00000000000..14bf5bd122f --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/linking/reftests/use-descendant-combinator-003.html @@ -0,0 +1,37 @@ + + +CSS Test: use element doesn't cross shadow tree boundaries in selector-matching, and is invalidated properly + + + + +

+ You should see a green square, and no red. +

+ + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt index 6da3a334d37..fcb5922d10d 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt @@ -1,5 +1,5 @@ html5lib == 1.0.1 mozinfo == 0.10 -mozlog == 3.7 +mozlog==3.8 mozdebug == 0.1 urllib3[secure] == 1.22 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py index de681af11fb..c0b5d0b132d 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py @@ -411,7 +411,7 @@ class WdspecTest(Test): test_type = "wdspec" default_timeout = 25 - long_timeout = 120 + long_timeout = 180 # 3 minutes manifest_test_cls = {"reftest": ReftestTest, diff --git a/tests/wpt/web-platform-tests/touch-events/idlharness.window.js b/tests/wpt/web-platform-tests/touch-events/idlharness.window.js index 6a95892794d..dbea07ac77c 100644 --- a/tests/wpt/web-platform-tests/touch-events/idlharness.window.js +++ b/tests/wpt/web-platform-tests/touch-events/idlharness.window.js @@ -5,21 +5,16 @@ 'use strict'; -promise_test(async () => { - const srcs = ['touch-events', 'uievents', 'dom', 'html']; - const [idl, uievents, dom, html] = await Promise.all( - srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text()))); - - const idl_array = new IdlArray(); - idl_array.add_idls(idl); - idl_array.add_dependency_idls(uievents); - idl_array.add_dependency_idls(dom); - idl_array.add_dependency_idls(html); - idl_array.add_objects({ - Document: ['document'], - GlobalEventHandlers: ['window', 'document', 'document.body'], - Touch: ['new Touch({identifier: 1, target: document})'], - TouchEvent: ['new TouchEvent("name")'], - }); - idl_array.test(); -}, 'Test IDL implementation of touch-events API'); +idl_test( + ['touch-events'], + ['uievents', 'dom', 'html'], + idl_array => { + idl_array.add_objects({ + Document: ['document'], + GlobalEventHandlers: ['window', 'document', 'document.body'], + Touch: ['new Touch({identifier: 1, target: document})'], + TouchEvent: ['new TouchEvent("name")'], + }); + }, + 'Test IDL implementation of touch-events API' +); diff --git a/tests/wpt/web-platform-tests/user-timing/idlharness.any.js b/tests/wpt/web-platform-tests/user-timing/idlharness.any.js index 47300bddb77..6c60cb555bd 100644 --- a/tests/wpt/web-platform-tests/user-timing/idlharness.any.js +++ b/tests/wpt/web-platform-tests/user-timing/idlharness.any.js @@ -6,19 +6,27 @@ 'use strict'; -promise_test(async () => { - const idl_array = new IdlArray(); - const idl = await fetch("/interfaces/user-timing.idl").then(r => r.text()); - const hrtime = await fetch("/interfaces/hr-time.idl").then(r => r.text()); - const perf = await fetch("/interfaces/performance-timeline.idl").then(r => r.text()); - const dom = await fetch("/interfaces/dom.idl").then(r => r.text()); +idl_test( + ['user-timing'], + ['hr-time', 'performance-timeline', 'dom'], + idl_array => { + try { + performance.mark('test'); + performance.measure('test'); + for (const m of performance.getEntriesByType('mark')) { + self.mark = m; + } + for (const m of performance.getEntriesByType('measure')) { + self.measure = m; + } + } catch (e) { + // Will be surfaced when mark is undefined below. + } - idl_array.add_idls(idl); - idl_array.add_dependency_idls(hrtime); - idl_array.add_dependency_idls(perf); - idl_array.add_dependency_idls(dom); - idl_array.add_objects({ - Performance: ["performance"] - }); - idl_array.test(); -}, "Test IDL implementation of user-timing API"); + idl_array.add_objects({ + Performance: ['performance'], + PerformanceMark: ['mark'], + PerformanceMeasure: ['measure'], + }); + }, + 'Test IDL implementation of user-timing API'); diff --git a/tests/wpt/web-platform-tests/web-share/idlharness.https.html b/tests/wpt/web-platform-tests/web-share/idlharness.https.html deleted file mode 100644 index f68e51e5ed1..00000000000 --- a/tests/wpt/web-platform-tests/web-share/idlharness.https.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - WebShare IDL test - - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/web-share/idlharness.https.window.js b/tests/wpt/web-platform-tests/web-share/idlharness.https.window.js new file mode 100644 index 00000000000..6a69c8d1bfa --- /dev/null +++ b/tests/wpt/web-platform-tests/web-share/idlharness.https.window.js @@ -0,0 +1,17 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// https://wicg.github.io/web-share/ + +'use strict'; + +idl_test( + ['web-share'], + ['html'], + idl_array => { + idl_array.add_objects({ + Navigator: ['navigator'] + }); + }, + 'Test driver' +); diff --git a/tests/wpt/web-platform-tests/webaudio/historical.html b/tests/wpt/web-platform-tests/webaudio/historical.html index 2407a873c3d..1f3146c39d5 100644 --- a/tests/wpt/web-platform-tests/webaudio/historical.html +++ b/tests/wpt/web-platform-tests/webaudio/historical.html @@ -12,4 +12,18 @@ assert_false(name in window); }, name + " interface should not exist"); }); + +[ + "dopplerFactor", + "speedOfSound", + "setVelocity" +].forEach(name => { + test(function() { + assert_false(name in AudioListener.prototype); + }, name + " member should not exist on the AudioListener."); +}); + +test(function() { + assert_false("setVelocity" in PannerNode.prototype); +}, "setVelocity should not exist on PannerNodes."); diff --git a/tests/wpt/web-platform-tests/webaudio/idlharness.https.html b/tests/wpt/web-platform-tests/webaudio/idlharness.https.html deleted file mode 100644 index bd1df62942c..00000000000 --- a/tests/wpt/web-platform-tests/webaudio/idlharness.https.html +++ /dev/null @@ -1,97 +0,0 @@ - - -WebAudio IDL tests - - - - - - - diff --git a/tests/wpt/web-platform-tests/webaudio/idlharness.https.window.js b/tests/wpt/web-platform-tests/webaudio/idlharness.https.window.js new file mode 100644 index 00000000000..eb4734b0d6d --- /dev/null +++ b/tests/wpt/web-platform-tests/webaudio/idlharness.https.window.js @@ -0,0 +1,75 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js +// META: timeout=long + +// https://webaudio.github.io/web-audio-api/ + +'use strict'; + +idl_test( + ['webaudio'], + ['cssom', 'uievents', 'mediacapture-streams', 'html', 'dom'], + async idl_array => { + idl_array.add_untested_idls('interface SVGElement {};'); + idl_array.add_untested_idls('interface WorkletGlobalScope {};'); + idl_array.add_untested_idls('interface Worklet {};'); + + idl_array.add_objects({ + BaseAudioContext: [], + AudioContext: ['context'], + OfflineAudioContext: ['new OfflineAudioContext(1, 1, sample_rate)'], + OfflineAudioCompletionEvent: [ + 'new OfflineAudioCompletionEvent("", {renderedBuffer: buffer})' + ], + AudioBuffer: ['buffer'], + AudioNode: [], + AudioParam: ['new AudioBufferSourceNode(context).playbackRate'], + AudioScheduledSourceNode: [], + AnalyserNode: ['new AnalyserNode(context)'], + AudioBufferSourceNode: ['new AudioBufferSourceNode(context)'], + AudioDestinationNode: ['context.destination'], + AudioListener: ['context.listener'], + AudioProcessingEvent: [`new AudioProcessingEvent('', { + playbackTime: 0, inputBuffer: buffer, outputBuffer: buffer + })`], + BiquadFilterNode: ['new BiquadFilterNode(context)'], + ChannelMergerNode: ['new ChannelMergerNode(context)'], + ChannelSplitterNode: ['new ChannelSplitterNode(context)'], + ConstantSourceNode: ['new ConstantSourceNode(context)'], + ConvolverNode: ['new ConvolverNode(context)'], + DelayNode: ['new DelayNode(context)'], + DynamicsCompressorNode: ['new DynamicsCompressorNode(context)'], + GainNode: ['new GainNode(context)'], + IIRFilterNode: [ + 'new IIRFilterNode(context, {feedforward: [1], feedback: [1]})' + ], + MediaElementAudioSourceNode: [ + 'new MediaElementAudioSourceNode(context, {mediaElement: new Audio})' + ], + MediaStreamAudioDestinationNode: [ + 'new MediaStreamAudioDestinationNode(context)' + ], + MediaStreamAudioSourceNode: [], + MediaStreamTrackAudioSourceNode: [], + OscillatorNode: ['new OscillatorNode(context)'], + PannerNode: ['new PannerNode(context)'], + PeriodicWave: ['new PeriodicWave(context)'], + ScriptProcessorNode: ['context.createScriptProcessor()'], + StereoPannerNode: ['new StereoPannerNode(context)'], + WaveShaperNode: ['new WaveShaperNode(context)'], + AudioWorklet: ['context.audioWorklet'], + AudioWorkletGlobalScope: [], + AudioParamMap: ['worklet_node.parameters'], + AudioWorkletNode: ['worklet_node'], + AudioWorkletProcessor: [], + }); + + self.sample_rate = 44100; + self.context = new AudioContext; + self.buffer = new AudioBuffer({length: 1, sampleRate: sample_rate}); + await context.audioWorklet.addModule( + 'the-audio-api/the-audioworklet-interface/processors/dummy-processor.js'); + self.worklet_node = new AudioWorkletNode(context, 'dummy'); + }, + 'Test driver' +); diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html index dae58c97fe7..96b99a2373b 100644 --- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html +++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html @@ -38,7 +38,7 @@ let nodeOptions = {}; nodeOptions[attrName] = -1; new PannerNode(context, nodeOptions); - }, prefix + '-1})').throw('RangeError'); + }, prefix + '-1})').throw(RangeError); if (options.isZeroAllowed) { should(function() { @@ -51,7 +51,7 @@ let nodeOptions = {}; nodeOptions[attrName] = 0; new PannerNode(context, nodeOptions); - }, prefix + '0})').throw('RangeError'); + }, prefix + '0})').throw(RangeError); } // The smallest representable positive single float. @@ -67,7 +67,7 @@ panner = new PannerNode(context); should(function() { panner[attrName] = -1; - }, prefix + '-1').throw('RangeError'); + }, prefix + '-1').throw(RangeError); if (options.isZeroAllowed) { should(function() { @@ -76,7 +76,7 @@ } else { should(function() { panner[attrName] = 0; - }, prefix + '0').throw('RangeError'); + }, prefix + '0').throw(RangeError); } should(function() { diff --git a/tests/wpt/web-platform-tests/webdriver/tests/actions/control_click.py b/tests/wpt/web-platform-tests/webdriver/tests/actions/control_click.py index f9d4448dfad..2ec819b772f 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/actions/control_click.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/actions/control_click.py @@ -18,7 +18,7 @@ def test_control_click(session, test_actions_page, key_chain, mouse_chain, modif outer = session.find.css("#outer", all=False) mouse_chain.click(element=outer) session.actions.perform([key_chain.dict, mouse_chain.dict]) - if os == "windows_nt": + if os == "windows": expected = [ {"type": "mousemove"}, {"type": "mousedown"}, diff --git a/tests/wpt/web-platform-tests/webdriver/tests/actions/support/keys.py b/tests/wpt/web-platform-tests/webdriver/tests/actions/support/keys.py index 7c71a87bc69..51313242590 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/actions/support/keys.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/actions/support/keys.py @@ -15,9 +15,7 @@ # specific language governing permissions and limitations # under the License. -""" -The Keys implementation. -""" +"""The Keys implementation.""" from inspect import getmembers import sys @@ -27,7 +25,7 @@ class Keys(object): """ Set of special keys codes. - See also https://w3c.github.io/webdriver/webdriver-spec.html#h-keyboard-actions + See also https://w3c.github.io/webdriver/#h-keyboard-actions """ NULL = u"\ue000" @@ -742,7 +740,7 @@ ALL_EVENTS = { } } -if sys.platform == 'darwin': +if sys.platform == "mac": MODIFIER_KEY = Keys.META else: MODIFIER_KEY = Keys.CONTROL diff --git a/tests/wpt/web-platform-tests/webdriver/tests/set_window_rect/set.py b/tests/wpt/web-platform-tests/webdriver/tests/set_window_rect/set.py index ca5056f6d1a..0785b24eb61 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/set_window_rect/set.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/set_window_rect/set.py @@ -334,7 +334,7 @@ def test_negative_x_y(session): # On macOS, windows can only be moved off the screen on the # horizontal axis. The system menu bar also blocks windows from # being moved to (0,0). - elif os == "darwin": + elif os == "mac": assert_success(response, {"x": -8, "y": 23, "width": original["width"], @@ -342,7 +342,7 @@ def test_negative_x_y(session): # It turns out that Windows is the only platform on which the # window can be reliably positioned off-screen. - elif os == "windows_nt": + elif os == "windows": assert_success(response, {"x": -8, "y": -8, "width": original["width"], diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.html index 97205714f07..347603cef6e 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addTransceiver.html @@ -162,7 +162,6 @@ 'Expect receiver.track to be instance of MediaStreamTrack'); assert_equals(track.kind, 'audio'); - assert_equals(track.label, 'remote audio'); assert_equals(track.readyState, 'live'); assert_equals(track.muted, true); @@ -207,7 +206,6 @@ 'Expect receiver.track to be instance of MediaStreamTrack'); assert_equals(track.kind, 'video'); - assert_equals(track.label, 'remote video'); assert_equals(track.readyState, 'live'); assert_equals(track.muted, true); @@ -270,7 +268,6 @@ assert_equals(receiverTrack.kind, 'audio', `receiver.track should have the same kind as added track's kind`); - assert_equals(receiverTrack.label, 'remote audio'); assert_equals(receiverTrack.readyState, 'live'); assert_equals(receiverTrack.muted, true); diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html new file mode 100644 index 00000000000..3f4e5080059 --- /dev/null +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html @@ -0,0 +1,496 @@ + + +RTCPeerConnection-transceivers.https.html + + + + diff --git a/tests/wpt/web-platform-tests/webstorage/idlharness.html b/tests/wpt/web-platform-tests/webstorage/idlharness.html deleted file mode 100644 index efff83029b3..00000000000 --- a/tests/wpt/web-platform-tests/webstorage/idlharness.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - -Web Storage IDL tests - - - - - - - - -

Web Storage IDL tests

-
- - - -
-interface Storage {
-  readonly attribute unsigned long length;
-  DOMString? key(unsigned long index);
-  getter DOMString? getItem(DOMString key);
-  setter void setItem(DOMString key, DOMString value);
-  deleter void removeItem(DOMString key);
-  void clear();
-};
-[NoInterfaceObject]
-interface WindowSessionStorage {
-  readonly attribute Storage sessionStorage;
-};
-Window implements WindowSessionStorage;
-[NoInterfaceObject]
-interface WindowLocalStorage {
-  readonly attribute Storage localStorage;
-};
-Window implements WindowLocalStorage;
-[Constructor(DOMString type, optional StorageEventInit eventInitDict)]
-interface StorageEvent : Event {
-  readonly attribute DOMString? key;
-  readonly attribute DOMString? oldValue;
-  readonly attribute DOMString? newValue;
-  readonly attribute DOMString url;
-  readonly attribute Storage? storageArea;
-};
-
-dictionary StorageEventInit : EventInit {
-  DOMString? key;
-  DOMString? oldValue;
-  DOMString? newValue;
-  DOMString url;
-  Storage? storageArea;
-};
-
- - - - diff --git a/tests/wpt/web-platform-tests/webstorage/idlharness.window.js b/tests/wpt/web-platform-tests/webstorage/idlharness.window.js new file mode 100644 index 00000000000..7a6f16a094e --- /dev/null +++ b/tests/wpt/web-platform-tests/webstorage/idlharness.window.js @@ -0,0 +1,30 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js + +// http://www.w3.org/TR/webstorage/#storage + +idl_test( + [], [], // Srcs + deps manually handled below. + async idl_array => { + const [html, dom] = await Promise.all(['html', 'dom'] + .map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text()))); + idl_array.add_idls(html, { + only: [ + 'Storage', + 'WindowSessionStorage', + 'WindowLocalStorage', + 'StorageEvent', + 'StorageEventInit', + ]}); + idl_array.add_dependency_idls(dom); + + idl_array.add_objects({ + Storage: [ + 'localStorage', + 'sessionStorage', + ], + StorageEvent: ['new StorageEvent("storage")'] + }); + }, + 'webstorage interfaces' +); diff --git a/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js b/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js index 5adf0a2ba85..eaa788798be 100644 --- a/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js +++ b/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js @@ -1,3 +1,25 @@ +// These tests rely on the User Agent providing an implementation of the +// WebXR Testing API (https://github.com/immersive-web/webxr-test-api). +// +// In Chromium-based browsers, this implementation is provided by a JavaScript +// shim in order to reduce the amount of test-only code shipped to users. To +// enable these tests the browser must be run with these options: +// +// --enable-blink-features=MojoJS,MojoJSTest + +function xr_promise_test(func, name, properties) { + promise_test(async (t) => { + // Perform any required test setup: + + if (window.XRTest === undefined) { + // Chrome setup + await loadChromiumResources; + } + + return func(t); + }, name, properties); +} + // This functions calls a callback with each API object as specified // by https://immersive-web.github.io/webxr/spec/latest/, allowing // checks to be made on all ojects. @@ -25,4 +47,32 @@ function forEachWebxrObject(callback) { callback(window.XRStageBoundsPoint, 'XRStageBoundsPoint'); callback(window.XRSessionEvent, 'XRSessionEvent'); callback(window.XRCoordinateSystemEvent, 'XRCoordinateSystemEvent'); -} \ No newline at end of file +} + +// Code for loading test api in chromium. +let loadChromiumResources = Promise.resolve().then(() => { + if (!MojoInterfaceInterceptor) { + // Do nothing on non-Chromium-based browsers or when the Mojo bindings are + // not present in the global namespace. + return; + } + + let chain = Promise.resolve(); + ['/gen/layout_test_data/mojo/public/js/mojo_bindings.js', + '/gen/ui/gfx/geometry/mojo/geometry.mojom.js', + '/gen/mojo/public/mojom/base/time.mojom.js', + '/gen/device/vr/public/mojom/vr_service.mojom.js', + '/resources/chromium/webxr-test.js', '/resources/testdriver.js', + '/resources/testdriver-vendor.js', + ].forEach(path => { + let script = document.createElement('script'); + script.src = path; + script.async = false; + chain = chain.then(() => new Promise(resolve => { + script.onload = () => resolve(); + })); + document.head.appendChild(script); + }); + + return chain; +}); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/webxr/xrSession_exclusive_requestAnimationFrame.https.html b/tests/wpt/web-platform-tests/webxr/xrSession_exclusive_requestAnimationFrame.https.html new file mode 100644 index 00000000000..010ab0b127e --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/xrSession_exclusive_requestAnimationFrame.https.html @@ -0,0 +1,91 @@ + + + + + + + + +