aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <servo-ops@mozilla.com>2021-01-21 07:43:37 -0500
committerGitHub <noreply@github.com>2021-01-21 07:43:37 -0500
commit500cb865bd174f40e8e7d96fd17ddcdef4692ae4 (patch)
tree701bb4ed87b441187d838994325813997e0db05a
parent4096fb91697e3282c9f3c392c02ee53914495e0a (diff)
parent964f9a5544d9dc447e4dd2067f608bb8f8a24451 (diff)
downloadservo-500cb865bd174f40e8e7d96fd17ddcdef4692ae4.tar.gz
servo-500cb865bd174f40e8e7d96fd17ddcdef4692ae4.zip
Auto merge of #28084 - servo-wpt-sync:wpt_update_21-01-2021, r=servo-wpt-sync
Sync WPT with upstream (21-01-2021) Automated downstream sync of changes from upstream as of 21-01-2021. [no-wpt-sync] r? @servo-wpt-sync
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini18
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini114
-rw-r--r--tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini48
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini5
-rw-r--r--tests/wpt/metadata/MANIFEST.json304
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini4
-rw-r--r--tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini18
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini15
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini114
-rw-r--r--tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini5
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini48
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini4
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini6
-rw-r--r--tests/wpt/metadata/webmessaging/without-ports/017.html.ini5
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/README.md4
-rw-r--r--tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html19
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html68
-rw-r--r--tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html78
-rw-r--r--tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html44
-rw-r--r--tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js4
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html8
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html2
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html23
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html20
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html23
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html20
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html37
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html37
-rw-r--r--tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html44
-rw-r--r--tests/wpt/web-platform-tests/interfaces/appmanifest.idl4
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html16
-rw-r--r--tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html4
-rw-r--r--tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html24
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html12
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml7
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml4
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml2
-rw-r--r--tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har48
-rwxr-xr-xtests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh6
-rw-r--r--tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbnbin0 -> 465 bytes
-rw-r--r--tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html45
-rw-r--r--tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini3
87 files changed, 1553 insertions, 189 deletions
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
deleted file mode 100644
index 4bfb0c2053a..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-004.html]
- [Miss float below something else]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
deleted file mode 100644
index baa9f1a7541..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-005.html]
- [Miss clipped float]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini
new file mode 100644
index 00000000000..bd350f9b049
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini
@@ -0,0 +1,2 @@
+[image-orientation-img-object-fit.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini
deleted file mode 100644
index e38782d8c85..00000000000
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[elementFromPoint-001.html]
- [CSSOM View - 5 - extensions to the Document interface]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
new file mode 100644
index 00000000000..e181af5397f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
@@ -0,0 +1,4 @@
+[elementsFromPoint-invalid-cases.html]
+ [The root element is the last element returned for otherwise empty queries within the viewport]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini
index cd5eb9f4605..170f1f7650a 100644
--- a/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini
+++ b/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini
@@ -14,3 +14,21 @@
[:state() serialization]
expected: FAIL
+ [:--foo in simple cases]
+ expected: FAIL
+
+ [:--foo serialization]
+ expected: FAIL
+
+ [:--foo parsing passes]
+ expected: FAIL
+
+ [:--foo and :host()]
+ expected: FAIL
+
+ [:--foo and other pseudo classes]
+ expected: FAIL
+
+ [:--foo and ::part()]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
index 4c18a97c4ef..251d31212bd 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
@@ -312,12 +312,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
index b2ffc8abf78..d2df9b78483 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
@@ -56,6 +56,3 @@
[separate text/javascript x/x]
expected: FAIL
- [separate text/javascript error]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
new file mode 100644
index 00000000000..75d75b4cda2
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_2.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
index 049c6d8e599..f37d61b11a6 100644
--- a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
@@ -147,3 +147,117 @@
[createImageBitmap with CanvasRenderingContext2D image source.]
expected: NOTRUN
+ [createImageBitmap with a vector HTMLImageElement source and a value of 0 int resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with a vector SVGImageElement source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageBitmap source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an ImageData source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement source and a value of 0 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with a vector SVGImageElement source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an ImageBitmap source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an HTMLVideoElement source and a value of 0 int resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector HTMLImageElement source and a value of 0 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 int resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an ImageData source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index 4e69eb752b6..f45aaafe1c5 100644
--- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,16 +1,15 @@
[supported-elements.html]
- expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: TIMEOUT
+ expected: FAIL
[Element with tabindex should support autofocus]
expected: FAIL
[Area element should support autofocus]
- expected: NOTRUN
+ expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index 42ebcc9d57e..88f4ddd0e9a 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_escaping-1.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
index c792a071c3b..0407f0cc2b7 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-2.html]
- expected: CRASH
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index 7a36937927c..f4f994c5d6f 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini
index d0075598b7d..1b855cfef21 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini
@@ -2,75 +2,75 @@
[input type search: setRangeText() a second time (must not fire select)]
expected: FAIL
- [input type url: selectionEnd out of range a second time (must not fire select)]
- expected: FAIL
-
[textarea: selectionStart out of range a second time (must not fire select)]
expected: FAIL
[input type url: setRangeText() a second time (must not fire select)]
expected: FAIL
- [input type url: selectionDirection a second time (must not fire select)]
- expected: FAIL
-
[input type text: selectionStart a second time (must not fire select)]
expected: FAIL
[textarea: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type url: setSelectionRange() a second time (must not fire select)]
+ [input type url: selectionStart out of range a second time (must not fire select)]
+ expected: FAIL
+
+ [input type tel: setRangeText() a second time (must not fire select)]
expected: FAIL
- [input type url: selectionStart out of range a second time (must not fire select)]
+ [input type search: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type tel: selectionDirection a second time (must not fire select)]
+ [input type password: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type url: select() a second time (must not fire select)]
+ [input type password: selectionDirection a second time (must not fire select)]
expected: FAIL
- [input type search: selectionDirection a second time (must not fire select)]
+ [input type url: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type text: setRangeText() a second time (must not fire select)]
+ [input type password: select() a second time (must not fire select)]
expected: FAIL
- [input type tel: select() a second time (must not fire select)]
+ [input type tel: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
- [input type password: setSelectionRange out of range a second time (must not fire select)]
+ [input type text: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type tel: setRangeText() a second time (must not fire select)]
+ [textarea: selectionDirection a second time (must not fire select)]
expected: FAIL
- [input type search: setSelectionRange out of range a second time (must not fire select)]
+ [input type url: selectionEnd a second time (must not fire select)]
expected: FAIL
- [textarea: setSelectionRange() a second time (must not fire select)]
+ [input type password: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
- [input type search: setSelectionRange() a second time (must not fire select)]
+ [input type text: setSelectionRange() a second time (must not fire select)]
expected: FAIL
- [textarea: setRangeText() a second time (must not fire select)]
+ [input type text: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type password: setRangeText() a second time (must not fire select)]
+ [input type text: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
- [input type password: selectionEnd a second time (must not fire select)]
+ [input type search: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type password: selectionDirection a second time (must not fire select)]
+ [input type tel: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type url: selectionStart a second time (must not fire select)]
+ [input type text: selectionDirection a second time (must not fire select)]
expected: FAIL
- [input type url: setSelectionRange out of range a second time (must not fire select)]
+ [input type password: selectionStart out of range a second time (must not fire select)]
+ expected: FAIL
+
+ [input type search: selectionStart a second time (must not fire select)]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
deleted file mode 100644
index 178680e5d14..00000000000
--- a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[script-onerror-insertion-point-2.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini
new file mode 100644
index 00000000000..59a54fe88e4
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini
@@ -0,0 +1,4 @@
+[module-delayed.html]
+ [async document.write in a module]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
index fe43ac30fcc..4a3f76d392d 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
@@ -557,3 +557,9 @@
[X SNR (-192.20062600601898 dB) is not greater than or equal to 65.737. Got -192.20062600601898.]
expected: FAIL
+ [X SNR (-625.6872986351187 dB) is not greater than or equal to 65.737. Got -625.6872986351187.]
+ expected: FAIL
+
+ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.8580460955235994e+33\t9.3139332532882690e-1\t2.8580460955235994e+33\t3.0685705145187411e+33\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 2.8580460955235994e+33 at index of 28696.\n\tMax RelError of 3.0685705145187411e+33 at index of 28696.\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini
new file mode 100644
index 00000000000..064cf47545b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini
@@ -0,0 +1,5 @@
+[017.html]
+ expected: TIMEOUT
+ [origin of the script that invoked the method, about:blank]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index e189d02645f..a7c8b42317c 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -152906,6 +152906,45 @@
{}
]
],
+ "grid-content-distribution-026.html": [
+ "b56d6384379141e9deb8dddae9d59a4beaf3a614",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "grid-content-distribution-027.html": [
+ "f92ed520d0368d905146aae0da6fd66d9a7a082e",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "grid-content-distribution-028.html": [
+ "216b05a4d6c89dbe888caaeeff45818dec1ca537",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"grid-content-distribution-with-collapsed-tracks-001.html": [
"ebd169cf5913112ef7c9c1fa02cdb2115ceef605",
[
@@ -159172,6 +159211,35 @@
{}
]
],
+ "image-orientation-img-object-fit.html": [
+ "5551eb938455a3f56e2860c9d2af24dde12e1b98",
+ [
+ null,
+ [
+ [
+ "/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 5
+ ],
+ [
+ 0,
+ 375
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
"image-orientation-list-style-image.html": [
"ac735626dbd1ec8a0743cf480bddc40d85e93149",
[
@@ -180895,7 +180963,7 @@
]
],
"intrinsic-size-004.html": [
- "06fe0e58706059e48dc0c6f966aa9e2d4c59dd96",
+ "fe1a4d7a5deb596600c21eae861999593f115de8",
[
null,
[
@@ -180972,6 +181040,32 @@
{}
]
],
+ "intrinsic-size-010.html": [
+ "cf128cabd0507beead7e460844ccb346d7c8ac97",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "intrinsic-size-011.html": [
+ "49bd5cebfd44c1b138ab5f79863d2d315380b8c1",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"percentage-resolution-001.html": [
"d606bfc65e340f95fbbc355b764a7de5e7aeb6a1",
[
@@ -181428,7 +181522,7 @@
]
],
"table-element-001.html": [
- "fd2dcd81dd90c6d82a3652750cea2370979aff7a",
+ "51daf00957ee4a36ea5564831df4ea365233fa90",
[
null,
[
@@ -183739,6 +183833,23 @@
{}
]
],
+ "tentative": {
+ "paint": {
+ "background-image-column-collapsed.html": [
+ "6e6ae7a82cfd04c09989dcea682744eb79e982a7",
+ [
+ null,
+ [
+ [
+ "/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ]
+ }
+ },
"toggle-row-display-property-001.html": [
"08e6635e12c42a4201ca955722227010834883e8",
[
@@ -244472,6 +244583,84 @@
],
{}
]
+ ],
+ "forced-colors-mode-42.html": [
+ "9d4cfadcc0b1c018d3e98bee81b208634f47919f",
+ [
+ null,
+ [
+ [
+ "/forced-colors-mode/forced-colors-mode-42-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "forced-colors-mode-43.html": [
+ "9b8c164908ea02a0693a4714024751fc7e2c1e46",
+ [
+ null,
+ [
+ [
+ "/forced-colors-mode/forced-colors-mode-43-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "forced-colors-mode-44.html": [
+ "4526e19550e069cdfd2f8f57bec80b0138360554",
+ [
+ null,
+ [
+ [
+ "/forced-colors-mode/forced-colors-mode-44-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "forced-colors-mode-45.html": [
+ "e667b8291417cfef3545c71d92f27ee5d35f2eee",
+ [
+ null,
+ [
+ [
+ "/forced-colors-mode/forced-colors-mode-45-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "forced-colors-mode-46.html": [
+ "6fd50a37156a8f361ec4a7466b7cd4c1d4fbd0ca",
+ [
+ null,
+ [
+ [
+ "/forced-colors-mode/forced-colors-mode-46-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "forced-colors-mode-47.html": [
+ "b5eb912d6bb1c98533b1834d085edef58e31ef84",
+ [
+ null,
+ [
+ [
+ "/forced-colors-mode/forced-colors-mode-47-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
]
},
"html": {
@@ -251707,6 +251896,19 @@
]
},
"scripts": {
+ "mover-accent-dynamic-change.html": [
+ "7cb0d05035ac7958b71afb5d8e6d0dd279847107",
+ [
+ null,
+ [
+ [
+ "/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"subsup-legacy-scriptshift-attributes-001.tentative.html": [
"532271dbe049cbc12ced9f751a9099ec2a3bd220",
[
@@ -262827,7 +263029,7 @@
],
"security-features": {
"README.md": [
- "fb9a2f108f9faf68bb86f0bd9f848dbd28630ca4",
+ "f957541f75ecc37416895d6bc19d1c229c0f71b8",
[]
],
"__init__.py": [
@@ -315052,6 +315254,10 @@
"a9e9b3fbe308329defb6ecd6612eb10ff07cba13",
[]
],
+ "image-orientation-img-object-fit-ref.html": [
+ "0d84291e8a592395de745f4cec7635de0e381427",
+ []
+ ],
"image-orientation-list-style-image-ref.html": [
"8dcef6a243927f927f9d6e42709959f265332db9",
[]
@@ -320603,6 +320809,12 @@
[]
],
"tentative": {
+ "paint": {
+ "background-image-column-collapsed-ref.html": [
+ "b3b1ce9ff37d19c2d43851399d22f299cb1608cf",
+ []
+ ]
+ },
"support": {
"README": [
"67e87ca8916c94045f6d55238d387d5571fd694a",
@@ -337943,7 +338155,7 @@
[]
],
"window-tests-enumeration.js": [
- "6b694044640a5ad7fedfd0f221dd6a6881e79a71",
+ "29bb581bd3dacf465966601466c6923025ba3145",
[]
]
}
@@ -338799,6 +339011,30 @@
"df6de6eda257ecb027b8d861cfe3cb2a5ab3ccce",
[]
],
+ "forced-colors-mode-42-ref.html": [
+ "7133c893cea0a1bbd24dace91a5bf7bf342ade44",
+ []
+ ],
+ "forced-colors-mode-43-ref.html": [
+ "0b98661896f6af563d4eeaf525b74bab09e6bdbc",
+ []
+ ],
+ "forced-colors-mode-44-ref.html": [
+ "46398de8829733e8c476298689eb1326dff15a36",
+ []
+ ],
+ "forced-colors-mode-45-ref.html": [
+ "c7d535c5278837fad2216965ec19b2244a392337",
+ []
+ ],
+ "forced-colors-mode-46-ref.html": [
+ "55259f7f7a5cf0fc24324e29ff5097420d88ca45",
+ []
+ ],
+ "forced-colors-mode-47-ref.html": [
+ "827cf86b238a33eb71781936927ba1e94d7f8615",
+ []
+ ],
"resources": {
"float-image.jpg": [
"ab06d5f94d16e22bb08fad79d6fef662b2a7de5a",
@@ -352240,7 +352476,7 @@
[]
],
"appmanifest.idl": [
- "8d701371f85e7cc5af9d6c3447d6577b3c746381",
+ "e3117265450c2920212607575c8c1ba27c36596d",
[]
],
"audio-output.idl": [
@@ -353459,6 +353695,10 @@
]
},
"scripts": {
+ "mover-accent-dynamic-change-ref.html": [
+ "a4f16aa07f969e43dee4be45c48f7252e5c109ca",
+ []
+ ],
"subsup-legacy-scriptshift-attributes-001.tentative-ref.html": [
"c1bf2e46954ee28d260371fb4fb981e9030e3051",
[]
@@ -363438,7 +363678,7 @@
[]
],
"install_chrome.yml": [
- "fd650e80aaad309c8e983274d2b823bba91b1fb1",
+ "9ccdc49ba0ee1fa4382cf5e06c98a1498938a339",
[]
],
"install_edge.yml": [
@@ -363446,7 +363686,7 @@
[]
],
"install_firefox.yml": [
- "de6d0335f221f6d2215ebdc8ef5d2ee269fdfdf3",
+ "7b8c7be05fee9bc6d6db9609a21a71b8cc93b26a",
[]
],
"install_fonts.yml": [
@@ -363458,7 +363698,7 @@
[]
],
"install_safari.yml": [
- "6c1b562d411a2aeecc30d3fbc1aed6362f3526e5",
+ "1636b8e747432d7f0162879e868016df99d7d256",
[]
],
"pip_install.yml": [
@@ -373378,6 +373618,10 @@
[]
],
"resources": {
+ "cross-origin-no-cors.har": [
+ "96d0b4e453eab96d8fa1f9be1f6a880adb0f4c7c",
+ []
+ ],
"cross-origin.har": [
"7435393b13b1f640b0a1911e05456833febf7e8e",
[]
@@ -373427,7 +373671,7 @@
]
},
"generate-test-wbns.sh": [
- "6683cb0dd84ebb059d26f26bdea5c7f4c05e08fc",
+ "0caef325d1f03846792094e2535c84daf8bf4516",
[]
],
"location": {
@@ -373559,6 +373803,12 @@
"1f9278148313ad4b401a1025b5396a5b9bd60ff3",
[]
],
+ "no-cors": {
+ "cross-origin.wbn": [
+ "b2adba654513322fde9b3a993ede4ea73ad898f3",
+ []
+ ]
+ },
"path-restriction.wbn": [
"e861469e122afd141bcec8d394a0d4504898208c",
[]
@@ -406407,7 +406657,7 @@
]
],
"CSS-supports-CSSStyleDeclaration.html": [
- "fd013b95e8af97da3772fc5b9978c0082c57cdb2",
+ "3a9786c510dedc80cf7a5af143960fbeb7a09371",
[
null,
{}
@@ -418526,7 +418776,7 @@
],
"height-distribution": {
"computing-row-measure-0.html": [
- "ba8bf73429ff3a74d3105ad842d15e4d44d403fc",
+ "ebaab2c359d4ddaf0b8179d35ca58b4868ea9f8d",
[
null,
{}
@@ -430765,7 +431015,7 @@
]
],
"state-pseudo-class.html": [
- "9a810b6b000c31b9521c205b65002e2c6205bccf",
+ "966dd1c9a79a9f1f2ae910d58afa1f8efa2e1044",
[
null,
{}
@@ -458678,6 +458928,15 @@
}
]
],
+ "font_access-chooser-selection.tentative.manual.https.html": [
+ "73d0e7938efad2b8cb462e67612f9e5505af3693",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"font_access-chooser.tentative.manual.https.html": [
"8f623daa0b86c1af6141fee0cf8a8783559f2b16",
[
@@ -458765,14 +459024,14 @@
]
],
"forced-colors-mode-40.html": [
- "07316bda24610f87d0735a4835f865d176396d0d",
+ "481492d72e917a5b235b1aa55818519232ef32c1",
[
null,
{}
]
],
"forced-colors-mode-41.html": [
- "ddb747d08186ede841356867657d8e3941b008a8",
+ "cf2c527be97458a9b6ccebd62b9ad4d703c90ec9",
[
null,
{}
@@ -466252,7 +466511,7 @@
]
],
"createImageBitmap-invalid-args.html": [
- "3330cfb9189d42e43d79caf9669b5c05d5620379",
+ "74ca9a853e66591b5f043b3e9ea74346f985f7b5",
[
null,
{}
@@ -503075,7 +503334,7 @@
]
},
"scriptlevel-001.html": [
- "f91635b73879255422f3df613a40eac1df81f80b",
+ "11ad68d818829e2fe63510560b6d56ff39d833a8",
[
null,
{}
@@ -512703,6 +512962,15 @@
}
]
],
+ "removed-from-document.html": [
+ "2c363a0eec69de8c822415e1c51f796fd5d0cebf",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"request-picture-in-picture-twice.html": [
"c1369ee8c3c1df2adf51210ff0031fa2eac14642",
[
@@ -530368,7 +530636,7 @@
]
],
"claim-worker-fetch.https.html": [
- "389d001f31e2e9791198029c5e9877de5395e234",
+ "7cb26c742b97d3d768e01ec09adb1ceeca99dc86",
[
null,
{}
@@ -549582,7 +549850,7 @@
]
],
"subresource-loading-cross-origin.tentative.html": [
- "3991aef2c40ccfa6c82eee09e76e9b42e16c8cf5",
+ "b0072ddb1f6b19f5571b22ef35892ffd1d6db0a7",
[
null,
{}
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
deleted file mode 100644
index 4bfb0c2053a..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-004.html]
- [Miss float below something else]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
deleted file mode 100644
index baa9f1a7541..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-005.html]
- [Miss clipped float]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini b/tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini
new file mode 100644
index 00000000000..bd350f9b049
--- /dev/null
+++ b/tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini
@@ -0,0 +1,2 @@
+[image-orientation-img-object-fit.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
deleted file mode 100644
index e38782d8c85..00000000000
--- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[elementFromPoint-001.html]
- [CSSOM View - 5 - extensions to the Document interface]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
new file mode 100644
index 00000000000..e181af5397f
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
@@ -0,0 +1,4 @@
+[elementsFromPoint-invalid-cases.html]
+ [The root element is the last element returned for otherwise empty queries within the viewport]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini b/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini
index cd5eb9f4605..170f1f7650a 100644
--- a/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini
+++ b/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini
@@ -14,3 +14,21 @@
[:state() serialization]
expected: FAIL
+ [:--foo in simple cases]
+ expected: FAIL
+
+ [:--foo serialization]
+ expected: FAIL
+
+ [:--foo parsing passes]
+ expected: FAIL
+
+ [:--foo and :host()]
+ expected: FAIL
+
+ [:--foo and other pseudo classes]
+ expected: FAIL
+
+ [:--foo and ::part()]
+ 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 fbacdbf647e..64520b5ad94 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,12 +312,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
index b2ffc8abf78..d2df9b78483 100644
--- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
@@ -56,6 +56,3 @@
[separate text/javascript x/x]
expected: FAIL
- [separate text/javascript error]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
new file mode 100644
index 00000000000..75d75b4cda2
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_2.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini b/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
index 049c6d8e599..f37d61b11a6 100644
--- a/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
+++ b/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
@@ -147,3 +147,117 @@
[createImageBitmap with CanvasRenderingContext2D image source.]
expected: NOTRUN
+ [createImageBitmap with a vector HTMLImageElement source and a value of 0 int resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with a vector SVGImageElement source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageBitmap source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an ImageData source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement source and a value of 0 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with a vector SVGImageElement source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an ImageBitmap source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an HTMLVideoElement source and a value of 0 int resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector HTMLImageElement source and a value of 0 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with a bitmap SVGImageElement source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 int resizeWidth]
+ expected: FAIL
+
+ [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeHeight]
+ expected: NOTRUN
+
+ [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeHeight]
+ expected: FAIL
+
+ [createImageBitmap with an ImageData source and a value of 0 int resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeWidth]
+ expected: NOTRUN
+
+ [createImageBitmap with a Blob source and a value of 0 in resizeHeight]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index f4d11768961..6b68e9094e4 100644
--- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,5 +1,4 @@
[supported-elements.html]
- expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@@ -7,10 +6,10 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: TIMEOUT
+ expected: FAIL
[Area element should support autofocus]
- expected: NOTRUN
+ expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index fc37df7e3fa..2a166bb97b7 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
index 06bbed1fcac..d43f38b40cd 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-2.html]
type: testharness
- expected: CRASH
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index 7a36937927c..f4f994c5d6f 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini
index d0075598b7d..1b855cfef21 100644
--- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini
@@ -2,75 +2,75 @@
[input type search: setRangeText() a second time (must not fire select)]
expected: FAIL
- [input type url: selectionEnd out of range a second time (must not fire select)]
- expected: FAIL
-
[textarea: selectionStart out of range a second time (must not fire select)]
expected: FAIL
[input type url: setRangeText() a second time (must not fire select)]
expected: FAIL
- [input type url: selectionDirection a second time (must not fire select)]
- expected: FAIL
-
[input type text: selectionStart a second time (must not fire select)]
expected: FAIL
[textarea: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type url: setSelectionRange() a second time (must not fire select)]
+ [input type url: selectionStart out of range a second time (must not fire select)]
+ expected: FAIL
+
+ [input type tel: setRangeText() a second time (must not fire select)]
expected: FAIL
- [input type url: selectionStart out of range a second time (must not fire select)]
+ [input type search: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type tel: selectionDirection a second time (must not fire select)]
+ [input type password: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type url: select() a second time (must not fire select)]
+ [input type password: selectionDirection a second time (must not fire select)]
expected: FAIL
- [input type search: selectionDirection a second time (must not fire select)]
+ [input type url: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type text: setRangeText() a second time (must not fire select)]
+ [input type password: select() a second time (must not fire select)]
expected: FAIL
- [input type tel: select() a second time (must not fire select)]
+ [input type tel: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
- [input type password: setSelectionRange out of range a second time (must not fire select)]
+ [input type text: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type tel: setRangeText() a second time (must not fire select)]
+ [textarea: selectionDirection a second time (must not fire select)]
expected: FAIL
- [input type search: setSelectionRange out of range a second time (must not fire select)]
+ [input type url: selectionEnd a second time (must not fire select)]
expected: FAIL
- [textarea: setSelectionRange() a second time (must not fire select)]
+ [input type password: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
- [input type search: setSelectionRange() a second time (must not fire select)]
+ [input type text: setSelectionRange() a second time (must not fire select)]
expected: FAIL
- [textarea: setRangeText() a second time (must not fire select)]
+ [input type text: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type password: setRangeText() a second time (must not fire select)]
+ [input type text: selectionEnd out of range a second time (must not fire select)]
expected: FAIL
- [input type password: selectionEnd a second time (must not fire select)]
+ [input type search: selectionEnd a second time (must not fire select)]
expected: FAIL
- [input type password: selectionDirection a second time (must not fire select)]
+ [input type tel: setSelectionRange out of range a second time (must not fire select)]
expected: FAIL
- [input type url: selectionStart a second time (must not fire select)]
+ [input type text: selectionDirection a second time (must not fire select)]
expected: FAIL
- [input type url: setSelectionRange out of range a second time (must not fire select)]
+ [input type password: selectionStart out of range a second time (must not fire select)]
+ expected: FAIL
+
+ [input type search: selectionStart a second time (must not fire select)]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
deleted file mode 100644
index 178680e5d14..00000000000
--- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[script-onerror-insertion-point-2.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini
new file mode 100644
index 00000000000..59a54fe88e4
--- /dev/null
+++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini
@@ -0,0 +1,4 @@
+[module-delayed.html]
+ [async document.write in a module]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
index 281b74118f8..539ecee17de 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
@@ -785,3 +785,9 @@
[X SNR (-192.20062600601898 dB) is not greater than or equal to 65.737. Got -192.20062600601898.]
expected: FAIL
+ [X SNR (-625.6872986351187 dB) is not greater than or equal to 65.737. Got -625.6872986351187.]
+ expected: FAIL
+
+ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.8580460955235994e+33\t9.3139332532882690e-1\t2.8580460955235994e+33\t3.0685705145187411e+33\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 2.8580460955235994e+33 at index of 28696.\n\tMax RelError of 3.0685705145187411e+33 at index of 28696.\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini
new file mode 100644
index 00000000000..064cf47545b
--- /dev/null
+++ b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini
@@ -0,0 +1,5 @@
+[017.html]
+ expected: TIMEOUT
+ [origin of the script that invoked the method, about:blank]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/web-platform-tests/common/security-features/README.md b/tests/wpt/web-platform-tests/common/security-features/README.md
index fb9a2f108f9..f957541f75e 100644
--- a/tests/wpt/web-platform-tests/common/security-features/README.md
+++ b/tests/wpt/web-platform-tests/common/security-features/README.md
@@ -278,9 +278,9 @@ The ```excluded_tests``` section have objects with the same format as [Test Expa
Taking the spec JSON, the generator follows this algorithm:
-* Expand all ```excluded_tests``` to create a blacklist of selections
+* Expand all ```excluded_tests``` to create a denylist of selections
-* For each `specification` entries: Expand the ```test_expansion``` pattern into selections and check each against the blacklist, if not marked as suppresed, generate the test resources for the selection
+* For each `specification` entries: Expand the ```test_expansion``` pattern into selections and check each against the denylist, if not marked as suppresed, generate the test resources for the selection
### SourceContext Resolution
diff --git a/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html b/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html
index fd013b95e8a..3a9786c510d 100644
--- a/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html
+++ b/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html
@@ -612,6 +612,7 @@ const properties = [
"shape-rendering",
"size",
"speak",
+ "speak-as",
"src",
"stop-color",
"stop-opacity",
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html
new file mode 100644
index 00000000000..b56d6384379
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-align-content-space-evenly">
+<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html">
+<meta name="assert" content="The fallback alignment for 'space-evenly' should be 'center'.">
+<p>Test passes if there is a filled green square.</p>
+<div style="display: grid; width: 50px; height: 50px; align-content: space-evenly; justify-content: space-evenly;">
+ <div style="width: 100px; height: 100px; background: green; position: relative; top: 25px; left: 25px;"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html
new file mode 100644
index 00000000000..f92ed520d03
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-align-content-space-around">
+<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html">
+<meta name="assert" content="The fallback alignment for 'space-around' should be 'center'.">
+<p>Test passes if there is a filled green square.</p>
+<div style="display: grid; width: 50px; height: 50px; align-content: space-around; justify-content: space-around;">
+ <div style="width: 100px; height: 100px; background: green; position: relative; top: 25px; left: 25px;"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html
new file mode 100644
index 00000000000..216b05a4d6c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-align-content-space-between">
+<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html">
+<meta name="assert" content="The fallback alignment for 'space-between' should be 'start'.">
+<p>Test passes if there is a filled green square.</p>
+<div style="display: grid; width: 50px; height: 50px; align-content: space-between; justify-content: space-between;">
+ <div style="width: 100px; height: 100px; background: green;"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html b/tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html
new file mode 100644
index 00000000000..5551eb93845
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Images Module Level 3: image-orientation: from-image</title>
+<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
+<link rel="match" href="reference/image-orientation-img-object-fit-ref.html">
+<meta name=fuzzy content="0-5;0-375">
+<style>
+ body {
+ overflow: hidden;
+ image-orientation: from-image;
+ }
+ img {
+ position: absolute;
+ vertical-align: top;
+ }
+ .cover {
+ object-fit: cover;
+ top: 10px;
+ }
+ .contain {
+ object-fit: contain;
+ top: 150px;
+ }
+ .wide {
+ width: 100px;
+ height: 50px;
+ left: 10px;
+ }
+ .tall {
+ width: 50px;
+ height: 100px;
+ left: 150px;
+ }
+</style>
+</head>
+<body>
+ <img class="cover wide" src="support/exif-orientation-5-lu.jpg"/>
+ <img class="cover tall" src="support/exif-orientation-5-lu.jpg"/>
+ <img class="contain wide" src="support/exif-orientation-5-lu.jpg"/>
+ <img class="contain tall" src="support/exif-orientation-5-lu.jpg"/>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html b/tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html
new file mode 100644
index 00000000000..0d84291e8a5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Images Module Level 3: image-orientation: from-image</title>
+<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation">
+<style>
+ body {
+ overflow: hidden;
+ image-orientation: from-image;
+ }
+ img {
+ position: absolute;
+ vertical-align: top;
+ }
+ .cover {
+ object-fit: cover;
+ top: 10px;
+ }
+ .contain {
+ object-fit: contain;
+ top: 150px;
+ }
+ .wide {
+ width: 100px;
+ height: 50px;
+ left: 10px;
+ }
+ .tall {
+ width: 50px;
+ height: 100px;
+ left: 150px;
+ }
+</style>
+</head>
+<body>
+ <img class="cover wide" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/>
+ <img class="cover tall" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/>
+ <img class="contain wide" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/>
+ <img class="contain tall" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html
index 06fe0e58706..fe1a4d7a5de 100644
--- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html
+++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html
@@ -2,13 +2,11 @@
<title>CSS aspect-ratio: min-content size keyword</title>
<link rel="author" title="Google LLC" href="https://www.google.com/">
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5032">
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
-<!-- This is still under discussion in https://github.com/w3c/csswg-drafts/issues/5032
- but this testcase tests the likely outcome. -->
-
-<div style="height: 100px; width: min-content; aspect-ratio: 1/1; background: green;"></div>
-
-
+<div style="height: 50px; width: min-content; aspect-ratio: 2/1; background: green;"></div>
+<!-- min-content in the block axis is treated as auto -->
+<div style="height: min-content; width: 100px; aspect-ratio: 2/1; background: green;"></div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html
new file mode 100644
index 00000000000..cf128cabd05
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<title>CSS aspect-ratio: min-content size keyword together with min-size</title>
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
+<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio-minimum">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5032">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
+<style>
+.target {
+ background: green;
+}
+</style>
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+<!-- The tests below are based on the discussion:
+ https://github.com/w3c/csswg-drafts/issues/5032#issuecomment-655637111 -->
+
+<!-- `min-width:auto` takes the content size into account.
+ `width: min-content` is resolved as 25px (= 25px * 1), and the content size
+ is 100px, so the final width should be max(25px, 100px) = 100px. -->
+<div class="target" style="height: 25px; width: min-content; min-width: auto; aspect-ratio: 1/1;">
+ <div style="width: 100px;"></div>
+</div>
+<!-- `min-width:min-content` doesn't take the content size into account.
+ `width:auto` is resolved as 100px (= 25px * 4), and it shouldn't be
+ floored by the content size (i.e. 150px), so the final width is 100px. -->
+<div class= "target" style="height: 25px; width: auto; min-width: min-content; aspect-ratio: 4/1;">
+ <div style="width: 150px;"></div>
+</div>
+
+<!-- `min-height:auto` takes the content size into account.
+ `height: min-content` is resolved as 10px (= 100px / 10), and the content
+ size is 25px, so the final height should be max(10px, 25px) = 25px. -->
+<div class="target" style="height: min-content; min-height: auto; width: 100px; aspect-ratio: 10/1;">
+ <div style="height: 25px;"></div>
+</div>
+<!-- `min-height:min-content` doesn't take content size into account.
+ `height:auto` is resolved as 25px (= 100px / 4), and it shouldn't be
+ floored by the content size (i.e. 50px), so the final height is 25px. -->
+<div class="target" style="height: auto; min-height: min-content; width: 100px; aspect-ratio: 4/1;">
+ <div style="height: 50px;"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html
new file mode 100644
index 00000000000..49bd5cebfd4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<title>CSS aspect-ratio: fit-content size keyword</title>
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
+<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#valdef-width-fit-content">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5032">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
+<style>
+div {
+ background: green;
+ aspect-ratio: 2/1;
+}
+</style>
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+<div style="height: 50px; width: -moz-fit-content; width: fit-content;"></div>
+<!-- fit-content in the block axis is treated as auto -->
+<div style="height: -moz-fit-content; height: fit-content; width: 100px;"></div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html
index fd2dcd81dd9..51daf00957e 100644
--- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html
+++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html
@@ -19,6 +19,7 @@ th, td {
<tr>
<th style='background: green; width: 100px; aspect-ratio: 1/1;'></th>
<td style='background: red; height: 50px; aspect-ratio: 4/1;'></td>
+ <td style='background: red; height: 50px; min-width: min-content; aspect-ratio: 4/1;'></td>
</tr>
</table>
<!-- aspect-ratio should apply to the table element -->
diff --git a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html
index ba8bf73429f..ebaab2c359d 100644
--- a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html
+++ b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html
@@ -54,7 +54,7 @@
[
"Checking intermediate min-content height for span 1 (2)",
document.getElementById('two').offsetHeight,
- 1
+ 10
],
[
"Checking intermediate min-content height for span 1 (3)",
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html
new file mode 100644
index 00000000000..b3b1ce9ff37
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<style>
+ body {
+ --peek: LightGreen;
+ }
+ .bg {
+ background-color: var(--peek);
+ background-image: linear-gradient(90deg, orange 0px, orange 10px, gainsboro 3px, gainsboro 25%, rgba(160,160,160,0.5) 25%, rgba(160,160,160,0.5) 50%, silver 50%, silver 75%, darkgray 75%, darkgray 170px, blue 170px);
+ background-repeat: no-repeat;
+ background-size: 50px 200px;
+ }
+ main * {
+ box-sizing: border-box;
+ }
+ .td {
+ width: 50px;
+ height: 50px;
+ position:absolute;
+ }
+</style>
+
+<main>
+<div style="position: relative;border: 10px solid transparent; width:210px; height: 210px">
+ <div class="td bg" style="top:-5px;left:-5px;height:200px"></div>
+ <div class="td bg" style="top:-5px;left:45px;height:200px"></div>
+ <div class="td" style="background:var(--peek); height:100px; left:95px;top:45px"></div>
+ <div class="td bg" style="top:-5px;left:145px;height:200px;width:100px;background-size: 100px 200px"></div>
+</div>
+
+</main>
diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html
new file mode 100644
index 00000000000..6e6ae7a82cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<title>Table collapsed column background image geometry</title>
+<link rel="author" title="Aleks Totic" href="atotic@chromium.org" />
+<link rel="help" href="https://www.w3.org/TR/css-tables-3/#drawing-backgrounds-and-borders" />
+<link rel="match" href="background-image-column-collapsed-ref.html" />
+<style>
+ body {
+ --peek: LightGreen;
+ }
+ .bg {
+ background-color: var(--peek);
+ background-image: linear-gradient(90deg, orange 0px, orange 10px, gainsboro 3px, gainsboro 25%, rgba(160,160,160,0.5) 25%, rgba(160,160,160,0.5) 50%, silver 50%, silver 75%, darkgray 75%, darkgray 170px, blue 170px);
+ background-repeat: no-repeat;
+ }
+ main * {
+ box-sizing: border-box;
+ }
+ main table {
+ border-spacing: 10px;
+ border: 10px solid transparent;
+ padding: 10px;
+ border-collapse: collapse;
+ }
+ main table:hover {
+ border: 10px solid yellow;
+ }
+ main td {
+ width: 50px;
+ height: 50px;
+ padding: 0px;
+ }
+</style>
+<body>
+<main>
+ <table>
+ <col class="bg">
+ <col class="bg">
+ <col>
+ <colgroup class="bg" span="2">
+ <tr>
+ <td rowspan=4></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td rowspan=2 colspan=2></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </table>
+</main>
+</body>
diff --git a/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html b/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html
index 9a810b6b000..966dd1c9a79 100644
--- a/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html
+++ b/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html
@@ -5,13 +5,13 @@
#state-and-part::part(inner) {
opacity: 0;
}
-#state-and-part::part(inner):state(innerFoo) {
+#state-and-part::part(inner):--innerFoo {
opacity: 0.5;
}
-#state-and-part:state(outerFoo)::part(inner) {
+#state-and-part:--outerFoo::part(inner) {
opacity: 0.25;
}
-:state( \(escaped\ state ) {}
+:--\(escaped\ state {}
</style>
<body>
<script>
@@ -37,7 +37,7 @@ class ContainerElement extends HTMLElement {
:host {
border-style: solid;
}
-:host(:state(dotted)) {
+:host(:--dotted) {
border-style: dotted;
}
</style>
@@ -54,36 +54,38 @@ class ContainerElement extends HTMLElement {
customElements.define('container-element', ContainerElement);
test(() => {
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state'); });
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state('); });
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state()'); });
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state(=)'); });
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state(name=value)'); });
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state( foo bar)'); });
- assert_throws_dom('SyntaxError', () => { document.querySelector(':state(16px)'); });
-}, ':state() parsing failures');
+ document.querySelector(':--');
+ document.querySelector(':--16px');
+}, ':--foo parsing passes');
+
+test(() => {
+ assert_throws_dom('SyntaxError', () => { document.querySelector(':--('); });
+ assert_throws_dom('SyntaxError', () => { document.querySelector(':--)'); });
+ assert_throws_dom('SyntaxError', () => { document.querySelector(':--='); });
+ assert_throws_dom('SyntaxError', () => { document.querySelector(':--name=value'); });
+}, ':--foo parsing failures');
test(() => {
assert_equals(document.styleSheets[0].cssRules[1].cssText,
- '#state-and-part::part(inner):state(innerFoo) { opacity: 0.5; }');
+ '#state-and-part::part(inner):--innerFoo { opacity: 0.5; }');
assert_equals(document.styleSheets[0].cssRules[3].selectorText,
- ':state(\\(escaped\\ state)');
-}, ':state() serialization');
+ ':--\\(escaped\\ state');
+}, ':--foo serialization');
test(() => {
let element = new TestElement();
let states = element.i.states;
- assert_false(element.matches(':state(foo)'));
- assert_true(element.matches(':not(:state(foo))'));
- states.add('foo');
- assert_true(element.matches(':state(foo)'));
- assert_true(element.matches(':is(:state(foo))'));
+ assert_false(element.matches(':--foo'));
+ assert_true(element.matches(':not(:--foo)'));
+ states.add('--foo');
+ assert_true(element.matches(':--foo'));
+ assert_true(element.matches(':is(:--foo)'));
element.classList.add('c1', 'c2');
- assert_true(element.matches('.c1:state(foo)'));
- assert_true(element.matches(':state(foo).c1'));
- assert_true(element.matches('.c2:state(foo).c1'));
-}, ':state() in simple cases');
+ assert_true(element.matches('.c1:--foo'));
+ assert_true(element.matches(':--foo.c1'));
+ assert_true(element.matches('.c2:--foo.c1'));
+}, ':--foo in simple cases');
test(() => {
let element = new TestElement();
@@ -92,10 +94,10 @@ test(() => {
element.focus();
let states = element.i.states;
- states.value = 'foo';
- assert_true(element.matches(':focus:state(foo)'));
- assert_true(element.matches(':state(foo):focus'));
-}, ':state() and other pseudo classes');
+ states.value = '--foo';
+ assert_true(element.matches(':focus:--foo'));
+ assert_true(element.matches(':--foo:focus'));
+}, ':--foo and other pseudo classes');
test(() => {
let outer = new ContainerElement();
@@ -104,26 +106,26 @@ test(() => {
let inner = outer.innerElement;
let innerStates = inner.i.states;
- innerStates.add('innerFoo');
+ innerStates.add('--innerFoo');
assert_equals(getComputedStyle(inner).opacity, '0.5',
- '::part() followed by :state()');
- innerStates.replace('innerFoo', 'innerfoo');
+ '::part() followed by :--foo');
+ innerStates.replace('--innerFoo', '--innerfoo');
assert_equals(getComputedStyle(inner).opacity, '0',
- ':state() matching should be case-sensitive');
- innerStates.remove('innerfoo');
+ ':--foo matching should be case-sensitive');
+ innerStates.remove('--innerfoo');
- outer.i.states.add('outerFoo');
+ outer.i.states.add('--outerFoo');
assert_equals(getComputedStyle(inner).opacity, '0.25',
- ':state() followed by ::part()');
-}, ':state() and ::part()');
+ ':--foo followed by ::part()');
+}, ':--foo and ::part()');
test(() => {
let outer = new ContainerElement();
document.body.appendChild(outer);
assert_equals(getComputedStyle(outer).borderStyle, 'solid');
- outer.i.states.toggle('dotted');
+ outer.i.states.toggle('--dotted');
assert_equals(getComputedStyle(outer).borderStyle, 'dotted');
-}, ':state() and :host()');
+}, ':--foo and :host()');
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html b/tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html
new file mode 100644
index 00000000000..73d0e7938ef
--- /dev/null
+++ b/tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<title>Local Font Access: Chooser</title>
+<meta charset=utf-8>
+
+<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="resources/test-expectations.js"></script>
+
+<script>
+ (async () => {
+ await new Promise(resolve => {
+ window.addEventListener('DOMContentLoaded', resolve);
+ });
+
+ // Small delay to give chrome's test automation a chance to actually install
+ // itself.
+ await new Promise(resolve => step_timeout(resolve, 100));
+
+ promise_test(async t => {
+ await window.test_driver.bless('show a font chooser.<br />Please select all the fonts that shows up.');
+ // Arial is considered to be web-safe.
+ const fonts = await navigator.fonts.showFontChooser({select: ['ArialMT']});
+ assert_true(Array.isArray(fonts));
+ assert_equals(fonts.length, 1);
+
+ const postscriptName = fonts[0].postscriptName;
+ assert_equals(typeof postscriptName, "string");
+ assert_greater_than(postscriptName.length, 0);
+ }, 'showFontChooser with selection works');
+
+ promise_test(async t => {
+ await window.test_driver.bless('show a font chooser.<br />Please select all the fonts that shows up.');
+ const fonts = await navigator.fonts.showFontChooser({select: []});
+ assert_true(Array.isArray(fonts));
+ assert_greater_than_equal(fonts.length, 1);
+
+ const postscriptName = fonts[0].postscriptName;
+ assert_equals(typeof postscriptName, "string");
+ assert_greater_than(postscriptName.length, 0);
+ }, 'showFontChooser with empty selection bag works');
+ })();
+</script>
diff --git a/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js b/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js
index 6b694044640..29bb581bd3d 100644
--- a/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js
+++ b/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js
@@ -122,7 +122,7 @@ for (const test of non_ascii_input) {
fonts.push(f);
}
assert_equals(
- fonts.length, 0,
- `There should be no results. Instead got: ${JSON.stringify(fonts)}`);
+ fonts.length, 0,
+ `There should be no results. Instead got: ${JSON.stringify(fonts)}`);
}, `query(): No match for input: ${JSON.stringify(test)}`);
}
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html
index 07316bda246..481492d72e9 100644
--- a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html
@@ -10,10 +10,14 @@
div {
background-color: green;
border-color: green;
+ caret-color: green;
color: green;
column-rule-color: green;
fill: green;
+ flood-color: green;
+ lighting-color: green;
outline-color: green;
+ stop-color: green;
stroke: green;
text-decoration-color: green;
-webkit-tap-highlight-color: green;
@@ -31,10 +35,14 @@
"border-left-color",
"border-right-color",
"border-top-color",
+ "caret-color",
"color",
"column-rule-color",
"fill",
+ "flood-color",
+ "lighting-color",
"outline-color",
+ "stop-color",
"stroke",
"text-decoration-color",
"-webkit-tap-highlight-color",
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html
index ddb747d0818..cf2c527be97 100644
--- a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html
@@ -12,6 +12,7 @@
div {
background-color: green;
border-color: green;
+ caret-color: green;
color: green;
outline-color: green;
}
@@ -25,6 +26,7 @@
"border-left-color",
"border-right-color",
"border-top-color",
+ "caret-color",
"color",
"outline-color"
];
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html
new file mode 100644
index 00000000000..7133c893cea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - visited caret-color.</title>
+<style>
+ a {
+ caret-color: VisitedText;
+ forced-color-adjust: none;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<a id="link" contenteditable href="">link</a>
+<script>
+ window.onload = function() {
+ document.getElementById("link").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html
new file mode 100644
index 00000000000..9d4cfadcc0b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - visited caret-color.</title>
+<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
+<link rel=match href="forced-colors-mode-42-ref.html">
+<style>
+ a {
+ caret-color: orange;
+ }
+ a:visited {
+ caret-color: red;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<a id="link" contenteditable href="">link</a>
+<script>
+ window.onload = function() {
+ document.getElementById("link").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html
new file mode 100644
index 00000000000..0b98661896f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - caret-color.</title>
+<style>
+ div {
+ caret-color: WindowText;
+ forced-color-adjust: none;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<div id="caret" contenteditable>The caret color should be overridden to currentColor</a>
+<script>
+ window.onload = function() {
+ document.getElementById("caret").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html
new file mode 100644
index 00000000000..9b8c164908e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - caret-color.</title>
+<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
+<link rel=match href="forced-colors-mode-43-ref.html">
+<style>
+ div {
+ caret-color: red;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<div id="caret" contenteditable>The caret color should be overridden to currentColor</a>
+<script>
+ window.onload = function() {
+ document.getElementById("caret").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html
new file mode 100644
index 00000000000..46398de8829
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - visited caret-color with system color.</title>
+<style>
+ a {
+ caret-color: GrayText;
+ forced-color-adjust: none;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<a id="link" contenteditable href="">link</a>
+<script>
+ window.onload = function() {
+ document.getElementById("link").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html
new file mode 100644
index 00000000000..4526e19550e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - visited caret-color with system color.</title>
+<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
+<link rel=match href="forced-colors-mode-44-ref.html">
+<style>
+ a {
+ caret-color: orange;
+ }
+ a:visited {
+ caret-color: GrayText;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<a id="link" contenteditable href="">link</a>
+<script>
+ window.onload = function() {
+ document.getElementById("link").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html
new file mode 100644
index 00000000000..c7d535c5278
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - caret-color with system color.</title>
+<style>
+ div {
+ caret-color: GrayText;
+ forced-color-adjust: none;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<div id="caret" contenteditable>The caret color should remain GrayText</a>
+<script>
+ window.onload = function() {
+ document.getElementById("caret").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html
new file mode 100644
index 00000000000..e667b829141
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - caret-color with system color.</title>
+<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
+<link rel=match href="forced-colors-mode-45-ref.html">
+<style>
+ div {
+ caret-color: GrayText;
+ }
+ [contenteditable] {
+ outline: none;
+ }
+</style>
+<div id="caret" contenteditable>The caret color should remain GrayText</a>
+<script>
+ window.onload = function() {
+ document.getElementById("caret").focus();
+ }
+</script>
+
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html
new file mode 100644
index 00000000000..55259f7f7a5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - lighting-color, flood-color, stop-color.</title>
+<style>
+ svg {
+ forced-color-adjust: none;
+ height: 100px;
+ width: 500px;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <rect x="0" y="0" width="100" height="100" fill="WindowText"/>
+ <rect x="200" y="0" width="100" height="100" fill="WindowText"/>
+ <rect x="400" y="0" width="100" height="100" fill="WindowText"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html
new file mode 100644
index 00000000000..6fd50a37156
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - lighting-color, flood-color, stop-color.</title>
+<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
+<link rel=match href="forced-colors-mode-46-ref.html">
+<style>
+ /* SVG elements are set to 'forced-color-adjust: none' by default. Set this to
+ auto instead in order to test that lighting-color, flood-color, stop-color
+ are properly overridden in forced colors mode. */
+ svg {
+ forced-color-adjust: auto;
+ height: 100px;
+ width: 500px;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <!-- stop-color in forced colors mode -->
+ <linearGradient id="stop">
+ <stop offset="25%" stop-color="orange"/>
+ <stop offset="75%" stop-color="red"/>
+ </linearGradient>
+ <rect x="0" y="0" width="100" height="100" fill="url('#stop')"/>
+
+ <!-- lighting-color in forced colors mode -->
+ <filter id="lighting" x="0" y="0" width="100%" height="100%">
+ <feDiffuseLighting in="SourceGraphic" lighting-color="red">
+ <fePointLight x="250" y="50" z="10"/>
+ </feDiffuseLighting>
+ </filter>
+ <rect x="200" y="0" width="100" height="100" style="filter: url(#lighting);"/>
+
+ <!-- flood-color in forced colors mode -->
+ <filter id="flood" x="0" y="0" width="100%" height="100%">
+ <feFlood flood-color="red"/>
+ </filter>
+ <rect x="400" y="0" width="100" height="100" style="filter: url(#flood);"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html
new file mode 100644
index 00000000000..827cf86b238
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - lighting-color, flood-color, stop-color system colors.</title>
+<style>
+ svg {
+ forced-color-adjust: none;
+ height: 100px;
+ width: 500px;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <linearGradient id="stop">
+ <stop offset="25%" stop-color="GrayText"/>
+ <stop offset="75%" stop-color="LinkText"/>
+ </linearGradient>
+ <rect x="0" y="0" width="100" height="100" fill="url('#stop')"/>
+
+ <filter id="lighting" x="0" y="0" width="100%" height="100%">
+ <feDiffuseLighting in="SourceGraphic" lighting-color="LinkText">
+ <fePointLight x="250" y="50" z="10"/>
+ </feDiffuseLighting>
+ </filter>
+ <rect x="200" y="0" width="100" height="100" style="filter: url(#lighting);"/>
+
+ <filter id="flood" x="0" y="0" width="100%" height="100%">
+ <feFlood flood-color="GrayText"/>
+ </filter>
+ <rect x="400" y="0" width="100" height="100" style="filter: url(#flood);"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html
new file mode 100644
index 00000000000..b5eb912d6bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Forced colors mode - lighting-color, flood-color, stop-color system colors.</title>
+<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties">
+<link rel=match href="forced-colors-mode-47-ref.html">
+<style>
+ /* SVG elements are set to 'forced-color-adjust: none' by default. Set this to
+ auto instead in order to test that lighting-color, flood-color, stop-color
+ are properly handled in forced colors mode. */
+ svg {
+ forced-color-adjust: auto;
+ height: 100px;
+ width: 500px;
+ }
+</style>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <!-- stop-color in forced colors mode -->
+ <linearGradient id="stop">
+ <stop offset="25%" stop-color="GrayText"/>
+ <stop offset="75%" stop-color="LinkText"/>
+ </linearGradient>
+ <rect x="0" y="0" width="100" height="100" fill="url('#stop')"/>
+
+ <!-- lighting-color in forced colors mode -->
+ <filter id="lighting" x="0" y="0" width="100%" height="100%">
+ <feDiffuseLighting in="SourceGraphic" lighting-color="LinkText">
+ <fePointLight x="250" y="50" z="10"/>
+ </feDiffuseLighting>
+ </filter>
+ <rect x="200" y="0" width="100" height="100" style="filter: url(#lighting);"/>
+
+ <!-- flood-color in forced colors mode -->
+ <filter id="flood" x="0" y="0" width="100%" height="100%">
+ <feFlood flood-color="GrayText"/>
+ </filter>
+ <rect x="400" y="0" width="100" height="100" style="filter: url(#flood);"/>
+</svg>
diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html
index 3330cfb9189..74ca9a853e6 100644
--- a/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html
+++ b/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html
@@ -83,6 +83,50 @@ testCases = [
});
}
},
+ {
+ description: 'createImageBitmap with <sourceType> source and ' +
+ 'a value of 0 int resizeWidth',
+ promiseTestFunction:
+ (source, t) => {
+ return createImageBitmap(source, {resizeWidth:0, resizeHeight:10})
+ .catch(e => {
+ assert_throws_dom("InvalidStateError", () => { throw e });
+ });
+ }
+ },
+ {
+ description: 'createImageBitmap with <sourceType> source and ' +
+ 'a value of 0 in resizeHeight',
+ promiseTestFunction:
+ (source, t) => {
+ return createImageBitmap(source, {resizeWidth:10, resizeHeight:0})
+ .catch(e => {
+ assert_throws_dom("InvalidStateError", () => { throw e });
+ });
+ }
+ },
+ {
+ description: 'createImageBitmap with <sourceType> source and ' +
+ 'a value between 0 and 1 in resizeWidth',
+ promiseTestFunction:
+ (source, t) => {
+ return createImageBitmap(source, {resizeWidth:0.5, resizeHeight:10})
+ .catch(e => {
+ assert_throws_dom("InvalidStateError", () => { throw e });
+ });
+ }
+ },
+ {
+ description: 'createImageBitmap with <sourceType> source and ' +
+ 'a value between 0 and 1 in resizeHeight',
+ promiseTestFunction:
+ (source, t) => {
+ return createImageBitmap(source, {resizeWidth:10, resizeHeight:0.5})
+ .catch(e => {
+ assert_throws_dom("InvalidStateError", () => { throw e });
+ });
+ }
+ },
];
// Generate the test matrix for each sourceType + testCase combo.
diff --git a/tests/wpt/web-platform-tests/interfaces/appmanifest.idl b/tests/wpt/web-platform-tests/interfaces/appmanifest.idl
index 8d701371f85..e3117265450 100644
--- a/tests/wpt/web-platform-tests/interfaces/appmanifest.idl
+++ b/tests/wpt/web-platform-tests/interfaces/appmanifest.idl
@@ -8,11 +8,7 @@ dictionary WebAppManifest {
DOMString lang;
USVString name;
USVString short_name;
- USVString description;
sequence<ManifestImageResource> icons;
- sequence<ManifestImageResource> screenshots;
- sequence<USVString> categories;
- DOMString iarc_rating_id;
USVString start_url;
DisplayModeType display = "browser";
OrientationLockType orientation;
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html
new file mode 100644
index 00000000000..a4f16aa07f9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<title>MathML Reference</title>
+<p>The 1's below should have the same size</p>
+<math>
+ <mover accent="true">
+ <mn>1</mn>
+ <mn>1</mn>
+ </mover>
+</math>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html
new file mode 100644
index 00000000000..7cb0d05035a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html
@@ -0,0 +1,16 @@
+<!doctype html>
+<title>MathML: Dynamically change accent on mover</title>
+<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#displaystyle-and-scriptlevel-in-scripts">
+<link rel="match" href="mover-accent-dynamic-change-ref.html">
+<meta name="assert" content="Test that setting the accent attribute on mover takes effect">
+<p>The 1's below should have the same size</p>
+<math>
+ <mover id="m">
+ <mn>1</mn>
+ <mn>1</mn>
+ </mover>
+</math>
+<script>
+ document.body.offsetTop;
+ m.setAttribute("accent", "true");
+</script>
diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html
index f91635b7387..11ad68d8188 100644
--- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html
+++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html
@@ -89,8 +89,8 @@
element.removeAttribute("accent");
element.setAttribute("accentunder", "TrUe");
assert_approx_equals(fontSize(element.children[0]), fontSizeAtScriptLevelZero, epsilon, "base");
- assert_approx_equals(fontSize(element.children[1]), fontSizeAtScriptLevelZero * .71, epsilon, "over");
- assert_approx_equals(fontSize(element.children[2]), fontSizeAtScriptLevelZero, epsilon, "under");
+ assert_approx_equals(fontSize(element.children[1]), fontSizeAtScriptLevelZero, epsilon, "under");
+ assert_approx_equals(fontSize(element.children[2]), fontSizeAtScriptLevelZero * .71, epsilon, "over");
}, "checking dynamic/case-insensitive accent/accentunder");
done();
diff --git a/tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html b/tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html
new file mode 100644
index 00000000000..2c363a0eec6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<title>Test Picture-in-Picture when removed from document</title>
+<script src="/common/media.js"></script>
+<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="resources/picture-in-picture-helpers.js"></script>
+<body></body>
+<script>
+promise_test(async t => {
+ const video = await loadVideo();
+ document.body.appendChild(video);
+ video.muted = true;
+ await video.play();
+ await requestPictureInPictureWithTrustedClick(video);
+
+ assert_false(video.paused);
+ document.body.offsetLeft;
+ document.body.removeChild(video);
+ await new Promise(resolve => step_timeout(resolve, 1000));
+ assert_false(video.paused);
+}, 'Picture-in-Picture video does not pause when removed from document');
+</script>
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html
index 389d001f31e..7cb26c742b9 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html
@@ -19,6 +19,18 @@ promise_test((t) => {
return runTest(t, 'resources/claim-blob-url-worker-fetch-iframe.html');
}, 'fetch() in blob URL Worker should be intercepted after the client is claimed.');
+promise_test((t) => {
+ return runTest(t, 'resources/nested-blob-url-workers.html');
+}, 'fetch() in nested blob URL Worker created from a blob URL Worker should be intercepted after the client is claimed.');
+
+promise_test((t) => {
+ return runTest(t, 'resources/nested-worker-created-from-blob-url-worker.html');
+}, 'fetch() in nested Worker created from a blob URL Worker should be intercepted after the client is claimed.');
+
+promise_test((t) => {
+ return runTest(t, 'resources/nested-blob-url-worker-created-from-worker.html');
+}, 'fetch() in nested blob URL Worker created from a Worker should be intercepted after the client is claimed.');
+
async function runTest(t, iframe_url) {
const resource = 'simple.txt';
const scope = 'resources/';
diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml b/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml
index fd650e80aaa..9ccdc49ba0e 100644
--- a/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml
@@ -2,8 +2,9 @@ steps:
# The conflicting google-chrome and chromedriver casks are first uninstalled.
# The raw google-chrome-dev cask URL is used to bypass caching.
- script: |
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask uninstall google-chrome || true
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask uninstall chromedriver || true
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/google-chrome-dev.rb
+ HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --cask google-chrome || true
+ HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --cask chromedriver || true
+ curl https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/google-chrome-dev.rb > google-chrome-dev.rb
+ HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask google-chrome-dev.rb
displayName: 'Install Chrome Dev'
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml b/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml
index de6d0335f22..7b8c7be05fe 100644
--- a/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml
@@ -1,6 +1,8 @@
steps:
# This is equivalent to `Homebrew/homebrew-cask-versions/firefox-nightly`,
# but the raw URL is used to bypass caching.
-- script: HOMEBREW_NO_AUTO_UPDATE=1 brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/firefox-nightly.rb
+- script: |
+ curl https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/firefox-nightly.rb > firefox-nightly.rb
+ HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask firefox-nightly.rb
displayName: 'Install Firefox Nightly'
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml b/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml
index 6c1b562d411..1636b8e7474 100644
--- a/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml
@@ -8,7 +8,7 @@ steps:
condition: eq(variables['safaridriver_diagnose'], true)
- ${{ if eq(parameters.channel, 'preview') }}:
- script: |
- HOMEBREW_NO_AUTO_UPDATE=1 brew cask install tools/ci/azure/safari-technology-preview.rb
+ HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask tools/ci/azure/safari-technology-preview.rb
# Workaround for `sudo safardriver --enable` not working on Catalina:
# https://github.com/web-platform-tests/wpt/issues/21751
mkdir -p ~/Library/WebDriver/
diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har b/tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har
new file mode 100644
index 00000000000..96d0b4e453e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har
@@ -0,0 +1,48 @@
+{
+ "log": {
+ "entries": [
+ {
+ "request": {
+ "method": "GET",
+ "url": "https://web-platform.test:8444/web-bundle/resources/wbn/no-cors/resource.cors.json",
+ "headers": []
+ },
+ "response": {
+ "status": 200,
+ "headers": [
+ {
+ "name": "Content-type",
+ "value": "application/json"
+ },
+ {
+ "name": "Access-Control-Allow-Origin",
+ "value": "*"
+ }
+ ],
+ "content": {
+ "text": "{ cors: 1 }"
+ }
+ }
+ },
+ {
+ "request": {
+ "method": "GET",
+ "url": "https://web-platform.test:8444/web-bundle/resources/wbn/no-cors/resource.no-cors.json",
+ "headers": []
+ },
+ "response": {
+ "status": 200,
+ "headers": [
+ {
+ "name": "Content-type",
+ "value": "application/json"
+ }
+ ],
+ "content": {
+ "text": "{ no_cors: 1 }"
+ }
+ }
+ }
+ ]
+ }
+}
diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh b/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh
index 6683cb0dd84..0caef325d1f 100755
--- a/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh
+++ b/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh
@@ -76,3 +76,9 @@ gen-bundle \
-har cross-origin.har \
-primaryURL $wpt_test_https_origin/web-bundle/resources/wbn/cors/resource.cors.json \
-o wbn/cors/cross-origin.wbn
+
+gen-bundle \
+ -version b1 \
+ -har cross-origin-no-cors.har \
+ -primaryURL $wpt_test_https_origin/web-bundle/resources/wbn/no-cors/resource.cors.json \
+ -o wbn/no-cors/cross-origin.wbn
diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbn b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbn
new file mode 100644
index 00000000000..b2adba65451
--- /dev/null
+++ b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbn
Binary files differ
diff --git a/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html b/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html
index 3991aef2c40..b0072ddb1f6 100644
--- a/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html
+++ b/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html
@@ -8,17 +8,17 @@
<script src="/resources/testharnessreport.js"></script>
<body>
<!--
- This wpt should run on an origin which is different than https://web-platform.test:8444/,
+ This wpt should run on an origin different from https://web-platform.test:8444/,
from where cross-orign WebBundles are served.
This test uses the two cross-origin WebBundles:
1. https://web-platform.test:8444/web-bundle/resources/wbn/cors/cross-origin.wbn,
which is served with an Access-Control-Allow-Origin response header.
- 2. http://web-platform.test:8444/web-bundle/resources/wbn/subreource.wbn,
+ 2. http://web-platform.test:8444/web-bundle/resources/wbn/no-cors/cross-origin.wbn,
which is served *without* an Access-Control-Allow-Origin response header.
- `cross-origin.wbn` includes two subresources:
+ Each `cross-origin.wbn` includes two subresources:
a. `resource.cors.json`, which includes an Access-Control-Allow-Origin response header.
b. `resource.no-cors.json`, which doesn't include an Access-Control-Allow-Origin response header.
-->
@@ -34,6 +34,8 @@
"https://web-platform.test:8444/web-bundle/resources/wbn/cors/resource.cors.json"
);
assert_true(response.ok);
+ const text = await response.text();
+ assert_equals(text, "{ cors: 1 }");
}, "A subresource which includes an Access-Control-Allow-Origin response header can be fetched");
promise_test(async (t) => {
@@ -46,21 +48,46 @@
);
}, "A subresource which does not include an Access-Control-Allow-Origin response header can not be fetched");
- promise_test(async () => {
- return addLinkAndWaitForError(
- "http://web-platform.test:8444/web-bundle/resources/wbn/subreource.wbn"
- );
- }, "A cross-origin WebBundle which does not include an Access-Control-Allow-Origin response header should fire an error event on load");
+ promise_test(async (t) => {
+ const prefix =
+ "http://web-platform.test:8444/web-bundle/resources/wbn/no-cors/";
+ const resources = [
+ prefix + "resource.cors.json",
+ prefix + "resource.no-cors.json",
+ ]
+ // Should fire an error event on loading webbundle.
+ await addLinkAndWaitForError(prefix + "cross-origin.wbn", resources);
+ // A fetch should fail for any subresource specified in resources attribute.
+ for (const url of resources) {
+ await fetchAndWaitForReject(url);
+ }
+ }, "A cross-origin WebBundle which does not include an Access-Control-Allow-Origin response header should fire an error event on load, and a fetch should fail for any subresource");
- function addLinkAndWaitForError(url) {
+ function addLinkAndWaitForError(url, resources) {
return new Promise((resolve, reject) => {
const link = document.createElement("link");
link.rel = "webbundle";
link.href = url;
+ for (const resource of resources) {
+ link.resources.add(resource);
+ }
link.onload = reject;
link.onerror = () => resolve(link);
document.body.appendChild(link);
});
}
+
+ function fetchAndWaitForReject(url) {
+ return new Promise((resolve, reject) => {
+ fetch(url)
+ .then(() => {
+ reject();
+ })
+ .catch(() => {
+ resolve();
+ });
+ });
+ }
+
</script>
</body>
diff --git a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
index 8e56bf6514b..9552b14a46c 100644
--- a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
+++ b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
@@ -293,3 +293,6 @@
[WebGL test #41: attachment 4 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,255,0,0]
expected: FAIL
+ [WebGL test #52: attachment 7 should be 0,255,0,255\nat (4, 0) expected: 0,255,0,255 was 0,0,0,0]
+ expected: FAIL
+