aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/MANIFEST.json770
-rw-r--r--tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/scrollIntoView-svg-shape.html.ini10
-rw-r--r--tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini1
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini (renamed from tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini)2
-rw-r--r--tests/wpt/metadata/html/dom/interfaces.https.html.ini252
-rw-r--r--tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini7
-rw-r--r--tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini283
-rw-r--r--tests/wpt/metadata/quirks/unitless-length/quirks.html.ini283
-rw-r--r--tests/wpt/metadata/url/urlencoded-parser.any.js.ini9
-rw-r--r--tests/wpt/metadata/wasm/jsapi/constructor/instantiate.any.js.ini78
-rw-r--r--tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini6
-rw-r--r--tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini36
-rw-r--r--tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini18
-rw-r--r--tests/wpt/metadata/webaudio/idlharness.https.window.js.ini6
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/.taskcluster.yml4
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html)8
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html)8
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html)6
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html)6
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html)6
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-block-size.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html)4
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html)4
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-inline-size.https.html (renamed from tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html)4
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js8
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button-ref.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button.html44
-rw-r--r--tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html32
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-001.html19
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-002.html18
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-ref.html8
-rw-r--r--tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md6
-rw-r--r--tests/wpt/web-platform-tests/html/dom/interfaces.https.html2
-rw-r--r--tests/wpt/web-platform-tests/interfaces/CSP.idl3
-rw-r--r--tests/wpt/web-platform-tests/interfaces/SVG.idl32
-rw-r--r--tests/wpt/web-platform-tests/interfaces/payment-method-basic-card.idl33
-rw-r--r--tests/wpt/web-platform-tests/interfaces/payment-request.idl2
-rw-r--r--tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl12
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webaudio.idl3
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl2
-rw-r--r--tests/wpt/web-platform-tests/payment-handler/basic-card.js1
-rw-r--r--tests/wpt/web-platform-tests/payment-handler/payment-request-event.https.html1
-rw-r--r--tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html1
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html1
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html5
-rw-r--r--tests/wpt/web-platform-tests/payment-request/historical.https.html2
-rw-r--r--tests/wpt/web-platform-tests/picture-in-picture/enter-picture-in-picture.html8
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_origin.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi_wildcard.html56
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_null.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_space.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resource_TAO_wildcard.htm1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/TAOResponse.py4
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/iframe_TAO_multi_wildcard.html21
-rw-r--r--tests/wpt/web-platform-tests/resources/idlharness.js6
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-window.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/onactivate-script-error.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html18
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/resources/worker-testharness.js2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/synced-state.https.html2
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/input-type-radio.html73
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py13
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/protocol.py5
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py2
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/constructor/instantiate.any.js121
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js186
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/instanceTestFactory.js217
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js2
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js4
-rw-r--r--tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js4
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/actions/conftest.py5
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/actions/none.py19
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/actions/validity.py (renamed from tests/wpt/web-platform-tests/webdriver/tests/actions/bounds.py)13
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini3
132 files changed, 3013 insertions, 690 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index c82dae2db5e..5b8ebce0eb8 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -122901,6 +122901,258 @@
{}
]
],
+ "css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-block-size-invalid.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-block-size-invalid.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-inline-size-invalid.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/fixed-block-size.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/fixed-block-size.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/fixed-inline-size.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/fixed-inline-size.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-invalid.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/percentage-size-invalid.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html": [
+ [
+ "/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html",
+ [
+ [
+ "/css/css-layout-api/green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-layout-api/constraints-data-function-failure.https.html": [
[
"/css/css-layout-api/constraints-data-function-failure.https.html",
@@ -123633,102 +123885,6 @@
{}
]
],
- "css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-fixed-block-size.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [
- [
- "/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html",
- [
- [
- "/css/css-layout-api/green-square-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
"css/css-layout-api/position-fragment-htb-ltr.https.html": [
[
"/css/css-layout-api/position-fragment-htb-ltr.https.html",
@@ -143269,6 +143425,18 @@
{}
]
],
+ "css/css-transforms/preserve3d-button.html": [
+ [
+ "/css/css-transforms/preserve3d-button.html",
+ [
+ [
+ "/css/css-transforms/preserve3d-button-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-transforms/rotate/svg-rotate-3args-001.html": [
[
"/css/css-transforms/rotate/svg-rotate-3args-001.html",
@@ -165745,6 +165913,30 @@
{}
]
],
+ "css/filter-effects/svg-unknown-input-001.html": [
+ [
+ "/css/filter-effects/svg-unknown-input-001.html",
+ [
+ [
+ "/css/filter-effects/svg-unknown-input-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/svg-unknown-input-002.html": [
+ [
+ "/css/filter-effects/svg-unknown-input-002.html",
+ [
+ [
+ "/css/filter-effects/svg-unknown-input-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/mediaqueries/aspect-ratio-001.html": [
[
"/css/mediaqueries/aspect-ratio-001.html",
@@ -265436,6 +265628,11 @@
{}
]
],
+ "css/css-transforms/preserve3d-button-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-transforms/reference/backface-visibility-hidden-ref.html": [
[
{}
@@ -272336,6 +272533,11 @@
{}
]
],
+ "css/filter-effects/svg-unknown-input-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/geometry/META.yml": [
[
{}
@@ -299021,6 +299223,11 @@
{}
]
],
+ "resource-timing/resources/iframe_TAO_multi_wildcard.html": [
+ [
+ {}
+ ]
+ ],
"resource-timing/resources/iframe_TAO_null.html": [
[
{}
@@ -312676,6 +312883,11 @@
{}
]
],
+ "wasm/jsapi/instanceTestFactory.js": [
+ [
+ {}
+ ]
+ ],
"wasm/jsapi/table/assertions.js": [
[
{}
@@ -341638,6 +341850,12 @@
{}
]
],
+ "css/cssom-view/scrollIntoView-svg-shape.html": [
+ [
+ "/css/cssom-view/scrollIntoView-svg-shape.html",
+ {}
+ ]
+ ],
"css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html": [
[
"/css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html",
@@ -394688,6 +394906,12 @@
{}
]
],
+ "resource-timing/resource_TAO_multi_wildcard.html": [
+ [
+ "/resource-timing/resource_TAO_multi_wildcard.html",
+ {}
+ ]
+ ],
"resource-timing/resource_TAO_null.htm": [
[
"/resource-timing/resource_TAO_null.htm",
@@ -396914,6 +397138,12 @@
{}
]
],
+ "shadow-dom/input-type-radio.html": [
+ [
+ "/shadow-dom/input-type-radio.html",
+ {}
+ ]
+ ],
"shadow-dom/leaktests/get-elements.html": [
[
"/shadow-dom/leaktests/get-elements.html",
@@ -430618,12 +430848,6 @@
{}
]
],
- "webdriver/tests/actions/bounds.py": [
- [
- "/webdriver/tests/actions/bounds.py",
- {}
- ]
- ],
"webdriver/tests/actions/control_click.py": [
[
"/webdriver/tests/actions/control_click.py",
@@ -430666,6 +430890,12 @@
{}
]
],
+ "webdriver/tests/actions/none.py": [
+ [
+ "/webdriver/tests/actions/none.py",
+ {}
+ ]
+ ],
"webdriver/tests/actions/pointer_origin.py": [
[
"/webdriver/tests/actions/pointer_origin.py",
@@ -430688,6 +430918,12 @@
}
]
],
+ "webdriver/tests/actions/validity.py": [
+ [
+ "/webdriver/tests/actions/validity.py",
+ {}
+ ]
+ ],
"webdriver/tests/add_cookie/add.py": [
[
"/webdriver/tests/add_cookie/add.py",
@@ -431378,7 +431614,7 @@
"support"
],
".taskcluster.yml": [
- "755fc2eca36d683a8f95d017142cffe7025f51d8",
+ "f36523ed301c505bc3f9b1fa5979f866008cde36",
"support"
],
".travis.yml": [
@@ -546677,6 +546913,90 @@
"25fe602d1c449ad1c983b049208a6a23dc746f41",
"reftest"
],
+ "css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html": [
+ "0da20ee837155760bda86679355053bae821ac37",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-block-size-invalid.https.html": [
+ "dfbc812556fbf606734755781fb8d25600964d25",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html": [
+ "c8e84ae51703800e1d2031fc1b4efbe61330a528",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html": [
+ "94cf75fc93fc84c0954917ac2784f1216d84ff19",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-inline-size-invalid.https.html": [
+ "136d13fa703a55a0432e3ab6d50556073175b8e9",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html": [
+ "392a6b514228a03c04c19e83d163e76fc43036fb",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html": [
+ "960fb7d7dcfb1da96b1a925090e5c58d1c4a7b4a",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html": [
+ "0e9b5570abeb52ff833e0549d8e8464a02482c07",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html": [
+ "62efe992fb3ed4029d63da14d6525e9d0964919d",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html": [
+ "1352ea917835c37fca3e9740349262c2f2139c59",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html": [
+ "9c30c212fae3a7add6dc3c56f7acae26b969e231",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html": [
+ "dedcaa0ee83c3cbc7be138024290a3281a76b9ed",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/fixed-block-size.https.html": [
+ "eea540ca59f2d7dd312b0ff723d4c3b6cee9e954",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html": [
+ "22bd3e7c1258d729d901c64ab6d854ee42e309a8",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/fixed-inline-size.https.html": [
+ "0a05a46fe69f85836c1a125e63b9dc579a343a0b",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html": [
+ "99224c73f5b5fc676fd16146c6f1b5877cb555fa",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html": [
+ "8116d5a9b0881364246156962d9ec2e4df65114b",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-invalid.https.html": [
+ "932380a6163ed71c825675424563c3b0180c4eaa",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html": [
+ "39a360d079d3deab244305a26a5ab4ca905ff796",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html": [
+ "70640ef0b29da555f70585eb5b6042ede9a47b0c",
+ "reftest"
+ ],
+ "css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html": [
+ "07132579621deb3c10650ab5172fdd5e24ec6076",
+ "reftest"
+ ],
"css/css-layout-api/computed-style-layout-function.https.html": [
"d115009c6ca43dc5b2d72934cfe3cf3dbe5af626",
"testharness"
@@ -546945,38 +547265,6 @@
"40513f0acf39d25c759330b6c0e3bfc8648741cf",
"reftest"
],
- "css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html": [
- "bfe8a99e7fee7f270bc8e9f2cbed6f06924c4bea",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html": [
- "602536c581450f1cb9a96465f424c3065e59760c",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html": [
- "4759c1b69d0f259f06a335c04d6ee028ad94097c",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html": [
- "7bfa44db67b819307f0dff4d9f86e2350068161a",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [
- "43dd483b3f9f9938a8ecbb62d9a02918f5ada3ec",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [
- "c714e1ff9754dd48ece9ea17aeece8349cab19c8",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [
- "ba86d2c184d3300d1a39cfd419b113bcbd188f1a",
- "reftest"
- ],
- "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [
- "a2a422bd6110ba8d4dc300882117e220ba5b8599",
- "reftest"
- ],
"css/css-layout-api/position-fragment-htb-ltr.https.html": [
"b09cb7067d5630d7398cdf9e583b01581df1b910",
"reftest"
@@ -547034,7 +547322,7 @@
"support"
],
"css/css-layout-api/support/layout-child-sizes-worklet.js": [
- "7531f69b1b6224047f26a93af09cd22f9190b4bf",
+ "28546d6e422d42c134f32d78282b5cd20597a85f",
"support"
],
"css/css-layout-api/support/layout-child-worklet.js": [
@@ -550506,7 +550794,7 @@
"testharness"
],
"css/css-properties-values-api/registered-properties-inheritance.html": [
- "057cd8ca7e1290513f77cc9b80856bf4c4faa773",
+ "8f9eafee19e5c2500811f05723902808a27760df",
"testharness"
],
"css/css-properties-values-api/registered-property-computation.html": [
@@ -557002,75 +557290,75 @@
"reftest"
],
"css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html": [
- "6d8fbf9ca067502f3c13cbfeb0005ae8ebae1ba5",
+ "cf7c5a44415f3514598bbf386ac6fadebd63a2c5",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html": [
- "38f8e733957fa80282b387c9f9ae587bc52d77e9",
+ "7c701c8546d3d057d9fdf65c12bd4a43ac68dc64",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html": [
- "37df9b50cd2d26e4a0d8d2e8b3a077cdb95da9bd",
+ "9fe18046fcd897eb3c7acd66785e9d8afea7075c",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html": [
- "fb933ab51bca39bc73e156e77e77f626efc0c250",
+ "6120e62cc9b39b0197b171b51b6e45937f5a1684",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html": [
- "4fb208b7a343c5bb49c458a829e2f65720d2e337",
+ "1e1d4bb683b5c87d609418640d6bd000f2545d9c",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html": [
- "6a84bdd48b085fa21cc67e312a231edc37b426d7",
+ "ddf3c2cc9609e650a5f3816a61a5eb6acd71633d",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html": [
- "a8b73b5e0a770e9c3ff958135c181dbaf229c971",
+ "647bfc8a675942d299647c32e3730fe61d2afa33",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html": [
- "fd69a1ba2be6add6958193e95f3929d5f097c159",
+ "5e22458f9351669b38d90632f475ca25682db2bb",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html": [
- "cd30e0e61451696a1304e7868454d8c48f9f172e",
+ "3db8bb8804daade32849334e21cea38e758671fa",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html": [
- "580862e0ad99610c0afc303c2a646820bd0ce0f4",
+ "09c5758d79aa386817ac2e7e6c7a162399f8790d",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html": [
- "49f401a27415d5761d905ca2f876b4abf1ac5644",
+ "8bf3aa9016d1f213f340a5c4a7fa0a09a8b6ea7d",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html": [
- "499609c846c86aca09191788095c57bb2b3899b3",
+ "3c14e183d84bc048954a9474b07aae01e87f12b9",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html": [
- "94012593a4b57702d0312800ad8d1aa0250dd959",
+ "dbf77a0f806410c8d6fb95c3ce260a57c5716a21",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html": [
- "b65c7da78a84a60708c3081a5e0075aa095c53d6",
+ "ecdcdc31733b3b765fbb087a5c22c1dfde98531a",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html": [
- "1c022f71e288c07be3d24a137bfa86719cb80e58",
+ "3b2a2ee9eb19b49c17c3ead23cdae9d84ef36961",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html": [
- "0ffed1f18dd9fbcb3b0b5a8b7e39494fd912fa18",
+ "795cb0230b6eaed306a621a7b9ef7c2cb626a04f",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html": [
- "ce3a30f1cb6a39e1fe868c0916e308cab409a94d",
+ "7c591eb936a13a8a4de8a83ec5d40fe07de183b2",
"testharness"
],
"css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html": [
- "95ffcf794127f77dcc5a68782fdbc2b3c758197d",
+ "c41ea732a8919954ebd77fe76c883f9e6379f08e",
"testharness"
],
"css/css-text/i18n/reference/css3-text-line-break-opclns-001-ref.html": [
@@ -557790,63 +558078,63 @@
"support"
],
"css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html": [
- "f3eb0442e9d7e6c5734934c7f95c03aec7c564aa",
+ "b9f81eeecf5b0341da049f6f1b0eabec29b4f601",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html": [
- "9511727e9818e5f8fb29416c44ec25add0260d8a",
+ "7d2af701422cad0e054aead632ae24c2dae9ffe9",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html": [
- "d1cd8bf9017ebafaaac29ec625010b1def1aa178",
+ "069212e628e376276159795c1da4335c76e6f141",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html": [
- "b897e9b671e2deb456934b7610309a67bd44e1d6",
+ "70ebdc0898b19e8af303f2a7c3769f8305946ca6",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html": [
- "30be2668fea55a538fa4decf418f4dd67209d748",
+ "8fd631efb3f2dcad9a44fbef8fb722a27dc1cd25",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html": [
- "f3278c3f26f72518c1771ea2275e7a85a3be10dc",
+ "91f261018b174d352a50829cc9e830201893d660",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html": [
- "b137a7344e35a0da6b1094e07d9ec52ffe28dd5a",
+ "4f163719ae7ef7d95d360c68db9e84da660bef5b",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html": [
- "d5fb7c99ffd57ea4457a74444a4a3b7ae91b2ea0",
+ "bb0df2e8fc1dea46c97f7c76bcaab59631374b5c",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html": [
- "fa47a89381700fa0d3fba38f5336cdc608bb170f",
+ "965d5133fab10083f6772502f7e4b7855dedfa07",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html": [
- "4c802ca8cd677dddd1853d9bfb883633ccfe95f9",
+ "72c476cdce7db0d2e97cdb4a6c38ccf53590bf64",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html": [
- "d45c7849468350cef5c07609d2619ba372f31328",
+ "92ac2e020911c3d6dc2b9a9df6c7816e07d46521",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html": [
- "0c29ec0705c237d55b7a6c5c897e4b86fe2f6f25",
+ "22ac4baf03bf59f9f0a4623bcd83a004a33f1db9",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html": [
- "ab3c66a4194db1973b75f57eb79588d8af9bbad5",
+ "0e0280505fa2219b6c0ac7a1e0ef0838e72cc228",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html": [
- "7144f4f810c891826832149b6e5a27ed7619216f",
+ "490e4067a4042b81304d8b6c4925da7371142762",
"testharness"
],
"css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html": [
- "d1cf5151391222130a7e9781bb172c5ddca12127",
+ "ec44c093a32decdc7bd39b77d7409fff36b62f4b",
"testharness"
],
"css/css-text/letter-spacing/letter-spacing-control-chars-001.html": [
@@ -561441,6 +561729,14 @@
"752888eaf76630ae9835dd444c4941793ecf53cc",
"reftest"
],
+ "css/css-transforms/preserve3d-button-ref.html": [
+ "e5e3c1ebfcdd7c832a211d17ac2f1ed6f4116252",
+ "support"
+ ],
+ "css/css-transforms/preserve3d-button.html": [
+ "544bb2496638a52915f7c97a238ccb053b4e884e",
+ "reftest"
+ ],
"css/css-transforms/reference/backface-visibility-hidden-ref.html": [
"6a3e305e5c0c7fca6c8d53574b7a09eb21afb6cc",
"support"
@@ -577469,6 +577765,10 @@
"70343cb42530147fe08575c7cd69912be8944213",
"testharness"
],
+ "css/cssom-view/scrollIntoView-svg-shape.html": [
+ "7af5de5ff8aceb96867815354571314afd4cb07c",
+ "testharness"
+ ],
"css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html": [
"4d67b4de3d4c754259213976aa8401bf13408a68",
"testharness"
@@ -578805,6 +579105,18 @@
"3d8118b387d938b588e8e88ad5ec87a5343e4f72",
"reftest"
],
+ "css/filter-effects/svg-unknown-input-001.html": [
+ "7789f2a9af4f1492fa6db36b53a72ada151f61d5",
+ "reftest"
+ ],
+ "css/filter-effects/svg-unknown-input-002.html": [
+ "cb07b654045836b12d22d97e6ffc6c0ae2250138",
+ "reftest"
+ ],
+ "css/filter-effects/svg-unknown-input-ref.html": [
+ "1fff2a6175cfe1956ff2c451aece45ec73345d81",
+ "support"
+ ],
"css/geometry/DOMMatrix-001.html": [
"a8a357bff606925aaa95dce6c4642b81bd8c88ea",
"testharness"
@@ -590934,7 +591246,7 @@
"support"
],
"docs/_writing-tests/testdriver-tutorial.md": [
- "7bf9e9aa9e6c6c7a8c057c9dbe4151194ca3edd0",
+ "33c4fe31a40da2464b934e09ca711089d1f917aa",
"support"
],
"docs/_writing-tests/testdriver.md": [
@@ -602486,7 +602798,7 @@
"testharness"
],
"html/dom/interfaces.https.html": [
- "6b7e37bf1fe25e21919c89e700d2c4078b7c9880",
+ "15cee69f64ecef6d17bf2a92580e20462beff952",
"testharness"
],
"html/dom/interfaces.worker.js": [
@@ -617786,7 +618098,7 @@
"support"
],
"interfaces/CSP.idl": [
- "64cba00e956ea1774b0d0342d23ee79b0890430e",
+ "46fae543cb2d96dfdc0ee03d0470c53464564a80",
"support"
],
"interfaces/CSS-Parser-API.idl": [
@@ -617826,7 +618138,7 @@
"support"
],
"interfaces/SVG.idl": [
- "01d87b862b4167f79c43ed1b91ef772f5a78f5fe",
+ "4c1c4855f27af4a330565703277f7081c2860c86",
"support"
],
"interfaces/WebCryptoAPI.idl": [
@@ -618134,11 +618446,11 @@
"support"
],
"interfaces/payment-method-basic-card.idl": [
- "00d6ad1f0a28decdc867023d13f72c45b7d1778f",
+ "2019aa1166935b9bf8f1ad3a5d62183d18b0a682",
"support"
],
"interfaces/payment-request.idl": [
- "e3afbd47db3b4d2c85a1e53599862b2cb273f828",
+ "d930b57291e5301e4056d30192726023e9306512",
"support"
],
"interfaces/performance-timeline.idl": [
@@ -618150,7 +618462,7 @@
"support"
],
"interfaces/picture-in-picture.idl": [
- "dd379c8c0a07b8120895b0be917b246892b6e87b",
+ "c7bc249dffceac3b3c8eebe332a0940a547dec31",
"support"
],
"interfaces/pointerevents-extension.idl": [
@@ -618290,7 +618602,7 @@
"support"
],
"interfaces/webaudio.idl": [
- "14bb62b8aaaf97b65515c0101711e3d4a249170b",
+ "4f1914dbae23a5619b72b92b761bd146d1aaacf9",
"support"
],
"interfaces/webauthn.idl": [
@@ -618318,7 +618630,7 @@
"support"
],
"interfaces/webrtc-stats.idl": [
- "4df720a0fc183389be33d4c3fa7089e70e9e1543",
+ "b2bf38e9fd45f81598bbdef1daef789cbdd75977",
"support"
],
"interfaces/webrtc.idl": [
@@ -629970,7 +630282,7 @@
"support"
],
"payment-handler/basic-card.js": [
- "86fcea711c5cea4a726aded727b40fda7cacb770",
+ "c78f24b017f739eb202cc235aa37ae4a4f805472",
"support"
],
"payment-handler/basic-card.json": [
@@ -630030,7 +630342,7 @@
"testharness"
],
"payment-handler/payment-request-event.https.html": [
- "4e9cc21a1e52159e3446097b47f3dde730d373e4",
+ "fb51c2eeb54ae695272598e03e78a66bde7d41b2",
"testharness"
],
"payment-handler/register-and-activate-service-worker.js": [
@@ -630054,7 +630366,7 @@
"support"
],
"payment-method-basic-card/empty-data-manual.https.html": [
- "898da6a2d41bb43c3b75f34eabcf69020fb6936b",
+ "4b517159df49d97f459cabd0dc6599fbb4860e0d",
"manual"
],
"payment-method-basic-card/idlharness.window.js": [
@@ -630090,7 +630402,7 @@
"testharness"
],
"payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html": [
- "65d56e7490111f6fc9e91f4470379fc89ae42972",
+ "edde533be6b2e49415b81ae4df167139117a0d7c",
"manual"
],
"payment-request/PaymentItem/type_member.https.html": [
@@ -630146,7 +630458,7 @@
"manual"
],
"payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html": [
- "cdc8d353a9b458b123dd2598ed34553a30dc4f23",
+ "356f30da6b54bef4136a2b3a806313bf4bb1f766",
"manual"
],
"payment-request/algorithms-manual.https.html": [
@@ -630210,7 +630522,7 @@
"manual"
],
"payment-request/historical.https.html": [
- "b7880a2dee880d5274fe9c8f0162d093e4051857",
+ "cbd29d4cff8698365c05acfe75504de5ec7e1aec",
"testharness"
],
"payment-request/idlharness.https.window.js": [
@@ -630478,7 +630790,7 @@
"testharness"
],
"picture-in-picture/enter-picture-in-picture.html": [
- "fc109e4f5a49634062c913a6226dfb963fcd23a5",
+ "9df2bfabcf272a25a6f5177c128e095f8b970427",
"testharness"
],
"picture-in-picture/exit-picture-in-picture.html": [
@@ -639610,19 +639922,23 @@
"testharness"
],
"resource-timing/resource_TAO_match_origin.htm": [
- "3ab239e90bbf56aa1f4288e880c42466deef47c2",
+ "4793dbf91d65f823885cdf38fcab90f83da0cf7a",
"testharness"
],
"resource-timing/resource_TAO_match_wildcard.htm": [
- "8b07b46672e6077f6d4d0c045c4f09be70c8c15f",
+ "fe812f86774443cc40fc0abf40418fa95fda4763",
"testharness"
],
"resource-timing/resource_TAO_multi.htm": [
- "3b6c2e6b267b7114f7f90e32f396b5b69a0f64af",
+ "bb774abc6021a4abd041076afeee3e9d38acc7e0",
+ "testharness"
+ ],
+ "resource-timing/resource_TAO_multi_wildcard.html": [
+ "844896087d45a45369243ce80987876970f40620",
"testharness"
],
"resource-timing/resource_TAO_null.htm": [
- "419de693e1f99370da4cae6ff826ae3807fe3e7a",
+ "1a86e09c56753f0bb4319637a601b0acb09ac62e",
"testharness"
],
"resource-timing/resource_TAO_origin.htm": [
@@ -639630,15 +639946,15 @@
"testharness"
],
"resource-timing/resource_TAO_origin_uppercase.htm": [
- "0b42166c0ee844da6fa3d52e803c59dfa4d6f464",
+ "1a03c71410643866b9073db5d7b4c3402ea47fec",
"testharness"
],
"resource-timing/resource_TAO_space.htm": [
- "f3cbdc62c016fc48a770e1b71a644e176dfdd374",
+ "9efefe15a4f1d43d2b0f16e9636759338a4c2afc",
"testharness"
],
"resource-timing/resource_TAO_wildcard.htm": [
- "407c642d9d461d5a039cc722368a3e328c2387aa",
+ "df278534cc49d46bad7967084b011cf6e93e3876",
"testharness"
],
"resource-timing/resource_TAO_zero.htm": [
@@ -639730,7 +640046,7 @@
"testharness"
],
"resource-timing/resources/TAOResponse.py": [
- "dcd75a415457333cf6188330115d021f0d7c31c9",
+ "060f9b0c9a7dcd12473a10561de9c80a63694328",
"support"
],
"resource-timing/resources/all_resource_types.htm": [
@@ -639789,6 +640105,10 @@
"0696dbe3e502def905cece7cdd5599decb3ad9dc",
"support"
],
+ "resource-timing/resources/iframe_TAO_multi_wildcard.html": [
+ "977df01007d56d85d4c4726c4c501d7e2c21387c",
+ "support"
+ ],
"resource-timing/resources/iframe_TAO_null.html": [
"7d47a2076f87dfa5e787e3d4072b3a513330e524",
"support"
@@ -640034,7 +640354,7 @@
"support"
],
"resources/idlharness.js": [
- "746f3e65503fe8587e6f7d01e593cbdccd7ab425",
+ "00c59eda8adfeb8a1b5b8ab1ef60186517161ea4",
"support"
],
"resources/idlharness.js.headers": [
@@ -642922,7 +643242,7 @@
"testharness"
],
"service-workers/service-worker/fetch-request-xhr-sync.https.html": [
- "f1e4fecc1b35ba18b89c5710de5efd9f6c1183c0",
+ "ec27fb898343e70ab24486983212ef6b5744cf16",
"testharness"
],
"service-workers/service-worker/fetch-request-xhr.https.html": [
@@ -642986,7 +643306,7 @@
"testharness"
],
"service-workers/service-worker/interfaces-window.https.html": [
- "85d7f6467ee98905b127a075d4e2a2d331395e79",
+ "2c131b3c93a600c65abd5d6193343262126e808f",
"testharness"
],
"service-workers/service-worker/invalid-blobtype.https.html": [
@@ -643170,7 +643490,7 @@
"testharness"
],
"service-workers/service-worker/onactivate-script-error.https.html": [
- "6c16357f3cc5aba181ee0798ac9fadc2388c3f3a",
+ "f5e80bb9a456bc57f2a821e1fd69114e6ae8638a",
"testharness"
],
"service-workers/service-worker/oninstall-script-error.https.html": [
@@ -643202,7 +643522,7 @@
"testharness"
],
"service-workers/service-worker/postmessage.https.html": [
- "3d73afe9796114f42e614292ef4b180dd78cdee5",
+ "b1f3342a8c14e707097bf6c90e5f4fee5fd19a4a",
"testharness"
],
"service-workers/service-worker/ready.https.html": [
@@ -643274,7 +643594,7 @@
"testharness"
],
"service-workers/service-worker/registration-service-worker-attributes.https.html": [
- "8fd566dadc62a78ef0836bbc63000473f884d7c7",
+ "f7b52d5ddced18613ca225386bb57f28b9bacd62",
"testharness"
],
"service-workers/service-worker/registration-updateviacache.https.html": [
@@ -644398,7 +644718,7 @@
"support"
],
"service-workers/service-worker/resources/worker-testharness.js": [
- "fdf5868e33e2fe35344818ec3f1a2e068b90996d",
+ "73e97be1eaa44bbe96f8801e0c76c37772ac7d1f",
"support"
],
"service-workers/service-worker/resources/worker_interception_redirect_webworker.py": [
@@ -644450,7 +644770,7 @@
"testharness"
],
"service-workers/service-worker/skip-waiting-using-registration.https.html": [
- "a9c398a260676d976f0aac0ca495aa1a6c94e631",
+ "67838acff46698576936fb33b22c594cb3cd10d0",
"testharness"
],
"service-workers/service-worker/skip-waiting-without-client.https.html": [
@@ -644458,7 +644778,7 @@
"testharness"
],
"service-workers/service-worker/skip-waiting-without-using-registration.https.html": [
- "dbe2bde78d3c0b4bd68967188d668c455714121f",
+ "705fe8355e125c99c04abd7dfb899d8536ed6851",
"testharness"
],
"service-workers/service-worker/skip-waiting.https.html": [
@@ -644474,7 +644794,7 @@
"reftest"
],
"service-workers/service-worker/synced-state.https.html": [
- "c4a9b6655cb0660a78a27c523591c4953d3b77a9",
+ "0e9f63a9a2e528e7ffb8f9913edffc8e0294ad98",
"testharness"
],
"service-workers/service-worker/uncontrolled-page.https.html": [
@@ -644889,6 +645209,10 @@
"b571534eb0d6f3f57cfbec3e706648b19848b6d6",
"testharness"
],
+ "shadow-dom/input-type-radio.html": [
+ "9c90fcf0603222785aa81990fb2b09511ff6ba86",
+ "testharness"
+ ],
"shadow-dom/layout-slot-no-longer-assigned.html": [
"dfcac99da023ec2bbd94835f71efaef952a62341",
"reftest"
@@ -655186,7 +655510,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/executormarionette.py": [
- "70054b57294f8ae50ceda10f95efebbebec34538",
+ "8aea59cc8f6ceb9adc57ca42a91cefea6f321b5c",
"support"
],
"tools/wptrunner/wptrunner/executors/executoropera.py": [
@@ -655222,7 +655546,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/protocol.py": [
- "71fc3c9a8f651913e53266f181ef2161ac91c97e",
+ "f8292ff5ec118b8f3d80da96bcd07586bedba45a",
"support"
],
"tools/wptrunner/wptrunner/executors/pytestrunner/__init__.py": [
@@ -655322,7 +655646,7 @@
"support"
],
"tools/wptrunner/wptrunner/testrunner.py": [
- "90f7e4615e078840f9804f791422f9f2f3464a72",
+ "7e386b881d4c83a93d2543b7e5b9afd01623a5bc",
"support"
],
"tools/wptrunner/wptrunner/tests/__init__.py": [
@@ -655406,7 +655730,7 @@
"support"
],
"tools/wptrunner/wptrunner/wptcommandline.py": [
- "0075ad9096201a04c5342ad92aab59ab8dcf434e",
+ "d25e561ad195ef3de91a42871820ad372269f016",
"support"
],
"tools/wptrunner/wptrunner/wptlogging.py": [
@@ -657986,7 +658310,7 @@
"testharness"
],
"wasm/jsapi/constructor/instantiate.any.js": [
- "e90f21e28ebf478c7af7d40c8744fba9e5f48720",
+ "5da6bd58dfc3463bdead679143566cfaeb8bf281",
"testharness"
],
"wasm/jsapi/constructor/validate.any.js": [
@@ -658014,7 +658338,7 @@
"testharness"
],
"wasm/jsapi/instance/constructor.any.js": [
- "f9bd06ac8e95e0f4dc2ce96560529fad9bf2095b",
+ "e6a0450202e94baa82eb4797fed6a7c248ed00a7",
"testharness"
],
"wasm/jsapi/instance/exports.any.js": [
@@ -658025,8 +658349,12 @@
"08dcb14a50d04f6db196626ddb93f2b50da8f055",
"testharness"
],
+ "wasm/jsapi/instanceTestFactory.js": [
+ "1663ffb34699b7b9ebed6bb6aced99b84da0b4d4",
+ "support"
+ ],
"wasm/jsapi/interface.any.js": [
- "5d76ac56ec5fafde8dde3924df863a2694bd6691",
+ "98c4a1d781b7d77709a7f1df5adb3c756648fbd3",
"testharness"
],
"wasm/jsapi/memory/buffer.any.js": [
@@ -658034,7 +658362,7 @@
"testharness"
],
"wasm/jsapi/memory/constructor.any.js": [
- "f9907ca6104d8ec76861e43b6b981042d86fb865",
+ "5caf7cc8bb98eb4f47766011d31e7bde5c126edd",
"testharness"
],
"wasm/jsapi/memory/grow.any.js": [
@@ -658066,7 +658394,7 @@
"testharness"
],
"wasm/jsapi/table/assertions.js": [
- "dde2fd770904207a1f9f287fa48d82954a418f2e",
+ "c88972b4ebdcd760b2a441835c2c9eb31dabfea8",
"support"
],
"wasm/jsapi/table/constructor.any.js": [
@@ -658074,7 +658402,7 @@
"testharness"
],
"wasm/jsapi/table/get-set.any.js": [
- "2bb43a9308d732b5b6fa689c181ac411880c3733",
+ "66c41340c2096602c81c1ef3ae8acbfb9f75d98f",
"testharness"
],
"wasm/jsapi/table/grow.any.js": [
@@ -659861,12 +660189,8 @@
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
],
- "webdriver/tests/actions/bounds.py": [
- "e218c851e75220cea0c296461dad1d8427619afb",
- "wdspec"
- ],
"webdriver/tests/actions/conftest.py": [
- "47aad72ba05d4e0c7afe989030c91c7824cb0b07",
+ "55cecd117828e525ac5712176f6f31787b301226",
"support"
],
"webdriver/tests/actions/control_click.py": [
@@ -659897,6 +660221,10 @@
"ad179673176b9d8ae90837c7cf09d33c75780a75",
"wdspec"
],
+ "webdriver/tests/actions/none.py": [
+ "07944a68ffeedfdbd5adac44244f6435b5c5c6cb",
+ "wdspec"
+ ],
"webdriver/tests/actions/pointer_origin.py": [
"cad59f0a13b1f584ea45226f061be0038b9de220",
"wdspec"
@@ -659929,6 +660257,10 @@
"6f844cd255a075d31caf1c19957af3d6ac833778",
"support"
],
+ "webdriver/tests/actions/validity.py": [
+ "ce8a0d60f7df192e21c6abbad1871bb0ac8f5f78",
+ "wdspec"
+ ],
"webdriver/tests/add_cookie/__init__.py": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
diff --git a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
index b07393a05bc..decfd130b16 100644
--- a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
@@ -71,3 +71,6 @@
[bottom intermediate]
expected: FAIL
+ [outline-width end]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/scrollIntoView-svg-shape.html.ini b/tests/wpt/metadata/css/cssom-view/scrollIntoView-svg-shape.html.ini
new file mode 100644
index 00000000000..d4a6f6b40d1
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/scrollIntoView-svg-shape.html.ini
@@ -0,0 +1,10 @@
+[scrollIntoView-svg-shape.html]
+ [scrollIntoView on an SVG shape element, rotated]
+ expected: FAIL
+
+ [scrollIntoView on an SVG shape element, geometry]
+ expected: FAIL
+
+ [scrollIntoView on an SVG shape element, translated]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini
index 3951cd266d5..0d630fb814a 100644
--- a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini
+++ b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini
@@ -1,4 +1,5 @@
[fetch-in-iframe.html]
+ expected: CRASH
[Untitled]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
index 51f8272a6de..dc2e45516de 100644
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -1,4 +1,4 @@
-[traverse_the_history_3.html]
+[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL
diff --git a/tests/wpt/metadata/html/dom/interfaces.https.html.ini b/tests/wpt/metadata/html/dom/interfaces.https.html.ini
index b0badc65a3a..0074b8bf854 100644
--- a/tests/wpt/metadata/html/dom/interfaces.https.html.ini
+++ b/tests/wpt/metadata/html/dom/interfaces.https.html.ini
@@ -6004,12 +6004,6 @@
[Window interface: operation blur()]
expected: FAIL
- [Window interface: attribute opener]
- expected: FAIL
-
- [Window interface: operation open(USVString, DOMString, DOMString)]
- expected: FAIL
-
[Window interface: attribute applicationCache]
expected: FAIL
@@ -6079,18 +6073,9 @@
[Window interface: window must inherit property "frames" with the proper type]
expected: FAIL
- [Window interface: window must inherit property "opener" with the proper type]
- expected: FAIL
-
[Window interface: window must inherit property "parent" with the proper type]
expected: FAIL
- [Window interface: window must inherit property "open(USVString, DOMString, DOMString)" with the proper type]
- expected: FAIL
-
- [Window interface: calling open(USVString, DOMString, DOMString) on window with too few arguments must throw TypeError]
- expected: FAIL
-
[Window interface: window must inherit property "applicationCache" with the proper type]
expected: FAIL
@@ -6139,15 +6124,6 @@
[html interfaces]
expected: FAIL
- [Partial interface Document[2\]: original interface defined]
- expected: FAIL
-
- [Partial interface Document: original interface defined]
- expected: FAIL
-
- [idl_test setup]
- expected: FAIL
-
[interfaces.https.html?include=HTML.*]
[HTML IDL tests]
@@ -6531,9 +6507,6 @@
[HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type]
expected: FAIL
- [HTMLImageElement interface: attribute srcset]
- expected: FAIL
-
[HTMLImageElement interface: attribute sizes]
expected: FAIL
@@ -6546,9 +6519,6 @@
[HTMLImageElement interface: attribute lowsrc]
expected: FAIL
- [HTMLImageElement interface: document.createElement("img") must inherit property "srcset" with the proper type]
- expected: FAIL
-
[HTMLImageElement interface: document.createElement("img") must inherit property "sizes" with the proper type]
expected: FAIL
@@ -6561,9 +6531,6 @@
[HTMLImageElement interface: document.createElement("img") must inherit property "lowsrc" with the proper type]
expected: FAIL
- [HTMLImageElement interface: new Image() must inherit property "srcset" with the proper type]
- expected: FAIL
-
[HTMLImageElement interface: new Image() must inherit property "sizes" with the proper type]
expected: FAIL
@@ -9774,15 +9741,6 @@
[html interfaces]
expected: FAIL
- [Partial interface Document[2\]: original interface defined]
- expected: FAIL
-
- [Partial interface Document: original interface defined]
- expected: FAIL
-
- [idl_test setup]
- expected: FAIL
-
[interfaces.https.html?exclude=(Document|Window|HTML.*)]
[HTML IDL tests]
@@ -11417,12 +11375,216 @@
[html interfaces]
expected: FAIL
- [Partial interface Document[2\]: original interface defined]
+ [TextMetrics interface: operation getBaselines()]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmouseout]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondrop]
+ expected: FAIL
+
+ [SVGElement interface: attribute onreset]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncontextmenu]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondragend]
+ expected: FAIL
+
+ [SVGElement interface: attribute onauxclick]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondragleave]
+ expected: FAIL
+
+ [SVGElement interface: attribute onblur]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmousemove]
+ expected: FAIL
+
+ [SVGElement interface: attribute onended]
+ expected: FAIL
+
+ [SVGElement interface: operation blur()]
+ expected: FAIL
+
+ [SVGElement interface: attribute onchange]
+ expected: FAIL
+
+ [SVGElement interface: attribute tabIndex]
+ expected: FAIL
+
+ [SVGElement interface: attribute onclose]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncancel]
+ expected: FAIL
+
+ [SVGElement interface: attribute onabort]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncopy]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncanplaythrough]
+ expected: FAIL
+
+ [SVGElement interface: attribute onplaying]
+ expected: FAIL
+
+ [SVGElement interface: attribute onclick]
+ expected: FAIL
+
+ [SVGElement interface: attribute onloadstart]
+ expected: FAIL
+
+ [SVGElement interface: attribute onsecuritypolicyviolation]
+ expected: FAIL
+
+ [SVGElement interface: attribute ontoggle]
+ expected: FAIL
+
+ [SVGElement interface: attribute onload]
+ expected: FAIL
+
+ [SVGElement interface: attribute onprogress]
+ expected: FAIL
+
+ [SVGElement interface: attribute onplay]
+ expected: FAIL
+
+ [SVGElement interface: attribute onsuspend]
+ expected: FAIL
+
+ [SVGElement interface: attribute onwheel]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmouseup]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncanplay]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmouseleave]
+ expected: FAIL
+
+ [SVGElement interface: attribute onwaiting]
+ expected: FAIL
+
+ [SVGElement interface: attribute onseeked]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmouseenter]
+ expected: FAIL
+
+ [SVGElement interface: attribute onstalled]
+ expected: FAIL
+
+ [SVGElement interface: attribute onscroll]
+ expected: FAIL
+
+ [SVGElement interface: attribute onloadedmetadata]
+ expected: FAIL
+
+ [SVGElement interface: attribute onsubmit]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondragenter]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncut]
+ expected: FAIL
+
+ [SVGElement interface: attribute onratechange]
+ expected: FAIL
+
+ [SVGElement interface: attribute oninput]
+ expected: FAIL
+
+ [SVGElement interface: attribute onpaste]
+ expected: FAIL
+
+ [SVGElement interface: attribute onselect]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondragexit]
+ expected: FAIL
+
+ [SVGElement interface: attribute onkeydown]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondurationchange]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondragstart]
+ expected: FAIL
+
+ [SVGElement interface: attribute onloadend]
+ expected: FAIL
+
+ [SVGElement interface: operation focus(FocusOptions)]
+ expected: FAIL
+
+ [SVGElement interface: attribute onfocus]
+ expected: FAIL
+
+ [SVGElement interface: attribute onresize]
+ expected: FAIL
+
+ [SVGElement interface: attribute onerror]
+ expected: FAIL
+
+ [SVGElement interface: attribute dataset]
+ expected: FAIL
+
+ [SVGElement interface: attribute onpause]
+ expected: FAIL
+
+ [SVGElement interface: attribute ontimeupdate]
+ expected: FAIL
+
+ [SVGElement interface: attribute onemptied]
+ expected: FAIL
+
+ [SVGElement interface: attribute onvolumechange]
+ expected: FAIL
+
+ [SVGElement interface: attribute oninvalid]
+ expected: FAIL
+
+ [SVGElement interface: attribute oncuechange]
+ expected: FAIL
+
+ [SVGElement interface: attribute onseeking]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmouseover]
+ expected: FAIL
+
+ [SVGElement interface: attribute onloadeddata]
+ expected: FAIL
+
+ [SVGElement interface: attribute onkeypress]
+ expected: FAIL
+
+ [SVGElement interface: attribute onmousedown]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondragover]
+ expected: FAIL
+
+ [SVGElement interface: attribute ondblclick]
+ expected: FAIL
+
+ [SVGElement interface: attribute nonce]
expected: FAIL
- [Partial interface Document: original interface defined]
+ [SVGElement interface: attribute onkeyup]
expected: FAIL
- [idl_test setup]
+ [SVGElement interface: attribute ondrag]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
new file mode 100644
index 00000000000..9e522297c94
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
@@ -0,0 +1,7 @@
+[toggleEvent.html]
+ [Calling open twice on 'details' fires only one toggle event]
+ expected: FAIL
+
+ [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini b/tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini
new file mode 100644
index 00000000000..818a429ed39
--- /dev/null
+++ b/tests/wpt/metadata/quirks/unitless-length/no-quirks.html.ini
@@ -0,0 +1,283 @@
+[no-quirks.html]
+ [top: -\\31 .5]
+ expected: FAIL
+
+ [bottom: -1A]
+ expected: FAIL
+
+ [bottom: -1a]
+ expected: FAIL
+
+ [top: @1]
+ expected: FAIL
+
+ [top: "1a"]
+ expected: FAIL
+
+ [top: @a]
+ expected: FAIL
+
+ [bottom: "1"]
+ expected: FAIL
+
+ [bottom: -/**/1]
+ expected: FAIL
+
+ [top: +/**/1]
+ expected: FAIL
+
+ [bottom: @1a]
+ expected: FAIL
+
+ [top: 1\\31 ]
+ expected: FAIL
+
+ [top: url('1')]
+ expected: FAIL
+
+ [bottom: -\\31 ]
+ expected: FAIL
+
+ [top: calc(1)]
+ expected: FAIL
+
+ [top: \\31 ]
+ expected: FAIL
+
+ [bottom: +1\\31 ]
+ expected: FAIL
+
+ [bottom: 1\\31 .5]
+ expected: FAIL
+
+ [bottom: #0001]
+ expected: FAIL
+
+ [top: calc(2 * 2px)]
+ expected: FAIL
+
+ [bottom: 1a]
+ expected: FAIL
+
+ [bottom: A]
+ expected: FAIL
+
+ [bottom: #01]
+ expected: FAIL
+
+ [top: +\\31 .5]
+ expected: FAIL
+
+ [bottom: #1]
+ expected: FAIL
+
+ [top: -/**/1]
+ expected: FAIL
+
+ [bottom: +\\31 .5]
+ expected: FAIL
+
+ [bottom: \\31 ]
+ expected: FAIL
+
+ [bottom: calc(1)]
+ expected: FAIL
+
+ [top: #001]
+ expected: FAIL
+
+ [top: +\\31 ]
+ expected: FAIL
+
+ [bottom: +\\31 ]
+ expected: FAIL
+
+ [top: +1.5]
+ expected: FAIL
+
+ [top: +1\\31 ]
+ expected: FAIL
+
+ [bottom: @a]
+ expected: FAIL
+
+ [bottom: @1]
+ expected: FAIL
+
+ [top: #1]
+ expected: FAIL
+
+ [top: 1a]
+ expected: FAIL
+
+ [bottom: +1a]
+ expected: FAIL
+
+ [bottom: +1A]
+ expected: FAIL
+
+ [bottom: "a"]
+ expected: FAIL
+
+ [top: #00001]
+ expected: FAIL
+
+ [bottom: -1\\31 .5]
+ expected: FAIL
+
+ [top: "1"]
+ expected: FAIL
+
+ [bottom: 1.5]
+ expected: FAIL
+
+ [bottom: -\\31 .5]
+ expected: FAIL
+
+ [bottom: url('1')]
+ expected: FAIL
+
+ [bottom: -1.5]
+ expected: FAIL
+
+ [top: \\31 .5]
+ expected: FAIL
+
+ [bottom: "1a"]
+ expected: FAIL
+
+ [bottom: calc(2 * 2px)]
+ expected: FAIL
+
+ [bottom: +1\\31 .5]
+ expected: FAIL
+
+ [bottom: 1\\31 ]
+ expected: FAIL
+
+ [bottom: +/**/1]
+ expected: FAIL
+
+ [bottom: #00001]
+ expected: FAIL
+
+ [top: url(1)]
+ expected: FAIL
+
+ [bottom: #001]
+ expected: FAIL
+
+ [top: +1\\31 .5]
+ expected: FAIL
+
+ [top: -1a]
+ expected: FAIL
+
+ [top: -1A]
+ expected: FAIL
+
+ [bottom: url(1)]
+ expected: FAIL
+
+ [top: a]
+ expected: FAIL
+
+ [top: A]
+ expected: FAIL
+
+ [top: #000001]
+ expected: FAIL
+
+ [top: 1]
+ expected: FAIL
+
+ [top: 1\\31 .5]
+ expected: FAIL
+
+ [bottom: a]
+ expected: FAIL
+
+ [bottom: 1]
+ expected: FAIL
+
+ [bottom: +1]
+ expected: FAIL
+
+ [bottom: #000001]
+ expected: FAIL
+
+ [bottom: +a]
+ expected: FAIL
+
+ [bottom: +A]
+ expected: FAIL
+
+ [top: 1.5]
+ expected: FAIL
+
+ [top: +A]
+ expected: FAIL
+
+ [top: +a]
+ expected: FAIL
+
+ [top: +1]
+ expected: FAIL
+
+ [top: -1.5]
+ expected: FAIL
+
+ [top: -1\\31 .5]
+ expected: FAIL
+
+ [top: +1a]
+ expected: FAIL
+
+ [top: +1A]
+ expected: FAIL
+
+ [top: @1a]
+ expected: FAIL
+
+ [bottom: \\31 .5]
+ expected: FAIL
+
+ [top: "a"]
+ expected: FAIL
+
+ [top: #01]
+ expected: FAIL
+
+ [bottom: +1.5]
+ expected: FAIL
+
+ [bottom: -A]
+ expected: FAIL
+
+ [bottom: -a]
+ expected: FAIL
+
+ [bottom: -1\\31 ]
+ expected: FAIL
+
+ [top: #0001]
+ expected: FAIL
+
+ [bottom: -1]
+ expected: FAIL
+
+ [top: -\\31 ]
+ expected: FAIL
+
+ [top: -A]
+ expected: FAIL
+
+ [top: -a]
+ expected: FAIL
+
+ [top: -1]
+ expected: FAIL
+
+ [top: -1\\31 ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/quirks/unitless-length/quirks.html.ini b/tests/wpt/metadata/quirks/unitless-length/quirks.html.ini
new file mode 100644
index 00000000000..2ed601c6ff4
--- /dev/null
+++ b/tests/wpt/metadata/quirks/unitless-length/quirks.html.ini
@@ -0,0 +1,283 @@
+[quirks.html]
+ [top: -\\31 .5]
+ expected: FAIL
+
+ [bottom: -1A]
+ expected: FAIL
+
+ [bottom: -1a]
+ expected: FAIL
+
+ [top: @1]
+ expected: FAIL
+
+ [top: "1a"]
+ expected: FAIL
+
+ [top: @a]
+ expected: FAIL
+
+ [bottom: "1"]
+ expected: FAIL
+
+ [bottom: -/**/1]
+ expected: FAIL
+
+ [top: +/**/1]
+ expected: FAIL
+
+ [bottom: @1a]
+ expected: FAIL
+
+ [top: 1\\31 ]
+ expected: FAIL
+
+ [top: url('1')]
+ expected: FAIL
+
+ [bottom: -\\31 ]
+ expected: FAIL
+
+ [top: calc(1)]
+ expected: FAIL
+
+ [top: \\31 ]
+ expected: FAIL
+
+ [bottom: +1\\31 ]
+ expected: FAIL
+
+ [bottom: 1\\31 .5]
+ expected: FAIL
+
+ [bottom: #0001]
+ expected: FAIL
+
+ [top: calc(2 * 2px)]
+ expected: FAIL
+
+ [bottom: 1a]
+ expected: FAIL
+
+ [bottom: A]
+ expected: FAIL
+
+ [bottom: #01]
+ expected: FAIL
+
+ [top: +\\31 .5]
+ expected: FAIL
+
+ [bottom: #1]
+ expected: FAIL
+
+ [top: -/**/1]
+ expected: FAIL
+
+ [bottom: +\\31 .5]
+ expected: FAIL
+
+ [bottom: \\31 ]
+ expected: FAIL
+
+ [bottom: calc(1)]
+ expected: FAIL
+
+ [top: #001]
+ expected: FAIL
+
+ [top: +\\31 ]
+ expected: FAIL
+
+ [bottom: +\\31 ]
+ expected: FAIL
+
+ [top: +1.5]
+ expected: FAIL
+
+ [top: +1\\31 ]
+ expected: FAIL
+
+ [bottom: @a]
+ expected: FAIL
+
+ [bottom: @1]
+ expected: FAIL
+
+ [top: #1]
+ expected: FAIL
+
+ [top: 1a]
+ expected: FAIL
+
+ [bottom: +1a]
+ expected: FAIL
+
+ [bottom: +1A]
+ expected: FAIL
+
+ [bottom: "a"]
+ expected: FAIL
+
+ [top: #00001]
+ expected: FAIL
+
+ [bottom: -1\\31 .5]
+ expected: FAIL
+
+ [top: "1"]
+ expected: FAIL
+
+ [bottom: 1.5]
+ expected: FAIL
+
+ [bottom: -\\31 .5]
+ expected: FAIL
+
+ [bottom: url('1')]
+ expected: FAIL
+
+ [bottom: -1.5]
+ expected: FAIL
+
+ [top: \\31 .5]
+ expected: FAIL
+
+ [bottom: "1a"]
+ expected: FAIL
+
+ [bottom: calc(2 * 2px)]
+ expected: FAIL
+
+ [bottom: +1\\31 .5]
+ expected: FAIL
+
+ [bottom: 1\\31 ]
+ expected: FAIL
+
+ [bottom: +/**/1]
+ expected: FAIL
+
+ [bottom: #00001]
+ expected: FAIL
+
+ [top: url(1)]
+ expected: FAIL
+
+ [bottom: #001]
+ expected: FAIL
+
+ [top: +1\\31 .5]
+ expected: FAIL
+
+ [top: -1a]
+ expected: FAIL
+
+ [top: -1A]
+ expected: FAIL
+
+ [bottom: url(1)]
+ expected: FAIL
+
+ [top: a]
+ expected: FAIL
+
+ [top: A]
+ expected: FAIL
+
+ [top: #000001]
+ expected: FAIL
+
+ [top: 1]
+ expected: FAIL
+
+ [top: 1\\31 .5]
+ expected: FAIL
+
+ [bottom: a]
+ expected: FAIL
+
+ [bottom: 1]
+ expected: FAIL
+
+ [bottom: +1]
+ expected: FAIL
+
+ [bottom: #000001]
+ expected: FAIL
+
+ [bottom: +a]
+ expected: FAIL
+
+ [bottom: +A]
+ expected: FAIL
+
+ [top: 1.5]
+ expected: FAIL
+
+ [top: +A]
+ expected: FAIL
+
+ [top: +a]
+ expected: FAIL
+
+ [top: +1]
+ expected: FAIL
+
+ [top: -1.5]
+ expected: FAIL
+
+ [top: -1\\31 .5]
+ expected: FAIL
+
+ [top: +1a]
+ expected: FAIL
+
+ [top: +1A]
+ expected: FAIL
+
+ [top: @1a]
+ expected: FAIL
+
+ [bottom: \\31 .5]
+ expected: FAIL
+
+ [top: "a"]
+ expected: FAIL
+
+ [top: #01]
+ expected: FAIL
+
+ [bottom: +1.5]
+ expected: FAIL
+
+ [bottom: -A]
+ expected: FAIL
+
+ [bottom: -a]
+ expected: FAIL
+
+ [bottom: -1\\31 ]
+ expected: FAIL
+
+ [top: #0001]
+ expected: FAIL
+
+ [bottom: -1]
+ expected: FAIL
+
+ [top: -\\31 ]
+ expected: FAIL
+
+ [top: -A]
+ expected: FAIL
+
+ [top: -a]
+ expected: FAIL
+
+ [top: -1]
+ expected: FAIL
+
+ [top: -1\\31 ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini
index 2e55f728d0a..207710f757c 100644
--- a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini
+++ b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini
@@ -5,10 +5,10 @@
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
- [response.formData() with input: a=b&c=d&]
+ [request.formData() with input: a&b&c]
expected: FAIL
- [response.formData() with input: a=b&c=d]
+ [request.formData() with input: a=b&c=d]
expected: FAIL
@@ -19,12 +19,9 @@
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
- [request.formData() with input: a=b&c=d]
- expected: FAIL
-
[response.formData() with input: a&b&c]
expected: FAIL
- [response.formData() with input: a=b&c=d&]
+ [response.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
diff --git a/tests/wpt/metadata/wasm/jsapi/constructor/instantiate.any.js.ini b/tests/wpt/metadata/wasm/jsapi/constructor/instantiate.any.js.ini
index 945f1e8cc37..f4791115004 100644
--- a/tests/wpt/metadata/wasm/jsapi/constructor/instantiate.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/constructor/instantiate.any.js.ini
@@ -29,6 +29,45 @@
[Promise type]
expected: FAIL
+ [Empty module with undefined imports argument: BufferSource argument]
+ expected: FAIL
+
+ [getter order for imports object: BufferSource argument]
+ expected: FAIL
+
+ [Empty module without imports argument: BufferSource argument]
+ expected: FAIL
+
+ [Empty module with empty imports argument: BufferSource argument]
+ expected: FAIL
+
+ [No imports: Module argument]
+ expected: FAIL
+
+ [Empty module with undefined imports argument: Module argument]
+ expected: FAIL
+
+ [exports and imports: BufferSource argument]
+ expected: FAIL
+
+ [imports: Module argument]
+ expected: FAIL
+
+ [Empty module without imports argument: Module argument]
+ expected: FAIL
+
+ [No imports: BufferSource argument]
+ expected: FAIL
+
+ [Empty module with empty imports argument: Module argument]
+ expected: FAIL
+
+ [imports: BufferSource argument]
+ expected: FAIL
+
+ [getter order for imports object: Module argument]
+ expected: FAIL
+
[instantiate.any.worker.html]
[Invalid arguments]
@@ -61,3 +100,42 @@
[Promise type]
expected: FAIL
+ [Empty module with undefined imports argument: BufferSource argument]
+ expected: FAIL
+
+ [getter order for imports object: BufferSource argument]
+ expected: FAIL
+
+ [Empty module without imports argument: BufferSource argument]
+ expected: FAIL
+
+ [Empty module with empty imports argument: BufferSource argument]
+ expected: FAIL
+
+ [No imports: Module argument]
+ expected: FAIL
+
+ [Empty module with undefined imports argument: Module argument]
+ expected: FAIL
+
+ [exports and imports: BufferSource argument]
+ expected: FAIL
+
+ [imports: Module argument]
+ expected: FAIL
+
+ [Empty module without imports argument: Module argument]
+ expected: FAIL
+
+ [No imports: BufferSource argument]
+ expected: FAIL
+
+ [Empty module with empty imports argument: Module argument]
+ expected: FAIL
+
+ [imports: BufferSource argument]
+ expected: FAIL
+
+ [getter order for imports object: Module argument]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini b/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini
index 1f493551629..de08dc969b3 100644
--- a/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/instance/constructor.any.js.ini
@@ -2,8 +2,14 @@
[exports]
expected: FAIL
+ [No imports]
+ expected: FAIL
+
[constructor.any.worker.html]
[exports]
expected: FAIL
+ [No imports]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini b/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini
index bce5b3e6e88..9ebd919ad1c 100644
--- a/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/table/get-set.any.js.ini
@@ -56,6 +56,24 @@
[Getting out-of-range argument: -Infinity]
expected: FAIL
+ [Setting non-wasm arrow function]
+ expected: FAIL
+
+ [Basic]
+ expected: FAIL
+
+ [Setting non-wasm function]
+ expected: FAIL
+
+ [Setting out-of-bounds]
+ expected: FAIL
+
+ [Growing]
+ expected: FAIL
+
+ [Setting non-function]
+ expected: FAIL
+
[get-set.any.html]
[Setting out-of-range argument: NaN]
@@ -115,3 +133,21 @@
[Getting out-of-range argument: -Infinity]
expected: FAIL
+ [Setting non-wasm arrow function]
+ expected: FAIL
+
+ [Basic]
+ expected: FAIL
+
+ [Setting non-wasm function]
+ expected: FAIL
+
+ [Setting out-of-bounds]
+ expected: FAIL
+
+ [Growing]
+ expected: FAIL
+
+ [Setting non-function]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini b/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini
index 11b89d68fa9..bb6308b8b5b 100644
--- a/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini
+++ b/tests/wpt/metadata/wasm/jsapi/table/grow.any.js.ini
@@ -29,6 +29,15 @@
[Out-of-range argument: "0x100000000"]
expected: FAIL
+ [Reached maximum]
+ expected: FAIL
+
+ [Exceeded maximum]
+ expected: FAIL
+
+ [Basic]
+ expected: FAIL
+
[grow.any.worker.html]
[Out-of-range argument: 68719476736]
@@ -61,3 +70,12 @@
[Out-of-range argument: "0x100000000"]
expected: FAIL
+ [Reached maximum]
+ expected: FAIL
+
+ [Exceeded maximum]
+ expected: FAIL
+
+ [Basic]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/idlharness.https.window.js.ini b/tests/wpt/metadata/webaudio/idlharness.https.window.js.ini
index 224dbbac2b4..29f07ac9baa 100644
--- a/tests/wpt/metadata/webaudio/idlharness.https.window.js.ini
+++ b/tests/wpt/metadata/webaudio/idlharness.https.window.js.ini
@@ -1664,3 +1664,9 @@
[idl_test setup]
expected: FAIL
+ [OfflineAudioContext interface: operation resume()]
+ expected: FAIL
+
+ [AudioContext interface: operation resume()]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/web-platform-tests/.taskcluster.yml b/tests/wpt/web-platform-tests/.taskcluster.yml
index 755fc2eca36..f36523ed301 100644
--- a/tests/wpt/web-platform-tests/.taskcluster.yml
+++ b/tests/wpt/web-platform-tests/.taskcluster.yml
@@ -9,8 +9,8 @@ tasks:
$flatten:
$match: {
event.ref == "refs/heads/master": [{name: firefox, channel: nightly}, {name: chrome, channel: dev}],
- event.ref == "refs/heads/epochs/daily": [{name: firefox, channel: beta}, {name: chrome, channel: beta}],
- event.ref == "refs/heads/epochs/weekly": [{name: firefox, channel: stable}, {name: chrome, channel: stable}]
+ event.ref == "refs/heads/epochs/daily": [{name: firefox, channel: stable}, {name: chrome, channel: stable}],
+ event.ref == "refs/heads/epochs/weekly": [{name: firefox, channel: beta}, {name: chrome, channel: beta}]
}
each(browser):
$map:
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html
index 602536c5814..0da20ee8371 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that setting the available inline size of children works as expected." />
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the available block-size of children works as expected." />
<style>
.test {
@@ -61,5 +61,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html
new file mode 100644
index 00000000000..dfbc812556f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-invalid.https.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting an invalid available block-size works as expected." />
+
+<style>
+.test {
+ writing-mode: horizontal-tb;
+ background: red;
+ width: 100px;
+}
+
+.child {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ line-height: 0;
+
+ --available-block-size: -20;
+}
+
+.inline {
+ display: inline-block;
+ width: 8px;
+}
+
+.inline-size-10 { height: 10px; }
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- The invalid available block-size should be clamped to zero. -->
+ <div class="child" style="--block-size-expected: 10; --inline-size-expected: 16;">
+ <span class="inline inline-size-10"></span>
+ <span class="inline inline-size-10"></span>
+ </div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html
index 4759c1b69d0..c8e84ae5170 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that setting the available inline size of children works as expected." />
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the available block-size of children works as expected." />
<style>
.test {
@@ -61,5 +61,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html
index bfe8a99e7fe..94cf75fc93f 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html class=reftest-wait>
<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that setting the available inline size of children works as expected." />
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the available inline-size of children works as expected." />
<style>
.test {
@@ -61,5 +61,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html
new file mode 100644
index 00000000000..136d13fa703
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting an invalid available inline-size works as expected." />
+
+<style>
+.test {
+ writing-mode: horizontal-tb;
+ background: red;
+ width: 100px;
+}
+
+.child {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ line-height: 0;
+
+ --available-inline-size: -20;
+}
+
+.inline {
+ display: inline-block;
+ height: 8px;
+}
+
+.inline-size-10 { width: 10px; }
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- The invalid available inline-size should be clamped to zero. -->
+ <div class="child" style="--inline-size-expected: 10; --block-size-expected: 16;">
+ <span class="inline inline-size-10"></span>
+ <span class="inline inline-size-10"></span>
+ </div>
+</div>
+
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html
index 7bfa44db67b..392a6b51422 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html
@@ -1,8 +1,8 @@
<!DOCTYPE html>
<html class=reftest-wait>
<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
-<link rel="match" href="green-square-ref.html">
-<meta name="assert" content="This test checks that setting the available inline size of children works as expected." />
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the available inline-size of children works as expected." />
<style>
.test {
@@ -61,5 +61,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html
new file mode 100644
index 00000000000..960fb7d7dcf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that resolving percentages against the available size works as expected." />
+
+<style>
+.test {
+ writing-mode: horizontal-tb;
+ background: red;
+ width: 100px;
+}
+
+.child {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+
+ --available-inline-size: 50;
+ --available-block-size: 20;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed width/height shouldn't be affected by the available size. -->
+ <div class="child" style="width: 10px; height: 10px;"></div>
+
+ <!-- A percentage width/height should resolve itself against the available size. -->
+ <div class="child" style="width: 20%; height: 50%;"></div>
+
+ <!-- A percentage max-width/max-height should resolve itself against the available size. -->
+ <div class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;"></div>
+
+ <!-- A percentage min-width/min-height should resolve itself against the available size. -->
+ <div class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;"></div>
+
+ <!-- A replaced percentage width/height should resolve itself against the available size. -->
+ <img class="child" style="width: 20%; height: 50%;" />
+
+ <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
+ <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
+
+ <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
+ <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html
new file mode 100644
index 00000000000..0e9b5570abe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that resolving percentages against the available size works as expected." />
+
+<style>
+.test {
+ writing-mode: horizontal-tb;
+ background: red;
+ width: 100px;
+}
+
+.child {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+
+ --available-inline-size: 50;
+ --available-block-size: 20;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed width/height shouldn't be affected by the available size. -->
+ <div class="child" style="width: 10px; height: 10px;"></div>
+
+ <!-- A percentage width/height should resolve itself against the available size. -->
+ <div class="child" style="width: 20%; height: 50%;"></div>
+
+ <!-- A percentage max-width/max-height should resolve itself against the available size. -->
+ <div class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;"></div>
+
+ <!-- A percentage min-width/min-height should resolve itself against the available size. -->
+ <div class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;"></div>
+
+ <!-- A replaced percentage width/height should resolve itself against the available size. -->
+ <img class="child" style="width: 20%; height: 50%;" />
+
+ <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
+ <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
+
+ <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
+ <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html
new file mode 100644
index 00000000000..62efe992fb3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that resolving percentages against an invalid available size works as expected." />
+
+<style>
+.test {
+ background: red;
+ width: 100px;
+}
+
+.child {
+ visibility: hidden;
+ width: 10px;
+ line-height: 0;
+
+ --available-inline-size: -20;
+ --available-block-size: -10;
+}
+
+.inline {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- The available inline-size gets clamped to zero, and the available block-size gets treated as indefinite. -->
+ <div class="child" style="--inline-size-expected: 0px; --block-size-expected: 10px; width: 100%; height: 100%;">
+ <div class="inline"></div>
+ </div>
+
+ <!-- For replaced elements, both axis should be resolved to 0px. -->
+ <img class="child" style="--inline-size-expected: 0px; --block-size-expected: 0px; width: 100%; height: 100%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html
new file mode 100644
index 00000000000..1352ea91783
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that resolving percentages against the available size works as expected." />
+
+<style>
+.test {
+ writing-mode: vertical-rl;
+ background: red;
+ height: 100px;
+}
+
+.child {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+
+ --available-inline-size: 20;
+ --available-block-size: 50;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed width/height shouldn't be affected by the available size. -->
+ <div class="child" style="width: 10px; height: 10px;"></div>
+
+ <!-- A percentage width/height should resolve itself against the available size. -->
+ <div class="child" style="width: 20%; height: 50%;"></div>
+
+ <!-- A percentage max-width/max-height should resolve itself against the available size. -->
+ <div class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;"></div>
+
+ <!-- A percentage min-width/min-height should resolve itself against the available size. -->
+ <div class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;"></div>
+
+ <!-- A replaced percentage width/height should resolve itself against the available size. -->
+ <img class="child" style="width: 20%; height: 50%;" />
+
+ <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
+ <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
+
+ <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
+ <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html
new file mode 100644
index 00000000000..9c30c212fae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableinlinesize">
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-availableblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that resolving percentages against the available size works as expected." />
+
+<style>
+.test {
+ writing-mode: vertical-rl;
+ background: red;
+ height: 100px;
+}
+
+.child {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+
+ --available-inline-size: 20;
+ --available-block-size: 50;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed width/height shouldn't be affected by the available size. -->
+ <div class="child" style="width: 10px; height: 10px;"></div>
+
+ <!-- A percentage width/height should resolve itself against the available size. -->
+ <div class="child" style="width: 20%; height: 50%;"></div>
+
+ <!-- A percentage max-width/max-height should resolve itself against the available size. -->
+ <div class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;"></div>
+
+ <!-- A percentage min-width/min-height should resolve itself against the available size. -->
+ <div class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;"></div>
+
+ <!-- A replaced percentage width/height should resolve itself against the available size. -->
+ <img class="child" style="width: 20%; height: 50%;" />
+
+ <!-- A replaced percentage max-width/max-height should resolve itself against the available size. -->
+ <img class="child" style="width: 15px; max-width: 20%; height: 15px; max-height: 50%;" />
+
+ <!-- A replaced percentage min-width/min-height should resolve itself against the available size. -->
+ <img class="child" style="width: 5px; min-width: 20%; height: 5px; min-height: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html
index 43dd483b3f9..dedcaa0ee83 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class=reftest-wait>
-<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedinlinesize">
-<link rel="match" href="green-square-ref.html">
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedblocksize">
+<link rel="match" href="../green-square-ref.html">
<meta name="assert" content="This test checks that fixing the block size of children works as expected." />
<style>
@@ -56,5 +56,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-block-size.https.html
index c714e1ff975..eea540ca59f 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-block-size.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-block-size.https.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class=reftest-wait>
<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedblocksize">
-<link rel="match" href="green-square-ref.html">
+<link rel="match" href="../green-square-ref.html">
<meta name="assert" content="This test checks that fixing the block size of children works as expected." />
<style>
@@ -55,5 +55,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html
index ba86d2c184d..22bd3e7c125 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class=reftest-wait>
<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedinlinesize">
-<link rel="match" href="green-square-ref.html">
+<link rel="match" href="../green-square-ref.html">
<meta name="assert" content="This test checks that fixing the inline size of children works as expected." />
<style>
@@ -56,5 +56,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-inline-size.https.html
index a2a422bd611..0a05a46fe69 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/fixed-inline-size.https.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html class=reftest-wait>
<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-fixedinlinesize">
-<link rel="match" href="green-square-ref.html">
+<link rel="match" href="../green-square-ref.html">
<meta name="assert" content="This test checks that fixing the inline size of children works as expected." />
<style>
@@ -55,5 +55,5 @@
</div>
<script>
-importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: 'support/layout-child-sizes-worklet.js'});
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html
new file mode 100644
index 00000000000..99224c73f5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-percentageblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the percentage block-size of children works as expected." />
+
+<style>
+.test {
+ writing-mode: horizontal-tb;
+ background: red;
+ width: 100px;
+}
+
+.child {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ width: 10px;
+
+ --percentage-block-size: 20;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed height shouldn't be affected by the percentage size. -->
+ <div class="child" style="height: 10px;"></div>
+
+ <!-- A percentage height should resolve itself against the percentageBlockSize. -->
+ <div class="child" style="height: 50%;"></div>
+
+ <!-- A percentage max-height should resolve itself against the percentageBlockSize. -->
+ <div class="child" style="height: 15px; max-height: 50%;"></div>
+
+ <!-- A percentage min-height should resolve itself against the percentageBlockSize. -->
+ <div class="child" style="height: 5px; min-height: 50%;"></div>
+
+ <!-- A replaced percentage height should resolve itself against the percentageBlockSize. -->
+ <img class="child" style="height: 50%;" />
+
+ <!-- A replaced percentage max-height should resolve itself against the percentageBlockSize. -->
+ <img class="child" style="height: 15px; max-height: 50%;" />
+
+ <!-- A replaced percentage min-height should resolve itself against the percentageBlockSize. -->
+ <img class="child" style="height: 5px; min-height: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html
new file mode 100644
index 00000000000..8116d5a9b08
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-percentageinlinesize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the percentage inline-size of children works as expected." />
+
+<style>
+.test {
+ writing-mode: horizontal-tb;
+ background: red;
+ width: 100px;
+}
+
+.child {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ height: 10px;
+
+ --percentage-inline-size: 20;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed width shouldn't be affected by the percentage size. -->
+ <div class="child" style="width: 10px;"></div>
+
+ <!-- A percentage width should resolve itself against the percentageInlineSize. -->
+ <div class="child" style="width: 50%;"></div>
+
+ <!-- A percentage max-width should resolve itself against the percentageInlineSize. -->
+ <div class="child" style="width: 15px; max-width: 50%;"></div>
+
+ <!-- A percentage min-width should resolve itself against the percentageInlineSize. -->
+ <div class="child" style="width: 5px; min-width: 50%;"></div>
+
+ <!-- A replaced percentage width should resolve itself against the percentageInlineSize. -->
+ <img class="child" style="width: 50%;" />
+
+ <!-- A replaced percentage max-width should resolve itself against the percentageInlineSize. -->
+ <img class="child" style="width: 15px; max-width: 50%;" />
+
+ <!-- A replaced percentage min-width should resolve itself against the percentageInlineSize. -->
+ <img class="child" style="width: 5px; min-width: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html
new file mode 100644
index 00000000000..932380a6163
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-invalid.https.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-percentageblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting an invalid percentage block-size of children works as expected." />
+
+<style>
+.test {
+ background: red;
+ width: 100px;
+}
+
+.child {
+ visibility: hidden;
+ width: 10px;
+ line-height: 0;
+
+ --percentage-block-size: -10;
+}
+
+.inline {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A percentage shouldn't be resolved against an invalid percentageBlockSize. -->
+ <div class="child" style="--inline-size-expected: 10px; --block-size-expected: 10px; height: 100%;">
+ <div class="inline"></div>
+ </div>
+
+ <!-- A percentage shouldn't be resolved against an invalid percentageBlockSize. -->
+ <img class="child" style="--inline-size-expected: 10px; --block-size-expected: 0px; height: 100%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html
new file mode 100644
index 00000000000..39a360d079d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html
@@ -0,0 +1,55 @@
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-percentageblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting a percentage block-size works correctly in quirks mode." />
+
+<style>
+.container {
+ height: 200px;
+}
+
+.test {
+ background: red;
+ width: 100px;
+}
+
+.child {
+ visibility: hidden;
+ width: 10px;
+ line-height: 0;
+}
+
+.inline {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="container">
+ <div class="test">
+ <!-- TODO explain. -->
+ <div class="child" style="--percentage-block-size: 50px; --inline-size-expected: 10px; --block-size-expected: 10px;">
+ <div style="height: 20%"></div>
+ </div>
+
+ <!-- TODO explain. -->
+ <div class="child" style="--inline-size-expected: 10px; --block-size-expected: 10px;">
+ <div style="height: 100%">
+ <div class="inline"></div>
+ </div>
+ </div>
+ </div>
+</div>
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html
new file mode 100644
index 00000000000..70640ef0b29
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-percentageinlinesize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the percentage inline-size of children works as expected." />
+
+<style>
+.test {
+ writing-mode: vertical-rl;
+ background: red;
+ height: 100px;
+}
+
+.child {
+ writing-mode: horizontal-tb;
+ visibility: hidden;
+ width: 10px;
+
+ --percentage-inline-size: 20;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed height shouldn't be affected by the percentage size. -->
+ <div class="child" style="height: 10px;"></div>
+
+ <!-- A percentage height should resolve itself against the percentageInlineSize. -->
+ <div class="child" style="height: 50%;"></div>
+
+ <!-- A percentage max-height should resolve itself against the percentageInlineSize. -->
+ <div class="child" style="height: 15px; max-height: 50%;"></div>
+
+ <!-- A percentage min-height should resolve itself against the percentageInlineSize. -->
+ <div class="child" style="height: 5px; min-height: 50%;"></div>
+
+ <!-- A replaced percentage height should resolve itself against the percentageInlineSize. -->
+ <img class="child" style="height: 50%;" />
+
+ <!-- A replaced percentage max-height should resolve itself against the percentageInlineSize. -->
+ <img class="child" style="height: 15px; max-height: 50%;" />
+
+ <!-- A replaced percentage min-height should resolve itself against the percentageInlineSize. -->
+ <img class="child" style="height: 5px; min-height: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html
new file mode 100644
index 00000000000..07132579621
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<link rel="help" href="https://drafts.css-houdini.org/css-layout-api/#dom-layoutconstraintsoptions-percentageblocksize">
+<link rel="match" href="../green-square-ref.html">
+<meta name="assert" content="This test checks that setting the percentage block-size of children works as expected." />
+
+<style>
+.test {
+ writing-mode: vertical-rl;
+ background: red;
+ height: 100px;
+}
+
+.child {
+ writing-mode: vertical-rl;
+ visibility: hidden;
+ height: 10px;
+
+ --percentage-block-size: 20;
+
+ --inline-size-expected: 10px;
+ --block-size-expected: 10px;
+}
+
+@supports (display: layout(test)) {
+ .test {
+ background: green;
+ display: layout(test);
+ }
+}
+</style>
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/worklet-reftest.js"></script>
+
+<div class="test">
+ <!-- A fixed width shouldn't be affected by the percentage size. -->
+ <div class="child" style="width: 10px;"></div>
+
+ <!-- A percentage width should resolve itself against the percentageBlockSize. -->
+ <div class="child" style="width: 50%;"></div>
+
+ <!-- A percentage max-width should resolve itself against the percentageBlockSize. -->
+ <div class="child" style="width: 15px; max-width: 50%;"></div>
+
+ <!-- A percentage min-width should resolve itself against the percentageBlockSize. -->
+ <div class="child" style="width: 5px; min-width: 50%;"></div>
+
+ <!-- A replaced percentage width should resolve itself against the percentageBlockSize. -->
+ <img class="child" style="width: 50%;" />
+
+ <!-- A replaced percentage max-width should resolve itself against the percentageBlockSize. -->
+ <img class="child" style="width: 15px; max-width: 50%;" />
+
+ <!-- A replaced percentage min-width should resolve itself against the percentageBlockSize. -->
+ <img class="child" style="width: 5px; min-width: 50%;" />
+<script>
+importWorkletAndTerminateTestAfterAsyncPaint(CSS.layoutWorklet, {url: '../support/layout-child-sizes-worklet.js'});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js
index 7531f69b1b6..28546d6e422 100644
--- a/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js
+++ b/tests/wpt/web-platform-tests/css/css-layout-api/support/layout-child-sizes-worklet.js
@@ -13,6 +13,8 @@ registerLayout('test', class {
'--available-block-size',
'--fixed-inline-size',
'--fixed-block-size',
+ '--percentage-inline-size',
+ '--percentage-block-size',
'--inline-size-expected',
'--block-size-expected'
];
@@ -26,11 +28,15 @@ registerLayout('test', class {
const availableBlockSize = parseNumber(child.styleMap.get('--available-block-size'));
const fixedInlineSize = parseNumber(child.styleMap.get('--fixed-inline-size'));
const fixedBlockSize = parseNumber(child.styleMap.get('--fixed-block-size'));
+ const percentageInlineSize = parseNumber(child.styleMap.get('--percentage-inline-size'));
+ const percentageBlockSize = parseNumber(child.styleMap.get('--percentage-block-size'));
return child.layoutNextFragment({
availableInlineSize,
availableBlockSize,
fixedInlineSize,
- fixedBlockSize
+ fixedBlockSize,
+ percentageInlineSize,
+ percentageBlockSize,
});
});
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html
index 057cd8ca7e1..8f9eafee19e 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html
@@ -57,4 +57,19 @@ test(function(){
inner.style = '--initial-length-2: inherit';
assert_equals(getComputedStyle(inner).getPropertyValue('--initial-length-2'), '0px');
}, "Explicitly inheriting from a parent with no value results in initial value.");
+
+test(function(){
+ CSS.registerProperty({name: '--inherited-length-4', syntax: '<length>', initialValue: '0px', inherits: true});
+ outer.style = '--inherited-length-4: 42px';
+ inner.style = '--inherited-length-4: var(--undefined)';
+ assert_equals(getComputedStyle(inner).getPropertyValue('--inherited-length-4'), '42px');
+}, "Reference to undefined variable results in inherited value");
+
+test(function(){
+ CSS.registerProperty({name: '--inherited-length-5', syntax: '<length>', initialValue: '0px', inherits: true});
+ outer.style = '--inherited-length-5: 42px';
+ inner.style = '--incompatible: nolength; --inherited-length-5: var(--incompatible)';
+ assert_equals(getComputedStyle(inner).getPropertyValue('--inherited-length-5'), '42px');
+}, "Reference to syntax-incompatible variable results in inherited value");
+
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
index 6d8fbf9ca06..cf7c5a44415 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
index 38f8e733957..7c701c8546d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
index 37df9b50cd2..9fe18046fcd 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
index fb933ab51bc..6120e62cc9b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
index 4fb208b7a34..1e1d4bb683b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
index 6a84bdd48b0..ddf3c2cc960 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
index a8b73b5e0a7..647bfc8a675 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
index fd69a1ba2be..5e22458f935 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
index cd30e0e6145..3db8bb8804d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
index 580862e0ad9..09c5758d79a 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
index 49f401a2741..8bf3aa9016d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
index 499609c846c..3c14e183d84 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
index 94012593a4b..dbf77a0f806 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
index b65c7da78a8..ecdcdc31733 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
index 1c022f71e28..3b2a2ee9eb1 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
index 0ffed1f18dd..795cb0230b6 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
index ce3a30f1cb6..7c591eb936a 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
index 95ffcf79412..c41ea732a89 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
index f3eb0442e9d..b9f81eeecf5 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
index 9511727e981..7d2af701422 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
index d1cd8bf9017..069212e628e 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
index b897e9b671e..70ebdc0898b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
index 30be2668fea..8fd631efb3f 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
index f3278c3f26f..91f261018b1 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
index b137a7344e3..4f163719ae7 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
index d5fb7c99ffd..bb0df2e8fc1 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
index fa47a893817..965d5133fab 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
index 4c802ca8cd6..72c476cdce7 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
index d45c7849468..92ac2e02091 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
index 0c29ec0705c..22ac4baf03b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
index ab3c66a4194..0e0280505fa 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
index 7144f4f810c..490e4067a40 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
index d1cf5151391..ec44c093a32 100644
--- a/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
+++ b/tests/wpt/web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
@@ -11,7 +11,7 @@
<style type="text/css">
@font-face {
font-family: 'mplus-1p-regular';
- src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
}
#wrapper { position: relative; }
.test { color: red; }
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button-ref.html
new file mode 100644
index 00000000000..e5e3c1ebfcd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button-ref.html
@@ -0,0 +1,42 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<style>
+.scene {
+ width: 200px;
+ height: 200px;
+ perspective: 5000px;
+}
+
+.card {
+ width: 100%;
+ height: 100%;
+ transform-style: preserve-3d;
+ position: relative;
+ background: none;
+ border: 0;
+ padding: 0;
+ transform: rotateY(180deg);
+}
+
+.face {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ backface-visibility: hidden;
+ background: red;
+}
+
+.backface {
+ background: green;
+ transform: rotateY(180deg);
+}
+</style>
+<div class="scene">
+ <div class="card">
+ <div class="face"></div>
+ <div class="face backface"></div>
+ </div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button.html b/tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button.html
new file mode 100644
index 00000000000..544bb249663
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/preserve3d-button.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<title>CSS Test: preserve-3d on buttons</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="match" href="preserve3d-button-ref.html">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1491864">
+<style>
+.scene {
+ width: 200px;
+ height: 200px;
+ perspective: 5000px;
+}
+
+.card {
+ width: 100%;
+ height: 100%;
+ transform-style: preserve-3d;
+ position: relative;
+ background: none;
+ border: 0;
+ padding: 0;
+ transform: rotateY(180deg);
+}
+
+.face {
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ backface-visibility: hidden;
+ background: red;
+}
+
+.backface {
+ background: green;
+ transform: rotateY(180deg);
+}
+</style>
+<div class="scene">
+ <button class="card">
+ <div class="face"></div>
+ <div class="face backface"></div>
+ </button>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html b/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html
new file mode 100644
index 00000000000..7af5de5ff8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom-view/scrollIntoView-svg-shape.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML>
+<title>scrollIntoView on an SVG shape element</title>
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<svg width="8000" height="8000">
+ <rect width="100" height="100" fill="blue" y="1950" id="geometry"/>
+ <rect width="100" height="100" fill="blue" transform="translate(0, 2950)"
+ id="translated"/>
+ <rect width="100" height="100" fill="blue" transform="rotate(45, 50, 3950)"
+ id="rotated"/>
+</svg>
+<script>
+add_completion_callback(() => {
+ document.querySelector("svg").remove();
+ window.scrollTo(0, 0);
+});
+
+for (let id of [ "geometry", "translated", "rotated" ]) {
+ test(t => {
+ let target = document.getElementById(id);
+ window.scrollTo(0, 0);
+ let bounds = target.getBoundingClientRect();
+ let expected = { x: bounds.left, y: bounds.top };
+ assert_not_equals(window.scrollX, expected.x, "x before scroll");
+ assert_not_equals(window.scrollY, expected.y, "y before scroll");
+ target.scrollIntoView({ block: "start", inline: "start" });
+ assert_approx_equals(window.scrollX, expected.x, 1, "x after scroll");
+ assert_approx_equals(window.scrollY, expected.y, 1, "y after scroll");
+ }, document.title + ", " + id);
+}
+</script>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-001.html b/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-001.html
new file mode 100644
index 00000000000..7789f2a9af4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-001.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<title>Filter Effects: The in attribute</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://www.w3.org/TR/filter-effects-1/#CommonAttributes">
+<link rel="match" href="svg-unknown-input-ref.html">
+<meta name="flags" content="svg">
+<meta name="assert" content="References to non-existent results on a first primitive must be treated like SourceGraphic.">
+<p>The test passes if you see a green square and no red.</p>
+<svg width="100" height="100">
+ <defs>
+ <filter id="f" x="0" y="0" width="100" height="100" filterUnits="userSpaceOnUse">
+ <feComposite in="unknown" in2="SourceGraphic" result="a"/>
+ <feFlood flood-color="green" result="b"/>
+ <feComposite in="b" in2="a"/>
+ </filter>
+ </defs>
+ <rect width="100" height="100" fill="red"/>
+ <rect x="25" y="25" width="50" height="50" fill="green" filter="url(#f)"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-002.html b/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-002.html
new file mode 100644
index 00000000000..cb07b654045
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-002.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<title>Filter Effects: The in attribute</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://www.w3.org/TR/filter-effects-1/#CommonAttributes">
+<link rel="match" href="svg-unknown-input-ref.html">
+<meta name="flags" content="svg">
+<meta name="assert" content="References to non-existent results on a subsequent primitive must be treated like the previous primitive result.">
+<p>The test passes if you see a green square and no red.</p>
+<svg width="100" height="100">
+ <defs>
+ <filter id="f" x="0" y="0" width="100" height="100" filterUnits="userSpaceOnUse">
+ <feFlood flood-color="green"/>
+ <feComposite in="unknown" in2="SourceGraphic"/>
+ </filter>
+ </defs>
+ <rect width="100" height="100" fill="red"/>
+ <rect x="25" y="25" width="50" height="50" fill="blue" filter="url(#f)"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-ref.html
new file mode 100644
index 00000000000..1fff2a6175c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/svg-unknown-input-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<title>Filter Effects: Reference</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<meta name="flags" content="svg">
+<p>The test passes if you see a green square and no red.</p>
+<svg width="100" height="100">
+ <rect width="100" height="100" fill="green"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md
index 7bf9e9aa9e6..33c4fe31a40 100644
--- a/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md
+++ b/tests/wpt/web-platform-tests/docs/_writing-tests/testdriver-tutorial.md
@@ -39,7 +39,7 @@ window.test_driver = {
* Set Window Rect command}.
*
* @param {Integer} x - The x coordinate of the top left of the window
- * @param {Integer} y - The x coordinate of the top left of the window
+ * @param {Integer} y - The y coordinate of the top left of the window
* @param {Integer} width - The width of the window
* @param {Integer} height - The width of the window
* @returns {Promise} fulfilled after window rect is set occurs, or rejected in
@@ -67,7 +67,7 @@ window.test_driver_internal = {
* @param {Integer} x - The x coordinate of the top left of the window
* @param {Integer} y - The x coordinate of the top left of the window
* @param {Integer} width - The width of the window
- * @param {Integer} height - The width of the window
+ * @param {Integer} height - The height of the window
* @returns {Promise} fulfilled after window rect is set occurs, or rejected in
* the cases the WebDriver command errors
*/
@@ -314,7 +314,7 @@ promise_test(async t => {
```
### What about testdriver-vendor.js?
-The file [testdriver-vendor.js](resources/testdriver-vendor.js) is the equivalent to testdriver-extra.js above, except is
+The file [testdriver-vendor.js](resources/testdriver-vendor.js) is the equivalent to testdriver-extra.js above, except it is
run instead of testdriver-extra.js in browser specific test environments. For example, in [Chromium LayoutTests](https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/?q=LayoutTests&sq=package:chromium&dr).
### What if I need to return a value from my testdriver API?
diff --git a/tests/wpt/web-platform-tests/html/dom/interfaces.https.html b/tests/wpt/web-platform-tests/html/dom/interfaces.https.html
index 6b7e37bf1fe..15cee69f64e 100644
--- a/tests/wpt/web-platform-tests/html/dom/interfaces.https.html
+++ b/tests/wpt/web-platform-tests/html/dom/interfaces.https.html
@@ -37,7 +37,7 @@ const waitForLoad = new Promise(resolve => { addEventListener('load', resolve);
idl_test(
['html'],
- ['SVG', 'cssom', 'touchevents', 'uievents', 'dom'],
+ ['SVG', 'cssom', 'touch-events', 'uievents', 'dom'],
async idlArray => {
idlArray.add_objects({
NodeList: ['document.getElementsByName("name")'],
diff --git a/tests/wpt/web-platform-tests/interfaces/CSP.idl b/tests/wpt/web-platform-tests/interfaces/CSP.idl
index 64cba00e956..46fae543cb2 100644
--- a/tests/wpt/web-platform-tests/interfaces/CSP.idl
+++ b/tests/wpt/web-platform-tests/interfaces/CSP.idl
@@ -7,7 +7,8 @@ enum SecurityPolicyViolationEventDisposition {
"enforce", "report"
};
-[Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict)]
+[Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict),
+ Exposed=(Window,Worker)]
interface SecurityPolicyViolationEvent : Event {
readonly attribute USVString documentURI;
readonly attribute USVString referrer;
diff --git a/tests/wpt/web-platform-tests/interfaces/SVG.idl b/tests/wpt/web-platform-tests/interfaces/SVG.idl
index 01d87b862b4..4c1c4855f27 100644
--- a/tests/wpt/web-platform-tests/interfaces/SVG.idl
+++ b/tests/wpt/web-platform-tests/interfaces/SVG.idl
@@ -126,6 +126,22 @@ interface SVGLengthList {
};
[Exposed=Window]
+interface SVGStringList {
+
+ readonly attribute unsigned long length;
+ readonly attribute unsigned long numberOfItems;
+
+ void clear();
+ DOMString initialize(DOMString newItem);
+ getter DOMString getItem(unsigned long index);
+ DOMString insertItemBefore(DOMString newItem, unsigned long index);
+ DOMString replaceItem(DOMString newItem, unsigned long index);
+ DOMString removeItem(unsigned long index);
+ DOMString appendItem(DOMString newItem);
+ setter void (unsigned long index, DOMString newItem);
+};
+
+[Exposed=Window]
interface SVGAnimatedBoolean {
attribute boolean baseVal;
readonly attribute boolean animVal;
@@ -186,22 +202,6 @@ interface SVGAnimatedLengthList {
};
[Exposed=Window]
-interface SVGStringList {
-
- readonly attribute unsigned long length;
- readonly attribute unsigned long numberOfItems;
-
- void clear();
- DOMString initialize(DOMString newItem);
- getter DOMString getItem(unsigned long index);
- DOMString insertItemBefore(DOMString newItem, unsigned long index);
- DOMString replaceItem(DOMString newItem, unsigned long index);
- DOMString removeItem(unsigned long index);
- DOMString appendItem(DOMString newItem);
- setter void (unsigned long index, DOMString newItem);
-};
-
-[Exposed=Window]
interface SVGUnitTypes {
// Unit Types
const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;
diff --git a/tests/wpt/web-platform-tests/interfaces/payment-method-basic-card.idl b/tests/wpt/web-platform-tests/interfaces/payment-method-basic-card.idl
index 00d6ad1f0a2..2019aa11669 100644
--- a/tests/wpt/web-platform-tests/interfaces/payment-method-basic-card.idl
+++ b/tests/wpt/web-platform-tests/interfaces/payment-method-basic-card.idl
@@ -4,17 +4,30 @@
// Source: Payment Method: Basic Card (https://w3c.github.io/payment-method-basic-card/)
dictionary BasicCardRequest {
- sequence<DOMString> supportedNetworks;
- sequence<BasicCardType> supportedTypes;
- };
+ sequence<DOMString> supportedNetworks;
+ sequence<BasicCardType> supportedTypes;
+};
+
+dictionary BasicCardChangeDetails {
+ PaymentAddress? billingAddress;
+};
enum BasicCardType { "credit", "debit", "prepaid" };
dictionary BasicCardResponse {
- required DOMString cardNumber;
- DOMString cardholderName;
- DOMString cardSecurityCode;
- DOMString expiryMonth;
- DOMString expiryYear;
- PaymentAddress? billingAddress;
- };
+ required DOMString cardNumber;
+ DOMString cardholderName;
+ DOMString cardSecurityCode;
+ DOMString expiryMonth;
+ DOMString expiryYear;
+ PaymentAddress? billingAddress;
+};
+
+dictionary BasicCardErrors {
+ DOMString cardNumber;
+ DOMString cardholderName;
+ DOMString cardSecurityCode;
+ DOMString expiryMonth;
+ DOMString expiryYear;
+ AddressErrors billingAddress;
+};
diff --git a/tests/wpt/web-platform-tests/interfaces/payment-request.idl b/tests/wpt/web-platform-tests/interfaces/payment-request.idl
index e3afbd47db3..d930b57291e 100644
--- a/tests/wpt/web-platform-tests/interfaces/payment-request.idl
+++ b/tests/wpt/web-platform-tests/interfaces/payment-request.idl
@@ -49,6 +49,8 @@ dictionary PaymentDetailsUpdate : PaymentDetailsBase {
DOMString error;
PaymentItem total;
AddressErrors shippingAddressErrors;
+ PayerErrorFields payerErrors;
+ object paymentMethodErrors;
};
dictionary PaymentDetailsModifier {
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 dd379c8c0a0..c7bc249dffc 100644
--- a/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl
+++ b/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl
@@ -28,3 +28,15 @@ interface PictureInPictureWindow : EventTarget {
attribute EventHandler onresize;
};
+
+[
+ Constructor(DOMString type, EnterPictureInPictureEventInit eventInitDict),
+ Exposed=Window
+]
+interface EnterPictureInPictureEvent : Event {
+ [SameObject] readonly attribute PictureInPictureWindow pictureInPictureWindow;
+};
+
+dictionary EnterPictureInPictureEventInit : EventInit {
+ required PictureInPictureWindow pictureInPictureWindow;
+};
diff --git a/tests/wpt/web-platform-tests/interfaces/webaudio.idl b/tests/wpt/web-platform-tests/interfaces/webaudio.idl
index 14bb62b8aaa..4f1914dbae2 100644
--- a/tests/wpt/web-platform-tests/interfaces/webaudio.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webaudio.idl
@@ -48,7 +48,6 @@ interface BaseAudioContext : EventTarget {
Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData,
optional DecodeSuccessCallback? successCallback,
optional DecodeErrorCallback? errorCallback);
- Promise<void> resume ();
};
enum AudioContextLatencyCategory {
@@ -63,6 +62,7 @@ interface AudioContext : BaseAudioContext {
readonly attribute double baseLatency;
readonly attribute double outputLatency;
AudioTimestamp getOutputTimestamp ();
+ Promise<void> resume ();
Promise<void> suspend ();
Promise<void> close ();
MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
@@ -86,6 +86,7 @@ dictionary AudioTimestamp {
Constructor (unsigned long numberOfChannels, unsigned long length, float sampleRate)]
interface OfflineAudioContext : BaseAudioContext {
Promise<AudioBuffer> startRendering();
+ Promise<void> resume();
Promise<void> suspend(double suspendTime);
readonly attribute unsigned long length;
attribute EventHandler oncomplete;
diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl
index 4df720a0fc1..b2bf38e9fd4 100644
--- a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl
@@ -230,8 +230,10 @@ dictionary RTCTransportStats : RTCStats {
DOMString selectedCandidatePairId;
DOMString localCertificateId;
DOMString remoteCertificateId;
+ DOMString tlsVersion;
DOMString dtlsCipher;
DOMString srtpCipher;
+ DOMString tlsGroup;
};
dictionary RTCIceCandidateStats : RTCStats {
diff --git a/tests/wpt/web-platform-tests/payment-handler/basic-card.js b/tests/wpt/web-platform-tests/payment-handler/basic-card.js
index 86fcea711c5..c78f24b017f 100644
--- a/tests/wpt/web-platform-tests/payment-handler/basic-card.js
+++ b/tests/wpt/web-platform-tests/payment-handler/basic-card.js
@@ -99,7 +99,6 @@ self.addEventListener('paymentrequest', event => {
city: 'Reston',
country: 'US',
dependentLocality: '',
- languageCode: '',
organization: 'Google',
phone: '+15555555555',
postalCode: '20190',
diff --git a/tests/wpt/web-platform-tests/payment-handler/payment-request-event.https.html b/tests/wpt/web-platform-tests/payment-handler/payment-request-event.https.html
index 4e9cc21a1e5..fb51c2eeb54 100644
--- a/tests/wpt/web-platform-tests/payment-handler/payment-request-event.https.html
+++ b/tests/wpt/web-platform-tests/payment-handler/payment-request-event.https.html
@@ -81,7 +81,6 @@ function runTests() {
assert_equals(response.details.billingAddress.city, 'Reston');
assert_equals(response.details.billingAddress.country, 'US');
assert_equals(response.details.billingAddress.dependentLocality, '');
- assert_equals(response.details.billingAddress.languageCode, '');
assert_equals(response.details.billingAddress.organization, 'Google');
assert_equals(response.details.billingAddress.phone, '+15555555555');
assert_equals(response.details.billingAddress.postalCode, '20190');
diff --git a/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html b/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html
index 898da6a2d41..4b517159df4 100644
--- a/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-method-basic-card/empty-data-manual.https.html
@@ -25,7 +25,6 @@ const defaultBillingAddress = {
dependentLocality: '',
postalCode: '1001',
sortingCode: '',
- languageCode: 'fa',
organization: 'w3c',
recipient: 'web platform test',
phone: '+93555555555',
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
index 65d56e74901..edde533be6b 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
@@ -74,7 +74,6 @@ function runManualTest(button, expected = {}) {
dependentLocality: '',
postalCode: '6095',
sortingCode: '',
- languageCode: 'en',
organization: 'w3c',
recipient: 'web platform test',
phone: '+61733780000',
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html
index cdc8d353a9b..356f30da6b5 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html
@@ -57,11 +57,6 @@ function retryShowsShippingAddressMember(button, error) {
</button>
</li>
<li>
- <button onclick="retryShowsShippingAddressMember(this, { languageCode: 'LANGUAGECODE ERROR' });">
- The payment sheet shows "LANGUAGECODE ERROR" for the shipping address' languageCode.
- </button>
- </li>
- <li>
<button onclick="retryShowsShippingAddressMember(this, { organization: 'ORGANIZATION ERROR' });">
The payment sheet shows "ORGANIZATION ERROR" for the shipping address' organization.
</button>
diff --git a/tests/wpt/web-platform-tests/payment-request/historical.https.html b/tests/wpt/web-platform-tests/payment-request/historical.https.html
index b7880a2dee8..cbd29d4cff8 100644
--- a/tests/wpt/web-platform-tests/payment-request/historical.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/historical.https.html
@@ -19,6 +19,8 @@
["paymentRequestId", "PaymentRequest"],
["paymentRequestId", "PaymentResponse"],
+ // https://github.com/w3c/payment-request/pull/765
+ ["languageCode", "PaymentAddress"],
].forEach(([member, interf]) => {
test(() => {
assert_false(member in window[interf].prototype);
diff --git a/tests/wpt/web-platform-tests/picture-in-picture/enter-picture-in-picture.html b/tests/wpt/web-platform-tests/picture-in-picture/enter-picture-in-picture.html
index fc109e4f5a4..9df2bfabcf2 100644
--- a/tests/wpt/web-platform-tests/picture-in-picture/enter-picture-in-picture.html
+++ b/tests/wpt/web-platform-tests/picture-in-picture/enter-picture-in-picture.html
@@ -8,9 +8,12 @@
<body></body>
<script>
promise_test(async t => {
+ let pictureInPictureWindow;
const video = await loadVideo();
video.addEventListener('enterpictureinpicture', t.step_func_done(event => {
+ pictureInPictureWindow = event.pictureInPictureWindow;
+
assert_equals(event.target, video);
assert_equals(event.bubbles, true);
assert_equals(event.cancelable, false);
@@ -18,6 +21,9 @@ promise_test(async t => {
assert_equals(document.pictureInPictureElement, video);
}));
- return requestPictureInPictureWithTrustedClick(video);
+ return requestPictureInPictureWithTrustedClick(video)
+ .then(pipWindow => {
+ assert_equals(pipWindow, pictureInPictureWindow);
+ })
});
</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_origin.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_origin.htm
index 3ab239e90bb..4793dbf91d6 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_origin.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_origin.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm
index 8b07b46672e..fe812f86774 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi.htm
index 3b6c2e6b267..bb774abc602 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi_wildcard.html b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi_wildcard.html
new file mode 100644
index 00000000000..844896087d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_multi_wildcard.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing TAO tests</title>
+<link rel="author" title="Google" href="http://www.google.com/" />
+<link rel="help" href="https://www.w3.org/TR/resource-timing-2/#timing-allow-origin"/>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/webperftestharness.js"></script>
+<script src="resources/webperftestharnessextension.js"></script>
+<script>
+setup({explicit_done: true});
+
+// explicitly test the namespace before we start testing
+test_namespace("getEntriesByType");
+
+var d;
+var iframe;
+var iframeBody;
+var image;
+var random = Math.random();
+
+function setup_iframe() {
+ iframe = document.getElementById('frameContext');
+ d = iframe.contentWindow.document;
+ iframeBody = d.body;
+ iframe.addEventListener('load', onload_test, false);
+}
+function onload_test() {
+ if (window.performance.getEntriesByType === undefined) {
+ done();
+ return;
+ }
+ var context = new PerformanceContext(iframe.contentWindow.performance);
+ var entries = context.getEntriesByType('resource');
+
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
+ if(entries.length > 0) {
+ entry = entries[0];
+
+ test_not_equals((entry.redirectStart + entry.redirectEnd + entry.domainLookupStart + entry.domainLookupEnd + entry.connectStart + entry.connectEnd + entry.secureConnectionStart + entry.requestStart + entry.responseStart), 0, 'redirectStart, redirectEnd, domainLookupStart, domainLookupEnd, connectStart, connectEnd, secureConnectionStart, requestStart, and responseStart -- should not be all returned as 0 when the HTTP response has multiple Timing-Allow-Origin header fields and the subsequent field value is separated by a comma, i.e. TAO algorithm passes');
+ }
+
+ done();
+}
+window.setup_iframe = setup_iframe;
+</script>
+</head>
+<body>
+<h1>Description</h1>
+<p>This test validates that for a cross origin resource, the timing allow check algorithm will pass when the HTTP response has multiple Timing-Allow-Origin header fields and the subsequent field value is separated by a comma.</p>
+<div id="log"></div>
+<iframe id="frameContext" src="resources/iframe_TAO_multi_wildcard.html"></iframe>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_null.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_null.htm
index 419de693e1f..1a86e09c567 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_null.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_null.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm
index 0b42166c0ee..1a03c714106 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_space.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_space.htm
index f3cbdc62c01..9efefe15a4f 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_space.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_space.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_wildcard.htm b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_wildcard.htm
index 407c642d9d4..df278534cc4 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resource_TAO_wildcard.htm
+++ b/tests/wpt/web-platform-tests/resource-timing/resource_TAO_wildcard.htm
@@ -35,6 +35,7 @@ function onload_test() {
var context = new PerformanceContext(iframe.contentWindow.performance);
var entries = context.getEntriesByType('resource');
+ assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
if(entries.length > 0) {
entry = entries[0];
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/TAOResponse.py b/tests/wpt/web-platform-tests/resource-timing/resources/TAOResponse.py
index dcd75a41545..060f9b0c9a7 100644
--- a/tests/wpt/web-platform-tests/resource-timing/resources/TAOResponse.py
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/TAOResponse.py
@@ -23,6 +23,10 @@ def main(request, response):
# more than one TAO values, seperated by comma, pass
response.headers.set('Timing-Allow-Origin', origin)
response.headers.append('Timing-Allow-Origin', '*')
+ elif tao == 'multi_wildcard':
+ # multiple wildcards, seperated by comma, pass
+ response.headers.set('Timing-Allow-Origin', '*')
+ response.headers.append('Timing-Allow-Origin', '*')
elif tao == 'match_origin':
# contains a match of origin, seperated by comma, pass
response.headers.set('Timing-Allow-Origin', origin)
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe_TAO_multi_wildcard.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe_TAO_multi_wildcard.html
new file mode 100644
index 00000000000..977df01007d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe_TAO_multi_wildcard.html
@@ -0,0 +1,21 @@
+<body>
+<script>
+function dirname(path) {
+ return path.replace(/\/[^\/]*$/, '/');
+}
+
+function request() {
+ var dirName = dirname(location.href);
+ // create a cross-origin request
+ var url = dirName.replace('://', '://www.') + 'TAOResponse.py?tao=multi_wildcard';
+ var img = new Image();
+ img.crossOrigin = "anonymous";
+ img.src = url;
+}
+
+if(window.parent.setup_iframe) {
+ window.parent.setup_iframe();
+ request();
+}
+</script>
+</body>
diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js
index 746f3e65503..00c59eda8ad 100644
--- a/tests/wpt/web-platform-tests/resources/idlharness.js
+++ b/tests/wpt/web-platform-tests/resources/idlharness.js
@@ -3251,7 +3251,11 @@ function idl_test(srcs, deps, idl_setup_func) {
* fetch_spec is a shorthand for a Promise that fetches the spec's content.
*/
function fetch_spec(spec) {
- return fetch('/interfaces/' + spec + '.idl').then(function (r) {
+ var url = '/interfaces/' + spec + '.idl';
+ return fetch(url).then(function (r) {
+ if (!r.ok) {
+ throw new IdlHarnessError("Error fetching " + url + ".");
+ }
return r.text();
});
}
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https.html
index f1e4fecc1b3..ec27fb89834 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https.html
@@ -14,7 +14,7 @@ promise_test(function(t) {
return service_worker_unregister_and_register(t, url, scope)
.then(function(registration) {
t.add_cleanup(function() {
- registration.unregister();
+ return registration.unregister();
});
return wait_for_state(t, registration.installing, 'activated');
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-window.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-window.https.html
index 85d7f6467ee..2c131b3c93a 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-window.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/interfaces-window.https.html
@@ -40,7 +40,7 @@ promise_test(async (t) => {
t, 'resources/empty-worker.js', scope)
.then(function(registration) {
t.add_cleanup(function() {
- registration.unregister();
+ return registration.unregister();
});
window.registrationInstance = registration;
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/onactivate-script-error.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/onactivate-script-error.https.html
index 6c16357f3cc..f5e80bb9a45 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/onactivate-script-error.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/onactivate-script-error.https.html
@@ -35,7 +35,7 @@ function make_test(name, script) {
registration = r;
t.add_cleanup(function() {
- r.unregister();
+ return r.unregister();
});
return wait_for_install(registration.installing);
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html
index 3d73afe9796..b1f3342a8c1 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/postmessage.https.html
@@ -13,11 +13,7 @@ promise_test(t => {
return service_worker_unregister_and_register(t, script, scope)
.then(r => {
- // TODO: return the Promise created by `r.unregister`once
- // `testharness.js` has been updated to honor thenables returned by
- // cleanup functions.
- // See https://github.com/web-platform-tests/wpt/pull/8748
- t.add_cleanup(() => { r.unregister(); });
+ t.add_cleanup(() => r.unregister());
registration = r;
worker = registration.installing;
@@ -66,11 +62,7 @@ promise_test(t => {
return service_worker_unregister_and_register(t, script, scope)
.then(r => {
- // TODO: return the Promise created by `r.unregister`once
- // `testharness.js` has been updated to honor thenables returned by
- // cleanup functions.
- // See https://github.com/web-platform-tests/wpt/pull/8748
- t.add_cleanup(() => { r.unregister(); });
+ t.add_cleanup(() => r.unregister());
var ab = text_encoder.encode(message);
assert_equals(ab.byteLength, message.length);
@@ -110,11 +102,7 @@ promise_test(t => {
return service_worker_unregister_and_register(t, script, scope)
.then(r => {
- // TODO: return the Promise created by `r.unregister`once
- // `testharness.js` has been updated to honor thenables returned by
- // cleanup functions.
- // See https://github.com/web-platform-tests/wpt/pull/8748
- t.add_cleanup(() => { r.unregister(); });
+ t.add_cleanup(() => r.unregister());
var channel = new MessageChannel;
port = channel.port1;
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html
index 8fd566dadc6..f7b52d5ddce 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https.html
@@ -14,7 +14,7 @@ promise_test(function(t) {
return service_worker_unregister_and_register(t, worker_url, scope)
.then(function(r) {
t.add_cleanup(function() {
- r.unregister();
+ return r.unregister();
});
registration = r;
newest_worker = registration.installing;
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/worker-testharness.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/worker-testharness.js
index fdf5868e33e..73e97be1eaa 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/worker-testharness.js
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/worker-testharness.js
@@ -20,7 +20,7 @@ importScripts('/resources/testharness.js');
var cache_name = self.location.pathname + '/' + uniquifier;
test.add_cleanup(function() {
- self.caches.delete(cache_name);
+ return self.caches.delete(cache_name);
});
return self.caches.delete(cache_name)
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html
index a9c398a2606..67838acff46 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html
@@ -51,7 +51,7 @@ promise_test(function(t) {
.then(function(registration) {
sw_registration = registration;
t.add_cleanup(function() {
- registration.unregister();
+ return registration.unregister();
});
return saw_controllerchanged;
})
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html
index dbe2bde78d3..705fe8355e1 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html
@@ -27,7 +27,7 @@ promise_test(function(t) {
.then(function(registration) {
sw_registration = registration;
t.add_cleanup(function() {
- registration.unregister();
+ return registration.unregister();
});
return wait_for_state(t, registration.installing, 'activated');
})
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/synced-state.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/synced-state.https.html
index c4a9b6655cb..0e9f63a9a2e 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/synced-state.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/synced-state.https.html
@@ -33,7 +33,7 @@ promise_test(function(t) {
worker = registration.installing;
t.add_cleanup(function() {
- r.unregister();
+ return r.unregister();
});
return nextChange(worker);
diff --git a/tests/wpt/web-platform-tests/shadow-dom/input-type-radio.html b/tests/wpt/web-platform-tests/shadow-dom/input-type-radio.html
new file mode 100644
index 00000000000..9c90fcf0603
--- /dev/null
+++ b/tests/wpt/web-platform-tests/shadow-dom/input-type-radio.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<input type="radio" name="group" id="lightRadio1">
+<input type="radio" name="group" id="lightRadio2">
+<div id="host"></div>
+<script>
+
+test(() => {
+ var lightRadio1 = document.getElementById("lightRadio1");
+ var lightRadio2 = document.getElementById("lightRadio2");
+
+ var host = document.getElementById("host");
+ var sr = host.attachShadow({mode: "closed"});
+ var shadowRadio1 = document.createElement("input");
+ shadowRadio1.name = "group";
+ shadowRadio1.id = "shadowRadio1";
+ shadowRadio1.type = "radio";
+ sr.appendChild(shadowRadio1);
+ var shadowRadio2 = document.createElement("input");
+ shadowRadio2.name = "group";
+ shadowRadio2.id = "shadowRadio2";
+ shadowRadio2.type = "radio";
+ sr.appendChild(shadowRadio2);
+
+ assert_false(lightRadio1.checked);
+ assert_false(lightRadio2.checked);
+ assert_false(shadowRadio1.checked);
+ assert_false(shadowRadio2.checked);
+
+ lightRadio1.click();
+ assert_true(lightRadio1.checked);
+ assert_false(lightRadio2.checked);
+ assert_false(shadowRadio1.checked);
+ assert_false(shadowRadio2.checked);
+
+ lightRadio2.click();
+ assert_false(lightRadio1.checked);
+ assert_true(lightRadio2.checked);
+ assert_false(shadowRadio1.checked);
+ assert_false(shadowRadio2.checked);
+
+ shadowRadio1.click();
+ assert_false(lightRadio1.checked);
+ assert_true(lightRadio2.checked);
+ assert_true(shadowRadio1.checked);
+ assert_false(shadowRadio2.checked);
+
+ shadowRadio2.click();
+ assert_false(lightRadio1.checked);
+ assert_true(lightRadio2.checked);
+ assert_false(shadowRadio1.checked);
+ assert_true(shadowRadio2.checked);
+
+ // Ensure radio groups work even when modifying shadow DOM.
+ shadowRadio2.remove();
+ sr.appendChild(shadowRadio2);
+ shadowRadio2.click();
+ assert_false(lightRadio1.checked);
+ assert_true(lightRadio2.checked);
+ assert_false(shadowRadio1.checked);
+ assert_true(shadowRadio2.checked);
+
+ shadowRadio1.click();
+ assert_false(lightRadio1.checked);
+ assert_true(lightRadio2.checked);
+ assert_true(shadowRadio1.checked);
+ assert_false(shadowRadio2.checked);
+}, "input type=radio elements should form a group inside shadow DOM.");
+
+</script>
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
index 70054b57294..8aea59cc8f6 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
@@ -1,6 +1,5 @@
import json
import os
-import socket
import threading
import traceback
import urlparse
@@ -85,7 +84,7 @@ class MarionetteBaseProtocolPart(BaseProtocolPart):
if socket_timeout:
try:
self.marionette.timeout.script = socket_timeout / 2
- except (socket.error, IOError):
+ except IOError:
self.logger.debug("Socket closed")
return
@@ -98,7 +97,7 @@ class MarionetteBaseProtocolPart(BaseProtocolPart):
except errors.ScriptTimeoutException:
self.logger.debug("Script timed out")
pass
- except (socket.timeout, IOError):
+ except IOError:
self.logger.debug("Socket closed")
break
except Exception as e:
@@ -316,7 +315,7 @@ class MarionetteAssertsProtocolPart(AssertsProtocolPart):
except errors.NoSuchWindowException:
# If the window was already closed
self.parent.logger.warning("Failed to get assertion count; window was closed")
- except (errors.MarionetteException, socket.error):
+ except (errors.MarionetteException, IOError):
# This usually happens if the process crashed
pass
@@ -399,7 +398,7 @@ class MarionetteCoverageProtocolPart(CoverageProtocolPart):
error = self.marionette.execute_async_script(script)
if error is not None:
raise Exception('Failure while resetting counters: %s' % json.dumps(error))
- except (errors.MarionetteException, socket.error):
+ except (errors.MarionetteException, IOError):
# This usually happens if the process crashed
pass
@@ -419,7 +418,7 @@ class MarionetteCoverageProtocolPart(CoverageProtocolPart):
error = self.marionette.execute_async_script(script)
if error is not None:
raise Exception('Failure while dumping counters: %s' % json.dumps(error))
- except (errors.MarionetteException, socket.error):
+ except (errors.MarionetteException, IOError):
# This usually happens if the process crashed
pass
@@ -567,7 +566,7 @@ class ExecuteAsyncScriptRun(object):
except errors.ScriptTimeoutException:
self.logger.debug("Got a marionette timeout")
self.result = False, ("EXTERNAL-TIMEOUT", None)
- except (socket.timeout, IOError):
+ except IOError:
# This can happen on a crash
# Also, should check after the test if the firefox process is still running
# and otherwise ignore any other result and set it to crash
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/protocol.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/protocol.py
index 71fc3c9a8f6..f8292ff5ec1 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/protocol.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/protocol.py
@@ -1,4 +1,5 @@
import traceback
+
from abc import ABCMeta, abstractmethod
@@ -53,6 +54,10 @@ class Protocol(object):
msg = "Post-connection steps failed"
self.after_connect()
+ except IOError:
+ self.logger.warning("Timed out waiting for browser to start")
+ self.executor.runner.send_message("init_failed")
+ return
except Exception:
if msg is not None:
self.logger.warning(msg)
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py
index 90f7e4615e0..7e386b881d4 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py
@@ -496,6 +496,8 @@ class TestRunnerManager(threading.Thread):
def init_failed(self):
assert isinstance(self.state, RunnerManagerState.initializing)
+ if self.browser.check_for_crashes():
+ self.browser.log_crash(None)
self.browser.after_init()
self.stop_runner(force=True)
return RunnerManagerState.initializing(self.state.test,
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py
index 0075ad90962..d25e561ad19 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py
@@ -47,7 +47,7 @@ def create_parser(product_choices=None):
TEST is either the full path to a test file to run, or the URL of a test excluding
scheme host and port.""")
- parser.add_argument("--manifest-update", action="store_true", default=None,
+ parser.add_argument("--manifest-update", action="store_true", default=True,
help="Regenerate the test manifest.")
parser.add_argument("--no-manifest-update", action="store_false", dest="manifest_update",
help="Prevent regeneration of the test manifest.")
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/constructor/instantiate.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/constructor/instantiate.any.js
index e90f21e28eb..5da6bd58dfc 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/constructor/instantiate.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/constructor/instantiate.any.js
@@ -2,6 +2,7 @@
// META: script=/wasm/jsapi/wasm-constants.js
// META: script=/wasm/jsapi/wasm-module-builder.js
// META: script=/wasm/jsapi/assertions.js
+// META: script=/wasm/jsapi/instanceTestFactory.js
function assert_WebAssemblyInstantiatedSource(actual, expected_exports={}) {
assert_equals(Object.getPrototypeOf(actual), Object.prototype,
@@ -77,111 +78,25 @@ test(() => {
assert_true(Object.isExtensible(promise), "extensibility");
}, "Promise type");
-const createModule = () => {
- const builder = new WasmModuleBuilder();
-
- builder
- .addFunction("fn", kSig_v_d)
- .addBody([
- kExprEnd
- ])
- .exportFunc();
- builder
- .addFunction("fn2", kSig_v_v)
- .addBody([
- kExprEnd
- ])
- .exportFunc();
-
- builder.setFunctionTableLength(1);
- builder.addExportOfKind("table", kExternalTable, 0);
-
- builder.addGlobal(kWasmI32, true)
- .exportAs("global")
- .init = 7;
- builder.addGlobal(kWasmF64, true)
- .exportAs("global2")
- .init = 1.2;
-
- builder.addMemory(4, 8, true);
-
- const buffer = builder.toBuffer();
-
- const exports = {
- "fn": { "kind": "function", "name": "0", "length": 1 },
- "fn2": { "kind": "function", "name": "1", "length": 0 },
- "table": { "kind": "table", "length": 1 },
- "global": { "kind": "global", "value": 7 },
- "global2": { "kind": "global", "value": 1.2 },
- "memory": { "kind": "memory", "size": 4 },
- };
-
- return [buffer, exports];
+for (const [name, fn] of instanceTestFactory) {
+ promise_test(() => {
+ const { buffer, args, exports, verify } = fn();
+ return WebAssembly.instantiate(buffer, ...args).then(result => {
+ assert_WebAssemblyInstantiatedSource(result, exports);
+ verify(result.instance);
+ });
+ }, `${name}: BufferSource argument`);
+
+ promise_test(() => {
+ const { buffer, args, exports, verify } = fn();
+ const module = new WebAssembly.Module(buffer);
+ return WebAssembly.instantiate(module, ...args).then(instance => {
+ assert_Instance(instance, exports);
+ verify(instance);
+ });
+ }, `${name}: Module argument`);
}
-promise_test(() => {
- const [buffer, expected] = createModule();
- return WebAssembly.instantiate(buffer).then(result => assert_WebAssemblyInstantiatedSource(result, expected));
-}, "BufferSource argument");
-
-promise_test(() => {
- const [buffer, expected] = createModule();
- const module = new WebAssembly.Module(buffer);
- return WebAssembly.instantiate(module).then(instance => assert_Instance(instance, expected));
-}, "Module argument");
-
-const createModuleWithImports = () => {
- const builder = new WasmModuleBuilder();
-
- const index = builder.addImportedGlobal("module", "global", kWasmI32);
- builder
- .addFunction("fn", kSig_i_v)
- .addBody([
- kExprGetGlobal,
- index,
- kExprReturn,
- kExprEnd,
- ])
- .exportFunc();
-
- const buffer = builder.toBuffer();
-
- const expected = {
- "fn": { "kind": "function", "name": "0", "length": 0 },
- };
-
- return [buffer, expected];
-};
-
-promise_test(() => {
- const [buffer, expected] = createModuleWithImports();
-
- const value = 102;
- return WebAssembly.instantiate(buffer, {
- "module": {
- "global": value,
- },
- }).then(result => {
- assert_WebAssemblyInstantiatedSource(result, expected)
- assert_equals(result.instance.exports.fn(), value);
- });
-}, "exports and imports: buffer argument");
-
-promise_test(() => {
- const [buffer, expected] = createModuleWithImports();
- const module = new WebAssembly.Module(buffer);
-
- const value = 102;
- return WebAssembly.instantiate(module, {
- "module": {
- "global": value,
- },
- }).then(instance => {
- assert_Instance(instance, expected)
- assert_equals(instance.exports.fn(), value);
- });
-}, "exports and imports: Module argument");
-
promise_test(t => {
const buffer = new Uint8Array();
return promise_rejects(t, new WebAssembly.CompileError(), WebAssembly.instantiate(buffer));
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js
index f9bd06ac8e9..e6a0450202e 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/instance/constructor.any.js
@@ -2,6 +2,7 @@
// META: script=/wasm/jsapi/wasm-constants.js
// META: script=/wasm/jsapi/wasm-module-builder.js
// META: script=/wasm/jsapi/assertions.js
+// META: script=/wasm/jsapi/instanceTestFactory.js
let emptyModuleBinary;
setup(() => {
@@ -40,182 +41,15 @@ test(() => {
test(() => {
const module = new WebAssembly.Module(emptyModuleBinary);
- const invalidArguments = [
- null,
- true,
- "",
- Symbol(),
- 1,
- ];
- for (const argument of invalidArguments) {
- assert_throws(new TypeError(), () => new WebAssembly.Instance(module, argument),
- `new Instance(module, ${format_value(argument)})`);
- }
-}, "Non-object imports");
-
-test(() => {
- const module = new WebAssembly.Module(emptyModuleBinary);
assert_throws(new TypeError(), () => WebAssembly.Instance(module));
}, "Calling");
-test(() => {
- const module = new WebAssembly.Module(emptyModuleBinary);
- const arguments = [
- [],
- [undefined],
- [{}],
- ];
- for (const value of arguments) {
- const instance = new WebAssembly.Instance(module, ...arguments);
- assert_Instance(instance, {});
- }
-}, "Empty module");
-
-test(() => {
- const builder = new WasmModuleBuilder();
- builder.addImportedGlobal("module", "global1", kWasmI32);
- builder.addImportedGlobal("module2", "global3", kWasmI32);
- builder.addImportedMemory("module", "memory", 0, 128);
- builder.addImportedGlobal("module", "global2", kWasmI32);
- const buffer = builder.toBuffer();
- const module = new WebAssembly.Module(buffer);
- const order = [];
- const imports = {
- get module() {
- order.push("module getter");
- return {
- get global1() {
- order.push("global1 getter");
- return 0;
- },
- get global2() {
- order.push("global2 getter");
- return 0;
- },
- get memory() {
- order.push("memory getter");
- return new WebAssembly.Memory({ "initial": 64, maximum: 128 });
- },
- }
- },
- get module2() {
- order.push("module2 getter");
- return {
- get global3() {
- order.push("global3 getter");
- return 0;
- },
- }
- },
- };
- new WebAssembly.Instance(module, imports);
- const expected = [
- "module getter",
- "global1 getter",
- "module2 getter",
- "global3 getter",
- "module getter",
- "memory getter",
- "module getter",
- "global2 getter",
- ];
- assert_array_equals(order, expected);
-}, "getter order for imports object");
-
-test(() => {
- const builder = new WasmModuleBuilder();
-
- builder.addImport("module", "fn", kSig_v_v);
- builder.addImportedGlobal("module", "global", kWasmI32);
- builder.addImportedMemory("module", "memory", 0, 128);
- builder.addImportedTable("module", "table", 0, 128);
-
- const buffer = builder.toBuffer();
- const module = new WebAssembly.Module(buffer);
- const instance = new WebAssembly.Instance(module, {
- "module": {
- "fn": function() {},
- "global": 0,
- "memory": new WebAssembly.Memory({ "initial": 64, maximum: 128 }),
- "table": new WebAssembly.Table({ "element": "anyfunc", "initial": 64, maximum: 128 }),
- },
- get "module2"() {
- assert_unreached("Should not get modules that are not imported");
- },
- });
- assert_Instance(instance, {});
-}, "imports");
-
-test(() => {
- const builder = new WasmModuleBuilder();
-
- builder
- .addFunction("fn", kSig_v_d)
- .addBody([
- kExprEnd
- ])
- .exportFunc();
- builder
- .addFunction("fn2", kSig_v_v)
- .addBody([
- kExprEnd
- ])
- .exportFunc();
-
- builder.setFunctionTableLength(1);
- builder.addExportOfKind("table", kExternalTable, 0);
-
- builder.addGlobal(kWasmI32, true)
- .exportAs("global")
- .init = 7;
- builder.addGlobal(kWasmF64, true)
- .exportAs("global2")
- .init = 1.2;
-
- builder.addMemory(4, 8, true);
-
- const buffer = builder.toBuffer()
- const module = new WebAssembly.Module(buffer);
-
- const instance = new WebAssembly.Instance(module, {});
- const expected = {
- "fn": { "kind": "function", "name": "0", "length": 1 },
- "fn2": { "kind": "function", "name": "1", "length": 0 },
- "table": { "kind": "table", "length": 1 },
- "global": { "kind": "global", "value": 7 },
- "global2": { "kind": "global", "value": 1.2 },
- "memory": { "kind": "memory", "size": 4 },
- };
- assert_Instance(instance, expected);
-}, "exports");
-
-test(() => {
- const value = 102;
-
- const builder = new WasmModuleBuilder();
-
- builder.addImportedGlobal("module", "global", kWasmI32);
- builder
- .addFunction("fn", kSig_i_v)
- .addBody([
- kExprGetGlobal,
- 0,
- kExprReturn,
- kExprEnd,
- ])
- .exportFunc();
-
- const buffer = builder.toBuffer();
- const module = new WebAssembly.Module(buffer);
- const instance = new WebAssembly.Instance(module, {
- "module": {
- "global": value,
- },
- });
- const expected = {
- "fn": { "kind": "function", "name": "0", "length": 0 },
- };
- assert_Instance(instance, expected);
-
- assert_equals(instance.exports.fn(), value);
-}, "exports and imports");
+for (const [name, fn] of instanceTestFactory) {
+ test(() => {
+ const { buffer, args, exports, verify } = fn();
+ const module = new WebAssembly.Module(buffer);
+ const instance = new WebAssembly.Instance(module, ...args);
+ assert_Instance(instance, exports);
+ verify(instance);
+ }, name);
+}
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/instanceTestFactory.js b/tests/wpt/web-platform-tests/wasm/jsapi/instanceTestFactory.js
new file mode 100644
index 00000000000..1663ffb3469
--- /dev/null
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/instanceTestFactory.js
@@ -0,0 +1,217 @@
+const instanceTestFactory = [
+ [
+ "Empty module without imports argument",
+ function() {
+ return {
+ buffer: emptyModuleBinary,
+ args: [],
+ exports: {},
+ verify: () => {},
+ };
+ }
+ ],
+
+ [
+ "Empty module with undefined imports argument",
+ function() {
+ return {
+ buffer: emptyModuleBinary,
+ args: [undefined],
+ exports: {},
+ verify: () => {},
+ };
+ }
+ ],
+
+ [
+ "Empty module with empty imports argument",
+ function() {
+ return {
+ buffer: emptyModuleBinary,
+ args: [{}],
+ exports: {},
+ verify: () => {},
+ };
+ }
+ ],
+
+ [
+ "getter order for imports object",
+ function() {
+ const builder = new WasmModuleBuilder();
+ builder.addImportedGlobal("module", "global1", kWasmI32);
+ builder.addImportedGlobal("module2", "global3", kWasmI32);
+ builder.addImportedMemory("module", "memory", 0, 128);
+ builder.addImportedGlobal("module", "global2", kWasmI32);
+ const buffer = builder.toBuffer();
+ const order = [];
+
+ const imports = {
+ get module() {
+ order.push("module getter");
+ return {
+ get global1() {
+ order.push("global1 getter");
+ return 0;
+ },
+ get global2() {
+ order.push("global2 getter");
+ return 0;
+ },
+ get memory() {
+ order.push("memory getter");
+ return new WebAssembly.Memory({ "initial": 64, maximum: 128 });
+ },
+ }
+ },
+ get module2() {
+ order.push("module2 getter");
+ return {
+ get global3() {
+ order.push("global3 getter");
+ return 0;
+ },
+ }
+ },
+ };
+
+ const expected = [
+ "module getter",
+ "global1 getter",
+ "module2 getter",
+ "global3 getter",
+ "module getter",
+ "memory getter",
+ "module getter",
+ "global2 getter",
+ ];
+ return {
+ buffer,
+ args: [imports],
+ exports: {},
+ verify: () => assert_array_equals(order, expected),
+ };
+ }
+ ],
+
+ [
+ "imports",
+ function() {
+ const builder = new WasmModuleBuilder();
+
+ builder.addImport("module", "fn", kSig_v_v);
+ builder.addImportedGlobal("module", "global", kWasmI32);
+ builder.addImportedMemory("module", "memory", 0, 128);
+ builder.addImportedTable("module", "table", 0, 128);
+
+ const buffer = builder.toBuffer();
+ const imports = {
+ "module": {
+ "fn": function() {},
+ "global": 0,
+ "memory": new WebAssembly.Memory({ "initial": 64, maximum: 128 }),
+ "table": new WebAssembly.Table({ "element": "anyfunc", "initial": 64, maximum: 128 }),
+ },
+ get "module2"() {
+ assert_unreached("Should not get modules that are not imported");
+ },
+ };
+
+ return {
+ buffer,
+ args: [imports],
+ exports: {},
+ verify: () => {},
+ };
+ }
+ ],
+
+ [
+ "No imports",
+ function() {
+ const builder = new WasmModuleBuilder();
+
+ builder
+ .addFunction("fn", kSig_v_d)
+ .addBody([
+ kExprEnd
+ ])
+ .exportFunc();
+ builder
+ .addFunction("fn2", kSig_v_v)
+ .addBody([
+ kExprEnd
+ ])
+ .exportFunc();
+
+ builder.setFunctionTableLength(1);
+ builder.addExportOfKind("table", kExternalTable, 0);
+
+ builder.addGlobal(kWasmI32, true)
+ .exportAs("global")
+ .init = 7;
+ builder.addGlobal(kWasmF64, true)
+ .exportAs("global2")
+ .init = 1.2;
+
+ builder.addMemory(4, 8, true);
+
+ const buffer = builder.toBuffer();
+
+ const exports = {
+ "fn": { "kind": "function", "name": "0", "length": 1 },
+ "fn2": { "kind": "function", "name": "1", "length": 0 },
+ "table": { "kind": "table", "length": 1 },
+ "global": { "kind": "global", "value": 7 },
+ "global2": { "kind": "global", "value": 1.2 },
+ "memory": { "kind": "memory", "size": 4 },
+ };
+
+ return {
+ buffer,
+ args: [],
+ exports,
+ verify: () => {},
+ };
+ }
+ ],
+
+ [
+ "exports and imports",
+ function() {
+ const value = 102;
+
+ const builder = new WasmModuleBuilder();
+
+ const index = builder.addImportedGlobal("module", "global", kWasmI32);
+ builder
+ .addFunction("fn", kSig_i_v)
+ .addBody([
+ kExprGetGlobal,
+ index,
+ kExprReturn,
+ kExprEnd,
+ ])
+ .exportFunc();
+
+ const buffer = builder.toBuffer();
+
+ const imports = {
+ "module": {
+ "global": value,
+ },
+ };
+
+ const exports = {
+ "fn": { "kind": "function", "name": "0", "length": 0 },
+ };
+
+ return {
+ buffer,
+ args: [imports],
+ exports,
+ verify: instance => assert_equals(instance.exports.fn(), value)
+ };
+ }
+ ],
+];
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js
index 5d76ac56ec5..98c4a1d781b 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/interface.any.js
@@ -9,7 +9,7 @@ function test_operations(object, object_name, operations) {
assert_true(propdesc.writable, "writable");
assert_true(propdesc.enumerable, "enumerable");
assert_true(propdesc.configurable, "configurable");
- assert_equals(propdesc.value, WebAssembly[name]);
+ assert_equals(propdesc.value, object[name]);
}, `${object_name}.${name}`);
test(() => {
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js
index f9907ca6104..5caf7cc8bb9 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/memory/constructor.any.js
@@ -80,6 +80,10 @@ for (const value of outOfRangeValues) {
}
test(() => {
+ assert_throws(new RangeError(), () => new WebAssembly.Memory({ "element": "anyfunc", "initial": 10, "maximum": 9 }));
+}, "Initial value exceeds maximum");
+
+test(() => {
const proxy = new Proxy({}, {
has(o, x) {
assert_unreached(`Should not call [[HasProperty]] with ${x}`);
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js
index dde2fd77090..c88972b4ebd 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/assertions.js
@@ -1,6 +1,8 @@
function assert_equal_to_array(table, expected, message) {
assert_equals(table.length, expected.length, `${message}: length`);
- assert_throws(new RangeError(), () => table.get(-1), `${message}: table.get(-1)`);
+ // The argument check in get() happens before the range check, and negative numbers
+ // are illegal, hence will throw TypeError per spec.
+ assert_throws(new TypeError(), () => table.get(-1), `${message}: table.get(-1)`);
for (let i = 0; i < expected.length; ++i) {
assert_equals(table.get(i), expected[i], `${message}: table.get(${i} of ${expected.length})`);
}
diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js
index 2bb43a9308d..66c41340c20 100644
--- a/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js
+++ b/tests/wpt/web-platform-tests/wasm/jsapi/table/get-set.any.js
@@ -131,7 +131,9 @@ test(() => {
const {fn} = functions;
- assert_throws(new RangeError(), () => table.set(-1, fn));
+ // -1 is the wrong type hence the type check on entry gets this
+ // before the range check does.
+ assert_throws(new TypeError(), () => table.set(-1, fn));
assert_throws(new RangeError(), () => table.set(5, fn));
assert_equal_to_array(table, [null, null, null, null, null]);
}, "Setting out-of-bounds");
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/actions/conftest.py b/tests/wpt/web-platform-tests/webdriver/tests/actions/conftest.py
index 47aad72ba05..55cecd11782 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/actions/conftest.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/actions/conftest.py
@@ -14,6 +14,11 @@ def mouse_chain(session):
{"pointerType": "mouse"})
+@pytest.fixture
+def none_chain(session):
+ return session.actions.sequence("none", "none_id")
+
+
@pytest.fixture(autouse=True)
def release_actions(session, request):
# release all actions after each test
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/actions/none.py b/tests/wpt/web-platform-tests/webdriver/tests/actions/none.py
new file mode 100644
index 00000000000..07944a68ffe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webdriver/tests/actions/none.py
@@ -0,0 +1,19 @@
+from tests.support.asserts import assert_error, assert_success
+
+
+def perform_actions(session, actions):
+ return session.transport.send(
+ "POST",
+ "/session/{session_id}/actions".format(**vars(session)),
+ {"actions": actions},
+ )
+
+
+def test_null_response_value(session, none_chain):
+ response = perform_actions(session, [none_chain.pause(0).dict])
+ assert_success(response, None)
+
+
+def test_no_browsing_context(session, closed_window, none_chain):
+ response = perform_actions(session, [none_chain.pause(0).dict])
+ assert_error(response, "no such window")
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/actions/bounds.py b/tests/wpt/web-platform-tests/webdriver/tests/actions/validity.py
index e218c851e75..ce8a0d60f7d 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/actions/bounds.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/actions/validity.py
@@ -49,3 +49,16 @@ def test_pause_invalid_types(session, action_type):
}]
response = perform_actions(session, actions)
assert_error(response, "invalid argument")
+
+
+@pytest.mark.parametrize("action_type", ["none", "key", "pointer"])
+def test_pause_without_duration(session, action_type):
+ actions = [{
+ "type": action_type,
+ "id": "foobar",
+ "actions": [{
+ "type": "pause",
+ }]
+ }]
+ response = perform_actions(session, actions)
+ assert_success(response)
diff --git a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini
index ca35ba9e620..c67d2455356 100644
--- a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini
@@ -8,3 +8,6 @@
[WebGL test #52: could not create image (SVG)]
expected: FAIL
+ [WebGL test #60: could not create image (SVG)]
+ expected: FAIL
+