aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini2
-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-005.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/css/cssom-view/elementsFromPoint-iframes.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini13
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.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_2.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.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/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_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini2
-rw-r--r--tests/wpt/metadata/MANIFEST.json603
-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-005.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini3
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini13
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini5
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-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/browsers/history/the-history-interface/traverse_the_history_4.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/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_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini3
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini3
-rw-r--r--tests/wpt/metadata/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini4
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html2
-rw-r--r--tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html76
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html199
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html81
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html94
-rw-r--r--tests/wpt/web-platform-tests/docs/assets/custom.css7
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html111
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html47
-rw-r--r--tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl (renamed from tests/wpt/web-platform-tests/interfaces/wake-lock.idl)2
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html48
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html66
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html48
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html64
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html153
-rw-r--r--tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html15
-rw-r--r--tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html11
-rw-r--r--tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html12
-rw-r--r--tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html24
-rw-r--r--tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/META.yml (renamed from tests/wpt/web-platform-tests/wake-lock/META.yml)2
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/idlharness.https.window.js (renamed from tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js)4
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/resources/page1.html (renamed from tests/wpt/web-platform-tests/wake-lock/resources/page1.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/resources/page2.html (renamed from tests/wpt/web-platform-tests/wake-lock/resources/page2.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-active-document.https.window.js (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-active-document.https.window.js)10
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-document-hidden-manual.https.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-document-hidden-manual.https.html)2
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-insecure-context.any.js (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-insecure-context.any.js)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-onrelease.https.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-request-denied.https.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-request-denied.https.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-screen-type-on-worker.https.worker.js (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-supported-by-feature-policy.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js (renamed from tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js)0
-rw-r--r--tests/wpt/web-platform-tests/screen-wake-lock/wakelockpermissiondescriptor.https.html (renamed from tests/wpt/web-platform-tests/wake-lock/wakelockpermissiondescriptor.https.html)11
-rw-r--r--tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js13
-rw-r--r--tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js24
92 files changed, 1508 insertions, 435 deletions
diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
index 3605e8f3fc9..76b44d9e9cf 100644
--- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
@@ -4,7 +4,7 @@
expected: TIMEOUT
[Opening a blob URL in a new window immediately before revoking it works.]
- expected: TIMEOUT
+ expected: FAIL
[Fetching a blob URL immediately before revoking it works in an iframe.]
expected: FAIL
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
new file mode 100644
index 00000000000..f64b45fea6b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-002.html]
+ [Hit test float]
+ 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
new file mode 100644
index 00000000000..baa9f1a7541
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-005.html]
+ [Miss clipped float]
+ 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
new file mode 100644
index 00000000000..e38782d8c85
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini
@@ -0,0 +1,4 @@
+[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-iframes.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini
index 6ef8bb1049f..171592fc08f 100644
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini
@@ -2,6 +2,3 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
- [elementsFromPoint on inner documents]
- 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 b74aa631cf0..ae125a215ca 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,24 +312,21 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN
- [<iframe>: separate response Content-Type: text/html */*]
- expected: FAIL
-
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;" text/plain]
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: combined response Content-Type: */* text/html]
+ [<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
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..2d5faa72ac7 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
@@ -53,9 +53,6 @@
[combined text/javascript ]
expected: FAIL
- [separate text/javascript x/x]
- expected: FAIL
-
- [separate text/javascript error]
+ [separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini
index 87c807a49ff..2023a855086 100644
--- a/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
+ [X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
+ 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
new file mode 100644
index 00000000000..87b07c3e670
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
@@ -0,0 +1,4 @@
+[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_2.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 75d75b4cda2..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
deleted file mode 100644
index 385376c7321..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_4.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-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
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-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 f45aaafe1c5..4e69eb752b6 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,15 +1,16 @@
[supported-elements.html]
+ expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: FAIL
+ expected: TIMEOUT
[Element with tabindex should support autofocus]
expected: FAIL
[Area element should support autofocus]
- expected: FAIL
+ expected: NOTRUN
[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_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index d913fcbb129..3080be9afc0 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
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 0407f0cc2b7..9eb581fcf1f 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: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
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 f4f994c5d6f..0fbc49ea1c1 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,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index dbec6f2c2ff..5602ea31dbe 100644
--- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -3,3 +3,6 @@
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT
+ [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
index 2d30e1fe118..73d24ae66f4 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
@@ -89,3 +89,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 40518 more errors.\n\tMax AbsError of 1.9880115985870361e+0 at index of 23190.\n\t[23190\]\t9.9948620796203613e-1\t-9.8852539062500000e-1\t1.9880115985870361e+0\t2.0110880483607065e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
+ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44050 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 42250.\n\t[42250\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
+ 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
deleted file mode 100644
index 663a1f8fa30..00000000000
--- a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini
new file mode 100644
index 00000000000..fe8654e447c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/workers/WorkerGlobalScope-close.html.ini
@@ -0,0 +1,4 @@
+[WorkerGlobalScope-close.html]
+ [Test sending a message after closing.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
index faa00f45ecf..d4f62ed7113 100644
--- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
@@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
- expected: TIMEOUT
+ expected: FAIL
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 312c55e5a1e..d435fe1652e 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -17867,6 +17867,15 @@
]
]
},
+ "screen-wake-lock": {
+ "wakelock-document-hidden-manual.https.html": [
+ "550dc831cbcd4909746893a5675c5a0308425805",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"selection": {
"dir-manual.html": [
"39cf6555234b7b2e189412e97aed5a93b19ccea2",
@@ -23514,15 +23523,6 @@
]
]
},
- "wake-lock": {
- "wakelock-document-hidden-manual.https.html": [
- "2ac6bce20d8b04ad3f2958f7326102dd9c5e0dcc",
- [
- null,
- {}
- ]
- ]
- },
"web-nfc": {
"NDEFReader-document-hidden-manual.https.html": [
"f2027dc99d1dad8004c72f0af5e7eea48836c3b2",
@@ -158753,6 +158753,32 @@
{}
]
],
+ "empty-ruby-base-container-abs.html": [
+ "7968af0b256684c4b03dd06fa3748c1380150a6f",
+ [
+ null,
+ [
+ [
+ "/css/css-ruby/empty-ruby-base-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "empty-ruby-base-container-float.html": [
+ "b7c5d12963a4dd089efebdd4772a5bb5aa0c1862",
+ [
+ null,
+ [
+ [
+ "/css/css-ruby/empty-ruby-base-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"empty-ruby-base-container.html": [
"4d86e07985d0e99e586848f7ca3195e63371c4d4",
[
@@ -158766,6 +158792,32 @@
{}
]
],
+ "empty-ruby-text-container-abs.html": [
+ "025859ea744139b8673e37ea0bd0daeb92477bd8",
+ [
+ null,
+ [
+ [
+ "/css/css-ruby/empty-ruby-text-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "empty-ruby-text-container-float.html": [
+ "88bcf42736e5c3a43d6e25d35477017fb2df8996",
+ [
+ null,
+ [
+ [
+ "/css/css-ruby/empty-ruby-text-container-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"empty-ruby-text-container.html": [
"972013c6621b553f647c97040a2a76afd45de75a",
[
@@ -158974,6 +159026,19 @@
{}
]
],
+ "ruby-box-model-001.html": [
+ "1fa2befaf8a84f76b7acb59f399649ce021893f7",
+ [
+ null,
+ [
+ [
+ "/css/css-ruby/ruby-box-model-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"ruby-dynamic-insertion-001.html": [
"be1c5ce50056ecd0ffb3699bd4e47f63c7c6c7bf",
[
@@ -232921,6 +232986,19 @@
]
},
"operators": {
+ "mo-form-dynamic-002.html": [
+ "7cf986f31695f7c316bb2d076957014683941c7f",
+ [
+ null,
+ [
+ [
+ "/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"mo-form-dynamic.html": [
"72d6c67f7544c75587cf8a3133481c1c9d68b499",
[
@@ -232973,6 +233051,19 @@
{}
]
],
+ "mo-lspace-rspace-dynamic.html": [
+ "0898e48b5c42fe31232cda95787e380e8f338960",
+ [
+ null,
+ [
+ [
+ "/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"mo-movablelimits-default.html": [
"503a57f25c7241d94a3bbae2e93d0c70684159f4",
[
@@ -233703,7 +233794,7 @@
]
},
"visibility-001.html": [
- "f47bfad1fee107ab294a84279ccbf98d2ea9a729",
+ "ece84ee693a524f24a33024c80e034035cac64bb",
[
null,
[
@@ -233716,7 +233807,7 @@
]
],
"visibility-002.html": [
- "f3afb79c157d8d6f60a6a681fac2c2129cdba99b",
+ "5e41b9c7831ebbd71d44526340f4f9389695798c",
[
null,
[
@@ -233729,7 +233820,7 @@
]
],
"visibility-003.html": [
- "cfeed644cbea10a031a37c2fef01cabacb6a68a0",
+ "afa4c4184ce2ba6dcce0f0ec722391a2fcffd39e",
[
null,
[
@@ -233742,7 +233833,7 @@
]
],
"visibility-004.html": [
- "8173b9cd2ef9162d6596c412d559abdb409d7267",
+ "ed4a4aeb09d53c2c9264886dd97ad0574ef0656a",
[
null,
[
@@ -298600,6 +298691,10 @@
"55ba7b2c73faa017ec07203df3284c84667ffece",
[]
],
+ "ruby-box-model-001-ref.html": [
+ "8ddca2fc5bf93dd11ff525d10c0a675fab8f5a7a",
+ []
+ ],
"ruby-dynamic-insertion-001-ref.html": [
"0a09924c653d80bfb69124ead3d65d6f2f8e411f",
[]
@@ -314166,6 +314261,10 @@
"4403a95c146c1aaba697a5198852548d948a5461",
[]
],
+ "custom.css": [
+ "a5f59ce7721cce73cc79dd69bff68ef8afe14e9a",
+ []
+ ],
"files-changed.png": [
"7472edcb965c98e414e1be6412f0ed58afbe0f6b",
[]
@@ -330129,6 +330228,10 @@
"b5481216729526387722a6c733ea529f5d1f831a",
[]
],
+ "screen-wake-lock.idl": [
+ "1eb30a06024713e5aab435610a8fc62841db8a50",
+ []
+ ],
"scroll-animations.idl": [
"00d0bae68126aa67d6714694422a098100eb7e71",
[]
@@ -330205,10 +330308,6 @@
"845e2ef6cf84aa6fafbfdcadf167e440eaadd668",
[]
],
- "wake-lock.idl": [
- "429b80e0668aa2607ef59e32b2c3c674974bd0c5",
- []
- ],
"wasm-js-api.idl": [
"cc943610145dec2346e7ec9d6891cf32859f9d59",
[]
@@ -330683,6 +330782,10 @@
]
},
"operators": {
+ "mo-form-dynamic-002-ref.html": [
+ "be7f5aa173d233fb5a2477586c78df1f0e027c54",
+ []
+ ],
"mo-form-dynamic-ref.html": [
"8f8d3da2c37cb5710d3758b0c6dfb7d2641a07bf",
[]
@@ -330699,6 +330802,10 @@
"d48bd48a6e4a492e7fc31ae83d016cd12b9c8d56",
[]
],
+ "mo-lspace-rspace-dynamic-ref.html": [
+ "85cabd287d9dd4f5cd5ec68e6083c6f88d617369",
+ []
+ ],
"mo-movablelimits-default-ref.html": [
"8328637397962e973130c6d8544bda90690cc471",
[]
@@ -335830,6 +335937,34 @@
]
}
},
+ "screen-wake-lock": {
+ "META.yml": [
+ "b311993d82e15880bb991e993ffe6716be28ef23",
+ []
+ ],
+ "resources": {
+ "page1.html": [
+ "7fc080d380c4bd46dfb011910e570ee412561b92",
+ []
+ ],
+ "page2.html": [
+ "7fc080d380c4bd46dfb011910e570ee412561b92",
+ []
+ ]
+ },
+ "wakelock-disabled-by-feature-policy.https.sub.html.headers": [
+ "5d910ce6df801980a26fb191589201f614ed02af",
+ []
+ ],
+ "wakelock-enabled-by-feature-policy.https.sub.html.headers": [
+ "7810751f8051c14818b290aa9ea7edab04bca3e9",
+ []
+ ],
+ "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers": [
+ "6bc94277cf9a4610c33274bd5b984e41d389622a",
+ []
+ ]
+ },
"scroll-animations": {
"META.yml": [
"c53f1f432fe1ec2887e30af396a1f1574b76b95d",
@@ -346902,38 +347037,6 @@
]
}
},
- "wake-lock": {
- "META.yml": [
- "0123ccef85511aaa86770c53716ef9264377b1c1",
- []
- ],
- "resources": {
- "idlharness-worker.js": [
- "b84ed44a8c89713be559e9cec8a1e3f48c990179",
- []
- ],
- "page1.html": [
- "7fc080d380c4bd46dfb011910e570ee412561b92",
- []
- ],
- "page2.html": [
- "7fc080d380c4bd46dfb011910e570ee412561b92",
- []
- ]
- },
- "wakelock-disabled-by-feature-policy.https.sub.html.headers": [
- "5d910ce6df801980a26fb191589201f614ed02af",
- []
- ],
- "wakelock-enabled-by-feature-policy.https.sub.html.headers": [
- "7810751f8051c14818b290aa9ea7edab04bca3e9",
- []
- ],
- "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers": [
- "6bc94277cf9a4610c33274bd5b984e41d389622a",
- []
- ]
- },
"wasm": {
"META.yml": [
"3ea02ee7c9e41831aafbd37436f59b51244b142e",
@@ -380330,7 +380433,7 @@
]
],
"federatedcredential-framed-get.sub.https.html": [
- "a7c87e2331ffdb518fe33d42aed1f269cfc8b9a3",
+ "7883c8ebf23ea3c4214db585aba32d391d824a52",
[
null,
{}
@@ -380369,7 +380472,7 @@
]
],
"passwordcredential-framed-get.sub.https.html": [
- "d86c6e09c70874f06714c9cde0b63a2cef959f69",
+ "b4afc1eb91e563ef59dd540dd1f6d90b2a59c854",
[
null,
{}
@@ -388298,6 +388401,13 @@
{}
]
],
+ "grid-template-columns-rows-changes-001.html": [
+ "b32d24859eabade51b1757d0d62e3787db3f3bc0",
+ [
+ null,
+ {}
+ ]
+ ],
"grid-template-columns-rows-resolved-values-001.html": [
"df91cebf63ee0a251e1c8da56567f7684bf4b1f9",
[
@@ -388603,6 +388713,13 @@
{}
]
],
+ "grid-gutters-as-percentage-001.html": [
+ "651f4278f0687db698da1f7753762318184ed2af",
+ [
+ null,
+ {}
+ ]
+ ],
"grid-item-accepts-first-letter-001.html": [
"32206794c345d864de2508e73a5336d91dff3837",
[
@@ -430497,6 +430614,13 @@
{}
]
],
+ "coep-on-response-from-service-worker.https.html": [
+ "939c618227be7c34f279f446b6c0ea892807ca19",
+ [
+ null,
+ {}
+ ]
+ ],
"data.https.html": [
"c34f1336c8bd22aadd0e867b8fcced598a1c4786",
[
@@ -430586,7 +430710,7 @@
]
],
"reporting.https.html": [
- "f8d8af7a4690d450f3aa098b12bfccde1e928dc6",
+ "42d5e6cc33537e988daf77d740fdcdeab64508c5",
[
null,
{
@@ -449972,6 +450096,13 @@
{}
]
],
+ "mo-stretch-properties-dynamic-001.html": [
+ "daefd1f2b8ace97d0a8be92a44fa7408d787c980",
+ [
+ null,
+ {}
+ ]
+ ],
"operator-dictionary-001.html": [
"e4e5c68b26344195844699e531dceacc835a8597",
[
@@ -454261,7 +454392,7 @@
},
"native-io": {
"close_async.tentative.https.any.js": [
- "a2337e50dbcac793678981ebd47c504f0d4b0d18",
+ "a992f93eb5307fd435cb46e593f1a04e47e970c6",
[
"native-io/close_async.tentative.https.any.html",
{
@@ -454324,7 +454455,7 @@
]
],
"close_sync.tentative.https.any.js": [
- "001fa57a2c0299e3dabeaa938d7474198acb6e3d",
+ "0cfc9de2ec65835a7fef368148a5677a523dce92",
[
"native-io/close_sync.tentative.https.any.worker.html",
{
@@ -454342,7 +454473,7 @@
]
],
"concurrent_io_async.tentative.https.any.js": [
- "22eea20c3121dce3a7a730d262d94d7a1ddf7848",
+ "abc2031d5f9aec4f885f39d9db18331444af811d",
[
"native-io/concurrent_io_async.tentative.https.any.html",
{
@@ -481595,6 +481726,178 @@
]
]
},
+ "screen-wake-lock": {
+ "idlharness.https.window.js": [
+ "370696e90b3579e9b0960942c1cc9269850f3f6b",
+ [
+ "screen-wake-lock/idlharness.https.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/resources/WebIDLParser.js"
+ ],
+ [
+ "script",
+ "/resources/idlharness.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
+ ]
+ ]
+ }
+ ]
+ ],
+ "wakelock-active-document.https.window.js": [
+ "724ce091969922f937c36b427d8b3aa3d449c1e2",
+ [
+ "screen-wake-lock/wakelock-active-document.https.window.html",
+ {}
+ ]
+ ],
+ "wakelock-disabled-by-feature-policy.https.sub.html": [
+ "821ec62885d61b214f766b4c8e173f8b67855f38",
+ [
+ null,
+ {}
+ ]
+ ],
+ "wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html": [
+ "2b2e0c94cc744ff6c19f70397e4383fa2d809cff",
+ [
+ null,
+ {}
+ ]
+ ],
+ "wakelock-enabled-by-feature-policy-attribute.https.sub.html": [
+ "b8ab3b0301798bc7ceaed025e89b0a36dfa5b58c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "wakelock-enabled-by-feature-policy.https.sub.html": [
+ "f908717ff410d736ccb42e89c3e95c4852e82696",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html": [
+ "b15289beff4853765fdc30dfd0a3b35d48fd8619",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "wakelock-insecure-context.any.js": [
+ "f32cc3c354354f99852bb198760cdbd9229355a4",
+ [
+ "screen-wake-lock/wakelock-insecure-context.any.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Wake Lock API is not exposed in an insecure context"
+ ]
+ ]
+ }
+ ],
+ [
+ "screen-wake-lock/wakelock-insecure-context.any.worker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Wake Lock API is not exposed in an insecure context"
+ ]
+ ]
+ }
+ ]
+ ],
+ "wakelock-onrelease.https.html": [
+ "88c0cdb654c8e700195c430aa74fb2238ce9db10",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "wakelock-request-denied.https.html": [
+ "b222ef342a6566a9d424044713b1acf2666679eb",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "wakelock-screen-type-on-worker.https.worker.js": [
+ "0201294e2365abae3e13fcfe21debfd26628236a",
+ [
+ "screen-wake-lock/wakelock-screen-type-on-worker.https.worker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Screen wake lock should not be allowed in dedicated worker"
+ ]
+ ]
+ }
+ ]
+ ],
+ "wakelock-supported-by-feature-policy.html": [
+ "a55eb54ba1c48ae7d5330ed1281029d71f0a23e9",
+ [
+ null,
+ {}
+ ]
+ ],
+ "wakelock-type.https.any.js": [
+ "3a1d8c465c7020594affe0cb81c67ea36839b640",
+ [
+ "screen-wake-lock/wakelock-type.https.any.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "navigator.wakeLock.request() with invalid type"
+ ]
+ ]
+ }
+ ],
+ [
+ "screen-wake-lock/wakelock-type.https.any.worker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "navigator.wakeLock.request() with invalid type"
+ ]
+ ]
+ }
+ ]
+ ],
+ "wakelockpermissiondescriptor.https.html": [
+ "e6d0d0b07edda3a98381e00fc51d39469f0bf318",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ]
+ },
"screen_enumeration": {
"getScreens.tentative.https.window.js": [
"3b893bbbb772a773dfa9c18cf4bd844cfe4db99f",
@@ -498095,196 +498398,6 @@
]
]
},
- "wake-lock": {
- "idlharness-worker.https.window.js": [
- "76f5352721dfdadca5093b6f08bb648d8b17f93e",
- [
- "wake-lock/idlharness-worker.https.window.html",
- {
- "script_metadata": [
- [
- "script",
- "/resources/testdriver.js"
- ],
- [
- "script",
- "/resources/testdriver-vendor.js"
- ]
- ]
- }
- ]
- ],
- "idlharness.https.window.js": [
- "60c25f3386ea8bd2ce8a5955745f9d1ede580f46",
- [
- "wake-lock/idlharness.https.window.html",
- {
- "script_metadata": [
- [
- "script",
- "/resources/WebIDLParser.js"
- ],
- [
- "script",
- "/resources/idlharness.js"
- ],
- [
- "script",
- "/resources/testdriver.js"
- ],
- [
- "script",
- "/resources/testdriver-vendor.js"
- ]
- ]
- }
- ]
- ],
- "wakelock-active-document.https.window.js": [
- "53745ea3c60e7322720d9082919950c798259f0f",
- [
- "wake-lock/wakelock-active-document.https.window.html",
- {}
- ]
- ],
- "wakelock-disabled-by-feature-policy.https.sub.html": [
- "821ec62885d61b214f766b4c8e173f8b67855f38",
- [
- null,
- {}
- ]
- ],
- "wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html": [
- "2b2e0c94cc744ff6c19f70397e4383fa2d809cff",
- [
- null,
- {}
- ]
- ],
- "wakelock-enabled-by-feature-policy-attribute.https.sub.html": [
- "b8ab3b0301798bc7ceaed025e89b0a36dfa5b58c",
- [
- null,
- {}
- ]
- ],
- "wakelock-enabled-by-feature-policy.https.sub.html": [
- "f908717ff410d736ccb42e89c3e95c4852e82696",
- [
- null,
- {
- "testdriver": true
- }
- ]
- ],
- "wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html": [
- "b15289beff4853765fdc30dfd0a3b35d48fd8619",
- [
- null,
- {
- "testdriver": true
- }
- ]
- ],
- "wakelock-insecure-context.any.js": [
- "f32cc3c354354f99852bb198760cdbd9229355a4",
- [
- "wake-lock/wakelock-insecure-context.any.html",
- {
- "script_metadata": [
- [
- "title",
- "Wake Lock API is not exposed in an insecure context"
- ]
- ]
- }
- ],
- [
- "wake-lock/wakelock-insecure-context.any.worker.html",
- {
- "script_metadata": [
- [
- "title",
- "Wake Lock API is not exposed in an insecure context"
- ]
- ]
- }
- ]
- ],
- "wakelock-onrelease.https.html": [
- "88c0cdb654c8e700195c430aa74fb2238ce9db10",
- [
- null,
- {
- "testdriver": true
- }
- ]
- ],
- "wakelock-request-denied.https.html": [
- "b222ef342a6566a9d424044713b1acf2666679eb",
- [
- null,
- {
- "testdriver": true
- }
- ]
- ],
- "wakelock-screen-type-on-worker.https.worker.js": [
- "0201294e2365abae3e13fcfe21debfd26628236a",
- [
- "wake-lock/wakelock-screen-type-on-worker.https.worker.html",
- {
- "script_metadata": [
- [
- "title",
- "Screen wake lock should not be allowed in dedicated worker"
- ]
- ]
- }
- ]
- ],
- "wakelock-supported-by-feature-policy.html": [
- "a55eb54ba1c48ae7d5330ed1281029d71f0a23e9",
- [
- null,
- {}
- ]
- ],
- "wakelock-type.https.any.js": [
- "3a1d8c465c7020594affe0cb81c67ea36839b640",
- [
- "wake-lock/wakelock-type.https.any.html",
- {
- "script_metadata": [
- [
- "title",
- "navigator.wakeLock.request() with invalid type"
- ]
- ]
- }
- ],
- [
- "wake-lock/wakelock-type.https.any.worker.html",
- {
- "script_metadata": [
- [
- "title",
- "navigator.wakeLock.request() with invalid type"
- ]
- ]
- }
- ]
- ],
- "wakelockpermissiondescriptor.https.html": [
- "88c95987f1ead6d0e194e3d1dcff6d4b5e852778",
- [
- null,
- {
- "testdriver": true
- }
- ]
- ]
- },
"wasm": {
"create_multiple_memory.worker.js": [
"f5733b7c8da79f81dbda7e2d22673a730e27a68d",
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
new file mode 100644
index 00000000000..f64b45fea6b
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-002.html]
+ [Hit test float]
+ 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
new file mode 100644
index 00000000000..baa9f1a7541
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-005.html]
+ [Miss clipped float]
+ 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
new file mode 100644
index 00000000000..e38782d8c85
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
@@ -0,0 +1,4 @@
+[elementFromPoint-001.html]
+ [CSSOM View - 5 - extensions to the Document interface]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
index 6ef8bb1049f..171592fc08f 100644
--- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
@@ -2,6 +2,3 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
- [elementsFromPoint on inner documents]
- 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 329b4d4131b..2db03661a2f 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,24 +312,21 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
- [<iframe>: separate response Content-Type: text/html */*]
- expected: FAIL
-
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;" text/plain]
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: combined response Content-Type: */* text/html]
+ [<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
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..2d5faa72ac7 100644
--- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
@@ -53,9 +53,6 @@
[combined text/javascript ]
expected: FAIL
- [separate text/javascript x/x]
- expected: FAIL
-
- [separate text/javascript error]
+ [separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
index 30e1b851fd4..70efd28ddfc 100644
--- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
+ [X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
+ 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
new file mode 100644
index 00000000000..87b07c3e670
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
@@ -0,0 +1,4 @@
+[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_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 75d75b4cda2..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
deleted file mode 100644
index 385376c7321..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_4.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index 6b68e9094e4..f4d11768961 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,4 +1,5 @@
[supported-elements.html]
+ expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@@ -6,10 +7,10 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: FAIL
+ expected: TIMEOUT
[Area element should support autofocus]
- expected: FAIL
+ expected: NOTRUN
[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_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 9df1ac56f2a..963d4cd20ef 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
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 d43f38b40cd..45d8be1c898 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: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
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 e440b1e38c6..71edac2c5ed 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,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index 0cef5158fae..edae5e5adcd 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -4,3 +4,6 @@
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT
+ [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
index d1775aae3d1..2f985b21244 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
@@ -158,3 +158,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 40518 more errors.\n\tMax AbsError of 1.9880115985870361e+0 at index of 23190.\n\t[23190\]\t9.9948620796203613e-1\t-9.8852539062500000e-1\t1.9880115985870361e+0\t2.0110880483607065e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
+ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44050 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 42250.\n\t[42250\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
deleted file mode 100644
index 663a1f8fa30..00000000000
--- a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini
new file mode 100644
index 00000000000..fe8654e447c
--- /dev/null
+++ b/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini
@@ -0,0 +1,4 @@
+[WorkerGlobalScope-close.html]
+ [Test sending a message after closing.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html b/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html
index a7c87e2331f..7883c8ebf23 100644
--- a/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html
+++ b/tests/wpt/web-platform-tests/credential-management/federatedcredential-framed-get.sub.https.html
@@ -2,7 +2,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
-assert_precondition('FederatedCredential' in window, "`FederatedCredential` is supported.");
+assert_implements('FederatedCredential' in window, "`FederatedCredential` is supported.");
// Ensure that the check is "same origin", not "same origin-domain".
document.domain = window.location.hostname;
diff --git a/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html b/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html
index d86c6e09c70..b4afc1eb91e 100644
--- a/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html
+++ b/tests/wpt/web-platform-tests/credential-management/passwordcredential-framed-get.sub.https.html
@@ -2,7 +2,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
-assert_precondition('PasswordCredential' in window, "`PasswordCredential` is supported.");
+assert_implements('PasswordCredential' in window, "`PasswordCredential` is supported.");
// Ensure that the check is "same origin", not "same origin-domain".
document.domain = window.location.hostname;
diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html b/tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html
new file mode 100644
index 00000000000..b32d24859ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-grid/grid-definition/grid-template-columns-rows-changes-001.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html>
+<title>CSS Grid: grid-tempalte-{rows|colums} dynamic updates</title>
+<link rel="author" title="Julien Chaffraix" href="mailto:jchaffraix@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizing">
+<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=112501">
+<link rel="stylesheet" href="/css/support/grid.css">
+<link rel="stylesheet" href="/css/support/alignment.css">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"/>
+<meta name="assert" content="This test checks that grid-tempalte-{rows|colums} dynamic updates properly relayout the grid items.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/check-layout-th.js"></script>
+<script>
+setup({ explicit_done: true });
+
+function testLayout(gridElementID, gridTracks, size, last = false)
+{
+ var gridElement = document.getElementById(gridElementID);
+ gridElement.style.gridTemplateColumns = gridTracks.columns;
+ gridElement.style.gridTemplateRows = gridTracks.rows;
+ var gridItem = gridElement.firstChild.nextSibling;
+ gridItem.setAttribute("data-expected-width", size.width);
+ gridItem.setAttribute("data-expected-height", size.height);
+ checkLayout("#" + gridElementID, last);
+}
+
+function updateRowsColumns()
+{
+ // In the constrained grid case, we will always end up sizing after the min width. This means we don't test max width changes as they would not be detectable.
+ testLayout("constrainedGrid", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '20' });
+ testLayout("constrainedGrid", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '40' });
+ testLayout("constrainedGrid", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '40' });
+ testLayout("constrainedGrid", { 'rows': 'auto', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '20' });
+ testLayout("constrainedGrid", { 'rows': 'auto', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '10' });
+ testLayout("constrainedGrid", { 'rows': '70px', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '70' });
+
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '50' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'height': '50' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'minmax(40px, 50px)', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '50' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'auto', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '20' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'auto', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '10' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': '70px', 'columns': 'minmax(max-content, 50px)' }, { 'width': '120', 'height': '70' });
+
+ testLayout("unconstrainedGrid", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(20px, 60px)' }, { 'width': '60', 'height': '50' });
+ testLayout("unconstrainedGrid", { 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(20px, 40px)' }, { 'width': '40', 'height': '50' });
+ testLayout("unconstrainedGrid", { 'rows': 'minmax(20px, 30px)', 'columns': 'minmax(20px, 40px)' }, { 'width': '40', 'height': '30' });
+ testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(20px, 40px)' }, { 'width': '40', 'height': '20' });
+ testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(20px, max-content)' }, { 'width': '120', 'height': '10' });
+ testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(150px, max-content)' }, { 'width': '150', 'height': '10' });
+ testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'auto' }, { 'width': '120', 'height': '10' });
+ testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(min-content, 1fr) 3fr' }, { 'width': '250', 'height': '10' });
+ testLayout("unconstrainedGrid", { 'rows': 'auto', 'columns': 'minmax(min-content, 3fr) 3fr' }, { 'width': '500', 'height': '10' }, true);
+}
+</script>
+<body onload="document.fonts.ready.then(() => { updateRowsColumns(); })">
+<div class="constrainedContainer">
+ <div class="grid" id="constrainedGrid" style="height: 100%">
+ <div class="sizedToGridArea">XXXXX XXXXXX</div>
+ </div>
+</div>
+
+<div class="constrainedContainer">
+ <div class="grid" id="constrainedGridUndefinedHeight">
+ <div class="sizedToGridArea">XXXXX XXXXXX</div>
+ </div>
+</div>
+
+<div class="unconstrainedContainer">
+ <div class="grid justifyContentStart" id="unconstrainedGrid">
+ <div class="sizedToGridArea">XXXXX XXXXXX</div>
+ </div>
+</div>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html b/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html
new file mode 100644
index 00000000000..651f4278f06
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-grid/grid-model/grid-gutters-as-percentage-001.html
@@ -0,0 +1,199 @@
+<!DOCTYPE html>
+<title>CSS Grid: grid gutters as percentage.</title>
+<link rel="author" title="Sergio Villar" href="mailto:svillar@igalia.com"/>
+<link rel="help" href="https://drafts.csswg.org/css-grid-1/#gutters"/>
+<meta name="assert" content="Check that when 'height' is indefinite, row gaps should be based on grid's 'auto' height."/>
+<link rel="stylesheet" href="/css/support/grid.css"/>
+<link rel="stylesheet" href="/css/support/width-keyword-classes.css"/>
+<link rel="stylesheet" href="/css/support/height-keyword-classes.css"/>
+<link rel="stylesheet" href="/fonts/ahem.css" type="text/css"/>
+<style>
+body { margin: 0; }
+.grid { font: 10px/1 Ahem; position: relative; }
+.widthAuto { width: auto; }
+.heightAuto { height: auto; }
+.width400 { width: 400px; }
+.width200 { width: 200px; }
+.height200 { height: 200px; }
+.height100 { height: 100px; }
+.columns100-100 { grid-template-columns: 100px 100px; }
+.rows50-50 { grid-template-rows: 50px 50px; }
+.autoRepeat { grid-template: repeat(auto-fill, 50px) / repeat(auto-fill, 100px); }
+.columnGap10Percent { grid-column-gap: 10% }
+.rowGap20Percent { grid-row-gap: 20% }
+.positioned { position: absolute; width: 100%; height: 100%; }
+</style>
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/check-layout-th.js"></script>
+<script type="text/javascript">
+ setup({ explicit_done: true });
+</script>
+
+<body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
+<div id="log"></div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which will reduce the available space for tracks; however, they can grow exceeding their content's max-width.</p>
+<div class="width400">
+ <div class="grid columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="20">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="180" data-expected-height="10">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="220" data-offset-y="0" data-expected-width="180" data-expected-height="10">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="14" data-expected-width="180" data-expected-height="10">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="220" data-offset-y="14" data-expected-width="180" data-expected-height="10">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'instrinsic' width, which reduce the available space for tracks; however, since we use 'fit-content' intrinsic size, first column's width is reduced and height increased to let its content to fit.</p>
+<div class="width400">
+ <div class="grid fit-content heightAuto columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="40">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="20">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="20">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="28" data-expected-width="80" data-expected-height="20">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="100" data-offset-y="28" data-expected-width="100" data-expected-height="20">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which will reduce the available space for tracks; however, they can grow exceeding their content's max-width.</p>
+<div class="width400">
+ <div class="grid fit-content widthAuto columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="20">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="180" data-expected-height="10">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="220" data-offset-y="0" data-expected-width="180" data-expected-height="10">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="14" data-expected-width="180" data-expected-height="10">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="220" data-offset-y="14" data-expected-width="180" data-expected-height="10">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'instrinsic' width, which reduce the available space for tracks; however, since we use 'fit-content' intrinsic size, first column's width is reduced and height increased to let its content to fit.</p>
+<div class="width400">
+ <div class="grid fit-content columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="40">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="20">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="20">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="28" data-expected-width="80" data-expected-height="20">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="100" data-offset-y="28" data-expected-width="100" data-expected-height="20">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which reduce the available space for tracks; however, they are fixed sized and fit.</p>
+<div class="width400">
+ <div class="grid columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="100">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'intrinsic' width, which reduce the available space for tracks; however, they are fixed sized and don't fit so they overflow the grid container.</p>
+<div class="width400">
+ <div class="grid fit-content heightAuto columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which reduce the available space for tracks; however, they are fixed sized and fit.</p>
+<div class="width400">
+ <div class="grid fit-content widthAuto columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="100">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Both row and column gaps are based on definite sizes, but they will reduce the available space for tracks; however, since the container's specified inline size is not enough, first column's width is reduced and height increased to let its content to fit.</p>
+<div class="width400">
+ <div class="grid width200 height100 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="80" data-expected-height="40">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="100" data-offset-y="0" data-expected-width="100" data-expected-height="40">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="60" data-expected-width="80" data-expected-height="40">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="100" data-offset-y="60" data-expected-width="100" data-expected-height="40">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Both row and column gaps are based on definite sizes, but they will reduce the available space for tracks; however, they can grow exceeding their content's max-width.</p>
+<div class="width400">
+ <div class="grid width400 height200 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="200">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="180" data-expected-height="80">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="220" data-offset-y="0" data-expected-width="180" data-expected-height="80">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="120" data-expected-width="180" data-expected-height="80">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="220" data-offset-y="120" data-expected-width="180" data-expected-height="80">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, they are fixed sized and don't fit so they overflow the grid container.</p>
+<div class="width400">
+ <div class="grid width200 height100 columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, they are fixed sized and fit.</p>
+<div class="width400">
+ <div class="grid width400 height200 columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="200">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="90" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="90" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'instrinsic' width, which reduce the available space for tracks; however, since we use 'fit-content' intrinsic size, only 1 repeteation is allowed, so tracks are adjusted to fit in the intrinsic size reduced by the gaps.</p>
+<div class="width400">
+ <div class="grid fit-content autoRepeat columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="70">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="80" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="64" data-expected-width="100" data-expected-height="20">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="64" data-expected-width="80" data-expected-height="20">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, repeat auto-fill allows all of them to fit.</p>
+<div class="">
+ <div class="grid width400 height200 autoRepeat columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="200">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="firstRowThirdColumn" data-offset-x="280" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="90" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="140" data-offset-y="90" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ <div class="secondRowThirdColumn" data-offset-x="280" data-offset-y="90" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, repeat auto-fill allows only 1 repetition.</p>
+<div class="">
+ <div class="grid width200 height100 autoRepeat columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100">
+ <div class="firstRowFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="firstRowSecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="80" data-expected-height="50">XX XXX X X</div>
+ <div class="secondRowFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="30">X XX XXX X</div>
+ <div class="secondRowSecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="80" data-expected-height="30">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Grid with positioned items. Height is indefinite, so row gaps should be based on grid's 'auto' height. Column gaps based on a grid's 'auto' width, which reduce the available space for tracks; however, they are fixed sized and fit.</p>
+<div class="width400">
+ <div class="grid columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="400" data-expected-height="100">
+ <div class="positioned onlyFirstRowOnlyFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="positioned onlyFirstRowOnlySecondColumn" data-offset-x="140" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="positioned onlySecondRowOnlyFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="positioned onlySecondRowOnlySecondColumn" data-offset-x="140" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+<p>Grid with positioned items. Both row and column gaps are based on definite sizes, they will reduce the available space for tracks; however, they are fixed sized and don't fit so they overflow the grid container.</p>
+<div class="">
+ <div class="grid width200 height100 columns100-100 rows50-50 columnGap10Percent rowGap20Percent" data-expected-width="200" data-expected-height="100">
+ <div class="positioned onlyFirstRowOnlyFirstColumn" data-offset-x="0" data-offset-y="0" data-expected-width="100" data-expected-height="50">XXX X XX X</div>
+ <div class="positioned onlyFirstRowOnlySecondColumn" data-offset-x="120" data-offset-y="0" data-expected-width="100" data-expected-height="50">XX XXX X X</div>
+ <div class="positioned onlySecondRowOnlyFirstColumn" data-offset-x="0" data-offset-y="70" data-expected-width="100" data-expected-height="50">X XX XXX X</div>
+ <div class="positioned onlySecondRowOnlySecondColumn" data-offset-x="120" data-offset-y="70" data-expected-width="100" data-expected-height="50">XXXXX X XX</div>
+ </div>
+</div>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html
new file mode 100644
index 00000000000..7968af0b256
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-abs.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Empty ruby base container</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout">
+<link rel="match" href="empty-ruby-base-container-ref.html">
+<style>
+a { position: absolute; }
+</style>
+<div style="font-size: 64px; line-height: 3">a<ruby><a>&nbsp;</a><rt>b</rt></ruby>c</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html
new file mode 100644
index 00000000000..b7c5d12963a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-base-container-float.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Empty ruby base container</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout">
+<link rel="match" href="empty-ruby-base-container-ref.html">
+<style>
+a { float: right; }
+</style>
+<div style="font-size: 64px; line-height: 3">a<ruby><a>&nbsp;</a><rt>b</rt></ruby>c</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html
new file mode 100644
index 00000000000..025859ea744
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-abs.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Empty ruby text container</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout">
+<link rel="match" href="empty-ruby-text-container-ref.html">
+<style>
+a { position: absolute; }
+</style>
+<div style="font-size: 64px; line-height: 5">a<ruby><rb>b</rb><rtc><a>&nbsp;</a></rtc><rt>c</rt></ruby>d</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html
new file mode 100644
index 00000000000..88bcf42736e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/empty-ruby-text-container-float.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Empty ruby text container</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout">
+<link rel="match" href="empty-ruby-text-container-ref.html">
+<style>
+a { float: right; }
+</style>
+<div style="font-size: 64px; line-height: 5">a<ruby><rb>b</rb><rtc><a>&nbsp;</a></rtc><rt>c</rt></ruby>d</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html
new file mode 100644
index 00000000000..8ddca2fc5bf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001-ref.html
@@ -0,0 +1,81 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS test reference</title>
+
+<style>
+.r { display: ruby; }
+.rbc { display: ruby-base-container; }
+.rb { display: ruby-base; }
+.rtc { display: ruby-text-container; }
+.rt { display: ruby-text; }
+
+.r { font: 50px/1 monospace; }
+
+.rb { background: pink; }
+.rt { background: orange; }
+</style>
+
+<p>Test passes if, in each of the base/annotations pairs below, there is no gap between the pink box of the base and the orange box of the annotation.</p>
+
+<span class=r>
+ <span class="rbc pv">
+ <span class=rb>b1</span>
+ </span>
+ <span class="rtc pv">
+ <span class=rt>a1</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc ph">
+ <span class=rb>b2</span>
+ </span>
+ <span class="rtc ph">
+ <span class=rt>a2</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc bv">
+ <span class=rb>b3</span>
+ </span>
+ <span class="rtc bv">
+ <span class=rt>a3</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc bh">
+ <span class=rb>b4</span>
+ </span>
+ <span class="rtc bh">
+ <span class=rt>a4</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc mv">
+ <span class=rb>b5</span>
+ </span>
+ <span class="rtc mv">
+ <span class=rt>a5</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc mh">
+ <span class=rb>b6</span>
+ </span>
+ <span class="rtc mh">
+ <span class=rt>a6</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc ph pv mh mv bh bv">
+ <span class=rb>b7</span>
+ </span>
+ <span class="rtc ph pv mh mv bh bv">
+ <span class=rt>a7</span>
+ </span>
+</span>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html
new file mode 100644
index 00000000000..1fa2befaf8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-model-001.html
@@ -0,0 +1,94 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>CSS Ruby test: no m/b/p/ effect on base/annotation containers</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-style">
+<link rel="match" href="ruby-box-model-001-ref.html">
+<meta name=assert content="the content box of base (resp annotation) container boxes should be tightly rapping around their content, and stacked up without gap. Margins/Borders/Padding on the base (resp annotation) container boxes do not apply.">
+
+<style>
+.r { display: ruby; }
+.rbc { display: ruby-base-container; }
+.rb { display: ruby-base; }
+.rtc { display: ruby-text-container; }
+.rt { display: ruby-text; }
+
+.pv { padding-top: 100px; padding-bottom: 100px; }
+.ph { padding-left: 100px; padding-right: 100px; }
+.bv, .bh { border-style: solid; border-color: transparent; }
+.bv { border-top-width: 100px; border-bottom-width: 100px; }
+.bh { border-left-width: 100px; border-right-width: 100px; }
+.mv { margin-top: 100px; margin-bottom: 100px; }
+.mh { margin-left: 100px; margin-right: 100px; }
+
+.r { font: 50px/1 monospace; }
+
+.rb { background: pink; }
+.rt { background: orange; }
+</style>
+
+<p>Test passes if, in each of the base/annotations pairs below, there is no gap between the pink box of the base and the orange box of the annotation.</p>
+
+<span class=r>
+ <span class="rbc pv">
+ <span class=rb>b1</span>
+ </span>
+ <span class="rtc pv">
+ <span class=rt>a1</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc ph">
+ <span class=rb>b2</span>
+ </span>
+ <span class="rtc ph">
+ <span class=rt>a2</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc bv">
+ <span class=rb>b3</span>
+ </span>
+ <span class="rtc bv">
+ <span class=rt>a3</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc bh">
+ <span class=rb>b4</span>
+ </span>
+ <span class="rtc bh">
+ <span class=rt>a4</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc mv">
+ <span class=rb>b5</span>
+ </span>
+ <span class="rtc mv">
+ <span class=rt>a5</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc mh">
+ <span class=rb>b6</span>
+ </span>
+ <span class="rtc mh">
+ <span class=rt>a6</span>
+ </span>
+</span>
+
+<span class=r>
+ <span class="rbc ph pv mh mv bh bv">
+ <span class=rb>b7</span>
+ </span>
+ <span class="rtc ph pv mh mv bh bv">
+ <span class=rt>a7</span>
+ </span>
+</span>
diff --git a/tests/wpt/web-platform-tests/docs/assets/custom.css b/tests/wpt/web-platform-tests/docs/assets/custom.css
new file mode 100644
index 00000000000..a5f59ce7721
--- /dev/null
+++ b/tests/wpt/web-platform-tests/docs/assets/custom.css
@@ -0,0 +1,7 @@
+div.body {
+ min-width: auto;
+}
+
+#video-introduction-transcript iframe {
+ max-width: 100%;
+} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html
new file mode 100644
index 00000000000..939c618227b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/coep-on-response-from-service-worker.https.html
@@ -0,0 +1,111 @@
+<!doctype html>
+<html>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
+<script>
+const FRAME_URL = 'resources/coep-frame.html'
+const SCOPE = new URL(FRAME_URL, location).pathname;
+const SCRIPT = 'resources/sw.js?';
+
+// This is similar to
+// none-sw-from-require-corp.https.html, but there is one difference:
+// In this file, the frame controlled by the service worker comes from
+// the service worker, but on none-sw-from-require-corp.https.html
+// the main document comes from the network directly. Hence the tests
+// here test whether COEP is set correctly for documents coming from
+// service workers.
+
+function remote(path) {
+ const REMOTE_ORIGIN = get_host_info().HTTPS_REMOTE_ORIGIN;
+ return new URL(path, REMOTE_ORIGIN + '/html/cross-origin-embedder-policy/');
+}
+
+let registration;
+let frame;
+
+promise_test(async (t) => {
+ registration = await service_worker_unregister_and_register(t, SCRIPT, SCOPE);
+ await wait_for_state(t, registration.installing, 'activated')
+ frame = await with_iframe(FRAME_URL);
+}, 'setup');
+
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await w.fetch('resources/nothing-same-origin-corp.txt', {mode: 'no-cors'});
+}, 'making a same-origin request for CORP: same-origin');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await w.fetch('/common/blank.html', {mode: 'no-cors'});
+}, 'making a same-origin request for no CORP');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await w.fetch('resources/nothing-cross-origin-corp.txt', {mode: 'no-cors'});
+}, 'making a same-origin request for CORP: cross-origin');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await promise_rejects_js(
+ t, w.TypeError,
+ w.fetch(remote('resources/nothing-same-origin-corp.txt'), {mode: 'no-cors'}));
+}, 'making a cross-origin request for CORP: same-origin');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await promise_rejects_js(
+ t, w.TypeError, w.fetch(remote('/common/blank.html'), {mode: 'no-cors'}));
+}, 'making a cross-origin request for no CORP');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await w.fetch(
+ remote('resources/nothing-cross-origin-corp.txt'),
+ {mode: 'no-cors'});
+}, 'making a cross-origin request for CORP: cross-origin');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await promise_rejects_js(
+ t, w.TypeError,
+ w.fetch(remote('resources/nothing-same-origin-corp.txt?passthrough'),
+ {mode: 'no-cors'}));
+}, 'making a cross-origin request for CORP: same-origin [PASS THROUGH]');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await promise_rejects_js(
+ t, w.TypeError,
+ w.fetch(remote('/common/blank.html?passthrough'), {mode: 'no-cors'}));
+}, 'making a cross-origin request for no CORP [PASS THROUGH]');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await w.fetch(
+ remote('resources/nothing-cross-origin-corp.txt?passthrough'),
+ {mode: 'no-cors'});
+}, 'making a cross-origin request for CORP: cross-origin [PASS THROUGH]');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ await promise_rejects_js(
+ t, w.TypeError, w.fetch(remote('/common/blank.html'), {mode: 'cors'}));
+}, 'making a cross-origin request with CORS without ACAO');
+
+promise_test(async (t) => {
+ const w = frame.contentWindow;
+ const URL = remote(
+ '/common/blank.html?pipe=header(access-control-allow-origin,*');
+ await w.fetch(URL, {mode: 'cors'});
+}, 'making a cross-origin request with CORS');
+
+promise_test(async () => {
+ frame.remove();
+ await registration.unregister();
+}, 'teardown');
+
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html
index f8d8af7a469..42d5e6cc335 100644
--- a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html
+++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/reporting.https.html
@@ -458,50 +458,5 @@ promise_test(async (t) => {
checkCorpReportExistence(reports, blockedDueToCoep, iframe.src);
checkCorpReportExistence(reports, redirect, iframe.src);
checkReportNonExistence(reports, dest, iframe.src);
-}, 'subresource CORP in a passthrough iframe hosted by a service worker without COEP');
-
-promise_test(async (t) => {
- const iframe_src = `resources/reporting-empty-frame.html`;
- // Register a service worker that controls an iframe.
- const registration = await service_worker_unregister_and_register(
- t, 'resources/sw.js', iframe_src);
- t.add_cleanup(() => registration.unregister());
- await wait_for_state(t, registration.installing, 'activated');
-
- const iframe = document.createElement('iframe');
- t.add_cleanup(() => iframe.remove());
-
- iframe.src = iframe_src;
- document.body.appendChild(iframe);
- await new Promise(resolve => {
- iframe.addEventListener('load', resolve, {once: true});
- });
-
- async function fetchInIframe(url) {
- const init = { mode: 'no-cors', cache: 'no-store' };
- // Ignore errors.
- return iframe.contentWindow.fetch(url, init).catch(() => {});
- }
-
- const suffix = 'subresource-corp-respondwith-fetch-sw';
- const sameOriginUrl = `/common/text-plain.txt?${suffix}`;
- const blockedByPureCorp = `${REMOTE_ORIGIN}${BASE}/nothing-same-origin-corp.txt?${suffix}`;
- const blockedDueToCoep = `${REMOTE_ORIGIN}/common/text-plain.txt?abc&${suffix}`;
- const dest = `${REMOTE_ORIGIN}/common/text-plain.txt?xyz&${suffix}`;
- const redirect = `/common/redirect.py?location=${encodeURIComponent(dest)}&${suffix}`;
-
- fetchInIframe(sameOriginUrl);
- fetchInIframe(blockedByPureCorp);
- fetchInIframe(blockedDueToCoep)
- fetchInIframe(redirect);
-
- // Wait until |reports| is ready.
- await wait(1000);
-
- checkReportNonExistence(reports, sameOriginUrl, iframe.src);
- checkReportNonExistence(reports, blockedByPureCorp, iframe.src);
- checkCorpReportExistence(reports, blockedDueToCoep, iframe.src);
- checkCorpReportExistence(reports, redirect, iframe.src);
- checkReportNonExistence(reports, dest, iframe.src);
-}, 'subresource CORP in a respondWith(fetch) iframe hosted by a service worker without COEP');
+}, 'subresource CORP in an iframe hosted by a service worker without COEP');
</script>$
diff --git a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl
index 429b80e0668..1eb30a06024 100644
--- a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
+++ b/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl
@@ -1,7 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
-// Source: Screen Wake Lock API (https://w3c.github.io/wake-lock/)
+// Source: Screen Wake Lock API (https://w3c.github.io/screen-wake-lock/)
[SecureContext]
partial interface Navigator {
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html
new file mode 100644
index 00000000000..be7f5aa173d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002-ref.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>&lt;mo&gt; dynamic form</title>
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+ <style>
+ math, math * {
+ font: 60px/1 Ahem;
+ }
+ mo {
+ color: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <p>
+ <math>
+ <mn>1</mn><mo id="infix_attach_prefix" form="prefix">+</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mo id="prefix_attach_infix" form="infix">+</mo><mn>3</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="infix_remove">+</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mo id="prefix_remove">+</mo><mn>3</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="infix_set_to_prefix" form="prefix">+</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mo id="prefix_set_to_infix" form="infix">+</mo><mn>3</mn>
+ </math>
+ </p>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html
new file mode 100644
index 00000000000..7cf986f3169
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-form-dynamic-002.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <meta charset="utf-8">
+ <title>&lt;mo&gt; dynamic form</title>
+ <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#operator-fence-separator-or-accent-mo">
+ <meta name="assert" content="Verifies that the form (and thus spacing) can be changed dynamically">
+ <link rel="match" href="mo-form-dynamic-002-ref.html">
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+ <style>
+ math, math * {
+ font: 60px/1 Ahem;
+ }
+ mo {
+ color: blue;
+ }
+ </style>
+ <script>
+ window.addEventListener("load", () => {
+ document.getElementById("infix_attach_prefix").setAttribute("form", "prefix");
+ document.getElementById("prefix_attach_infix").setAttribute("form", "infix");
+ document.getElementById("infix_remove").removeAttribute("form");
+ document.getElementById("prefix_remove").removeAttribute("form");
+ document.getElementById("infix_set_to_prefix").setAttribute("form", "prefix");
+ document.getElementById("prefix_set_to_infix").setAttribute("form", "infix");
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ </script>
+ </head>
+ <body>
+ <!-- Prefix and infix forms of "+" have different default spacing in
+ the operator dictionary. -->
+ <p>
+ <math>
+ <mn>1</mn><mo id="infix_attach_prefix">+</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mo id="prefix_attach_infix">+</mo><mn>3</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="infix_remove" form="prefix">+</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mo id="prefix_remove" form="infix">+</mo><mn>3</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="infix_set_to_prefix" form="postfix">+</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mo id="prefix_set_to_infix" form="postfix">+</mo><mn>3</mn>
+ </math>
+ </p>
+ <script src="/mathml/support/feature-detection.js"></script>
+ <script>MathMLFeatureDetection.ensure_for_match_reftest("has_operator_spacing");</script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html
new file mode 100644
index 00000000000..85cabd287d9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic-ref.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>&lt;mo&gt; dynamic lspace rspace (reference)</title>
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+ <style>
+ math, math * {
+ font: 60px/1 Ahem;
+ }
+ mo {
+ color: blue;
+ }
+ </style>
+ </head>
+ <body>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_attach_lspace" lspace="2em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_attach_rspace" rspace="3em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_modify_lspace" lspace="4em" rspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_modify_rspace" lspace="1em" rspace="5em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_remove_lspace" rspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_remove_rspace" lspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html
new file mode 100644
index 00000000000..0898e48b5c4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-lspace-rspace-dynamic.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+ <head>
+ <meta charset="utf-8">
+ <title>&lt;mo&gt; dynamic lspace rspace</title>
+ <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#operator-fence-separator-or-accent-mo">
+ <meta name="assert" content="Verifies dynamic setting of lspace and rspace">
+ <link rel="match" href="mo-lspace-rspace-dynamic-ref.html">
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+ <style>
+ math, math * {
+ font: 60px/1 Ahem;
+ }
+ mo {
+ color: blue;
+ }
+ </style>
+ <script>
+ window.addEventListener("load", () => {
+ document.getElementById("mo_attach_lspace").setAttribute("lspace", "2em");
+ document.getElementById("mo_attach_rspace").setAttribute("rspace", "3em");
+ document.getElementById("mo_modify_lspace").setAttribute("lspace", "4em");
+ document.getElementById("mo_modify_rspace").setAttribute("rspace", "5em");
+ document.getElementById("mo_remove_lspace").removeAttribute("lspace");
+ document.getElementById("mo_remove_rspace").removeAttribute("rspace");
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ </script>
+ </head>
+ <body>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_attach_lspace">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_attach_rspace">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_modify_lspace" lspace="1em" rspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_modify_rspace" lspace="1em" rspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_remove_lspace" lspace="1em" rspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mn>1</mn><mo id="mo_remove_rspace" lspace="1em" rspace="1em">X</mo><mn>2</mn>
+ </math>
+ </p>
+ <script src="/mathml/support/feature-detection.js"></script>
+ <script>MathMLFeatureDetection.ensure_for_match_reftest("has_operator_spacing");</script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html
new file mode 100644
index 00000000000..daefd1f2b8a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Dynamic stretch properties</title>
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#dictionary-based-attributes">
+<meta name="assert" content="Verify stretchy, symmetric, largeop, minsize and maxsize are updated dynamically.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ math {
+ font: 25px/1 Ahem;
+ }
+ @font-face {
+ font-family: operators;
+ src: url("/fonts/math/operators.woff");
+ }
+ mo {
+ font-family: operators;
+ }
+</style>
+<script>
+ setup({ explicit_done: true });
+ window.addEventListener("load", () => { document.fonts.ready.then(runTests); });
+
+ function runTests() {
+
+ var epsilon = 1;
+ var emToPx = 25;
+ var element;
+
+ test(function() {
+ element = document.getElementById("minsize_attach");
+ element.setAttribute("minsize", "4em");
+ assert_approx_equals(element.getBoundingClientRect().height, 4 * emToPx, epsilon, "attach");
+
+ element = document.getElementById("minsize_modify");
+ element.setAttribute("minsize", "5em");
+ assert_approx_equals(element.getBoundingClientRect().height, 5 * emToPx, epsilon, "modify");
+
+ element = document.getElementById("minsize_remove");
+ element.removeAttribute("minsize");
+ assert_approx_equals(element.getBoundingClientRect().height, 1 * emToPx, epsilon, "remove");
+ }, `minsize`);
+
+ test(function() {
+ element = document.getElementById("maxsize_attach");
+ element.setAttribute("maxsize", "4em");
+ assert_approx_equals(element.getBoundingClientRect().height, 4 * emToPx, epsilon, "attach");
+
+ element = document.getElementById("maxsize_modify");
+ element.setAttribute("maxsize", "5em");
+ assert_approx_equals(element.getBoundingClientRect().height, 5 * emToPx, epsilon, "modify");
+
+ element = document.getElementById("maxsize_remove");
+ element.removeAttribute("maxsize");
+ assert_approx_equals(element.getBoundingClientRect().height, 6 * emToPx, epsilon, "remove");
+ }, `maxsize`);
+
+ test(function() {
+ element = document.getElementById("largeop_set_true");
+ element.setAttribute("largeop", "true");
+ assert_approx_equals(element.getBoundingClientRect().height, 2 * emToPx, epsilon, "set true");
+
+ element = document.getElementById("largeop_set_false");
+ element.setAttribute("largeop", "false");
+ assert_approx_equals(element.getBoundingClientRect().height, 1 * emToPx, epsilon, "set false");
+ }, `largeop`);
+
+ test(function() {
+ element = document.getElementById("symmetric_set_true");
+ element.setAttribute("symmetric", "true");
+ assert_approx_equals(element.getBoundingClientRect().height, 6 * emToPx, epsilon, "set true");
+
+ element = document.getElementById("symmetric_set_false");
+ element.setAttribute("symmetric", "false");
+ assert_approx_equals(element.getBoundingClientRect().height, 3 * emToPx, epsilon, "set false");
+ }, `symmetric`);
+
+ test(function() {
+ element = document.getElementById("stretchy_set_true");
+ element.setAttribute("stretchy", "true");
+ assert_approx_equals(element.getBoundingClientRect().height, 3 * emToPx, epsilon, "set true");
+
+ element = document.getElementById("stretchy_set_false");
+ element.setAttribute("stretchy", "false");
+ assert_approx_equals(element.getBoundingClientRect().height, 1 * emToPx, epsilon, "set false");
+ }, `stretchy`);
+
+ done();
+ }
+</script>
+</head>
+<body>
+ <div id="log"></div>
+ <p>
+ <math>
+ <mrow>
+ <mspace width="1em" height="1em" style="background: blue"/>
+ <mo id="minsize_attach" stretchy="true" symmetric="false">⥯</mo>
+ <mo id="minsize_modify" minsize="3em" stretchy="true" symmetric="false">⥯</mo>
+ <mo id="minsize_remove" minsize="2em" stretchy="true" symmetric="false">⥯</mo>
+ <mn><!-- not space like --></mn>
+ </mrow>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mrow>
+ <mspace width="1em" height="6em" style="background: blue"/>
+ <mo id="maxsize_attach" stretchy="true" symmetric="false">⥯</mo>
+ <mo id="maxsize_modify" maxsize="3em" stretchy="true" symmetric="false">⥯</mo>
+ <mo id="maxsize_remove" maxsize="2em" stretchy="true" symmetric="false">⥯</mo>
+ <mn><!-- not space like --></mn>
+ </mrow>
+ </math>
+ </p>
+ <p>
+ <math displaystyle="true">
+ <mspace width="1em" height="1em" style="background: blue"/>
+ <mrow>
+ <mo id="largeop_set_true" largeop="false" stretchy="false">⥯</mo>
+ <mn><!-- not space like --></mn>
+ </mrow>
+ <mrow>
+ <mo id="largeop_set_false" largeop="true" stretchy="false">⥯</mo>
+ <mn><!-- not space like --></mn>
+ </mrow>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mrow>
+ <mspace width="1em" height="3em" style="background: blue"/>
+ <mo id="symmetric_set_true" symmetric="false" stretchy="true">⥯</mo>
+ <mo id="symmetric_set_false" symmetric="true" stretchy="true">⥯</mo>
+ <mn><!-- not space like --></mn>
+ </mrow>
+ </math>
+ </p>
+ <p>
+ <math>
+ <mrow>
+ <mspace width="1em" height="3em" style="background: blue"/>
+ <mo id="stretchy_set_true" symmetric="false" stretchy="false">⥯</mo>
+ <mo id="stretchy_set_false" symmetric="false" stretchy="true">⥯</mo>
+ <mn><!-- not space like --></mn>
+ </mrow>
+ </math>
+ </p>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html
index f47bfad1fee..ece84ee693a 100644
--- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html
+++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-001.html
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<html>
+<html class="reftest-wait">
<head>
<meta charset="utf-8">
<title>visibility</title>
@@ -16,6 +16,19 @@
<math><mo style="visibility: hidden">3</mo></math>
<math><mtext style="visibility: hidden">4</mtext></math>
<math><ms style="visibility: hidden">5</ms></math>
+ <div id="dynamic">
+ <math><mi>1</mi></math>
+ <math><mn>2</mn></math>
+ <math><mo>3</mo></math>
+ <math><mtext>4</mtext></math>
+ <math><ms>5</ms></math>
+ </div>
</div>
+ <script>
+ window.addEventListener("load", () => {
+ document.getElementById("dynamic").style.visibility = "hidden";
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ </script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html
index f3afb79c157..5e41b9c7831 100644
--- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html
+++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-002.html
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<html>
+<html class="reftest-wait">
<head>
<meta charset="utf-8">
<title>visibility</title>
@@ -13,8 +13,17 @@
<p>Test passes if you see a green square.</p>
<div style="background: green; color: red; width: 200px; height: 200px;">
<math><mfrac style="visibility: hidden"><mn>1</mn><mn>2</mn></mfrac></math>
+ <div id="dynamic">
+ <math><mfrac><mn>1</mn><mn>2</mn></mfrac></math>
+ </div>
</div>
<script src="/mathml/support/feature-detection.js"></script>
+ <script>
+ window.addEventListener("load", () => {
+ document.getElementById("dynamic").style.visibility = "hidden";
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ </script>
<script>MathMLFeatureDetection.ensure_for_match_reftest("has_mfrac");</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html
index cfeed644cbe..afa4c4184ce 100644
--- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html
+++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-003.html
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<html>
+<html class="reftest-wait">
<head>
<meta charset="utf-8">
<title>visibility</title>
@@ -14,8 +14,18 @@
<div style="background: green; color: red; width: 200px; height: 200px;">
<math><msqrt style="visibility: hidden"><mn>1</mn></msqrt></math>
<math><mroot style="visibility: hidden"><mn>2</mn><mn>3</mn></mroot></math>
+ <div id="dynamic">
+ <math><msqrt><mn>1</mn></msqrt></math>
+ <math><mroot><mn>2</mn><mn>3</mn></mroot></math>
+ </div>
</div>
<script src="/mathml/support/feature-detection.js"></script>
+ <script>
+ window.addEventListener("load", () => {
+ document.getElementById("dynamic").style.visibility = "hidden";
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ </script>
<script>MathMLFeatureDetection.ensure_for_match_reftest("has_msqrt");</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html
index 8173b9cd2ef..ed4a4aeb09d 100644
--- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html
+++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/visibility-004.html
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<html>
+<html class="reftest-wait">
<head>
<meta charset="utf-8">
<title>visibility</title>
@@ -26,7 +26,29 @@
<math><menclose notation="downdiagonalstrike" style="visibility: hidden"><mn>12</mn></menclose></math>
<math><menclose notation="longdiv" style="visibility: hidden"><mn>13</mn></menclose></math>
<math><menclose notation="circle" style="visibility: hidden"><mn>14</mn></menclose></math>
+ <div id="dynamic">
+ <math><menclose notation="left"><mn>1</mn></menclose></math>
+ <math><menclose notation="right"><mn>2</mn></menclose></math>
+ <math><menclose notation="top"><mn>3</mn></menclose></math>
+ <math><menclose notation="bottom"><mn>4</mn></menclose></math>
+ <math><menclose notation="box"><mn>5</mn></menclose></math>
+ <math><menclose notation="roundedbox"><mn>6</mn></menclose></math>
+ <math><menclose notation="actuarial"><mn>7</mn></menclose></math>
+ <math><menclose notation="madruwb"><mn>8</mn></menclose></math>
+ <math><menclose notation="horizontalstrike"><mn>9</mn></menclose></math>
+ <math><menclose notation="verticalstrike"><mn>10</mn></menclose></math>
+ <math><menclose notation="updiagonalstrike"><mn>11</mn></menclose></math>
+ <math><menclose notation="downdiagonalstrike"><mn>12</mn></menclose></math>
+ <math><menclose notation="longdiv"><mn>13</mn></menclose></math>
+ <math><menclose notation="circle"><mn>14</mn></menclose></math>
+ </div>
</div>
+ <script>
+ window.addEventListener("load", () => {
+ document.getElementById("dynamic").style.visibility = "hidden";
+ document.documentElement.classList.remove("reftest-wait");
+ });
+ </script>
<script src="/mathml/support/feature-detection.js"></script>
<script>MathMLFeatureDetection.ensure_for_match_reftest("has_menclose");</script>
</body>
diff --git a/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js b/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js
index a2337e50dbc..a992f93eb53 100644
--- a/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js
+++ b/tests/wpt/web-platform-tests/native-io/close_async.tentative.https.any.js
@@ -17,7 +17,7 @@ async function createFile(testCase, fileName) {
const writtenBytes = new Uint8Array(writeSharedArrayBuffer);
writtenBytes.set([64, 65, 66, 67]);
const writeCount = await file.write(writtenBytes, 0);
- assert_precondition(writeCount == 4);
+ assert_equals(writeCount, 4);
return file;
}
diff --git a/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js b/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js
index 001fa57a2c0..0cfc9de2ec6 100644
--- a/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js
+++ b/tests/wpt/web-platform-tests/native-io/close_sync.tentative.https.any.js
@@ -15,7 +15,7 @@ function createFileSync(testCase, fileName) {
const writtenBytes = Uint8Array.from([64, 65, 66, 67]);
const writeCount = file.write(writtenBytes, 0);
- assert_precondition(writeCount == 4);
+ assert_equals(writeCount, 4);
return file;
}
diff --git a/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js b/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js
index 22eea20c312..abc2031d5f9 100644
--- a/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js
+++ b/tests/wpt/web-platform-tests/native-io/concurrent_io_async.tentative.https.any.js
@@ -17,7 +17,7 @@ async function createFile(testCase, fileName) {
const writtenBytes = new Uint8Array(writeSharedArrayBuffer);
writtenBytes.set([64, 65, 66, 67]);
const writeCount = await file.write(writtenBytes, 0);
- assert_precondition(writeCount == 4);
+ assert_equals(writeCount, 4);
return file;
}
diff --git a/tests/wpt/web-platform-tests/wake-lock/META.yml b/tests/wpt/web-platform-tests/screen-wake-lock/META.yml
index 0123ccef855..b311993d82e 100644
--- a/tests/wpt/web-platform-tests/wake-lock/META.yml
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/META.yml
@@ -1,4 +1,4 @@
-spec: https://w3c.github.io/wake-lock/
+spec: https://w3c.github.io/screen-wake-lock/
suggested_reviewers:
- Honry
- marcoscaceres
diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js b/tests/wpt/web-platform-tests/screen-wake-lock/idlharness.https.window.js
index 60c25f3386e..370696e90b3 100644
--- a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/idlharness.https.window.js
@@ -8,8 +8,8 @@
'use strict';
idl_test(
- ['wake-lock'],
- ['dom', 'html', 'permissions'],
+ ['screen-wake-lock'],
+ ['dom', 'html'],
async idl_array => {
idl_array.add_objects({ Navigator: ['navigator'] });
diff --git a/tests/wpt/web-platform-tests/wake-lock/resources/page1.html b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page1.html
index 7fc080d380c..7fc080d380c 100644
--- a/tests/wpt/web-platform-tests/wake-lock/resources/page1.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page1.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/resources/page2.html b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page2.html
index 7fc080d380c..7fc080d380c 100644
--- a/tests/wpt/web-platform-tests/wake-lock/resources/page2.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/resources/page2.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-active-document.https.window.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-active-document.https.window.js
index 53745ea3c60..724ce091969 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-active-document.https.window.js
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-active-document.https.window.js
@@ -18,14 +18,14 @@ promise_test(async t => {
// We first got to page1.html, grab a WakeLock object.
const wakeLock1 = await getWakeLockObject(
iframe,
- "/wake-lock/resources/page1.html"
+ "/screen-wake-lock/resources/page1.html"
);
// Save the DOMException of page1.html before navigating away.
const frameDOMException1 = iframe.contentWindow.DOMException;
// We navigate the iframe again, putting wakeLock1's document into an inactive state.
const wakeLock2 = await getWakeLockObject(
iframe,
- "/wake-lock/resources/page2.html"
+ "/screen-wake-lock/resources/page2.html"
);
// Now, wakeLock1's relevant global object's document is no longer active.
// So, call .request(), and make sure it rejects appropriately.
@@ -47,7 +47,7 @@ promise_test(async t => {
// Load the outer iframe (we don't care about the awaited request)
await getWakeLockObject(
outerIframe,
- "/wake-lock/resources/page1.html"
+ "/screen-wake-lock/resources/page1.html"
);
// Now we create the inner iframe
@@ -59,7 +59,7 @@ promise_test(async t => {
// load innerIframe, and get the WakeLock instance
const wakeLock = await getWakeLockObject(
innerIframe,
- "/wake-lock/resources/page2.html"
+ "/screen-wake-lock/resources/page2.html"
);
// Save DOMException from innerIframe before navigating away.
const innerIframeDOMException = innerIframe.contentWindow.DOMException;
@@ -68,7 +68,7 @@ promise_test(async t => {
// Wait for the load event to fire.
await new Promise(resolve => {
outerIframe.addEventListener("load", resolve);
- outerIframe.src = "/wake-lock/resources/page2.html";
+ outerIframe.src = "/screen-wake-lock/resources/page2.html";
});
// Now, request's relevant global object's document is still active
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html
index 821ec62885d..821ec62885d 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers
index 5d910ce6df8..5d910ce6df8 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-disabled-by-feature-policy.https.sub.html.headers
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-document-hidden-manual.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-document-hidden-manual.https.html
index 2ac6bce20d8..550dc831cbc 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-document-hidden-manual.https.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-document-hidden-manual.https.html
@@ -2,7 +2,7 @@
<meta charset="utf-8">
<meta name="timeout" content="long">
<title>Screen wake locks respect page visibility changes</title>
-<link rel="help" href="https://w3c.github.io/wake-lock/#dfn-requesting-the-wake-lock">
+<link rel="help" href="https://w3c.github.io/screen-wake-lock/#handling-document-loss-of-visibility">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html
index 2b2e0c94cc7..2b2e0c94cc7 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html
index b8ab3b03017..b8ab3b03017 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute.https.sub.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html
index f908717ff41..f908717ff41 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers
index 7810751f805..7810751f805 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy.https.sub.html.headers
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html
index b15289beff4..b15289beff4 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers
index 6bc94277cf9..6bc94277cf9 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-insecure-context.any.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-insecure-context.any.js
index f32cc3c3543..f32cc3c3543 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-insecure-context.any.js
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-insecure-context.any.js
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-onrelease.https.html
index 88c0cdb654c..88c0cdb654c 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-onrelease.https.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-request-denied.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-request-denied.https.html
index b222ef342a6..b222ef342a6 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-request-denied.https.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-request-denied.https.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-screen-type-on-worker.https.worker.js
index 0201294e236..0201294e236 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-screen-type-on-worker.https.worker.js
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-screen-type-on-worker.https.worker.js
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-supported-by-feature-policy.html
index a55eb54ba1c..a55eb54ba1c 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-supported-by-feature-policy.html
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js
index 3a1d8c465c7..3a1d8c465c7 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelock-type.https.any.js
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js
diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelockpermissiondescriptor.https.html b/tests/wpt/web-platform-tests/screen-wake-lock/wakelockpermissiondescriptor.https.html
index 88c95987f1e..e6d0d0b07ed 100644
--- a/tests/wpt/web-platform-tests/wake-lock/wakelockpermissiondescriptor.https.html
+++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelockpermissiondescriptor.https.html
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<link rel="help" href="https://w3c.github.io/wake-lock/#the-wakelockpermissiondescriptor-dictionary">
+<link rel="help" href="https://w3c.github.io/screen-wake-lock/#the-screen-wake-lock-powerful-feature">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
@@ -13,13 +13,4 @@ promise_test(async t => {
assert_equals(status.state, "denied");
});
}, "PermissionDescriptor with name='screen-wake-lock' works");
-
-promise_test(async t => {
- await test_driver.set_permission({name: 'system-wake-lock'}, 'denied', false);
-
- return navigator.permissions.query({ name: 'system-wake-lock' }).then(status => {
- assert_class_string(status, "PermissionStatus");
- assert_equals(status.state, "denied");
- });
-}, "PermissionDescriptor with name='system-wake-lock' works");
</script>
diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js b/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js
deleted file mode 100644
index 76f5352721d..00000000000
--- a/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// META: script=/resources/testdriver.js
-// META: script=/resources/testdriver-vendor.js
-
-// https://w3c.github.io/wake-lock/
-
-'use strict';
-
-promise_test(async t => {
- await test_driver.set_permission(
- { name: 'system-wake-lock' }, 'granted', false);
-
- await fetch_tests_from_worker(new Worker('resources/idlharness-worker.js'));
-}, 'Run idlharness tests in a worker.');
diff --git a/tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js b/tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js
deleted file mode 100644
index b84ed44a8c8..00000000000
--- a/tests/wpt/web-platform-tests/wake-lock/resources/idlharness-worker.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict';
-
-// https://w3c.github.io/wake-lock/
-
-importScripts("/resources/testharness.js");
-importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
-
-idl_test(
- ['wake-lock'],
- ['dom', 'html', 'permissions'],
- async idl_array => {
- idl_array.add_objects({ WorkerNavigator: ['navigator'] });
-
- idl_array.add_objects({
- WakeLock: ['navigator.wakeLock'],
- WakeLockSentinel: ['sentinel'],
- });
-
- self.sentinel = await navigator.wakeLock.request('system');
- self.sentinel.release();
- }
-);
-
-done();