aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini6
-rw-r--r--tests/wpt/metadata/MANIFEST.json652
-rw-r--r--tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini4
-rw-r--r--tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini2
-rw-r--r--tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini2
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini79
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini88
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini15
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini15
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini10
-rw-r--r--tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini12
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini5
-rw-r--r--tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini4
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.html (renamed from tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.any.js)19
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.html (renamed from tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.any.js)19
-rw-r--r--tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.html (renamed from tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.any.js)21
-rw-r--r--tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html28
-rw-r--r--tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html70
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html5
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html5
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html38
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html5
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html26
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html5
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html36
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html21
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html21
-rw-r--r--tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl4
-rw-r--r--tests/wpt/web-platform-tests/interfaces/wake-lock.idl2
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webaudio.idl3
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webrtc.idl2
-rw-r--r--tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html34
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py1
-rw-r--r--tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js8
-rw-r--r--tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html11
-rw-r--r--tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm6
70 files changed, 1481 insertions, 474 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
index 947e223fb28..3a3d15b8406 100644
--- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
@@ -14,6 +14,9 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
+ [Revoke blob URL after calling fetch, fetch should succeed]
+ expected: FAIL
+
[url-with-fetch.any.html]
[Untitled]
@@ -34,3 +37,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
+ [Revoke blob URL after calling fetch, fetch should succeed]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 116c88f2ca7..31115044364 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -147105,6 +147105,18 @@
{}
]
],
+ "css/css-text/text-transform/text-transform-upperlower-044.html": [
+ [
+ "css/css-text/text-transform/text-transform-upperlower-044.html",
+ [
+ [
+ "/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/text-transform/text-transform-upperlower-101.html": [
[
"css/css-text/text-transform/text-transform-upperlower-101.html",
@@ -281113,6 +281125,11 @@
{}
]
],
+ "css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-text/text-transform/reference/text-transform-upperlower-101-ref.html": [
[
{}
@@ -344718,344 +344735,26 @@
{}
]
],
- "IndexedDB/nested-cloning-large-multiple.any.js": [
+ "IndexedDB/nested-cloning-large-multiple.html": [
[
- "IndexedDB/nested-cloning-large-multiple.any.html",
+ "IndexedDB/nested-cloning-large-multiple.html",
{
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-large-multiple.any.serviceworker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-large-multiple.any.sharedworker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-large-multiple.any.worker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
"timeout": "long"
}
]
],
- "IndexedDB/nested-cloning-large.any.js": [
+ "IndexedDB/nested-cloning-large.html": [
[
- "IndexedDB/nested-cloning-large.any.html",
+ "IndexedDB/nested-cloning-large.html",
{
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-large.any.serviceworker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-large.any.sharedworker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-large.any.worker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: large nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
"timeout": "long"
}
]
],
- "IndexedDB/nested-cloning-small.any.js": [
- [
- "IndexedDB/nested-cloning-small.any.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: small nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
+ "IndexedDB/nested-cloning-small.html": [
[
- "IndexedDB/nested-cloning-small.any.serviceworker.html",
+ "IndexedDB/nested-cloning-small.html",
{
- "script_metadata": [
- [
- "title",
- "IndexedDB: small nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-small.any.sharedworker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: small nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
- "timeout": "long"
- }
- ],
- [
- "IndexedDB/nested-cloning-small.any.worker.html",
- {
- "script_metadata": [
- [
- "title",
- "IndexedDB: small nested objects are cloned correctly"
- ],
- [
- "timeout",
- "long"
- ],
- [
- "script",
- "support-promises.js"
- ],
- [
- "script",
- "nested-cloning-common.js"
- ],
- [
- "global",
- "window,dedicatedworker,sharedworker,serviceworker"
- ]
- ],
"timeout": "long"
}
]
@@ -352780,6 +352479,14 @@
}
]
],
+ "bluetooth/characteristic/writeValue/buffer-is-detached.https.html": [
+ [
+ "bluetooth/characteristic/writeValue/buffer-is-detached.https.html",
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"bluetooth/characteristic/writeValue/characteristic-is-removed.https.html": [
[
"bluetooth/characteristic/writeValue/characteristic-is-removed.https.html",
@@ -352828,6 +352535,14 @@
}
]
],
+ "bluetooth/descriptor/writeValue/buffer-is-detached.https.html": [
+ [
+ "bluetooth/descriptor/writeValue/buffer-is-detached.https.html",
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [
[
"bluetooth/descriptor/writeValue/gen-service-is-removed.https.html",
@@ -358711,6 +358426,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-attachment-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-attachment-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-attachment-invalid.html": [
[
"css/css-backgrounds/parsing/background-attachment-invalid.html",
@@ -358723,6 +358444,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-clip-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-clip-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-clip-invalid.html": [
[
"css/css-backgrounds/parsing/background-clip-invalid.html",
@@ -358735,6 +358462,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-color-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-color-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-color-invalid.html": [
[
"css/css-backgrounds/parsing/background-color-invalid.html",
@@ -358747,6 +358480,18 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-computed.html",
+ {}
+ ]
+ ],
+ "css/css-backgrounds/parsing/background-image-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-image-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-image-invalid.html": [
[
"css/css-backgrounds/parsing/background-image-invalid.html",
@@ -358765,6 +358510,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-origin-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-origin-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-origin-invalid.html": [
[
"css/css-backgrounds/parsing/background-origin-invalid.html",
@@ -358777,6 +358528,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-position-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-position-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-position-invalid.html": [
[
"css/css-backgrounds/parsing/background-position-invalid.html",
@@ -358825,6 +358582,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-repeat-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-repeat-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-repeat-invalid.html": [
[
"css/css-backgrounds/parsing/background-repeat-invalid.html",
@@ -358837,6 +358600,12 @@
{}
]
],
+ "css/css-backgrounds/parsing/background-size-computed.html": [
+ [
+ "css/css-backgrounds/parsing/background-size-computed.html",
+ {}
+ ]
+ ],
"css/css-backgrounds/parsing/background-size-invalid.html": [
[
"css/css-backgrounds/parsing/background-size-invalid.html",
@@ -362803,6 +362572,60 @@
{}
]
],
+ "css/css-logical/parsing/border-block-color-computed.html": [
+ [
+ "css/css-logical/parsing/border-block-color-computed.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-color-invalid.html": [
+ [
+ "css/css-logical/parsing/border-block-color-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-color-valid.html": [
+ [
+ "css/css-logical/parsing/border-block-color-valid.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-style-computed.html": [
+ [
+ "css/css-logical/parsing/border-block-style-computed.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-style-invalid.html": [
+ [
+ "css/css-logical/parsing/border-block-style-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-style-valid.html": [
+ [
+ "css/css-logical/parsing/border-block-style-valid.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-width-computed.html": [
+ [
+ "css/css-logical/parsing/border-block-width-computed.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-width-invalid.html": [
+ [
+ "css/css-logical/parsing/border-block-width-invalid.html",
+ {}
+ ]
+ ],
+ "css/css-logical/parsing/border-block-width-valid.html": [
+ [
+ "css/css-logical/parsing/border-block-width-valid.html",
+ {}
+ ]
+ ],
"css/css-logical/parsing/inline-size-invalid.html": [
[
"css/css-logical/parsing/inline-size-invalid.html",
@@ -397031,6 +396854,12 @@
{}
]
],
+ "html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html": [
+ [
+ "html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html",
+ {}
+ ]
+ ],
"html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html": [
[
"html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html",
@@ -423149,6 +422978,12 @@
{}
]
],
+ "portals/portal-non-http-navigation.html": [
+ [
+ "portals/portal-non-http-navigation.html",
+ {}
+ ]
+ ],
"portals/portal-onload-event.html": [
[
"portals/portal-onload-event.html",
@@ -445578,6 +445413,19 @@
}
]
],
+ "wake-lock/wakelock-screen-type-on-worker.https.worker.js": [
+ [
+ "wake-lock/wakelock-screen-type-on-worker.https.worker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Screen wake lock should not be allowed in dedicated worker"
+ ]
+ ]
+ }
+ ]
+ ],
"wake-lock/wakelock-supported-by-feature-policy.html": [
[
"wake-lock/wakelock-supported-by-feature-policy.html",
@@ -445591,7 +445439,7 @@
"script_metadata": [
[
"title",
- "WakeLock.request() with invaild type"
+ "WakeLock.request() with invalid type"
]
]
}
@@ -445602,7 +445450,7 @@
"script_metadata": [
[
"title",
- "WakeLock.request() with invaild type"
+ "WakeLock.request() with invalid type"
]
]
}
@@ -488481,16 +488329,16 @@
"db5f710ceb5652ed8b9746f883948fac41262d6b",
"support"
],
- "IndexedDB/nested-cloning-large-multiple.any.js": [
- "d64df916d801b106759fb0ca2e6547d5686fac8d",
+ "IndexedDB/nested-cloning-large-multiple.html": [
+ "f263efbcf6d8f1601e623690ba0de799edce406b",
"testharness"
],
- "IndexedDB/nested-cloning-large.any.js": [
- "cadfeb04599d2c946037a8a726ea37357fb41172",
+ "IndexedDB/nested-cloning-large.html": [
+ "6e4f9be2ee6ce57605ad0248f37f794f6d8a70a2",
"testharness"
],
- "IndexedDB/nested-cloning-small.any.js": [
- "864752827a9afd1932f1e0978e1cff825af42fb4",
+ "IndexedDB/nested-cloning-small.html": [
+ "558415f2342038eb079b4267fdcb0b133fbb9da8",
"testharness"
],
"IndexedDB/objectstore_keyorder.htm": [
@@ -492921,6 +492769,10 @@
"d9a9594320d5ec337b5b50ac5f7873e547e4b30a",
"testharness"
],
+ "bluetooth/characteristic/writeValue/buffer-is-detached.https.html": [
+ "b8a1abfa5afe3d514d6884b58268dc47cfc15f5e",
+ "testharness"
+ ],
"bluetooth/characteristic/writeValue/characteristic-is-removed.https.html": [
"f79c21916fba824578eeb20052dba6f86c350adc",
"testharness"
@@ -492945,6 +492797,10 @@
"35ff057cbadf12c8d7ada949fe1db07a01450a66",
"testharness"
],
+ "bluetooth/descriptor/writeValue/buffer-is-detached.https.html": [
+ "2ab990de61c5603976d3dc915d078a59f11d30a2",
+ "testharness"
+ ],
"bluetooth/descriptor/writeValue/gen-service-is-removed.https.html": [
"acd56c3aa45723f1019806b15332697e2e04690f",
"testharness"
@@ -580661,6 +580517,10 @@
"5ed794153083a7e06eb2e98b7ebdb5bec2676d28",
"visual"
],
+ "css/css-backgrounds/parsing/background-attachment-computed.html": [
+ "ceb76c2cdae213b5dad7e1f770590e0b4b054f12",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-attachment-invalid.html": [
"30757f3a4d02a9b1d1fc82c19255804ee2b20ae9",
"testharness"
@@ -580669,6 +580529,10 @@
"14d72c606ba52e85d296a5404c2546486765cd42",
"testharness"
],
+ "css/css-backgrounds/parsing/background-clip-computed.html": [
+ "9e8b7631bbb37c20fe7bdf5b43206a1e9aa20ce7",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-clip-invalid.html": [
"96831e06fc9cce1c9c45e4d44c83f04d2350d0ab",
"testharness"
@@ -580677,14 +580541,26 @@
"e262a788bd0296deb0429fd4fc4257390776680a",
"testharness"
],
+ "css/css-backgrounds/parsing/background-color-computed.html": [
+ "7fbeac81a9f328be670c81be4b645e0e37461e91",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-color-invalid.html": [
- "b94875402d89839fdb717883f11eff7f880036bf",
+ "bf315fdb4e49038dae3eb16d3df7308840b51ca3",
"testharness"
],
"css/css-backgrounds/parsing/background-color-valid.html": [
"3859b932c82287c0e103f1a7aebb1ed190b735a0",
"testharness"
],
+ "css/css-backgrounds/parsing/background-computed.html": [
+ "cb7d10998e0f46c2553fe161cb215179c4bab4c7",
+ "testharness"
+ ],
+ "css/css-backgrounds/parsing/background-image-computed.html": [
+ "af14f6cf6e8e23de029f7079fe653144218b0ecf",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-image-invalid.html": [
"eaba64a715ce71a9f828569a24df51f1476664dd",
"testharness"
@@ -580697,6 +580573,10 @@
"4ea58da801961ba9c8a315ebb0b1de846e16f889",
"testharness"
],
+ "css/css-backgrounds/parsing/background-origin-computed.html": [
+ "4e5280135d8d2d5bf3ea73cd92505f78c7e09f52",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-origin-invalid.html": [
"5da00dabe33473254830990c43375ac349eea330",
"testharness"
@@ -580705,8 +580585,12 @@
"7e3b0fffcad133948567c5a31b9dcb232891e610",
"testharness"
],
+ "css/css-backgrounds/parsing/background-position-computed.html": [
+ "c5e30745f476027170420039873f1911908676df",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-position-invalid.html": [
- "bb974afd9f41d8ca4f0ac82db10e57e4bf6d74b7",
+ "966db4c31a9b1b9d55afbce41ec31bbb98dfc69f",
"testharness"
],
"css/css-backgrounds/parsing/background-position-valid.html": [
@@ -580714,7 +580598,7 @@
"testharness"
],
"css/css-backgrounds/parsing/background-position-x-computed.html": [
- "6e997c95ae0b632713bed16a84d07c3ac6379d1b",
+ "f64d2658637ae013997dcdac15d090149304d6df",
"testharness"
],
"css/css-backgrounds/parsing/background-position-x-invalid.html": [
@@ -580726,7 +580610,7 @@
"testharness"
],
"css/css-backgrounds/parsing/background-position-y-computed.html": [
- "ceff11f624d2d04fdca3201af09023081c3bf759",
+ "103a26037b7115d09472bd58dc49349e698ef020",
"testharness"
],
"css/css-backgrounds/parsing/background-position-y-invalid.html": [
@@ -580737,6 +580621,10 @@
"1413a2e959a4cf00b64fecf06932a083e1480e54",
"testharness"
],
+ "css/css-backgrounds/parsing/background-repeat-computed.html": [
+ "f58ab577791a869c837b08c39514d3ee8b17eba6",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-repeat-invalid.html": [
"abb153378f4ce02507d39c5a5a979689df58c8ba",
"testharness"
@@ -580745,6 +580633,10 @@
"2f72e03c73332dcf4356796ea3164fe170a21620",
"testharness"
],
+ "css/css-backgrounds/parsing/background-size-computed.html": [
+ "01091f541ff3494d9949d620521ea6e91d9d9f97",
+ "testharness"
+ ],
"css/css-backgrounds/parsing/background-size-invalid.html": [
"01a0322002bc4fecc9c48d2266e39d1c2da3e500",
"testharness"
@@ -601097,6 +600989,42 @@
"47170e48f15f90488542daf7ede743cd55f75172",
"testharness"
],
+ "css/css-logical/parsing/border-block-color-computed.html": [
+ "dc9e44edb1a11c374074c266c2b0929a5f13580b",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-color-invalid.html": [
+ "1c25f125fe32fe138d4ef1a656c4a249cd981136",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-color-valid.html": [
+ "aefe0f268b0f7a91d46fb40c4b051587de1f2ac7",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-style-computed.html": [
+ "beb3869863ccf016457b03bf4a8c401b7a69c47c",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-style-invalid.html": [
+ "680e510aae6853fc48ad65f2eb3a0fabdb436936",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-style-valid.html": [
+ "860a1052b8346aadbbbf18faf818ab9248f35535",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-width-computed.html": [
+ "3b4d934f8b23b29cd5d7b3aae039ac51ac4ab410",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-width-invalid.html": [
+ "65990fe930d2b8b69a2863d675bbfd993291ce5a",
+ "testharness"
+ ],
+ "css/css-logical/parsing/border-block-width-valid.html": [
+ "98987df9a703ef38d20c6bc1581b2ca136342615",
+ "testharness"
+ ],
"css/css-logical/parsing/inline-size-invalid.html": [
"d3d5d3f84d9d01392533e787b9e6755d592ec96e",
"testharness"
@@ -616858,7 +616786,7 @@
"support"
],
"css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html": [
- "0e243edde50eeddae6b52604051ade41194cf447",
+ "f4fb6804434e02f283fe036e8a110a5652fc8cb3",
"support"
],
"css/css-text/text-transform/reference/text-transform-upperlower-040-ref.html": [
@@ -616877,6 +616805,10 @@
"5c5e18c2f7451fb5a236c9fae6344786a65336b3",
"support"
],
+ "css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html": [
+ "3eed1edb80e628c28f6a483db4a6980a4b36064e",
+ "support"
+ ],
"css/css-text/text-transform/reference/text-transform-upperlower-101-ref.html": [
"0105b021d468598eec8e48de849d4764a9e517af",
"support"
@@ -617234,7 +617166,7 @@
"reftest"
],
"css/css-text/text-transform/text-transform-upperlower-039.html": [
- "40f36e0be3cd440d8f8820e5636455e90b5b9e68",
+ "470a4f6fb549f29d9a29f43b68df63b304c851e2",
"reftest"
],
"css/css-text/text-transform/text-transform-upperlower-040.html": [
@@ -617253,6 +617185,10 @@
"d56f6b3ee3bf1cd0d692d36a782c0040129b31a4",
"reftest"
],
+ "css/css-text/text-transform/text-transform-upperlower-044.html": [
+ "6d81c4540a132fc5db5a8361154c3f04f1087f32",
+ "reftest"
+ ],
"css/css-text/text-transform/text-transform-upperlower-101.html": [
"e4f2ca7d9f510359541f974e4f648c89de6e1561",
"reftest"
@@ -671166,7 +671102,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html": [
- "67ab3bdb138230fa64f0a04c0cc2bd780a23ec65",
+ "501cf3f92a2796c2685a046829593821d7414b2c",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html": [
@@ -671314,11 +671250,11 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html": [
- "ffc8ec0682dedc522f4713dcf3ba58b31debbb8b",
+ "dd97d0522d781f685178763df67dbb3145290ca3",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html": [
- "34a53d153190afe44357d5b53e184050de092b18",
+ "f3c78668b4ac6862dc60eb9d4f6c30e149fa07af",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-helpers.js": [
@@ -671354,7 +671290,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html": [
- "2902ba90bc97355bea3902a1a6dcb81d4e4e9e41",
+ "3ec47a39e2f229e48c3ae14ec6428c88931013a7",
"testharness"
],
"html/semantics/embedded-content/media-elements/track/track-element/track-mode-triggers-loading.html": [
@@ -671397,6 +671333,10 @@
"1f7df3b68232eef2010b7c8df665ec39b68af08e",
"testharness"
],
+ "html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html": [
+ "522d067adfc500a4e773c267c663f331d86c57cc",
+ "testharness"
+ ],
"html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html": [
"5b11bfdea4cf935d96b21505b8681288793ee2c4",
"testharness"
@@ -674866,11 +674806,11 @@
"support"
],
"html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html": [
- "97320090cf039c7352d3f302a42c4bee8765bbd7",
+ "73eebaff70f09bb98a3b7dd6b59f9357a3ab0668",
"testharness"
],
"html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html": [
- "8d1b54baccdfd49403c6d192d4c287d3d8818636",
+ "3da6a49ef866e7c048461d60b398ad619e72d986",
"testharness"
],
"html/semantics/links/linktypes/alternate-css-ref.html": [
@@ -680706,7 +680646,7 @@
"support"
],
"interfaces/mediacapture-streams.idl": [
- "427aa92dd1f750f305bccb0b9514820f5bc1d29b",
+ "c07b7e3301248f4945aacbbbe1a0c84330bbe086",
"support"
],
"interfaces/mediasession.idl": [
@@ -680890,7 +680830,7 @@
"support"
],
"interfaces/wake-lock.idl": [
- "863cef13f3c39e852920fdf3763848562fe7360c",
+ "21a3406f5894629ab5838dcf85474043c5138867",
"support"
],
"interfaces/wasm-js-api.idl": [
@@ -680918,7 +680858,7 @@
"support"
],
"interfaces/webaudio.idl": [
- "4679558023ae87655f46b10d5a57d39269c6e8c9",
+ "aa137c12f01e0ceee5af4435f38187d19c2acfcb",
"support"
],
"interfaces/webauthn.idl": [
@@ -680950,7 +680890,7 @@
"support"
],
"interfaces/webrtc.idl": [
- "6ae34167ded31a5927791915eb56bc55f09c59dd",
+ "4b5d1c1c581869cdfcefab4584c2b05b2dcb1f86",
"support"
],
"interfaces/webusb.idl": [
@@ -694309,6 +694249,10 @@
"780e8b58af98cc910e3739e3a9a2e5567d5613d0",
"testharness"
],
+ "portals/portal-non-http-navigation.html": [
+ "3b79df3c230e1128574d4a6eb81d407cd9303e2c",
+ "testharness"
+ ],
"portals/portal-onload-event.html": [
"c9f07fcc889043cd523206728f7daaaefa653409",
"testharness"
@@ -720630,7 +720574,7 @@
"support"
],
"tools/wptrunner/wptrunner/browsers/firefox.py": [
- "454b08612aaca41e439fc7a9011019e7c4655c26",
+ "3b6949a42f5df564284eea15cd110e8c1a7763ee",
"support"
],
"tools/wptrunner/wptrunner/browsers/ie.py": [
@@ -723465,12 +723409,16 @@
"f32cc3c354354f99852bb198760cdbd9229355a4",
"testharness"
],
+ "wake-lock/wakelock-screen-type-on-worker.https.worker.js": [
+ "28e3394279c0b4311a80aad43ced0f9ea79e029f",
+ "testharness"
+ ],
"wake-lock/wakelock-supported-by-feature-policy.html": [
"d6289fff43c8717ac6e9ace59713e6fd70bd249d",
"testharness"
],
"wake-lock/wakelock-type.https.any.js": [
- "26ebcbef557014fe5b5b7d4f4f145ac5f0305a02",
+ "e11fccc1ddf80320ffdf0bd893e28f30003dabc2",
"testharness"
],
"wasm/META.yml": [
@@ -727226,7 +727174,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-addIceCandidate.html": [
- "c51c11fccbfae40de733b882503be402cbf7aa7a",
+ "ed52ace59e60c1ea11285052ab2e1efa17a4d941",
"testharness"
],
"webrtc/RTCPeerConnection-addTrack.https.html": [
@@ -735142,7 +735090,7 @@
"testharness"
],
"xhr/responsexml-document-properties.htm": [
- "b008348e58f0f8751d9d1b83531e843af8239a6d",
+ "9071fab121fc8e55d885c4fc89636380b66c226c",
"testharness"
],
"xhr/responsexml-get-twice.htm": [
diff --git a/tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini b/tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini
new file mode 100644
index 00000000000..3d248dfdb6a
--- /dev/null
+++ b/tests/wpt/metadata/bluetooth/characteristic/writeValue/buffer-is-detached.https.html.ini
@@ -0,0 +1,4 @@
+[buffer-is-detached.https.html]
+ [writeValue() fails when passed a detached buffer]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini b/tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini
new file mode 100644
index 00000000000..3d248dfdb6a
--- /dev/null
+++ b/tests/wpt/metadata/bluetooth/descriptor/writeValue/buffer-is-detached.https.html.ini
@@ -0,0 +1,4 @@
+[buffer-is-detached.https.html]
+ [writeValue() fails when passed a detached buffer]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini b/tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini
new file mode 100644
index 00000000000..73f3097d3a7
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/bidi-text/bidi-box-model-035.xht.ini
@@ -0,0 +1,2 @@
+[bidi-box-model-035.xht]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini b/tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini
new file mode 100644
index 00000000000..bfe15e16fd8
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/linebox/line-height-068.xht.ini
@@ -0,0 +1,2 @@
+[line-height-068.xht]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini
new file mode 100644
index 00000000000..9c542887681
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-clip-computed.html.ini
@@ -0,0 +1,4 @@
+[background-clip-computed.html]
+ [Property background-clip value 'border-box, padding-box, content-box' computes to 'border-box']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini
new file mode 100644
index 00000000000..dd4fdc7e6c8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-computed.html.ini
@@ -0,0 +1,79 @@
+[background-computed.html]
+ [Property background-position-y value '0.5em' computes to '20px, 20px, 20px']
+ expected: FAIL
+
+ [Property background-position-y value 'calc(10px - 0.5em), -20%, bottom, 15%' computes to '-10px, -20%, 100%']
+ expected: FAIL
+
+ [Property background-position value '12px 13px, 50% 6px, 30px -10px' computes to '12px 13px, 50% 6px, 30px -10px']
+ expected: FAIL
+
+ [Property background-clip value 'content-box, border-box' computes to 'content-box, border-box, content-box']
+ expected: FAIL
+
+ [Property background-repeat value 'round' computes to 'round, round, round']
+ expected: FAIL
+
+ [Property background-attachment value 'local, fixed, scroll' computes to 'local, fixed, scroll']
+ expected: FAIL
+
+ [Property background-repeat value 'repeat-y, round no-repeat, repeat-x, repeat' computes to 'repeat-y, round no-repeat, repeat-x']
+ expected: FAIL
+
+ [Property background-position-x value 'calc(10px - 0.5em), -20%, right, 15%' computes to '-10px, -20%, 100%']
+ expected: FAIL
+
+ [Property background-clip value 'border-box' computes to 'border-box, border-box, border-box']
+ expected: FAIL
+
+ [Property background-attachment value 'local, fixed, scroll, fixed' computes to 'local, fixed, scroll']
+ expected: FAIL
+
+ [Property background-size value 'auto 1px, 2% 3%' computes to 'auto 1px, 2% 3%, auto 1px']
+ expected: FAIL
+
+ [Property background-clip value 'content-box, border-box, padding-box, content-box' computes to 'content-box, border-box, padding-box']
+ expected: FAIL
+
+ [Property background-origin value 'border-box' computes to 'border-box, border-box, border-box']
+ expected: FAIL
+
+ [Property background-position-x value '0.5em' computes to '20px, 20px, 20px']
+ expected: FAIL
+
+ [Property background-position value '12px 13px, 50% 6px, 30px -10px, -7px 8px' computes to '12px 13px, 50% 6px, 30px -10px']
+ expected: FAIL
+
+ [Property background-attachment value 'scroll, fixed' computes to 'scroll, fixed, scroll']
+ expected: FAIL
+
+ [Property background-position-y value '-20%, 10px' computes to '-20%, 10px, -20%']
+ expected: FAIL
+
+ [Property background-repeat value 'repeat-x, repeat' computes to 'repeat-x, repeat, repeat-x']
+ expected: FAIL
+
+ [Property background-position value '50% 6px' computes to '50% 6px, 50% 6px, 50% 6px']
+ expected: FAIL
+
+ [Property background-origin value 'content-box, border-box' computes to 'content-box, border-box, content-box']
+ expected: FAIL
+
+ [Property background-attachment value 'local' computes to 'local, local, local']
+ expected: FAIL
+
+ [Property background-position value '12px 13px, 50% 6px' computes to '12px 13px, 50% 6px, 12px 13px']
+ expected: FAIL
+
+ [Property background-size value 'auto 1px, 2% 3%, contain, 7px 8px' computes to 'auto 1px, 2% 3%, contain']
+ expected: FAIL
+
+ [Property background-position-x value '-20%, 10px' computes to '-20%, 10px, -20%']
+ expected: FAIL
+
+ [Property background-origin value 'content-box, border-box, padding-box, content-box' computes to 'content-box, border-box, padding-box']
+ expected: FAIL
+
+ [Property background-size value 'contain' computes to 'contain, contain, contain']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini
new file mode 100644
index 00000000000..4a015c2ccb9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-origin-computed.html.ini
@@ -0,0 +1,4 @@
+[background-origin-computed.html]
+ [Property background-origin value 'border-box, padding-box, content-box' computes to 'border-box']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini
new file mode 100644
index 00000000000..360feb221db
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-computed.html.ini
@@ -0,0 +1,88 @@
+[background-position-computed.html]
+ [Property background-position value '12px 13px, 50% 6px, 30px -10px' computes to '12px 13px']
+ expected: FAIL
+
+ [Property background-position value 'bottom right 19%' computes to '81% 100%']
+ expected: FAIL
+
+ [Property background-position value 'top 17px right -18px' computes to 'calc(100% + 18px) 17px']
+ expected: FAIL
+
+ [Property background-position value 'bottom 16% left' computes to '0% 84%']
+ expected: FAIL
+
+ [Property background-position value 'bottom center' computes to '50% 100%']
+ expected: FAIL
+
+ [Property background-position value 'right 9%' computes to '100% 9%']
+ expected: FAIL
+
+ [Property background-position value 'bottom' computes to '50% 100%']
+ expected: FAIL
+
+ [Property background-position value 'center left' computes to '0% 50%']
+ expected: FAIL
+
+ [Property background-position value '-2% -3%' computes to '-2% -3%']
+ expected: FAIL
+
+ [Property background-position value 'center top 8px' computes to '50% 8px']
+ expected: FAIL
+
+ [Property background-position value '1px center' computes to '1px 50%']
+ expected: FAIL
+
+ [Property background-position value 'center' computes to '50% 50%']
+ expected: FAIL
+
+ [Property background-position value '1px' computes to '1px 50%']
+ expected: FAIL
+
+ [Property background-position value 'left' computes to '0% 50%']
+ expected: FAIL
+
+ [Property background-position value 'center 6px' computes to '50% 6px']
+ expected: FAIL
+
+ [Property background-position value 'right 11% bottom' computes to '89% 100%']
+ expected: FAIL
+
+ [Property background-position value '5% top' computes to '5% 0%']
+ expected: FAIL
+
+ [Property background-position value 'calc(10px + 0.5em) calc(10px - 0.5em)' computes to '30px -10px']
+ expected: FAIL
+
+ [Property background-position value 'center center' computes to '50% 50%']
+ expected: FAIL
+
+ [Property background-position value 'right center' computes to '100% 50%']
+ expected: FAIL
+
+ [Property background-position value 'center bottom' computes to '50% 100%']
+ expected: FAIL
+
+ [Property background-position value 'left bottom' computes to '0% 100%']
+ expected: FAIL
+
+ [Property background-position value 'top left' computes to '0% 0%']
+ expected: FAIL
+
+ [Property background-position value 'left 10px center' computes to '10px 50%']
+ expected: FAIL
+
+ [Property background-position value 'top 15px center' computes to '50% 15px']
+ expected: FAIL
+
+ [Property background-position value 'left 12px top 13px' computes to '12px 13px']
+ expected: FAIL
+
+ [Property background-position value 'right top 14%' computes to '100% 14%']
+ expected: FAIL
+
+ [Property background-position value 'center right 7%' computes to '93% 50%']
+ expected: FAIL
+
+ [Property background-position value 'calc(10px - 0.5em) calc(10px + 0.5em)' computes to '-10px 30px']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini
index 2f1b576a058..774732efcbd 100644
--- a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-x-computed.html.ini
@@ -17,3 +17,18 @@
[Property background-position-x value 'x-end' computes to 'x-end']
expected: FAIL
+ [Property background-position-x value 'calc(10px - 0.5em), -20%, 10px' computes to '-10px']
+ expected: FAIL
+
+ [Property background-position-x value 'calc(10px - 0.5em), left -20%, right 10px' computes to '-10px']
+ expected: FAIL
+
+ [Property background-position-x value '-20%, 10px' computes to '-20%']
+ expected: FAIL
+
+ [Property background-position-x value 'center, left, right' computes to '50%']
+ expected: FAIL
+
+ [Property background-position-x value '0.5em, x-start, x-end' computes to '20px']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini
index 70715491d5f..cd34047f7ad 100644
--- a/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-position-y-computed.html.ini
@@ -17,3 +17,18 @@
[Property background-position-y value 'y-start' computes to 'y-start']
expected: FAIL
+ [Property background-position-y value '0.5em, y-start, y-end' computes to '20px']
+ expected: FAIL
+
+ [Property background-position-y value '-20%, 10px' computes to '-20%']
+ expected: FAIL
+
+ [Property background-position-y value 'center, top, bottom' computes to '50%']
+ expected: FAIL
+
+ [Property background-position-y value 'calc(10px - 0.5em), top -20%, bottom 10px' computes to '-10px']
+ expected: FAIL
+
+ [Property background-position-y value 'calc(10px - 0.5em), -20%, 10px' computes to '-10px']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini
new file mode 100644
index 00000000000..9868193e4e3
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-repeat-computed.html.ini
@@ -0,0 +1,4 @@
+[background-repeat-computed.html]
+ [Property background-repeat value 'repeat-x, repeat-y, repeat' computes to 'repeat-x']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini b/tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini
new file mode 100644
index 00000000000..08aa7a3f969
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/parsing/background-size-computed.html.ini
@@ -0,0 +1,10 @@
+[background-size-computed.html]
+ [Property background-size value '1px' computes to '1px']
+ expected: FAIL
+
+ [Property background-size value 'auto 1px, 2% 3%, contain' computes to 'auto 1px']
+ expected: FAIL
+
+ [Property background-size value '1px auto' computes to '1px']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini
new file mode 100644
index 00000000000..eadf5023dab
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-transform/text-transform-upperlower-044.html.ini
@@ -0,0 +1,2 @@
+[text-transform-upperlower-044.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index ed72b0bad35..ff2111a0637 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,21 +312,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: */* text/html]
+ [<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*]
+ [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
index ce73518c20a..d4ba399b762 100644
--- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -14,6 +14,3 @@
[X-Content-Type-Options%3A%20'NosniFF']
expected: FAIL
- [X-Content-Type-Options%3A%20%2Cnosniff]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
deleted file mode 100644
index 385376c7321..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_4.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini
new file mode 100644
index 00000000000..2ad46fb3d06
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html.ini
@@ -0,0 +1,5 @@
+[track-selection-task-order.html]
+ expected: TIMEOUT
+ [HTMLTrackElement Text Track Selection Task Order]
+ expected: TIMEOUT
+
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
deleted file mode 100644
index 9e522297c94..00000000000
--- a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[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/mozilla/meta/mozilla/paint_timing.html.ini b/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini
deleted file mode 100644
index 14a9e778f39..00000000000
--- a/tests/wpt/mozilla/meta/mozilla/paint_timing.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[paint_timing.html]
- [Performance entries observer]
- expected: FAIL
-
diff --git a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.any.js b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.html
index d64df916d80..f263efbcf6d 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large-multiple.html
@@ -1,9 +1,14 @@
-// META: title=IndexedDB: large nested objects are cloned correctly
-// META: timeout=long
-// META: script=support-promises.js
-// META: script=nested-cloning-common.js
-// META: global=window,dedicatedworker,sharedworker,serviceworker
-'use strict';
+<!doctype html>
+<meta charset="utf8">
+<meta name="timeout" content="long">
+<title>IndexedDB: large nested objects are cloned correctly</title>
+<link rel="help" href="https://w3c.github.io/IndexedDB/#abort-transaction">
+<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support-promises.js"></script>
+<script src="nested-cloning-common.js"></script>
+<script>
cloningTestWithKeyGenerator(
'multiple requests of objects with blobs and large typed arrays', [
@@ -45,3 +50,5 @@ cloningTestWithKeyGenerator(
{ type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink20', seed: 20 },
],
]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.any.js b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.html
index cadfeb04599..6e4f9be2ee6 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-large.html
@@ -1,9 +1,14 @@
-// META: title=IndexedDB: large nested objects are cloned correctly
-// META: timeout=long
-// META: script=support-promises.js
-// META: script=nested-cloning-common.js
-// META: global=window,dedicatedworker,sharedworker,serviceworker
-'use strict';
+<!doctype html>
+<meta charset="utf8">
+<meta name="timeout" content="long">
+<title>IndexedDB: large nested objects are cloned correctly</title>
+<link rel="help" href="https://w3c.github.io/IndexedDB/#abort-transaction">
+<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support-promises.js"></script>
+<script src="nested-cloning-common.js"></script>
+<script>
cloningTest('large typed array', [
{ type: 'buffer', size: wrapThreshold, seed: 1 },
@@ -40,3 +45,5 @@ cloningTestWithKeyGenerator('object with blobs and large typed arrays', [
seed: 5 },
},
]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.any.js b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.html
index 864752827a9..558415f2342 100644
--- a/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.any.js
+++ b/tests/wpt/web-platform-tests/IndexedDB/nested-cloning-small.html
@@ -1,9 +1,14 @@
-// META: title=IndexedDB: small nested objects are cloned correctly
-// META: timeout=long
-// META: script=support-promises.js
-// META: script=nested-cloning-common.js
-// META: global=window,dedicatedworker,sharedworker,serviceworker
-'use strict';
+<!doctype html>
+<meta charset="utf8">
+<meta name="timeout" content="long">
+<title>IndexedDB: small nested objects are cloned correctly</title>
+<link rel="help" href="https://w3c.github.io/IndexedDB/#abort-transaction">
+<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support-promises.js"></script>
+<script src="nested-cloning-common.js"></script>
+<script>
cloningTest('small typed array', [
{ type: 'buffer', size: 64, seed: 1 },
@@ -37,4 +42,6 @@ cloningTestWithKeyGenerator('array of blobs and small typed arrays', [
{ type: 'buffer', size: 64, seed: 4 },
{ type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-05', seed: 5 },
],
-]); \ No newline at end of file
+]);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html b/tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html
new file mode 100644
index 00000000000..b8a1abfa5af
--- /dev/null
+++ b/tests/wpt/web-platform-tests/bluetooth/characteristic/writeValue/buffer-is-detached.https.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/bluetooth/resources/bluetooth-helpers.js"></script>
+<script>
+'use strict';
+
+function detachBuffer(buffer) {
+ window.postMessage('', '*', [buffer]);
+}
+
+bluetooth_test(async (t) => {
+ let {characteristic, fake_characteristic} =
+ await getMeasurementIntervalCharacteristic();
+
+ let typed_array = Uint8Array.of(1, 2);
+ detachBuffer(typed_array.buffer);
+ await promise_rejects(
+ t, 'InvalidStateError', characteristic.writeValue(typed_array));
+
+ let array_buffer = Uint8Array.of(3, 4).buffer;
+ detachBuffer(array_buffer);
+ await promise_rejects(
+ t, 'InvalidStateError', characteristic.writeValue(array_buffer));
+}, 'writeValue() fails when passed a detached buffer');
+</script>
diff --git a/tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html b/tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html
new file mode 100644
index 00000000000..2ab990de61c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/bluetooth/descriptor/writeValue/buffer-is-detached.https.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/bluetooth/resources/bluetooth-helpers.js"></script>
+<script>
+'use strict';
+
+function detachBuffer(buffer) {
+ window.postMessage('', '*', [buffer]);
+}
+
+bluetooth_test(async (t) => {
+ let {descriptor, fake_descriptor} =
+ await getUserDescriptionDescriptor();
+
+ let typed_array = Uint8Array.of(1, 2);
+ detachBuffer(typed_array.buffer);
+ await promise_rejects(
+ t, 'InvalidStateError', descriptor.writeValue(typed_array));
+
+ let array_buffer = Uint8Array.of(3, 4).buffer;
+ detachBuffer(array_buffer);
+ await promise_rejects(
+ t, 'InvalidStateError', descriptor.writeValue(array_buffer));
+}, 'writeValue() fails when passed a detached buffer');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html
new file mode 100644
index 00000000000..ceb76c2cdae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-attachment-computed.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundAttachment</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-attachment">
+<meta name="assert" content="background-attachment computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-attachment", "fixed");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-attachment", "scroll, fixed, local", "scroll");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html
new file mode 100644
index 00000000000..9e8b7631bbb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-clip-computed.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundClip</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-clip">
+<meta name="assert" content="background-clip computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-clip", "border-box");
+test_computed_value("background-clip", "padding-box");
+test_computed_value("background-clip", "content-box");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-clip", "border-box, padding-box, content-box", "border-box");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html
new file mode 100644
index 00000000000..7fbeac81a9f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-computed.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundColor</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-color">
+<meta name="assert" content="background-color computed value is a computed color.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+<style>
+ #target {
+ color: lime;
+ }
+</style>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-color", "currentcolor", "rgb(0, 255, 0)");
+
+test_computed_value("background-color", "red", "rgb(255, 0, 0)");
+test_computed_value("background-color", "#00FF00", "rgb(0, 255, 0)");
+test_computed_value("background-color", "rgb(0, 0, 255)");
+test_computed_value("background-color", "rgb(100%, 100%, 0%)", "rgb(255, 255, 0)");
+test_computed_value("background-color", "hsl(120, 100%, 50%)", "rgb(0, 255, 0)");
+test_computed_value("background-color", "transparent", "rgba(0, 0, 0, 0)");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html
index b94875402d8..bf315fdb4e4 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-color-invalid.html
@@ -14,6 +14,7 @@
<script>
test_invalid_value("background-color", "none");
test_invalid_value("background-color", "black white");
+test_invalid_value("background-color", "black, white");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html
new file mode 100644
index 00000000000..cb7d10998e0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-computed.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().background with multiple layers</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background">
+<meta name="assert" content="The number of layers is determined by the number of comma-separated values in the background-image property. .">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+<style>
+ #target {
+ background-image: none, none, none;
+ font-size: 40px;
+ }
+</style>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-attachment", "local", "local, local, local");
+test_computed_value("background-attachment", "scroll, fixed", "scroll, fixed, scroll");
+test_computed_value("background-attachment", "local, fixed, scroll");
+test_computed_value("background-attachment", "local, fixed, scroll, fixed", "local, fixed, scroll");
+
+test_computed_value("background-clip", "border-box", "border-box, border-box, border-box");
+test_computed_value("background-clip", "content-box, border-box", "content-box, border-box, content-box");
+test_computed_value("background-clip", "border-box, padding-box, content-box");
+test_computed_value("background-clip", "content-box, border-box, padding-box, content-box", "content-box, border-box, padding-box");
+
+// background-color always computes as a single color.
+test_computed_value("background-color", "rgb(255, 0, 0)");
+
+test_computed_value("background-origin", "border-box", "border-box, border-box, border-box");
+test_computed_value("background-origin", "content-box, border-box", "content-box, border-box, content-box");
+test_computed_value("background-origin", "border-box, padding-box, content-box");
+test_computed_value("background-origin", "content-box, border-box, padding-box, content-box", "content-box, border-box, padding-box");
+
+test_computed_value("background-position", "50% 6px", "50% 6px, 50% 6px, 50% 6px");
+test_computed_value("background-position", "12px 13px, 50% 6px", "12px 13px, 50% 6px, 12px 13px");
+test_computed_value("background-position", "12px 13px, 50% 6px, 30px -10px");
+test_computed_value("background-position", "12px 13px, 50% 6px, 30px -10px, -7px 8px", "12px 13px, 50% 6px, 30px -10px");
+
+test_computed_value("background-position-x", "0.5em", "20px, 20px, 20px");
+test_computed_value("background-position-x", "-20%, 10px", "-20%, 10px, -20%");
+
+test_computed_value("background-position-x", "center, left, right", "50%, 0%, 100%");
+test_computed_value("background-position-x", "calc(10px - 0.5em), -20%, right, 15%", "-10px, -20%, 100%");
+
+test_computed_value("background-position-y", "0.5em", "20px, 20px, 20px");
+test_computed_value("background-position-y", "-20%, 10px", "-20%, 10px, -20%");
+test_computed_value("background-position-y", "center, top, bottom", "50%, 0%, 100%");
+test_computed_value("background-position-y", "calc(10px - 0.5em), -20%, bottom, 15%", "-10px, -20%, 100%");
+
+test_computed_value("background-repeat", "round", "round, round, round");
+test_computed_value("background-repeat", "repeat-x, repeat", "repeat-x, repeat, repeat-x");
+test_computed_value("background-repeat", "repeat space, round no-repeat, repeat-x");
+test_computed_value("background-repeat", "repeat-y, round no-repeat, repeat-x, repeat", "repeat-y, round no-repeat, repeat-x");
+
+test_computed_value("background-size", "contain", "contain, contain, contain");
+test_computed_value("background-size", "auto 1px, 2% 3%", "auto 1px, 2% 3%, auto 1px");
+test_computed_value("background-size", "auto 1px, 2% 3%, contain");
+test_computed_value("background-size", "auto 1px, 2% 3%, contain, 7px 8px", "auto 1px, 2% 3%, contain");
+
+// Open issue: Define serialization for background shorthand
+// https://github.com/w3c/csswg-drafts/issues/418
+// test_computed_value("background", "rgb(1, 2, 3) none 4px 5px / 6px 7px repeat space scroll border-box padding-box");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html
new file mode 100644
index 00000000000..af14f6cf6e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-image-computed.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundImage</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-image">
+<meta name="assert" content="background-image computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-image", "none");
+
+test_computed_value("background-image", 'url("http://www.example.com/")');
+test_computed_value("background-image", 'none, url("http://www.example.com/")');
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html
new file mode 100644
index 00000000000..4e5280135d8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-origin-computed.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundOrigin</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-origin">
+<meta name="assert" content="background-origin computed value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-origin", "border-box");
+test_computed_value("background-origin", "padding-box");
+test_computed_value("background-origin", "content-box");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-origin", "border-box, padding-box, content-box", "border-box");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html
new file mode 100644
index 00000000000..c5e30745f47
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-computed.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundPosition</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-position">
+<meta name="assert" content="background-position computed value is a list, each item a pair of offsets (horizontal and vertical) from the top left origin each given as a computed <length-percentage> value.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+<style>
+ #target {
+ font-size: 40px;
+ }
+</style>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-position", "1px", "1px 50%");
+test_computed_value("background-position", "1px center", "1px 50%");
+test_computed_value("background-position", "-2% -3%");
+test_computed_value("background-position", "5% top", "5% 0%");
+test_computed_value("background-position", "center", "50% 50%");
+test_computed_value("background-position", "center center", "50% 50%");
+test_computed_value("background-position", "center 6px", "50% 6px");
+test_computed_value("background-position", "center left", "0% 50%");
+test_computed_value("background-position", "center right 7%", "93% 50%");
+test_computed_value("background-position", "center bottom", "50% 100%");
+test_computed_value("background-position", "center top 8px", "50% 8px");
+test_computed_value("background-position", "left", "0% 50%");
+test_computed_value("background-position", "right 9%", "100% 9%");
+test_computed_value("background-position", "left 10px center", "10px 50%");
+test_computed_value("background-position", "right 11% bottom", "89% 100%");
+test_computed_value("background-position", "left 12px top 13px", "12px 13px");
+test_computed_value("background-position", "right center", "100% 50%");
+test_computed_value("background-position", "left bottom", "0% 100%");
+test_computed_value("background-position", "right top 14%", "100% 14%");
+test_computed_value("background-position", "bottom", "50% 100%");
+test_computed_value("background-position", "top 15px center", "50% 15px");
+test_computed_value("background-position", "bottom 16% left", "0% 84%");
+test_computed_value("background-position", "top 17px right -18px", "calc(100% + 18px) 17px");
+test_computed_value("background-position", "bottom center", "50% 100%");
+test_computed_value("background-position", "top left", "0% 0%");
+test_computed_value("background-position", "bottom right 19%", "81% 100%");
+test_computed_value("background-position", "calc(10px + 0.5em) calc(10px - 0.5em)", "30px -10px");
+test_computed_value("background-position", "calc(10px - 0.5em) calc(10px + 0.5em)", "-10px 30px");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-position", "12px 13px, 50% 6px, 30px -10px", "12px 13px");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html
index bb974afd9f4..966db4c31a9 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-invalid.html
@@ -15,6 +15,14 @@
test_invalid_value("background-position", "left right");
test_invalid_value("background-position", "top bottom");
test_invalid_value("background-position", "1% center 2px");
+test_invalid_value("background-position", "right 7% 50%");
+test_invalid_value("background-position", "50% top 8px");
+test_invalid_value("background-position", "left 10px 50%");
+test_invalid_value("background-position", "right 11% 100%");
+test_invalid_value("background-position", "100% top 14%");
+test_invalid_value("background-position", "50% top 15px");
+test_invalid_value("background-position", "0% bottom 16%");
+test_invalid_value("background-position", "right 19% 100%");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html
index 6e997c95ae0..f64d2658637 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-x-computed.html
@@ -26,11 +26,14 @@ test_computed_value("background-position-x", "10px");
test_computed_value("background-position-x", "0.5em", "20px");
test_computed_value("background-position-x", "calc(10px - 0.5em)", "-10px");
test_computed_value("background-position-x", "left -20%", "-20%");
-test_computed_value("background-position-x", "right 10px", "calc(100% + 10px)");
-test_computed_value("background-position-x", "-20%, 10px");
-test_computed_value("background-position-x", "center, left, right", "50%, 0%, 100px");
-test_computed_value("background-position-x", "0.5em, x-start, x-end", "20px, x-start, x-end");
-test_computed_value("background-position-x", "calc(10px - 0.5em), left -20%, right 10px", "-10px, -20%, calc(100% + 10px)");
+test_computed_value("background-position-x", "right -10px", "calc(100% + 10px)");
+test_computed_value("background-position-x", "-20%, 10px", "-20%");
+test_computed_value("background-position-x", "center, left, right", "50%");
+test_computed_value("background-position-x", "0.5em, x-start, x-end", "20px");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-position-x", "calc(10px - 0.5em), -20%, 10px", "-10px");
+test_computed_value("background-position-x", "calc(10px - 0.5em), left -20%, right 10px", "-10px");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html
index ceff11f624d..103a26037b7 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-position-y-computed.html
@@ -26,11 +26,14 @@ test_computed_value("background-position-y", "10px");
test_computed_value("background-position-y", "0.5em", "20px");
test_computed_value("background-position-y", "calc(10px - 0.5em)", "-10px");
test_computed_value("background-position-y", "top -20%", "-20%");
-test_computed_value("background-position-y", "bottom 10px", "calc(100% + 10px)");
-test_computed_value("background-position-y", "-20%, 10px");
-test_computed_value("background-position-y", "center, top, bottom", "50%, 0%, 100px");
-test_computed_value("background-position-y", "0.5em, y-start, y-end", "20px, y-start, y-end");
-test_computed_value("background-position-y", "calc(10px - 0.5em), top -20%, bottom 10px", "-10px, -20%, calc(100% + 10px)");
+test_computed_value("background-position-y", "bottom -10px", "calc(100% + 10px)");
+test_computed_value("background-position-y", "-20%, 10px", "-20%");
+test_computed_value("background-position-y", "center, top, bottom", "50%");
+test_computed_value("background-position-y", "0.5em, y-start, y-end", "20px");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-position-y", "calc(10px - 0.5em), -20%, 10px", "-10px");
+test_computed_value("background-position-y", "calc(10px - 0.5em), top -20%, bottom 10px", "-10px");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html
new file mode 100644
index 00000000000..f58ab577791
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-repeat-computed.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundRepeat</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-repeat">
+<meta name="assert" content="background-attachment repeat value is as specified.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-repeat", "repeat-x");
+test_computed_value("background-repeat", "repeat-y");
+test_computed_value("background-repeat", "repeat");
+test_computed_value("background-repeat", "space");
+test_computed_value("background-repeat", "round");
+test_computed_value("background-repeat", "no-repeat");
+
+test_computed_value("background-repeat", "repeat space");
+test_computed_value("background-repeat", "round no-repeat");
+test_computed_value("background-repeat", "repeat repeat", "repeat");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-repeat", "repeat-x, repeat-y, repeat", "repeat-x");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html
new file mode 100644
index 00000000000..01091f541ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/parsing/background-size-computed.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Backgrounds and Borders: getComputedValue().backgroundSize</title>
+<link rel="help" href="https://drafts.csswg.org/css-backgrounds/#background-size">
+<meta name="assert" content="background-size computed value is a list, each item a pair of sizes (one per axis) each represented as either a keyword or a computed length-percentage value.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+<style>
+ #target {
+ font-size: 40px;
+ }
+</style>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("background-size", "1px", "1px");
+test_computed_value("background-size", "1px auto", "1px");
+test_computed_value("background-size", "2% 3%");
+test_computed_value("background-size", "auto");
+test_computed_value("background-size", "auto auto", "auto");
+test_computed_value("background-size", "auto 4%");
+test_computed_value("background-size", "contain");
+test_computed_value("background-size", "cover");
+test_computed_value("background-size", "calc(10px + 0.5em) calc(10px - 0.5em)", "30px 0px");
+test_computed_value("background-size", "calc(10px - 0.5em) calc(10px + 0.5em)", "0px 30px");
+
+// See background-computed.html for a test with multiple background images.
+test_computed_value("background-size", "auto 1px, 2% 3%, contain", "auto 1px");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html
new file mode 100644
index 00000000000..dc9e44edb1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-computed.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: getComputedValue().borderBlockColor</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color">
+<meta name="assert" content="border-block-color is computed color(s).">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="box"></div>
+<div id="target"></div>
+<style>
+ #target {
+ color: lime;
+ }
+</style>
+<script>
+test_computed_value("border-block-start-color", "currentcolor", 'rgb(0, 255, 0)');
+test_computed_value("border-block-start-color", "rgb(2, 3, 4)");
+test_computed_value("border-block-end-color", "rgb(34, 51, 68)");
+test_computed_value("border-block-end-color", "transparent", "rgba(0, 0, 0, 0)");
+test_computed_value("border-block-color", "rgb(34, 51, 68)");
+test_computed_value("border-block-color", "transparent rgb(2, 3, 4)", "rgba(0, 0, 0, 0) rgb(2, 3, 4)");
+test_computed_value("border-block-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)");
+test_computed_value("border-block-color", "currentcolor lime", 'rgb(0, 255, 0)');
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html
new file mode 100644
index 00000000000..1c25f125fe3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-invalid.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: parsing border-block-color with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color">
+<meta name="assert" content="border-block-color supports only the grammar '<color>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("border-block-start-color", "#12");
+test_invalid_value("border-block-start-color", "auto");
+test_invalid_value("border-block-start-color", "red green");
+test_invalid_value("border-block-start-color", "rgb");
+test_invalid_value("border-block-start-color", "rgb(1,2,3,4,5)");
+test_invalid_value("border-block-start-color", "rgb(10%, 20, 30%)");
+test_invalid_value("border-block-end-color", "#123456789");
+test_invalid_value("border-block-end-color", "123");
+test_invalid_value("border-block-end-color", "hsla(1,2,3,4,5)");
+test_invalid_value("border-block-end-color", "red, green");
+test_invalid_value("border-block-end-color", "rgb(1)");
+test_invalid_value("border-block-end-color", "rgba(-2, 300, 400%, -0.5)");
+test_invalid_value("border-block-color", "auto");
+test_invalid_value("border-block-color", "lime, transparent");
+test_invalid_value("border-block-color", "red green blue");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html
new file mode 100644
index 00000000000..aefe0f268b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-color-valid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: parsing border-block-color with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-color">
+<meta name="assert" content="border-block-color supports the full grammar '<color>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("border-block-start-color", "currentcolor");
+test_valid_value("border-block-start-color", "rgb(2, 3, 4)");
+test_valid_value("border-block-end-color", "#234", "rgb(34, 51, 68)");
+test_valid_value("border-block-end-color", "transparent");
+test_valid_value("border-block-color", "#234", "rgb(34, 51, 68)");
+test_valid_value("border-block-color", "transparent rgb(2, 3, 4)");
+test_valid_value("border-block-color", "rgb(2, 3, 4) rgb(2, 3, 4)", "rgb(2, 3, 4)");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html
new file mode 100644
index 00000000000..beb3869863c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-computed.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: getComputedValue().borderBlockStyle</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-style">
+<meta name="assert" content="border-block-style is specified keyword(s).">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("border-block-start-style", "dotted");
+test_computed_value("border-block-start-style", "groove");
+test_computed_value("border-block-start-style", "inset");
+test_computed_value("border-block-start-style", "none");
+test_computed_value("border-block-start-style", "solid");
+test_computed_value("border-block-end-style", "dashed");
+test_computed_value("border-block-end-style", "double");
+test_computed_value("border-block-end-style", "hidden");
+test_computed_value("border-block-end-style", "outset");
+test_computed_value("border-block-end-style", "ridge");
+test_computed_value("border-block-style", "dotted");
+test_computed_value("border-block-style", "double groove");
+test_computed_value("border-block-style", "hidden hidden", "hidden");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html
new file mode 100644
index 00000000000..680e510aae6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-invalid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: parsing border-block-style with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-style">
+<meta name="assert" content="border-block-style supports only the grammar '<line-style>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("border-block-start-style", "auto");
+test_invalid_value("border-block-start-style", "hidden, outset");
+test_invalid_value("border-block-end-style", "solid double");
+test_invalid_value("border-block-style", "auto");
+test_invalid_value("border-block-style", "groove, ridge");
+test_invalid_value("border-block-style", "hidden inset dashed");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html
new file mode 100644
index 00000000000..860a1052b83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-style-valid.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: parsing border-block-style with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block">
+<meta name="assert" content="border-block-style supports the full grammar '<line-style>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+// none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset
+test_valid_value("border-block-start-style", "dotted");
+test_valid_value("border-block-start-style", "groove");
+test_valid_value("border-block-start-style", "inset");
+test_valid_value("border-block-start-style", "none");
+test_valid_value("border-block-start-style", "solid");
+test_valid_value("border-block-end-style", "dashed");
+test_valid_value("border-block-end-style", "double");
+test_valid_value("border-block-end-style", "hidden");
+test_valid_value("border-block-end-style", "outset");
+test_valid_value("border-block-end-style", "ridge");
+test_valid_value("border-block-style", "dotted");
+test_valid_value("border-block-style", "double groove");
+test_valid_value("border-block-style", "hidden hidden", "hidden");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html
new file mode 100644
index 00000000000..3b4d934f8b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-computed.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: getComputedValue().borderBlockWidth</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width">
+<meta name="assert" content="border-block-width is absolute length; zero if the border block style is none or hidden.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="box"></div>
+<div id="target"></div>
+<style>
+ #box {
+ border-style: dotted; /* Avoid border-*-width computed style 0 */
+ border-top-width: thin;
+ border-right-width: medium;
+ border-bottom-width: thick;
+ }
+ #target {
+ font-size: 40px;
+ border-block-style: dotted; /* Avoid border-block-*-width computed style 0 */
+ }
+</style>
+<script>
+'use strict';
+const box = document.getElementById('box');
+const thinWidth = getComputedStyle(box).borderTopWidth;
+const mediumWidth = getComputedStyle(box).borderRightWidth;
+const thickWidth = getComputedStyle(box).borderBottomWidth;
+
+test_computed_value("border-block-start-width", "calc(10px + 0.5em)", "30px");
+test_computed_value("border-block-start-width", "calc(10px - 0.5em)", "0px");
+test_computed_value("border-block-start-width", "thin", thinWidth);
+test_computed_value("border-block-start-width", "medium", mediumWidth);
+
+test_computed_value("border-block-end-width", "calc(10px + 0.5em)", "30px");
+test_computed_value("border-block-end-width", "calc(10px - 0.5em)", "0px");
+test_computed_value("border-block-end-width", "thick", thickWidth);
+
+test_computed_value("border-block-width", "10px");
+test_computed_value("border-block-width", "10px 20px");
+test_computed_value("border-block-width", "10px 10px", "10px");
+test(() => {
+ box.style.borderBlockStartWidth = '10px';
+ box.style.borderBlockEndWidth = '10px';
+
+ box.style.borderBlockStartStyle = 'groove';
+ box.style.borderBlockEndStyle = 'solid';
+ assert_equals(getComputedStyle(box).borderBlockStartWidth, '10px');
+ assert_equals(getComputedStyle(box).borderBlockEndWidth, '10px');
+ assert_equals(getComputedStyle(box).borderBlockWidth, '10px');
+
+ box.style.borderBlockStartStyle = 'hidden';
+ box.style.borderBlockEndStyle = 'dashed';
+ assert_equals(getComputedStyle(box).borderBlockStartWidth, '0px');
+ assert_equals(getComputedStyle(box).borderBlockEndWidth, '10px');
+ assert_equals(getComputedStyle(box).borderBlockWidth, '0px 10px');
+
+ box.style.borderBlockStartStyle = 'inset';
+ box.style.borderBlockEndStyle = 'none';
+ assert_equals(getComputedStyle(box).borderBlockStartWidth, '10px');
+ assert_equals(getComputedStyle(box).borderBlockEndWidth, '0px');
+ assert_equals(getComputedStyle(box).borderBlockWidth, '10px 0px');
+
+ box.style.borderBlockStartStyle = 'none';
+ box.style.borderBlockEndStyle = 'hidden';
+ assert_equals(getComputedStyle(box).borderBlockStartWidth, '0px');
+ assert_equals(getComputedStyle(box).borderBlockEndWidth, '0px');
+ assert_equals(getComputedStyle(box).borderBlockWidth, '0px');
+}, 'width is zero if the border block style is none or hidden');
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html
new file mode 100644
index 00000000000..65990fe930d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-invalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: parsing border-block-width with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width">
+<meta name="assert" content="border-block-width supports only the grammar '<line-width>{1,2}'.">
+<meta name="assert" content="Negative lengths are not allowed.">
+ <script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("border-block-start-width", "-20px");
+test_invalid_value("border-block-start-width", "auto");
+test_invalid_value("border-block-start-width", "medium 40px");
+test_invalid_value("border-block-end-width", "10");
+test_invalid_value("border-block-end-width", "30%");
+
+test_invalid_value("border-block-width", "thick, thin");
+test_invalid_value("border-block-width", "10px 20px 30px");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html
new file mode 100644
index 00000000000..98987df9a70
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-logical/parsing/border-block-width-valid.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Logical Properties and Values: parsing border-block-width with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-logical/#propdef-border-block-width">
+<meta name="assert" content="border-block-width supports the full grammar '<line-width>{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+// <length> | thin | medium | thick
+test_valid_value("border-block-start-width", "10px");
+test_valid_value("border-block-start-width", "calc(10px + 0.5em)");
+test_valid_value("border-block-start-width", "thick");
+test_valid_value("border-block-start-width", "thin");
+test_valid_value("border-block-end-width", "0", "0px");
+test_valid_value("border-block-end-width", "calc(10px - 0.5em)");
+test_valid_value("border-block-end-width", "medium");
+test_valid_value("border-block-width", "10px");
+test_valid_value("border-block-width", "medium calc(10px + 0.5em)");
+test_valid_value("border-block-width", "10px 10px", "10px");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html
index 0e243edde50..f4fb6804434 100644
--- a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-039-ref.html
@@ -17,7 +17,10 @@
</head>
<body>
<p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p>
-<div class="test" lang="lt"><span>&#x69;&#x307;&#x300; &#x69;&#x307;&#x300;</span> <span>&#x69;&#x307;&#x301; &#x69;&#x307;&#x301;</span> <span>&#x69;&#x307;&#x303; &#x69;&#x307;&#x303;</span></div>
+<div class="test" lang="lt">
+ <span>&#x69;&#x307;&#x300; &#x69;&#x307;&#x300;</span> <span>&#x69;&#x307;&#x301; &#x69;&#x307;&#x301;</span> <span>&#x69;&#x307;&#x303; &#x69;&#x307;&#x303;</span>
+ <span>&#x69;&#x307;&#x300; &#x69;&#x307;&#x300;</span> <span>&#x6A;&#x307;&#x301; &#x6A;&#x307;&#x301;</span> <span>&#x12F;&#x307;&#x303; &#x12F;&#x307;&#x303;</span>
+</div>
<!--Notes:
The language of the test box is set to Lithuanian (lt)
-->
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html
new file mode 100644
index 00000000000..3eed1edb80e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-upperlower-044-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, text transform: Lithuanian, uppercase</title>
+<link rel='author' title='Jonathan Kew' href='mailto:jkew@mozilla.com'>
+<style type='text/css'>
+@font-face {
+ font-family: 'webfont';
+ src: url('/fonts/DoulosSIL-R.woff') format('woff');
+ font-weight: normal;
+ font-style: normal;
+ }
+.test, .ref { font-size: 200%; line-height: 2.5em; font-family: webfont, serif; }
+.test span, .ref span { margin-right: 1em; white-space: nowrap; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p>
+<div class="test" lang="lt">
+ <span>&#x49;&#x300; &#x49;&#x300;</span>
+ <span>&#x49;&#x301; &#x49;&#x301;</span>
+ <span>&#x49;&#x303; &#x49;&#x303;</span>
+ <span>&#x49; &#x49;</span>
+ <span>&#x4A; &#x4A;</span>
+ <span>&#x12E; &#x12E;</span>
+ <span>X&#x307; X&#x307;</span>
+</div>
+<!--Notes:
+The language of the test box is set to Lithuanian (lt)
+-->
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html
index 40f36e0be3c..470a4f6fb54 100644
--- a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html
+++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html
@@ -22,7 +22,10 @@
</head>
<body>
<p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p>
-<div class="test" lang="lt"><span>&#xCC; &#x69;&#x307;&#x300;</span> <span>&#xCD; &#x69;&#x307;&#x301;</span> <span>&#x128; &#x69;&#x307;&#x303;</span></div>
+<div class="test" lang="lt">
+ <span>&#xCC; &#x69;&#x307;&#x300;</span> <span>&#xCD; &#x69;&#x307;&#x301;</span> <span>&#x128; &#x69;&#x307;&#x303;</span>
+ <span>&#x49;&#x300; &#x69;&#x307;&#x300;</span> <span>&#x4A;&#x301; &#x6A;&#x307;&#x301;</span> <span>&#x12E;&#x303; &#x12F;&#x307;&#x303;</span>
+</div>
<!--Notes:
The language of the test box is set to Lithuanian (lt)
-->
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html
new file mode 100644
index 00000000000..6d81c4540a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-upperlower-044.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, text transform: Lithuanian, uppercase</title>
+<meta name="assert" content="text-transform: uppercase will uppercase Lithuanian as described in Unicode's SpecialCasing.txt .">
+<link rel='author' title='Jonathan Kew' href='mailto:jkew@mozilla.com'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#text-transform'>
+<link rel="match" href="reference/text-transform-upperlower-044-ref.html">
+<style type='text/css'>
+@font-face {
+ font-family: 'webfont';
+ src: url('/fonts/DoulosSIL-R.woff') format('woff');
+ font-weight: normal;
+ font-style: normal;
+ }
+.test, .ref { font-size: 200%; line-height: 2.5em; font-family: webfont, serif; }
+.test span, .ref span { margin-right: 1em; white-space: nowrap; }
+/* the CSS above is not part of the test */
+.test { text-transform: uppercase; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if both characters in each pair match. If you are missing a font glyph for a character, ignore that pair, but report which characters were ignored.</p>
+<div class="test" lang="lt">
+ <span>&#x69;&#x307;&#x300; &#x49;&#x300;</span>
+ <span>&#x69;&#x307;&#x301; &#x49;&#x301;</span>
+ <span>&#x69;&#x307;&#x303; &#x49;&#x303;</span>
+ <span>&#x69;&#x307; &#x49;</span>
+ <span>&#x6A;&#x307; &#x4A;</span>
+ <span>&#x12F;&#x307; &#x12E;</span>
+ <span>x&#x307; X&#x307;</span> <!-- check that dot isn't deleted in other contexts -->
+</div>
+<!--Notes:
+The language of the test box is set to Lithuanian (lt)
+-->
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html
index 67ab3bdb138..501cf3f92a2 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html
@@ -17,6 +17,9 @@ async_test(function(t) {
var video = document.createElement('video');
video.src = getVideoURI('/media/movie_5');
+ // uanset media element's `show-poster` flag in order to run `time marches on`
+ // when we add new cues into media element's cues list.
+ video.play();
var trackElement = document.createElement('track');
trackElement.onload = t.step_func(eventCallback);
@@ -36,4 +39,4 @@ async_test(function(t) {
trackElement.default = true;
video.appendChild(trackElement);
});
-</script> \ No newline at end of file
+</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html
index ffc8ec0682d..dd97d0522d7 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html
@@ -21,7 +21,7 @@
break;
case 1:
case 3:
- case 5:
+ case 4:
assert_unreached("'error' event did not fire, stage = " + stage);
break;
case 2:
@@ -30,21 +30,10 @@
assert_equals(cues[cues.length-1].text, 'I said Bear is coming now!!!! Tab separators.', "Last cue content check");
++stage;
testTrack.src = ""; // this should fail
- // CuesList will be cleared in the next tick. Spec claims that this should happen immediately,
- // but all implementations are doing this asynchronously.
- assert_equals(cues.length, 4, "Number of cues immediately after 'src' mutation with the empty URL");
+ assert_equals(cues.length, 0, "cues list is reset immediately after 'src' mutation with the new URL");
// This should raise onError event. If no, we'll know about this after some time.
timer = t.step_timeout(t.unreached_func("'error' event is not fired when an empty URL is set"), 100);
break;
- case 4:
- assert_equals(testTrack.readyState, HTMLTrackElement.LOADED, "readyState after loading of the second track");
- assert_equals(cues.length, 4, "Number of cues after loading of the second track");
- assert_equals(cues[cues.length-1].text, 'I said Bear is coming now!!!! Tab separators.', "Last cue content check");
- ++stage;
- testTrack.removeAttribute('src');
- // This should raise onError event, so we'll wait for it for some time
- timer = t.step_timeout(t.unreached_func("'error' event is not fired when an empty URL is set"), 100);
- break;
default:
assert_unreached("unexpected stage number = " + stage);
break;
@@ -55,7 +44,6 @@
switch (stage) {
case 0:
case 2:
- case 4:
assert_unreached("'error' event fired, stage = " + stage);
break;
case 1:
@@ -72,8 +60,14 @@
assert_equals(cues.length, 0, "Number of cues with an empty URL set");
++stage;
testTrack.src = "resources/settings.vtt";
+ // error should happen when we remove `src` during loading, so we have to wait a task because loading starts asynchronously.
+ t.step_timeout(() => {
+ testTrack.removeAttribute('src');
+ // This should raise onError event, so we'll wait for it for some time
+ timer = t.step_timeout(t.unreached_func("'error' event is not fired when an empty URL is set"), 100);
+ }, 0);
break;
- case 5:
+ case 4:
clearTimeout(timer);
assert_equals(testTrack.readyState, HTMLTrackElement.ERROR, "readyState after removing 'src' attr");
assert_equals(cues.length, 0, "Number of cues after removing 'src' attr");
@@ -89,4 +83,4 @@
testTrack.onerror = t.step_func(step_onError);
});
</script>
-</video> \ No newline at end of file
+</video>
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html
index 34a53d15319..f3c78668b4a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html
@@ -18,9 +18,7 @@
assert_equals(cues[cues.length-1].text, 'I said Bear is coming now!!!! Tab separators.', "Last cue content check");
++stage;
testTrack.src = "resources/entities.vtt";
- // CuesList will be cleared in a microtask. Spec claims that this should happen immediately,
- // but all known implementations are doing this asynchronously.
- assert_equals(cues.length, 4, "Number of cues immediately after 'src' mutation with the new URL");
+ assert_equals(cues.length, 0, "cues list is reset immediately after 'src' mutation with the new URL");
break;
case 1:
assert_equals(testTrack.readyState, HTMLTrackElement.LOADED), "readyState after loading of the second track";
@@ -54,4 +52,4 @@
testTrack.onerror = t.unreached_func("'error' event should not fire");
});
</script>
-</video> \ No newline at end of file
+</video>
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html
index 2902ba90bc9..3ec47a39e2f 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html
@@ -33,11 +33,12 @@ async_test(function(t) {
assert_equals(track1.track.cues.length, 12);
assert_equals(track1.track.cues[11].startTime, 22);
- // Add a caption track, configured to load automatically.
+ // Add a caption track, and explicitly enable it.
track2 = document.createElement('track');
track2.setAttribute('kind', 'captions');
track2.setAttribute('default', 'default');
track2.setAttribute('src', 'resources/webvtt-file.vtt');
+ track2.track.mode = 'showing';
track2.onload = t.step_func(captionsTrackLoaded);
video.appendChild(track2);
}
@@ -56,7 +57,7 @@ async_test(function(t) {
track3.mode = 'showing';
}
- function trackAdded() {
+ function trackAdded(event) {
// Check that metadata track state has not changed.
assert_equals(track1.readyState, HTMLTrackElement.LOADED);
assert_equals(track1.track.mode, 'hidden');
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html
new file mode 100644
index 00000000000..522d067adfc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-task-order.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<title>HTMLTrackElement Text Track Selection Task Order</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+/**
+ * This test is used to ensure that we queue 'honor user preferences for automatic
+ * text track selection' as a macro task, not a micro task. In this test, we
+ * trigger a media event before queuing a text track selection task, and check
+ * the text track's mode to know whether the text track selection runs after the
+ * task for media event.
+ */
+async_test(function(t) {
+ let video = document.createElement("video");
+ video.play();
+ video.onplay = t.step_func(startedPlay);
+
+ // When we create a text track element, it queue a task to run automatic
+ // text track selection later.
+ let track = document.createElement("track");
+ track.default = true;
+ video.appendChild(track);
+ assert_equals(track.track.mode, "disabled", "Text track's mode is disabled by default.");
+
+ function startedPlay() {
+ assert_equals(track.track.mode, "disabled", "Text track selection hasn't started yet.");
+ track.onerror = t.step_func_done(trackError);
+ }
+
+ function trackError() {
+ assert_equals(track.track.mode, "showing", "Text track selection modified track's mode.");
+ t.done();
+ }
+});
+
+</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html
index 97320090cf0..73eebaff70f 100644
--- a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html
+++ b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener.html
@@ -17,21 +17,12 @@
<a href="support/target_blank_implicit_noopener.html?a7" id="a7" rel="opener noreferrer" target="_blank">Click me</a>
<a href="support/target_blank_implicit_noopener.html?a8" id="a8" rel="noopener opener noreferrer" target="_blank">Click me</a>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener" target="_blank" />
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener" target="_blank" />
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3" target="_blank" />
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener" target="_blank" />
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener" target="_blank" />
- </img>
+ <!-- Although this is not valid, per the processing model of area it ought to work -->
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener" target="_blank">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener" target="_blank">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3" target="_blank">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener" target="_blank">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener" target="_blank">
<script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html
index 8d1b54baccd..3da6a49ef86 100644
--- a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html
+++ b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html
@@ -18,21 +18,12 @@
<a href="support/target_blank_implicit_noopener.html?a7" id="a7" rel="opener noreferrer">Click me</a>
<a href="support/target_blank_implicit_noopener.html?a8" id="a8" rel="noopener opener noreferrer">Click me</a>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener">
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener">
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3">
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener">
- </img>
- <img src="/images/threecolors.png" />
- <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener">
- </img>
+ <!-- Although this is not valid, per the processing model of area it ought to work -->
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area1" id="area1" rel="noopener">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area2" id="area2" rel="opener">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area3" id="area3">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area4" id="area4" rel="opener noopener">
+ <area shape="rect" coords="0,0,99,50" href="support/target_blank_implicit_noopener.html?area5" id="area5" rel="noopener opener">
<script>
diff --git a/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl b/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl
index 427aa92dd1f..c07b7e33012 100644
--- a/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl
+++ b/tests/wpt/web-platform-tests/interfaces/mediacapture-streams.idl
@@ -52,7 +52,6 @@ dictionary MediaTrackSupportedConstraints {
boolean frameRate = true;
boolean facingMode = true;
boolean resizeMode = true;
- boolean volume = true;
boolean sampleRate = true;
boolean sampleSize = true;
boolean echoCancellation = true;
@@ -71,7 +70,6 @@ dictionary MediaTrackCapabilities {
DoubleRange frameRate;
sequence<DOMString> facingMode;
sequence<DOMString> resizeMode;
- DoubleRange volume;
ULongRange sampleRate;
ULongRange sampleSize;
sequence<boolean> echoCancellation;
@@ -94,7 +92,6 @@ dictionary MediaTrackConstraintSet {
ConstrainDouble frameRate;
ConstrainDOMString facingMode;
ConstrainDOMString resizeMode;
- ConstrainDouble volume;
ConstrainULong sampleRate;
ConstrainULong sampleSize;
ConstrainBoolean echoCancellation;
@@ -113,7 +110,6 @@ dictionary MediaTrackSettings {
double frameRate;
DOMString facingMode;
DOMString resizeMode;
- double volume;
long sampleRate;
long sampleSize;
boolean echoCancellation;
diff --git a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
index 863cef13f3c..21a3406f589 100644
--- a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
+++ b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
@@ -16,5 +16,5 @@ interface WakeLock {
};
dictionary WakeLockRequestOptions {
- AbortSignal? signal = null;
+ AbortSignal signal;
};
diff --git a/tests/wpt/web-platform-tests/interfaces/webaudio.idl b/tests/wpt/web-platform-tests/interfaces/webaudio.idl
index 4679558023a..aa137c12f01 100644
--- a/tests/wpt/web-platform-tests/interfaces/webaudio.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webaudio.idl
@@ -568,7 +568,8 @@ interface AudioParamMap {
[Exposed=Window,
SecureContext,
- Constructor (BaseAudioContext context, DOMString name, optional AudioWorkletNodeOptions options)]
+ Constructor (BaseAudioContext context, DOMString name,
+ optional AudioWorkletNodeOptions options)]
interface AudioWorkletNode : AudioNode {
readonly attribute AudioParamMap parameters;
readonly attribute MessagePort port;
diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc.idl b/tests/wpt/web-platform-tests/interfaces/webrtc.idl
index 6ae34167ded..4b5d1c1c581 100644
--- a/tests/wpt/web-platform-tests/interfaces/webrtc.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webrtc.idl
@@ -382,7 +382,7 @@ dictionary RTCRtpContributingSource {
required DOMHighResTimeStamp timestamp;
required unsigned long source;
double audioLevel;
- unsigned long rtpTimestamp;
+ required unsigned long rtpTimestamp;
};
dictionary RTCRtpSynchronizationSource : RTCRtpContributingSource {
diff --git a/tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html b/tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html
new file mode 100644
index 00000000000..3b79df3c230
--- /dev/null
+++ b/tests/wpt/web-platform-tests/portals/portal-non-http-navigation.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>Tests that portal don't navigate to non-http schemes.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+<script>
+async_test(t => {
+ var portal = document.createElement("portal");
+ portal.src = "data:text/html,empty portal";
+ portal.onload = t.unreached_func("Portal loaded data URL.");
+ document.body.appendChild(portal);
+ t.step_timeout(() => { portal.remove(); t.done(); }, 3000);
+}, "Tests that a portal can't navigate to a data URL.");
+
+async_test(t => {
+ var portal = document.createElement("portal");
+ portal.src = "about:blank";
+ portal.onload = t.unreached_func("Portal loaded about:blank.");
+ document.body.appendChild(portal);
+ t.step_timeout(() => { portal.remove(); t.done(); }, 3000);
+}, "Tests that a portal can't navigate to about:blank.");
+
+async_test(t => {
+ var portal = document.createElement("portal");
+ portal.src = "resources/simple-portal.html";
+ portal.onload = t.step_func(() => {
+ portal.onmessage = t.unreached_func("Portal execute javascript.");
+ portal.src = "javascript:window.portalHost.postMessage('executed', '*')";
+ t.step_timeout(() => { portal.remove(); t.done(); }, 3000);
+ });
+ document.body.appendChild(portal);
+}, "Tests that a portal can't navigate to javascript URLs.");
+</script>
+</body>
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py
index 454b08612aa..3b6949a42f5 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py
@@ -161,6 +161,7 @@ def run_info_extras(**kwargs):
"wasm": kwargs.get("wasm", True),
"verify": kwargs["verify"],
"headless": "MOZ_HEADLESS" in os.environ,
+ "fission": get_bool_pref("fission.autostart"),
"sw-e10s": get_bool_pref("dom.serviceWorkers.parent_intercept")}
rv.update(run_info_browser_version(kwargs["binary"]))
return rv
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js b/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js
new file mode 100644
index 00000000000..28e3394279c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js
@@ -0,0 +1,8 @@
+//META: title=Screen wake lock should not be allowed in dedicated worker
+importScripts("/resources/testharness.js");
+
+promise_test(t => {
+ return promise_rejects(t, "NotAllowedError", WakeLock.request('screen'));
+}, "Screen wake lock should not be allowed in dedicated worker");
+
+done();
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js b/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js
index 26ebcbef557..e11fccc1ddf 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js
+++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js
@@ -1,4 +1,4 @@
-//META: title=WakeLock.request() with invaild type
+//META: title=WakeLock.request() with invalid type
promise_test(async t => {
await promise_rejects(t, new TypeError(), WakeLock.request());
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html
index c51c11fccbf..ed52ace59e6 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html
@@ -269,6 +269,17 @@ a=rtcp-rsize
t.add_cleanup(() => pc.close());
return pc.setRemoteDescription(sessionDesc)
+ .then(() => pc.addIceCandidate(new RTCIceCandidate({
+ candidate: candidateStr1,
+ sdpMid: sdpMid1 })));
+ }, 'Add candidate with only valid sdpMid and RTCIceCandidate should succeed');
+
+ promise_test(t => {
+ const pc = new RTCPeerConnection();
+
+ t.add_cleanup(() => pc.close());
+
+ return pc.setRemoteDescription(sessionDesc)
.then(() => pc.addIceCandidate({
candidate: candidateStr1,
sdpMLineIndex: sdpMLineIndex1 }));
diff --git a/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm b/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm
index b008348e58f..9071fab121f 100644
--- a/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm
+++ b/tests/wpt/web-platform-tests/xhr/responsexml-document-properties.htm
@@ -12,9 +12,11 @@
var client = new XMLHttpRequest()
client.open("GET", "resources/well-formed.xml", false)
client.send(null)
- var responseURL = new URL('resources/well-formed.xml', location.href).href
+ var responseURLObject = new URL('resources/well-formed.xml', location.href);
+ var responseURL = responseURLObject.href
+ var responseDomain = responseURLObject.hostname
var expected = {
- domain:undefined,
+ domain:responseDomain,
URL:responseURL,
documentURI:responseURL,
baseURI:responseURL,