aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini4
-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/linebox/inline-negative-margin-001.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini14
-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_1.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini7
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini5
-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/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/metadata/MANIFEST.json149
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini5
-rw-r--r--tests/wpt/metadata/css/css-transforms/z-index-does-not-apply.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini14
-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_1.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini7
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini1
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini4
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini5
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata/webmessaging/without-ports/017.html.ini5
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini1
-rw-r--r--tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/floats/remove-float-then-abspos-in-inline.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html16
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html33
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html26
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html47
-rw-r--r--tests/wpt/web-platform-tests/interfaces/is-input-pending.idl22
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webauthn.idl25
-rw-r--r--tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js15
-rw-r--r--tests/wpt/web-platform-tests/resources/chromium/webxr-test.js216
-rw-r--r--tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html4
-rw-r--r--tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini12
66 files changed, 746 insertions, 208 deletions
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
deleted file mode 100644
index f64b45fea6b..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-002.html]
- [Hit test float]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
deleted file mode 100644
index f29da48a2a0..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-003.html]
- [Miss float below something else]
- expected: FAIL
-
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/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini
index 6425f4beda1..cb2edcb5dcd 100644
--- a/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/linebox/inline-negative-margin-001.html.ini
@@ -5,9 +5,6 @@
[[data-expected-height\] 7]
expected: FAIL
- [[data-expected-height\] 1]
- expected: FAIL
-
- [[data-expected-height\] 2]
+ [[data-expected-height\] 4]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini
new file mode 100644
index 00000000000..b9867f577df
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-transforms/z-index-does-not-apply.html.ini
@@ -0,0 +1,2 @@
+[z-index-does-not-apply.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini
new file mode 100644
index 00000000000..4c79907309b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini
@@ -0,0 +1,4 @@
+[CaretPosition-001.html]
+ [Element at (400, 100)]
+ 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/custom-elements/reactions/HTMLMediaElement.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini
deleted file mode 100644
index 2ca05f57bb0..00000000000
--- a/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[HTMLMediaElement.html]
- expected: TIMEOUT
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 24b243191a4..26d9a6ee392 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
@@ -318,15 +318,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*]
- expected: FAIL
-
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<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_1.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
new file mode 100644
index 00000000000..dc2e45516de
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_5.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
index 5c3ac06f42a..09ae27d7480 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
@@ -171,3 +171,6 @@
[XHTML img usemap="#hash-id"]
expected: FAIL
+ [HTML (standards) IMG usemap="no-hash-name"]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini
new file mode 100644
index 00000000000..695d4c26829
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini
@@ -0,0 +1,7 @@
+[iframe-loading-lazy-load-event.tentative.html]
+ [In-viewport loading=lazy visibility:hidden iframe does not block the load event]
+ expected: FAIL
+
+ [In-viewport loading=lazy iframe does not block the load event]
+ expected: FAIL
+
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..7d2b5231af2 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: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
deleted file mode 100644
index bcd2fd0eab8..00000000000
--- a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[077.html]
- [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini
deleted file mode 100644
index fca4d908c89..00000000000
--- a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[module-static-import-delayed.html]
- [document.write in an imported module]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
index 5ddb9bfeff6..a1effd5f801 100644
--- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
@@ -1,10 +1,9 @@
[promise-job-entry.html]
- expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
- expected: TIMEOUT
+ expected: FAIL
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@@ -16,5 +15,5 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
- expected: TIMEOUT
+ 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/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
new file mode 100644
index 00000000000..663a1f8fa30
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
@@ -0,0 +1,5 @@
+[018.html]
+ expected: TIMEOUT
+ [origin of the script that invoked the method, javascript:]
+ expected: TIMEOUT
+
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-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini b/tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini
index bfd4d6dd2d6..bf2a1d61bab 100644
--- a/tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini
+++ b/tests/wpt/metadata-layout-2020/workers/baseurl/alpha/import-in-moduleworker.html.ini
@@ -1,5 +1,4 @@
[import-in-moduleworker.html]
- expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini
deleted file mode 100644
index 80f9a4f15b8..00000000000
--- a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Worker-constructor.html]
- expected: ERROR
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index f7619c106b1..f0627fca7c7 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -24109,6 +24109,36 @@
},
"html": {
"rendering": {
+ "non-replaced-elements": {
+ "tables": {
+ "table-row-pagination-001-print.html": [
+ "3a14558a8b21f78a3de04b13b1b0e1f86cecb11c",
+ [
+ null,
+ [
+ [
+ "/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "table-row-pagination-002-print.html": [
+ "bc1c42088fd809a4325ab5ecba487bf895fddd98",
+ [
+ null,
+ [
+ [
+ "/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ]
+ }
+ },
"the-details-element": {
"details-page-break-after-1-print.html": [
"cb7fc466d09226fd7833a4d8066fb64fae755392",
@@ -166000,6 +166030,19 @@
{}
]
],
+ "abspos-008.tentative.html": [
+ "c81e9fcf40547bf34c47ab11ca3fda307f5f77ed",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"auto-margins-001.tentative.html": [
"9e89ab6ca7f5220ea030aa537bcb3b64f156043d",
[
@@ -166260,6 +166303,19 @@
{}
]
],
+ "block-aspect-ratio-020.tentative.html": [
+ "3cb076252b0a356774cd4f9257c8561973a5d5d0",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"flex-aspect-ratio-001.tentative.html": [
"3b477e299ad763a1c0108e16f05981c76c25bb77",
[
@@ -192728,6 +192784,19 @@
],
{}
]
+ ],
+ "z-index-does-not-apply.html": [
+ "26d3c49de0f6b767bb12e48cb188571388ad4544",
+ [
+ null,
+ [
+ [
+ "/css/css-transforms/z-index-does-not-apply-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
]
},
"css-transitions": {
@@ -192917,6 +192986,19 @@
{}
]
],
+ "appearance-progress-bar-002.html": [
+ "719b2dc220d253faa756e615d58ca947e73479f1",
+ [
+ null,
+ [
+ [
+ "/css/css-ui/appearance-progress-bar-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"appearance-push-button-001.html": [
"3aecbb079809bb0f1e8c2a0786dee51bc6eb61d4",
[
@@ -310497,6 +310579,10 @@
"translate-ref.html": [
"20fb4ffb5b61ef9a561650995fcc057b763af659",
[]
+ ],
+ "z-index-does-not-apply-ref.html": [
+ "f3b68dd6c953c90d85a795d5e140ce0fe91ca941",
+ []
]
},
"css-transitions": {
@@ -310776,6 +310862,10 @@
"5c5cdb42e7078b18ed1e4f58f34747ce76d50c02",
[]
],
+ "appearance-progress-bar-002-ref.html": [
+ "cc081a4559c57d2610710cd03c0c562309803516",
+ []
+ ],
"appearance-revert-ref.html": [
"26aa6e87198152487416b3b09f2dd92f8f31f3ec",
[]
@@ -332832,6 +332922,14 @@
"e5279080f0875ef323774a4c1d83e4242f47b3fa",
[]
],
+ "table-row-pagination-001-print-ref.html": [
+ "2aa94109ad6db97080b978572e44e14f9d0ed52d",
+ []
+ ],
+ "table-row-pagination-002-print-ref.html": [
+ "91400fcc1eafa8ab86a8254154c80286fca0cf2c",
+ []
+ ],
"table-width-150percent-ref.html": [
"820c360e391694732cce6cac0648a04a0f89f64d",
[]
@@ -337887,6 +337985,10 @@
"46fad3522ed2539d04a688cc4f5d05c8e76ef24f",
[]
],
+ "is-input-pending.idl": [
+ "191fafdb96c8c7502e5a297719562053cf23907d",
+ []
+ ],
"js-self-profiling.idl": [
"0153e652360e2586a11ba6d808d38bfe59fe159e",
[]
@@ -338208,7 +338310,7 @@
[]
],
"webauthn.idl": [
- "5627180867581a2ef5940bd06c828a5f6157daf2",
+ "9de7f64919d6a5f674bd684423491ddacbd2f96e",
[]
],
"webdriver.idl": [
@@ -343461,7 +343563,7 @@
[]
],
"webxr-test.js": [
- "715ebc2fed43472c9640071709a95efa9b3e9bce",
+ "7854b4f85ff907c718eca4fc3bc2f94d9b6c5895",
[]
],
"webxr-test.js.headers": [
@@ -385729,6 +385831,13 @@
{}
]
],
+ "remove-float-then-abspos-in-inline.html": [
+ "5cf8084c638b5cfd77443e22054e8fddc34aa925",
+ [
+ null,
+ {}
+ ]
+ ],
"zero-space-between-floats-001.html": [
"a7796011b0191e18ac24dee8ac94d2e878752201",
[
@@ -389342,6 +389451,13 @@
{}
]
],
+ "display-first-line-001.html": [
+ "fd8501a06814e94db68a55243e02eef302456726",
+ [
+ null,
+ {}
+ ]
+ ],
"display-list-item-height-after-dom-change.html": [
"f8d6e85cee2325f3ae51a950a276430d26c04189",
[
@@ -461542,6 +461658,13 @@
{}
]
],
+ "iframe-loading-lazy-load-event.tentative.html": [
+ "bf98bf7585cf608e6ebb46d025663e22bce8324c",
+ [
+ null,
+ {}
+ ]
+ ],
"iframe-loading-lazy-multiple-times.tentative.html": [
"89e41e61bf7fcac2b5f35990f7ad70a9fdab8424",
[
@@ -473465,6 +473588,26 @@
]
]
},
+ "is-input-pending": {
+ "idlharness.window.js": [
+ "e6bb26a5a710d0dbd35bddae78143b433cb5bb1b",
+ [
+ "is-input-pending/idlharness.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/resources/WebIDLParser.js"
+ ],
+ [
+ "script",
+ "/resources/idlharness.js"
+ ]
+ ]
+ }
+ ]
+ ]
+ },
"js": {
"behaviours": {
"SetPrototypeOf-window.html": [
@@ -527216,7 +527359,7 @@
"webxr": {
"anchors": {
"ar_anchor_states.https.html": [
- "907da06880e9fe7908a32afbf2ddcb642e174b41",
+ "06bc6798839a5eff01792325d8a5c90921f6c2e3",
[
null,
{}
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
deleted file mode 100644
index f64b45fea6b..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-002.html]
- [Hit test float]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
deleted file mode 100644
index f29da48a2a0..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-003.html]
- [Miss float below something else]
- expected: FAIL
-
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/linebox/inline-negative-margin-001.html.ini b/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini
index 076c791cd3d..94a3570d26b 100644
--- a/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini
+++ b/tests/wpt/metadata/css/CSS2/linebox/inline-negative-margin-001.html.ini
@@ -8,9 +8,6 @@
[[data-expected-height\] 3]
expected: FAIL
- [[data-expected-height\] 1]
- expected: FAIL
-
- [[data-expected-height\] 2]
+ [[data-expected-height\] 4]
expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transforms/z-index-does-not-apply.html.ini b/tests/wpt/metadata/css/css-transforms/z-index-does-not-apply.html.ini
new file mode 100644
index 00000000000..b9867f577df
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transforms/z-index-does-not-apply.html.ini
@@ -0,0 +1,2 @@
+[z-index-does-not-apply.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini
new file mode 100644
index 00000000000..4c79907309b
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini
@@ -0,0 +1,4 @@
+[CaretPosition-001.html]
+ [Element at (400, 100)]
+ 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/custom-elements/reactions/HTMLMediaElement.html.ini b/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini
deleted file mode 100644
index 2ca05f57bb0..00000000000
--- a/tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[HTMLMediaElement.html]
- expected: TIMEOUT
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 53457d776c4..3b2356d80fb 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -318,15 +318,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*]
- expected: FAIL
-
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<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_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
new file mode 100644
index 00000000000..dc2e45516de
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_5.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
index 1de3f8d68b2..98163335e40 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
@@ -172,3 +172,6 @@
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
expected: FAIL
+ [HTML (standards) IMG usemap="no-hash-name"]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini
new file mode 100644
index 00000000000..695d4c26829
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html.ini
@@ -0,0 +1,7 @@
+[iframe-loading-lazy-load-event.tentative.html]
+ [In-viewport loading=lazy visibility:hidden iframe does not block the load event]
+ expected: FAIL
+
+ [In-viewport loading=lazy iframe does not block the load event]
+ expected: FAIL
+
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 dc856a3d5a3..2568040e6e5 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,5 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
deleted file mode 100644
index bcd2fd0eab8..00000000000
--- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[077.html]
- [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini
deleted file mode 100644
index fca4d908c89..00000000000
--- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[module-static-import-delayed.html]
- [document.write in an imported module]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
index 5ddb9bfeff6..a1effd5f801 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
@@ -1,10 +1,9 @@
[promise-job-entry.html]
- expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
- expected: TIMEOUT
+ expected: FAIL
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@@ -16,5 +15,5 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
- expected: TIMEOUT
+ 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/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
new file mode 100644
index 00000000000..663a1f8fa30
--- /dev/null
+++ b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
@@ -0,0 +1,5 @@
+[018.html]
+ expected: TIMEOUT
+ [origin of the script that invoked the method, javascript:]
+ expected: TIMEOUT
+
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/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini
index bfd4d6dd2d6..bf2a1d61bab 100644
--- a/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini
+++ b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini
@@ -1,5 +1,4 @@
[import-in-moduleworker.html]
- expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
deleted file mode 100644
index 80f9a4f15b8..00000000000
--- a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Worker-constructor.html]
- expected: ERROR
diff --git a/tests/wpt/web-platform-tests/css/CSS2/floats/remove-float-then-abspos-in-inline.html b/tests/wpt/web-platform-tests/css/CSS2/floats/remove-float-then-abspos-in-inline.html
new file mode 100644
index 00000000000..5cf8084c638
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/floats/remove-float-then-abspos-in-inline.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<title>Removing floats changed to positioned object should not crash</title>
+<link rel="author" href="kojii@chromium.org">
+<link rel="help" href="https://crbug.com/1101277">
+<meta name="assert" content="Removing floats changed to positioned object should not crash">
+<style>
+.float {
+ float: left;
+}
+.abs {
+ position: absolute;
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+ <div id="container">text<span id="target" class="float"></span></div>
+</body>
+<script>
+test(() => {
+ document.body.offsetTop;
+ let target = document.getElementById('target');
+
+ // Change `#target` from floating object to positioned object.
+ target.className = 'abs';
+ document.body.offsetTop;
+
+ // and remove it.
+ target.remove();
+}, 'No crash or DCHECK failure');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html b/tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html
new file mode 100644
index 00000000000..fd8501a0681
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-display/display-first-line-001.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Display: first-line and first-letter pseudo-elements</title>
+<link rel="help" href="https://www.w3.org/TR/css-display-3/#placement">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ #t1::first-letter { float: left; display: flex; font-size: 30px }
+ #t2::first-letter { float: left; font-size: 30px }
+ #t3::first-letter { display: flex; font-size: 30px }
+ #t4::first-letter { font-size: 30px }
+ #t5::first-line { float: left; display: flex; font-size: 30px }
+ #t6::first-line { float: left; font-size: 30px }
+ #t7::first-line { display: flex; font-size: 30px }
+ #t8::first-line { font-size: 30px }
+</style>
+<div id="t1">First letter is float and flex.</div>
+<div id="t2">First letter is float but not flex.</div>
+<div id="t3">First letter is flex but not float.</div>
+<div id="t4">First letter not float or flex.</div>
+<div id="t5">First line is float and flex.</div>
+<div id="t6">First line is float but not flex.</div>
+<div id="t7">First line is flex but not float.</div>
+<div id="t8">First line is not float or flex.</div>
+<script>
+ function getFistLetterDisplayFor(id) {
+ return window.getComputedStyle(document.getElementById(id), "::first-letter").display;
+ }
+ function getFistLineDisplayFor(id) {
+ return window.getComputedStyle(document.getElementById(id), "::first-line").display;
+ }
+ test(function() {
+ assert_equals(getFistLetterDisplayFor("t1"), "block");
+ assert_equals(getFistLetterDisplayFor("t2"), "block");
+ assert_equals(getFistLetterDisplayFor("t3"), "inline");
+ assert_equals(getFistLetterDisplayFor("t4"), "inline");
+ assert_equals(getFistLineDisplayFor("t5"), "inline");
+ assert_equals(getFistLineDisplayFor("t6"), "inline");
+ assert_equals(getFistLineDisplayFor("t7"), "inline");
+ assert_equals(getFistLineDisplayFor("t8"), "inline");
+ }, "display of first-letter and first-line");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html
new file mode 100644
index 00000000000..c81e9fcf405
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-008.tentative.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>CSS aspect-ratio: abspos div inline size with max-height</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/5257">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
+<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size">
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+<div style="position: relative; height: 100px; position: relative;">
+ <div style="position: absolute; aspect-ratio: 1/1; max-height: 100%; background: green; color: green;">
+ <!-- max-size 200px, min-size: 20px -->
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html
new file mode 100644
index 00000000000..3cb076252b0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/block-aspect-ratio-020.tentative.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>CSS aspect-ratio: abspos div inline size with max-height</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/5257">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
+<meta name="assert" content="A max-height constraint should be transferred through the aspect-ratio to apply to the inline size">
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+
+<div style="height: 100px;">
+ <div style="aspect-ratio: 1/1; max-height: 100%; background: green;">
+ <!-- max-size 200px, min-size: 20px -->
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ <div style="width: 20px; height: 10px; vertical-align: bottom;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html
new file mode 100644
index 00000000000..f3b68dd6c95
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply-ref.html
@@ -0,0 +1,10 @@
+<!doctype html>
+<title>CSS test reference</title>
+<style>
+ div {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+</style>
+<div></div>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html
new file mode 100644
index 00000000000..26d3c49de0f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transforms/z-index-does-not-apply.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<title>z-index doesn't apply to transformed content which is not positioned</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1256980">
+<link rel="help" href="https://drafts.csswg.org/css2/visuren.html#z-index">
+<link rel="match" href="z-index-does-not-apply-ref.html">
+<style>
+ #a, #b {
+ background: green;
+ width: 100px;
+ height: 100px;
+ }
+ #a {
+ background: red;
+ z-index: 2;
+ transform: translateX(0);
+ }
+ #b {
+ z-index: 1;
+ transform: translateY(-100px);
+ }
+</style>
+<div id="a"></div>
+<div id="b"></div>
diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html
new file mode 100644
index 00000000000..cc081a4559c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002-ref.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<progress style="appearance:auto">
+<progress style="appearance:none">
diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html
new file mode 100644
index 00000000000..719b2dc220d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-progress-bar-002.html
@@ -0,0 +1,16 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>CSS Basic User Interface Test: progress dynamic appearance</title>
+<link rel="help" href="https://drafts.csswg.org/css-ui-4/#appearance-switching">
+<link rel="match" href="appearance-progress-bar-002-ref.html">
+<style>
+ #progress1 { appearance: none }
+ #progress2 { appearance: auto }
+</style>
+<progress id="progress1">
+<progress id="progress2">
+<script>
+ document.body.offsetTop;
+ progress1.style.appearance = "auto";
+ progress2.style.appearance = "none";
+</script>
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html
new file mode 100644
index 00000000000..2aa94109ad6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print-ref.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Testing row split</title>
+<style type="text/css">
+@page { size:5in 3in; margin:0.5in; }
+html,body {
+ color:black;
+ background-color:white;
+ font-size:16px;
+ padding:0;
+ margin:0;
+ height:100%;
+}
+div { height:160%; }
+p { height: 50%; margin:0; }
+</style>
+</head>
+<body>
+
+<div>
+<p></p>
+<p>1</p>
+</div>
+
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html
new file mode 100644
index 00000000000..3a14558a8b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<link rel="match" href="table-row-pagination-001-print-ref.html">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#tables-2">
+<link rel="help" href="https://drafts.csswg.org/css-break/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=685012">
+<meta charset="utf-8">
+<title>Testing row split</title>
+<style type="text/css">
+@page { size:5in 3in; margin:0.5in; }
+html,body {
+ color:black;
+ background-color:white;
+ font-size:16px;
+ padding:0;
+ margin:0;
+ height:100%;
+}
+table { height:160%; width:100%; }
+td { height:50%; width:100%; }
+</style>
+</head>
+<body>
+
+<table border="0" cellspacing="0" cellpadding="0">
+<tr><td></td></tr>
+<tr><td valign="top">1</td></tr>
+</table>
+
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html
new file mode 100644
index 00000000000..91400fcc1ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<style>
+@page { size:5in 3in; margin:0.5in; }
+</style>
+</head>
+<body>
+ <div style="height:3in">Tall div. (Scroll to end.)</div>
+ <div>IS THIS TEXT VISIBLE IN PRINT PREVIEW?</div>
+ <div>[clear:left]</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html
new file mode 100644
index 00000000000..bc1c42088fd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/tables/table-row-pagination-002-print.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<link rel="match" href="table-row-pagination-002-print-ref.html">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#tables-2">
+<link rel="help" href="https://drafts.csswg.org/css-break/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=963441">
+<style>
+@page { size:5in 3in; margin:0.5in; }
+</style>
+</head>
+<body>
+ <div style="float: left">
+ <table cellpadding=0 cellspacing=0>
+ <tr>
+ <td>
+ <div style="height:3in">Tall div. (Scroll to end.)</div>
+ <div>IS THIS TEXT VISIBLE IN PRINT PREVIEW?</div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ <div style="clear: left">[clear:left]</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html
new file mode 100644
index 00000000000..bf98bf7585c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-load-event.tentative.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<head>
+ <title>In-viewport loading=lazy iframes do not block the window load event</title>
+ <link rel="author" title="Dom Farolino" href="mailto:dom@chromium.org">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/common.js"></script>
+</head>
+
+<body>
+ <!-- This image blocks the window load event for 1 second -->
+ <img src="/common/square.png?pipe=trickle(d1)">
+
+ <!-- These iframes must load because they intersect the viewport, but they must
+ not block the window load event, because they are loading=lazy -->
+ <iframe id="visible" loading="lazy"
+ src="resources/subframe.html?visible&pipe=trickle(d3)"></iframe>
+ <iframe id="visibility_hidden" style="visibility:hidden;" loading="lazy"
+ src="resources/subframe.html?visibility_hidden&pipe=trickle(d3)"></iframe>
+</body>
+
+<script>
+ const visible_iframe = document.querySelector('#visible');
+ const hidden_iframe = document.querySelector('#visibility_hidden');
+
+ const visible_iframe_t =
+ async_test('In-viewport loading=lazy iframe does not block the load event');
+
+ const hidden_iframe_t =
+ async_test('In-viewport loading=lazy visibility:hidden iframe does not ' +
+ 'block the load event');
+
+ let has_window_loaded = false;
+ window.addEventListener("load", () => {
+ has_window_loaded = true;
+ });
+
+ visible_iframe.onload = visible_iframe_t.step_func_done(() => {
+ assert_true(has_window_loaded,
+ "The visible iframe should not block the load event");
+ });
+
+ hidden_iframe.onload = hidden_iframe_t.step_func_done(() => {
+ assert_true(has_window_loaded,
+ "The hidden iframe should not block the load event");
+ });
+</script>
diff --git a/tests/wpt/web-platform-tests/interfaces/is-input-pending.idl b/tests/wpt/web-platform-tests/interfaces/is-input-pending.idl
new file mode 100644
index 00000000000..191fafdb96c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/interfaces/is-input-pending.idl
@@ -0,0 +1,22 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into reffy-reports
+// (https://github.com/tidoust/reffy-reports)
+// Source: Early detection of input events (https://wicg.github.io/is-input-pending/)
+
+dictionary IsInputPendingOptionsInit {
+ boolean includeContinuous = "false";
+};
+
+[Exposed=Window]
+interface IsInputPendingOptions {
+ constructor(optional IsInputPendingOptionsInit isInputPendingOptionsInit = {});
+ attribute boolean includeContinuous;
+};
+
+[Exposed=Window] interface Scheduling {
+ boolean isInputPending(optional IsInputPendingOptions isInputPendingOptions);
+};
+
+partial interface Navigator {
+ readonly attribute Scheduling scheduling;
+};
diff --git a/tests/wpt/web-platform-tests/interfaces/webauthn.idl b/tests/wpt/web-platform-tests/interfaces/webauthn.idl
index 56271808675..9de7f64919d 100644
--- a/tests/wpt/web-platform-tests/interfaces/webauthn.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webauthn.idl
@@ -115,8 +115,6 @@ dictionary AuthenticationExtensionsClientInputs {
dictionary AuthenticationExtensionsClientOutputs {
};
-typedef record<DOMString, DOMString> AuthenticationExtensionsAuthenticatorInputs;
-
dictionary CollectedClientData {
required DOMString type;
required DOMString challenge;
@@ -192,6 +190,29 @@ partial dictionary AuthenticationExtensionsClientOutputs {
CredentialPropertiesOutput credProps;
};
+dictionary AuthenticationExtensionsPRFValues {
+ required ArrayBuffer first;
+ ArrayBuffer second;
+};
+
+dictionary AuthenticationExtensionsPRFInputs {
+ AuthenticationExtensionsPRFValues eval;
+ record<USVString, AuthenticationExtensionsPRFValues> evalByCredential;
+};
+
+partial dictionary AuthenticationExtensionsClientInputs {
+ AuthenticationExtensionsPRFInputs prf;
+};
+
+dictionary AuthenticationExtensionsPRFOutputs {
+ boolean enabled;
+ AuthenticationExtensionsPRFValues results;
+};
+
+partial dictionary AuthenticationExtensionsClientOutputs {
+ AuthenticationExtensionsPRFOutputs prf;
+};
+
partial dictionary AuthenticationExtensionsClientInputs {
AuthenticationExtensionsLargeBlobInputs largeBlob;
};
diff --git a/tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js b/tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js
new file mode 100644
index 00000000000..e6bb26a5a71
--- /dev/null
+++ b/tests/wpt/web-platform-tests/is-input-pending/idlharness.window.js
@@ -0,0 +1,15 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://wicg.github.io/is-input-pending/
+
+idl_test(
+ ['is-input-pending'],
+ ['html', 'dom'],
+ async idl_array => {
+ idl_array.add_objects({
+ IsInputPendingOptions: ['new IsInputPendingOptions'],
+ Scheduling: ['navigator.scheduling'],
+ });
+ }
+);
diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js
index 715ebc2fed4..7854b4f85ff 100644
--- a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js
+++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js
@@ -276,48 +276,9 @@ class FakeXRAnchorController {
}
}
-class FakeXRAnchorCreationEvent extends Event {
- constructor(type, eventInitDict) {
- super(type, eventInitDict);
-
- this.success_ = false;
- this.requestedAnchorOrigin_ = {};
- this.isAttachedToEntity_ = false;
- this.anchorController_ = new FakeXRAnchorController();
-
- if(eventInitDict.requestedAnchorOrigin != null) {
- this.requestedAnchorOrigin_ = eventInitDict.requestedAnchorOrigin;
- }
-
- if(eventInitDict.isAttachedToEntity != null) {
- this.isAttachedToEntity_ = eventInitDict.isAttachedToEntity;
- }
- }
-
- get requestedAnchorOrigin() {
- return this.requestedAnchorOrigin_;
- }
-
- get isAttachedToEntity() {
- return this.isAttachedToEntity_;
- }
-
- get success() {
- return this.success_;
- }
-
- set success(value) {
- this.success_ = value;
- }
-
- get anchorController() {
- return this.anchorController_;
- }
-}
-
// Implements XRFrameDataProvider and XRPresentationProvider. Maintains a mock
// for XRPresentationProvider. Implements FakeXRDevice test API.
-class MockRuntime extends EventTarget {
+class MockRuntime {
// Mapping from string feature names to the corresponding mojo types.
// This is exposed as a member for extensibility.
static featureToMojoMap = {
@@ -339,8 +300,6 @@ class MockRuntime extends EventTarget {
};
constructor(fakeDeviceInit, service) {
- super();
-
this.sessionClient_ = new device.mojom.XRSessionClientPtr();
this.presentation_provider_ = new MockXRPresentationProvider();
@@ -368,6 +327,8 @@ class MockRuntime extends EventTarget {
this.anchor_controllers_ = new Map();
// ID of the next anchor to be assigned.
this.next_anchor_id_ = 1;
+ // Anchor creation callback (initially null, can be set by tests).
+ this.anchor_creation_callback_ = null;
let supportedModes = [];
if (fakeDeviceInit.supportedModes) {
@@ -568,6 +529,10 @@ class MockRuntime extends EventTarget {
return source;
}
+ setAnchorCreationCallback(callback) {
+ this.anchor_creation_callback_ = callback;
+ }
+
// Helper methods
getNonImmersiveDisplayInfo() {
const displayInfo = this.getImmersiveDisplayInfo();
@@ -706,50 +671,67 @@ class MockRuntime extends EventTarget {
// XRFrameDataProvider implementation.
getFrameData(options) {
- const mojo_space_reset = this.send_mojo_space_reset_;
- this.send_mojo_space_reset_ = false;
+ return new Promise((resolve) => {
- const stage_parameters_updated = this.stageParametersUpdated_;
- this.stageParametersUpdated_ = false;
- if (this.pose_) {
- this.pose_.poseIndex++;
- }
-
- // Setting the input_state to null tests a slightly different path than
- // the browser tests where if the last input source is removed, the device
- // code always sends up an empty array, but it's also valid mojom to send
- // up a null array.
- let input_state = null;
- if (this.input_sources_.size > 0) {
- input_state = [];
- for (const input_source of this.input_sources_.values()) {
- input_state.push(input_source.getInputSourceState());
- }
- }
+ const populatePose = () => {
+ const mojo_space_reset = this.send_mojo_space_reset_;
+ this.send_mojo_space_reset_ = false;
- const frameData = {
- pose: this.pose_,
- mojoSpaceReset: mojo_space_reset,
- inputState: input_state,
- timeDelta: {
- // window.performance.now() is in milliseconds, so convert to microseconds.
- microseconds: window.performance.now() * 1000,
- },
- frameId: this.next_frame_id_++,
- bufferHolder: null,
- bufferSize: {},
- stageParameters: this.stageParameters_,
- stageParametersUpdated: stage_parameters_updated,
- };
+ const stage_parameters_updated = this.stageParametersUpdated_;
+ this.stageParametersUpdated_ = false;
+ if (this.pose_) {
+ this.pose_.poseIndex++;
+ }
- this._calculateHitTestResults(frameData);
+ // Setting the input_state to null tests a slightly different path than
+ // the browser tests where if the last input source is removed, the device
+ // code always sends up an empty array, but it's also valid mojom to send
+ // up a null array.
+ let input_state = null;
+ if (this.input_sources_.size > 0) {
+ input_state = [];
+ for (const input_source of this.input_sources_.values()) {
+ input_state.push(input_source.getInputSourceState());
+ }
+ }
- this._calculateAnchorInformation(frameData);
+ const frameData = {
+ pose: this.pose_,
+ mojoSpaceReset: mojo_space_reset,
+ inputState: input_state,
+ timeDelta: {
+ // window.performance.now() is in milliseconds, so convert to microseconds.
+ microseconds: window.performance.now() * 1000,
+ },
+ frameId: this.next_frame_id_,
+ bufferHolder: null,
+ bufferSize: {},
+ stageParameters: this.stageParameters_,
+ stageParametersUpdated: stage_parameters_updated,
+ };
- this._injectAdditionalFrameData(options, frameData);
+ this.next_frame_id_++;
- return Promise.resolve({
- frameData: frameData,
+ this._calculateHitTestResults(frameData);
+
+ this._calculateAnchorInformation(frameData);
+
+ this._injectAdditionalFrameData(options, frameData);
+
+ resolve({frameData});
+ };
+
+ if(this.sessionOptions_.mode == device.mojom.XRSessionMode.kInline) {
+ // Inline sessions should not have a delay introduced since it causes them
+ // to miss a vsync blink-side and delays propagation of changes that happened
+ // within a rAFcb by one frame (e.g. setViewerOrigin() calls would take 2 frames
+ // to propagate).
+ populatePose();
+ } else {
+ // For immerive sessions, add additional delay to allow for anchor creation
+ // promises to run.
+ setTimeout(populatePose, 3); // note: according to MDN, the timeout is not exact
+ }
});
}
@@ -768,6 +750,7 @@ class MockRuntime extends EventTarget {
closeDataProvider() {
this.dataProviderBinding_.close();
+ this.sessionOptions_ = null;
}
// XREnvironmentIntegrationProvider implementation:
@@ -818,6 +801,15 @@ class MockRuntime extends EventTarget {
createAnchor(nativeOriginInformation, nativeOriginFromAnchor) {
return new Promise((resolve) => {
+ if(this.anchor_creation_callback_ == null) {
+ resolve({
+ result : device.mojom.CreateAnchorResult.FAILURE,
+ anchorId : 0
+ });
+
+ return;
+ }
+
const mojoFromNativeOrigin = this._getMojoFromNativeOrigin(nativeOriginInformation);
if(mojoFromNativeOrigin == null) {
resolve({
@@ -830,36 +822,45 @@ class MockRuntime extends EventTarget {
const mojoFromAnchor = XRMathHelper.mul4x4(mojoFromNativeOrigin, nativeOriginFromAnchor);
- const createAnchorEvent = new FakeXRAnchorCreationEvent("anchorcreate", {
+ const anchorCreationParameters = {
requestedAnchorOrigin: mojoFromAnchor,
isAttachedToEntity: false,
- });
-
- this.dispatchEvent(createAnchorEvent);
-
- if(createAnchorEvent.success) {
- let anchor_controller = createAnchorEvent.anchorController;
- const anchor_id = this.next_anchor_id_;
- this.next_anchor_id_++;
-
- // If the test allowed the anchor creation,
- // store the anchor controller & return success.
- this.anchor_controllers_.set(anchor_id, anchor_controller);
- anchor_controller.device = this;
- anchor_controller.id = anchor_id;
-
- resolve({
- result : device.mojom.CreateAnchorResult.SUCCESS,
- anchorId : anchor_id
- });
-
- return;
- }
+ };
- resolve({
- result : device.mojom.CreateAnchorResult.FAILURE,
- anchorId : 0
- });
+ const anchorController = new FakeXRAnchorController();
+
+ this.anchor_creation_callback_(anchorCreationParameters, anchorController)
+ .then((result) => {
+ if(result) {
+ // If the test allowed the anchor creation,
+ // store the anchor controller & return success.
+
+ const anchor_id = this.next_anchor_id_;
+ this.next_anchor_id_++;
+
+ this.anchor_controllers_.set(anchor_id, anchorController);
+ anchorController.device = this;
+ anchorController.id = anchor_id;
+
+ resolve({
+ result : device.mojom.CreateAnchorResult.SUCCESS,
+ anchorId : anchor_id
+ });
+ } else {
+ // The test has rejected anchor creation.
+ resolve({
+ result : device.mojom.CreateAnchorResult.FAILURE,
+ anchorId : 0
+ });
+ }
+ })
+ .catch(() => {
+ // The test threw an error, treat anchor creation as failed.
+ resolve({
+ result : device.mojom.CreateAnchorResult.FAILURE,
+ anchorId : 0
+ });
+ });
});
}
@@ -897,6 +898,7 @@ class MockRuntime extends EventTarget {
const dataProviderRequest = mojo.makeRequest(dataProviderPtr);
this.dataProviderBinding_ = new mojo.Binding(
device.mojom.XRFrameDataProvider, this, dataProviderRequest);
+ this.sessionOptions_ = sessionOptions;
const clientReceiver = mojo.makeRequest(this.sessionClient_);
diff --git a/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html b/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html
index 907da06880e..06bc6798839 100644
--- a/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html
+++ b/tests/wpt/web-platform-tests/webxr/anchors/ar_anchor_states.https.html
@@ -32,11 +32,11 @@ const testFunctionGenerator = function(expectSucceeded, endSession, expectedErro
let debug = xr_debug.bind(this, 'testAnchorStates');
- fakeDeviceController.addEventListener("anchorcreate", (anchorCreateEvent) => {
+ fakeDeviceController.setAnchorCreationCallback((parameters, controller) => {
// All anchor creation requests that reach this stage should be marked as successful.
// If this test is expected to fail, the failure will happen earlier in the anchor
// creation process.
- anchorCreateEvent.success = true;
+ return Promise.resolve(true);
});
let watcherDone = new Event("watcherdone");
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 07c1b8f8ea2..6d27ac4afa4 100644
--- a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
+++ b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
@@ -170,3 +170,15 @@
[WebGL test #52: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,255,0]
expected: FAIL
+ [WebGL test #44: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,0,255,0]
+ expected: FAIL
+
+ [WebGL test #42: attachment 5 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,255]
+ expected: FAIL
+
+ [WebGL test #51: attachment 6 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,0]
+ expected: FAIL
+
+ [WebGL test #50: attachment 5 should be 0,255,0,255\nat (4, 0) expected: 0,255,0,255 was 255,0,0,0]
+ expected: FAIL
+