aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-12-03 09:09:18 -0500
committerGitHub <noreply@github.com>2019-12-03 09:09:18 -0500
commit54d88fd042d3d1d382b36bf5d53308dabc35991d (patch)
tree579decc1a3c98350e049be4023298b03653d2b6d
parent7aa68c8fe7ca0865a7323ab1e5b9526efa588ca2 (diff)
parent3214f9ea94277d5aa36e7cf161a1081097f16969 (diff)
downloadservo-54d88fd042d3d1d382b36bf5d53308dabc35991d.tar.gz
servo-54d88fd042d3d1d382b36bf5d53308dabc35991d.zip
Auto merge of #25032 - servo-wpt-sync:wpt_update_03-12-2019, r=servo-wpt-sync
Sync WPT with upstream (03-12-2019) Automated downstream sync of changes from upstream as of 03-12-2019. [no-wpt-sync] r? @servo-wpt-sync
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini5
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini6
-rw-r--r--tests/wpt/metadata/MANIFEST.json95
-rw-r--r--tests/wpt/metadata/css/css-transforms/parsing/translate-parsing-valid.html.ini3
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini12
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini8
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini2
-rw-r--r--tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini10
-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_3.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini19
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini19
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini34
-rw-r--r--tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini1
-rw-r--r--tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini3
-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/forms/form-submission-0/form-double-submit.html.ini2
-rw-r--r--tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini2
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini4
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini1
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini1
-rw-r--r--tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/.taskcluster.yml106
-rw-r--r--tests/wpt/web-platform-tests/content-dpr/resources/background.svg8
-rw-r--r--tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr-ref.html29
-rw-r--r--tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/metadata/META.yml5
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html12
-rw-r--r--tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/buffered-flag-unsupported.window.js19
-rw-r--r--tests/wpt/web-platform-tests/longtask-timing/buffered-flag.window.js26
-rw-r--r--tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js7
-rw-r--r--tests/wpt/web-platform-tests/svg/animations/begin-attribute-mutation.html29
-rw-r--r--tests/wpt/web-platform-tests/svg/animations/cyclic-syncbase-2.html29
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/decision.py7
-rw-r--r--tests/wpt/web-platform-tests/tools/requirements_mypy.txt2
-rw-r--r--tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html57
-rw-r--r--tests/wpt/web-platform-tests/web-nfc/NDEFWriter_push.https.html3
-rw-r--r--tests/wpt/web-platform-tests/web-nfc/resources/nfc-helpers.js25
52 files changed, 503 insertions, 310 deletions
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 cd3e2dfa305..76b398963ae 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: FAIL
@@ -15,3 +15,6 @@
[Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.]
expected: FAIL
+ [Fetching a blob URL immediately before revoking it works in <script> tags.]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
index 0bf3b469372..4c1aa18e695 100644
--- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
@@ -2,8 +2,14 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
+ [Revoke blob URL after calling fetch, fetch should succeed]
+ expected: FAIL
+
[url-with-fetch.any.html]
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
+ [Revoke blob URL after calling fetch, fetch should succeed]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 9520740e3b0..f874a593c60 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -20343,6 +20343,18 @@
{}
]
],
+ "content-dpr/tiled-background-svg-image-with-content-dpr.html": [
+ [
+ "content-dpr/tiled-background-svg-image-with-content-dpr.html",
+ [
+ [
+ "/content-dpr/tiled-background-image-with-content-dpr-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/CSS2/abspos/abspos-containing-block-initial-001.xht": [
[
"css/CSS2/abspos/abspos-containing-block-initial-001.xht",
@@ -229485,6 +229497,9 @@
"content-dpr/resources/background.png": [
[]
],
+ "content-dpr/resources/background.svg": [
+ []
+ ],
"content-dpr/resources/dpr.py": [
[]
],
@@ -229494,6 +229509,9 @@
"content-dpr/tiled-background-image-with-content-dpr-ref.html": [
[]
],
+ "content-dpr/tiled-background-svg-image-with-content-dpr-ref.html": [
+ []
+ ],
"content-security-policy/META.yml": [
[]
],
@@ -268890,6 +268908,9 @@
"fetch/http-cache/resources/split-origin-popup.html": [
[]
],
+ "fetch/metadata/META.yml": [
+ []
+ ],
"fetch/metadata/README.md": [
[]
],
@@ -362860,6 +362881,12 @@
{}
]
],
+ "html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html": [
+ [
+ "html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html",
+ {}
+ ]
+ ],
"html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html": [
[
"html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html",
@@ -372564,9 +372591,9 @@
{}
]
],
- "longtask-timing/buffered-flag-unsupported.window.js": [
+ "longtask-timing/buffered-flag.window.js": [
[
- "longtask-timing/buffered-flag-unsupported.window.html",
+ "longtask-timing/buffered-flag.window.html",
{}
]
],
@@ -415371,6 +415398,12 @@
{}
]
],
+ "svg/animations/begin-attribute-mutation.html": [
+ [
+ "svg/animations/begin-attribute-mutation.html",
+ {}
+ ]
+ ],
"svg/animations/beginelement-instance-time-1.html": [
[
"svg/animations/beginelement-instance-time-1.html",
@@ -415407,6 +415440,12 @@
{}
]
],
+ "svg/animations/cyclic-syncbase-2.html": [
+ [
+ "svg/animations/cyclic-syncbase-2.html",
+ {}
+ ]
+ ],
"svg/animations/cyclic-syncbase.html": [
[
"svg/animations/cyclic-syncbase.html",
@@ -460837,7 +460876,7 @@
"support"
],
".taskcluster.yml": [
- "cc07b1d67117e98ca098dc9fc5a33497cd9faaf6",
+ "8bdbabb9e2a6ddbc367f54c205ee25139a002cfe",
"support"
],
".well-known/README.md": [
@@ -490132,6 +490171,10 @@
"6db6c6b1b9d851c7a85b93ddc9e5ddf368ac0a7e",
"support"
],
+ "content-dpr/resources/background.svg": [
+ "b2c544ed2d0ebf8a90bc2311e45ac4a69ffea08c",
+ "support"
+ ],
"content-dpr/resources/dpr.py": [
"14d7d550fe28d49a63105ea966d3cf7cf59901b1",
"support"
@@ -490148,6 +490191,14 @@
"94f2f72d40196749faf6092d178f67dfc7067dcb",
"reftest"
],
+ "content-dpr/tiled-background-svg-image-with-content-dpr-ref.html": [
+ "cd8c7d3ea985655040ec62bb426080bbfac2359f",
+ "support"
+ ],
+ "content-dpr/tiled-background-svg-image-with-content-dpr.html": [
+ "56948ea286b8c9869863e139147348056727fa20",
+ "reftest"
+ ],
"content-security-policy/META.yml": [
"ee8f1ea7e07b94711ddc65e43a6c32dbc5983612",
"support"
@@ -603881,7 +603932,7 @@
"testharness"
],
"css/css-transforms/parsing/translate-parsing-valid.html": [
- "f15fdf0c4fb4ad004db749f622747a0035dcc909",
+ "04440d552c0668c72c7b028ad22eee892cf4ea61",
"testharness"
],
"css/css-transforms/patternTransform/reference/svg-patternTransform-combination-ref.html": [
@@ -643020,6 +643071,10 @@
"32a387288af1db934458bcc77512c388ec2ab168",
"testharness"
],
+ "fetch/metadata/META.yml": [
+ "96d1392b3b71ae36876347799a3e4f217c59a020",
+ "support"
+ ],
"fetch/metadata/README.md": [
"34864d4a4b6bd911f496026ada7bdc41ba3a6905",
"support"
@@ -657840,6 +657895,10 @@
"fd65f932982907bf62ab6455c9ab94612b0dca7a",
"testharness"
],
+ "html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html": [
+ "5e3b7682cc8dd45a22bb74b5f7b11a6a4a728d72",
+ "testharness"
+ ],
"html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html": [
"f0ff9ff5082d849d6b987a8ee4b46d5d0d1794e5",
"testharness"
@@ -665877,11 +665936,11 @@
"support"
],
"infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini": [
- "1d63261c554f96705801a92871a6159b1f0d5ea0",
+ "358c6f0902e88fc61d24368b0d0874d318ae92d3",
"support"
],
"infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini": [
- "4f1939a431ae272024f62a4169bf8431efc2c5bb",
+ "83ade1dddf02b0e9d9df5721338bd68c0d0acac3",
"support"
],
"infrastructure/metadata/infrastructure/testdriver/actions/pause.html.ini": [
@@ -667640,8 +667699,8 @@
"91c07f9fd3f3097367f2ad87a2ebb0d98b11d4e2",
"support"
],
- "longtask-timing/buffered-flag-unsupported.window.js": [
- "ea17b824c355ace2b67ccefc1ddbf25e03a299d0",
+ "longtask-timing/buffered-flag.window.js": [
+ "dafce7ea3bb2f3d7f4691bc6ca8bde439246abe2",
"testharness"
],
"longtask-timing/idlharness.window.js": [
@@ -695433,7 +695492,7 @@
"support"
],
"resources/chromium/nfc-mock.js": [
- "b1de419ca20d67bc2e69d6a54a6fbff7d400912b",
+ "224a6078c1e0d95299d1e3a2e79c6bf3f7614b5f",
"support"
],
"resources/chromium/sensor.mojom.js": [
@@ -701700,6 +701759,10 @@
"7a9ad43dd98e00f7e2af4957365441a29aedf8e6",
"testharness"
],
+ "svg/animations/begin-attribute-mutation.html": [
+ "f28c8e9ad1ab06ae10cb9a6e883bd80ff58a8974",
+ "testharness"
+ ],
"svg/animations/beginelement-instance-time-1.html": [
"aa1cb8c983d482439fccc6d91b50e69585f4d404",
"testharness"
@@ -701724,6 +701787,10 @@
"19e7eef8c1ce470d67c2eaecf2f07a9d2907f2c1",
"testharness"
],
+ "svg/animations/cyclic-syncbase-2.html": [
+ "f48bbffa8599ae0f83f7977707027b75396cd3ce",
+ "testharness"
+ ],
"svg/animations/cyclic-syncbase.html": [
"c0351156e310a8a6f0fca3ebee506b80983a53bb",
"testharness"
@@ -706501,7 +706568,7 @@
"support"
],
"tools/ci/tc/decision.py": [
- "a3c47aa404990253f556a9cf59bd7c6237ffece3",
+ "92a27ef79ab3fb49aff79197ca503b7a766c8c03",
"support"
],
"tools/ci/tc/download.py": [
@@ -707265,7 +707332,7 @@
"support"
],
"tools/requirements_mypy.txt": [
- "31545c2f0747a9c20d77b50d27096a4ecafd4351",
+ "194f4284b26903b1faf969b6ab5d30f5c48eb562",
"support"
],
"tools/runner/css/bootstrap-theme.min.css": [
@@ -718425,7 +718492,7 @@
"testharness"
],
"web-nfc/NDEFRecord_constructor.https.html": [
- "ea7b5e4950866ff7eeed5fd4ed127460b5ef6c33",
+ "1b2dda9bfc87da146c3b3562dff64568fb68f9b1",
"testharness"
],
"web-nfc/NDEFWriter-document-hidden-manual.https.html": [
@@ -718433,7 +718500,7 @@
"manual"
],
"web-nfc/NDEFWriter_push.https.html": [
- "6c7aca9fe938184bbc7090339be86a790454c7b6",
+ "a33b1fab3034af2058a133e8182086dc2cb2dfbe",
"testharness"
],
"web-nfc/README.md": [
@@ -718449,7 +718516,7 @@
"testharness"
],
"web-nfc/resources/nfc-helpers.js": [
- "0fe6fe80cb1cec7ef582bae5d7974bce9d1d8596",
+ "3ce725a7c475b28d96f15dfd12736ed8a54f0006",
"support"
],
"web-nfc/resources/support-iframe.html": [
diff --git a/tests/wpt/metadata/css/css-transforms/parsing/translate-parsing-valid.html.ini b/tests/wpt/metadata/css/css-transforms/parsing/translate-parsing-valid.html.ini
index 2e5706ee01d..3d698e879cd 100644
--- a/tests/wpt/metadata/css/css-transforms/parsing/translate-parsing-valid.html.ini
+++ b/tests/wpt/metadata/css/css-transforms/parsing/translate-parsing-valid.html.ini
@@ -5,6 +5,3 @@
[Serialization should round-trip after setting e.style['translate'\] = "1px 2px 0"]
expected: FAIL
- [e.style['translate'\] = "100px calc(10px - 10%)" should set the property value]
- 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 646f7da0935..18d39d1ef35 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,21 +312,21 @@
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*]
+ [<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html */*]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*]
+ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html */*;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 2d5faa72ac7..ab9bcf18e68 100644
--- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
@@ -53,6 +53,12 @@
[combined text/javascript ]
expected: FAIL
- [separate text/javascript;charset=windows-1252 error text/javascript]
+ [separate text/javascript x/x]
+ expected: FAIL
+
+ [separate text/javascript error]
+ expected: FAIL
+
+ [separate text/javascript;charset=windows-1252 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 a639f15230c..a63e414f43a 100644
--- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -11,6 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
- [Content-Type-Options%3A%20nosniff]
+ [X-Content-Type-Options%3A%20%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
index 54f7f890b05..6bd06899fdd 100644
--- a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
+++ b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
@@ -8,8 +8,14 @@
expected: FAIL
[Embedded credentials are treated as network errors in new windows.]
- expected: TIMEOUT
+ expected: FAIL
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
- expected: FAIL
+ expected: TIMEOUT
+
+ [Embedded credentials matching the top-level are not treated as network errors for same-origin URLs.]
+ expected: TIMEOUT
+
+ [Embedded credentials matching the top-level are not treated as network errors for relative URLs.]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
new file mode 100644
index 00000000000..75d75b4cda2
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_2.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
new file mode 100644
index 00000000000..51f8272a6de
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_3.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini
index dec4c579137..16fa2c5cfc1 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini
@@ -1,5 +1,4 @@
[creating_browsing_context_test_01.html]
- expected: TIMEOUT
[first argument: absolute url]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini
index e02f179ec25..bf50d59df41 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini
@@ -1,24 +1,5 @@
[open-features-negative-innerwidth-innerheight.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`]
expected: FAIL
- [features "innerheight=-404.5" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "innerwidth=-404.5" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "innerwidth=-404" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "innerheight=-404e1" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "innerheight=-404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "innerwidth=-404e1" should NOT set "width=404"]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini
index 23eefb8eaf9..e150c9d848f 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini
@@ -1,24 +1,5 @@
[open-features-negative-screenx-screeny.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `screenx`, `screeny`]
expected: FAIL
- [features "screenx=-204" should NOT set "left=204"]
- expected: TIMEOUT
-
- [features "screeny=-204" should NOT set "top=204"]
- expected: TIMEOUT
-
- [features "screeny=-204.5" should NOT set "top=204"]
- expected: TIMEOUT
-
- [features "screeny=-0" should NOT set "top=204"]
- expected: TIMEOUT
-
- [features "screenx=-0" should NOT set "left=204"]
- expected: TIMEOUT
-
- [features "screenx=-204.5" should NOT set "left=204"]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini
index fcaeae5336d..779531b4a98 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini
@@ -1,42 +1,32 @@
[open-features-non-integer-innerheight.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerheight`]
expected: FAIL
[features "innerheight=405e-1" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405LLl" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405^4" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405e1" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405 " should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405/5" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405.32" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405.5" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerheight=405*3" should set "height=405"]
- expected: TIMEOUT
-
- [features "innerheight=_404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "innerheight=L404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "innerheight=/404" should NOT set "height=404"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini
index 42327fedd27..7a1b258d52e 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini
@@ -1,42 +1,32 @@
[open-features-non-integer-innerwidth.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerwidth`]
expected: FAIL
[features "innerwidth=405e-1" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405*3" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405.5" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405e1" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405.32" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405 " should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405LLl" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405/5" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "innerwidth=405^4" should set "width=405"]
- expected: TIMEOUT
-
- [features "innerwidth=/404" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "innerwidth=_404" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "innerwidth=L404" should NOT set "width=404"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini
index a8e4fe06618..caba4124f0b 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini
@@ -1,42 +1,32 @@
[open-features-non-integer-left.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `left`]
expected: FAIL
[features "left=105e1" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105 " should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105/5" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105e-1" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105^4" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105LLl" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105.32" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105*3" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "left=105.5" should set "left=105"]
- expected: TIMEOUT
-
- [features "left=L104" should NOT set "left=104"]
- expected: TIMEOUT
-
- [features "left=/104" should NOT set "left=104"]
- expected: TIMEOUT
-
- [features "left=_104" should NOT set "left=104"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini
index 64a08faf0e6..9ace8a4cbdb 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini
@@ -1,42 +1,32 @@
[open-features-non-integer-screenx.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screenx`]
expected: FAIL
[features "screenx=105.5" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105e1" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105 " should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105*3" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105e-1" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105^4" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105LLl" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105/5" should set "left=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "screenx=105.32" should set "left=105"]
- expected: TIMEOUT
-
- [features "screenx=_104" should NOT set "left=104"]
- expected: TIMEOUT
-
- [features "screenx=L104" should NOT set "left=104"]
- expected: TIMEOUT
-
- [features "screenx=/104" should NOT set "left=104"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini
index 4f22ef4ef29..a82bd0f981a 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini
@@ -1,42 +1,32 @@
[open-features-non-integer-screeny.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screeny`]
expected: FAIL
[features "screeny=405^4" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405e-1" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405LLl" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405e1" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405 " should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405/5" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405*3" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405.32" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "screeny=405.5" should set "height=405"]
- expected: TIMEOUT
-
- [features "screeny=_404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "screeny=L404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "screeny=/404" should NOT set "height=404"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini
index 8540f53d8d6..10f617db69e 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini
@@ -1,42 +1,32 @@
[open-features-non-integer-top.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `top`]
expected: FAIL
[features "top=105/5" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105*3" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105LLl" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105e-1" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105.32" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105e1" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105 " should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105^4" should set "top=105"]
- expected: TIMEOUT
+ expected: FAIL
[features "top=105.5" should set "top=105"]
- expected: TIMEOUT
-
- [features "top=/104" should NOT set "top=104"]
- expected: TIMEOUT
-
- [features "top=_104" should NOT set "top=104"]
- expected: TIMEOUT
-
- [features "top=L104" should NOT set "top=104"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini
index 9d841e61bc0..28f93ee71b5 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini
@@ -1,48 +1,32 @@
[open-features-non-integer-width.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `width`]
expected: FAIL
[features "width=405^4" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405.5" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405e1" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405 " should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405.32" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405LLl" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405*3" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405e-1" should set "width=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "width=405/5" should set "width=405"]
- expected: TIMEOUT
-
- [top=0,left=0: absence of feature "width" should be treated same as "width=0"]
- expected: TIMEOUT
-
- [features "width=_404" should NOT set "width=404"]
- expected: TIMEOUT
-
- [top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"]
- expected: TIMEOUT
-
- [features "width=/404" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "width=L404" should NOT set "width=404"]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini b/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
index 442db3cb549..2532dceabac 100644
--- a/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
+++ b/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
@@ -1,4 +1,5 @@
[embedded-opener-remove-frame.html]
+ expected: CRASH
[opener and "removed" embedded documents]
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 d1ca01ebc5f..6b68e9094e4 100644
--- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,5 +1,4 @@
[supported-elements.html]
- expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@@ -10,7 +9,7 @@
expected: FAIL
[Area element should support autofocus]
- expected: TIMEOUT
+ expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index 2a166bb97b7..fc37df7e3fa 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
- expected: CRASH
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index 5f60c78e73c..f6a7aca3306 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,6 +1,5 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
- expected: TIMEOUT
+ 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 963d4cd20ef..9df1ac56f2a 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: CRASH
+ expected: TIMEOUT
[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/forms/form-submission-0/form-double-submit.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini
index 47a7bbb7975..dce74c6dd71 100644
--- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini
@@ -1,5 +1,5 @@
[form-double-submit.html]
expected: ERROR
[default submit action should supersede onclick submit()]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini b/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini
deleted file mode 100644
index 68cde348264..00000000000
--- a/tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/size.large.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[size.large.html]
- expected: CRASH
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index a56bad443a2..66bd350083b 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,5 +1,4 @@
[realtimeanalyser-fft-scaling.html]
- expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata/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/baseurl/alpha/import-in-moduleworker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini
index bfd4d6dd2d6..bf2a1d61bab 100644
--- a/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini
+++ b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini
@@ -1,5 +1,4 @@
[import-in-moduleworker.html]
- expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini
index 333edb3a26e..650c91da4a6 100644
--- a/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini
+++ b/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini
@@ -1,4 +1,5 @@
[sharedworker-in-worker.html]
+ expected: ERROR
[Base URL in workers: new SharedWorker()]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
new file mode 100644
index 00000000000..80f9a4f15b8
--- /dev/null
+++ b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
@@ -0,0 +1,2 @@
+[Worker-constructor.html]
+ expected: ERROR
diff --git a/tests/wpt/web-platform-tests/.taskcluster.yml b/tests/wpt/web-platform-tests/.taskcluster.yml
index cc07b1d6711..8bdbabb9e2a 100644
--- a/tests/wpt/web-platform-tests/.taskcluster.yml
+++ b/tests/wpt/web-platform-tests/.taskcluster.yml
@@ -3,17 +3,6 @@ policy:
pullRequests: public
tasks:
$let:
- event_str: {$json: {$eval: event}}
- scopes:
- $if: 'tasks_for == "github-push"'
- then:
- $let:
- branch:
- $if: "event.ref[:11] == 'refs/heads/'"
- then: "${event.ref[11:]}"
- else: "${event.ref}"
- in: "assume:repo:github.com/${event.repository.full_name}:branch:${branch}"
- else: "assume:repo:github.com/${event.repository.full_name}:pull-request"
run_task:
$if: 'tasks_for == "github-push"'
then:
@@ -27,43 +16,66 @@ tasks:
then: true
else: false
else: false
- rev:
- $if: 'tasks_for == "github-pull-request"'
- then: "refs/pull/${event.number}/merge"
- else: "${event.after}"
in:
- $if: run_task
then:
- created: {$fromNow: ''}
- deadline: {$fromNow: '24 hours'}
- provisionerId: proj-wpt
- workerType: ci
- metadata:
- name: "wpt-decision-task"
- description: "The task that creates all of the other tasks in the task graph"
- owner: "${event.sender.login}@users.noreply.github.com"
- source: ${event.repository.clone_url}
- payload:
- image: harjgam/web-platform-tests:0.33
- maxRunTime: 7200
- artifacts:
- public/results:
- path: /home/test/artifacts
- type: directory
- command:
- - /bin/bash
- - --login
- - -c
- - set -ex;
- ~/start.sh
- ${event.repository.clone_url}
- ${rev};
- cd ~/web-platform-tests;
- ./wpt tc-decision --tasks-path=/home/test/artifacts/tasks.json
- features :
- taskclusterProxy: true
- scopes:
- - ${scopes}
- extra:
- github_event: "${event_str}"
+ $let:
+ event_str: {$json: {$eval: event}}
+ scopes:
+ $if: 'tasks_for == "github-push"'
+ then:
+ $let:
+ branch:
+ $if: "event.ref[:11] == 'refs/heads/'"
+ then: "${event.ref[11:]}"
+ else: "${event.ref}"
+ in: "assume:repo:github.com/${event.repository.full_name}:branch:${branch}"
+ else: "assume:repo:github.com/${event.repository.full_name}:pull-request"
+ rev:
+ $if: 'tasks_for == "github-pull-request"'
+ then: "refs/pull/${event.number}/merge"
+ else: "${event.after}"
+ owner:
+ $if: 'tasks_for == "github-push"'
+ then:
+ $if: 'event.pusher.email'
+ then:
+ $if: '"@" in event.pusher.email'
+ then: ${event.pusher.email}
+ else: web-platform-tests@users.noreply.github.com
+ else: web-platform-tests@users.noreply.github.com
+ else: web-platform-tests@users.noreply.github.com
+ in:
+ created: {$fromNow: ''}
+ deadline: {$fromNow: '24 hours'}
+ provisionerId: proj-wpt
+ workerType: ci
+ metadata:
+ name: "wpt-decision-task"
+ description: "The task that creates all of the other tasks in the task graph"
+ owner: ${owner}
+ source: ${event.repository.clone_url}
+ payload:
+ image: harjgam/web-platform-tests:0.33
+ maxRunTime: 7200
+ artifacts:
+ public/results:
+ path: /home/test/artifacts
+ type: directory
+ command:
+ - /bin/bash
+ - --login
+ - -c
+ - set -ex;
+ ~/start.sh
+ ${event.repository.clone_url}
+ ${rev};
+ cd ~/web-platform-tests;
+ ./wpt tc-decision --tasks-path=/home/test/artifacts/tasks.json
+ features :
+ taskclusterProxy: true
+ scopes:
+ - ${scopes}
+ extra:
+ github_event: "${event_str}"
diff --git a/tests/wpt/web-platform-tests/content-dpr/resources/background.svg b/tests/wpt/web-platform-tests/content-dpr/resources/background.svg
new file mode 100644
index 00000000000..b2c544ed2d0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-dpr/resources/background.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="yes"?>
+
+<svg version="1.1" viewBox="0 0 32 32" width="32" height="32" fill="none" stroke="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<rect x="0" y="0" width="16" height="16" fill="#c0c0c0" />
+<rect x="16" y="0" width="16" height="16" fill="#ffffff" />
+<rect x="0" y="16" width="16" height="16" fill="#ffffff" />
+<rect x="16" y="16" width="16" height="16" fill="#c0c0c0" />
+</svg>
diff --git a/tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr-ref.html b/tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr-ref.html
new file mode 100644
index 00000000000..cd8c7d3ea98
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr-ref.html
@@ -0,0 +1,29 @@
+<html>
+ <head>
+ <title>Content-DPR: css tiled background</title>
+ <link rel="author" title="Noam Rosenthal" href="noam@webkit.org">
+ <meta name="assert" content="Assert that content-dpr is taken into account for tiled background images">
+ <style>
+ #bg, #bg2 {
+ background-image: url(resources/background.svg);
+ width: 32px;
+ height: 32px;
+ }
+ #bg {
+ background-size: 16px 16px;
+ }
+
+ #bg2 {
+ background-size: 8px 8px;
+ }
+ </style>
+ </head>
+ <body>
+ The next div should have 16 boxes
+ <div id="bg">
+ </div>
+ The next div should have 64 boxes
+ <div id="bg2">
+ </div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr.html b/tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr.html
new file mode 100644
index 00000000000..56948ea286b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/content-dpr/tiled-background-svg-image-with-content-dpr.html
@@ -0,0 +1,27 @@
+<html>
+ <head>
+ <title>Content-DPR: css tiled background</title>
+ <link rel="author" title="Noam Rosenthal" href="noam@webkit.org">
+ <link rel="match" href="tiled-background-image-with-content-dpr-ref.html" />
+ <meta name="assert" content="Assert that content-dpr is taken into account for tiled background images">
+ <style>
+ #bg, #bg2 {
+ width: 32px;
+ height: 32px;
+ background-image: url(resources/dpr.py?name=background.svg&mimeType=image/svg%2Bxml&dpr=2.0);
+ }
+
+ #bg2 {
+ background-size: 8px 8px;
+ }
+ </style>
+ </head>
+ <body>
+ The next div should have 16 boxes
+ <div id="bg">
+ </div>
+ The next div should have 64 boxes
+ <div id="bg2">
+ </div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html
index f15fdf0c4fb..04440d552c0 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/translate-parsing-valid.html
@@ -19,7 +19,7 @@ test_valid_value("translate", "100%");
test_valid_value("translate", "100px 0px", "100px");
test_valid_value("translate", "100px 0.1px", "100px 0.1px");
test_valid_value("translate", "100px 0%", "100px");
-test_valid_value("translate", "100px calc(10px - 10%)", "100px calc(10px - 10%)");
+test_valid_value("translate", "100px calc(10px - 10%)", "100px calc(-10% + 10px)");
test_valid_value("translate", "100px 200%");
test_valid_value("translate", "100% 200px");
diff --git a/tests/wpt/web-platform-tests/fetch/metadata/META.yml b/tests/wpt/web-platform-tests/fetch/metadata/META.yml
new file mode 100644
index 00000000000..96d1392b3b7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/fetch/metadata/META.yml
@@ -0,0 +1,5 @@
+suggested_reviewers:
+ - zcorpan
+ - jugglinmike
+ - mikewest
+ - iVanlIsh
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html
new file mode 100644
index 00000000000..5e3b7682cc8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_navigate_ancestor-1.sub.html
@@ -0,0 +1,12 @@
+<!doctype html>
+<meta charset="utf-8">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ async_test(t => {
+ window.addEventListener('message', t.step_func_done(e => {
+ assert_equals(e.data, "can navigate");
+ }));
+ }, "A => B => B: B should be able to navigate B.");
+</script>
+<iframe src="https://{{hosts[][www]}}:{{ports[https][0]}}/html/semantics/embedded-content/the-iframe-element/support/iframe-tried-to-be-navigated-by-its-child.html"></iframe>
diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini
index 1d63261c554..358c6f0902e 100644
--- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini
+++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPoints.html.ini
@@ -1,6 +1,7 @@
[multiTouchPoints.html]
expected:
if product == "firefox" or product == "safari" or product == "epiphany" or product == "webkit": ERROR
+ if product == "chrome" and os == "mac": ERROR
[TestDriver actions: two touch points with one moving one pause]
expected:
if product == "chrome" and os != "mac": FAIL
diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini
index 4f1939a431a..83ade1dddf0 100644
--- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini
+++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/multiTouchPointsWithPause.html.ini
@@ -1,3 +1,4 @@
[multiTouchPointsWithPause.html]
expected:
if product == "firefox" or product == "safari": ERROR
+ if product == "chrome" and os == "mac": ERROR
diff --git a/tests/wpt/web-platform-tests/longtask-timing/buffered-flag-unsupported.window.js b/tests/wpt/web-platform-tests/longtask-timing/buffered-flag-unsupported.window.js
deleted file mode 100644
index ea17b824c35..00000000000
--- a/tests/wpt/web-platform-tests/longtask-timing/buffered-flag-unsupported.window.js
+++ /dev/null
@@ -1,19 +0,0 @@
-async_test(t => {
- if (!window.PerformanceLongTaskTiming) {
- assert_unreached("Longtasks are not supported.");
- }
- new PerformanceObserver(t.step_func(entryList => {
- const observer = new PerformanceObserver(t.step_func_done(list => {
- list.getEntries().forEach(entry => {
- assert_not_equals(entry.entryType, 'longtask');
- });
- }));
- observer.observe({type: 'longtask', buffered: true});
- observer.observe({type: 'mark'});
- // Create a mark to ensure the |observer|'s callback is dispatched.
- performance.mark('a');
- })).observe({entryTypes: ['longtask']});
- // Create a long task.
- const begin = window.performance.now();
- while (window.performance.now() < begin + 60);
-}, 'PerformanceObserver with buffered flag cannot see previous longtask entries.');
diff --git a/tests/wpt/web-platform-tests/longtask-timing/buffered-flag.window.js b/tests/wpt/web-platform-tests/longtask-timing/buffered-flag.window.js
new file mode 100644
index 00000000000..dafce7ea3bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/longtask-timing/buffered-flag.window.js
@@ -0,0 +1,26 @@
+async_test(t => {
+ assert_precondition(window.PerformanceLongTaskTiming, 'Longtasks are not supported.');
+ new PerformanceObserver(t.step_func((entryList, obs) => {
+ const observer = new PerformanceObserver(t.step_func_done(list => {
+ let longtaskObserved = false;
+ list.getEntries().forEach(entry => {
+ if (entry.entryType === 'mark')
+ return;
+ assert_equals(entry.entryType, 'longtask');
+ assert_equals(entry.name, 'self');
+ assert_greater_than(longtask.duration, 50);
+ longtaskObserved = true;
+ });
+ assert_true(longtaskObserved, 'Did not observe buffered longtask.');
+ }));
+ observer.observe({type: 'longtask', buffered: true});
+ // Observer mark so that we can flush the observer callback.
+ observer.observe({type: 'mark'});
+ performance.mark('m');
+ // Disconnect the embedding observer so this callback only runs once.
+ obs.disconnect();
+ })).observe({entryTypes: ['longtask']});
+ // Create a long task.
+ const begin = window.performance.now();
+ while (window.performance.now() < begin + 60);
+}, 'PerformanceObserver with buffered flag can see previous longtask entries.');
diff --git a/tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js b/tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js
index b1de419ca20..224a6078c1e 100644
--- a/tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js
+++ b/tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js
@@ -27,6 +27,7 @@ function toMojoNDEFRecord(record) {
let nfcRecord = new device.mojom.NDEFRecord();
nfcRecord.recordType = record.recordType;
nfcRecord.mediaType = record.mediaType;
+ nfcRecord.id = record.id;
nfcRecord.data = toByteArray(record.data);
if (record.data != null && record.data.records !== undefined) {
// |record.data| may be an NDEFMessageInit, i.e. the payload is a message.
@@ -59,6 +60,12 @@ function toByteArray(data) {
function compareNDEFRecords(providedRecord, receivedRecord) {
assert_equals(providedRecord.recordType, receivedRecord.recordType);
+ if (providedRecord.id === undefined) {
+ assert_equals(null, receivedRecord.id);
+ } else {
+ assert_equals(providedRecord.id, receivedRecord.id);
+ }
+
if (providedRecord.mediaType === undefined) {
assert_equals(null, receivedRecord.mediaType);
} else {
diff --git a/tests/wpt/web-platform-tests/svg/animations/begin-attribute-mutation.html b/tests/wpt/web-platform-tests/svg/animations/begin-attribute-mutation.html
new file mode 100644
index 00000000000..f28c8e9ad1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/animations/begin-attribute-mutation.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<title>Mutating the 'begin' attribute after the element has started</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<svg>
+ <rect width="100" height="100" fill="blue">
+ <animate id="anim" attributeName="x" values="100; 0"
+ begin="0s" dur="50ms" fill="freeze"/>
+ </rect>
+</svg>
+<script>
+ async_test(function(t) {
+ let anim = document.getElementById("anim");
+ anim.endEventsReceived = 0;
+ anim.addEventListener('endEvent', t.step_func(function() {
+ anim.endEventsReceived++;
+ if (anim.endEventsReceived)
+ t.done();
+ }));
+ onload = function() {
+ // Allow some time to pass before mutating 'begin'. This should ensure
+ // that the element has started.
+ requestAnimationFrame(function() {
+ anim.ownerSVGElement.setCurrentTime(0);
+ anim.setAttribute("begin", "50ms");
+ });
+ };
+ });
+</script>
diff --git a/tests/wpt/web-platform-tests/svg/animations/cyclic-syncbase-2.html b/tests/wpt/web-platform-tests/svg/animations/cyclic-syncbase-2.html
new file mode 100644
index 00000000000..f48bbffa859
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/animations/cyclic-syncbase-2.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<title>Cyclic syncbase dependency with syncbase trigger</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<svg>
+ <rect width="100" height="100" fill="blue">
+ <animate attributeName="fill" from="yellow" to="blue" id="a"
+ begin="c.end; b.begin" dur="10ms"/>
+ </rect>
+ <rect width="100" height="100" x="100" fill="blue">
+ <animate attributeName="fill" from="yellow" to="blue" id="b"
+ begin="c.end; a.begin" dur="10ms"/>
+ </rect>
+ <rect width="100" height="100" x="200" fill="blue">
+ <animate attributeName="fill" from="yellow" to="blue" id="c"
+ begin="0; 15ms" dur="10ms"/>
+ </rect>
+</svg>
+<script>
+ async_test(function(t) {
+ let a = document.getElementById('a');
+ a.ended = 0;
+ a.addEventListener('endEvent', t.step_func(function() {
+ a.ended++;
+ if (a.ended === 2)
+ t.done();
+ }));
+ });
+</script>
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/decision.py b/tests/wpt/web-platform-tests/tools/ci/tc/decision.py
index a3c47aa4049..92a27ef79ab 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/decision.py
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/decision.py
@@ -194,9 +194,10 @@ cd web-platform-tests;
def get_owner(event):
- pusher = event.get("pusher", {}).get("email", "")
- if "@" in pusher:
- return pusher
+ if "pusher" in event:
+ pusher = event.get("pusher", {}).get("email", "")
+ if pusher and "@" in pusher:
+ return pusher
return "web-platform-tests@users.noreply.github.com"
diff --git a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
index 31545c2f074..194f4284b26 100644
--- a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
+++ b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
@@ -1,3 +1,3 @@
-mypy==0.740
+mypy==0.750
mypy-extensions==0.4.3
typed-ast==1.4.0
diff --git a/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html b/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html
index ea7b5e49508..1b2dda9bfc8 100644
--- a/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html
+++ b/tests/wpt/web-platform-tests/web-nfc/NDEFRecord_constructor.https.html
@@ -18,29 +18,56 @@
test(() => {
assert_throws(new TypeError, () => new NDEFRecord(
- createRecord('empty', test_text_data, 'text/plain')),
+ createRecord('empty', test_text_data, test_record_id, 'text/plain')),
'mediaType does not apply for empty record type.');
assert_throws(new TypeError, () => new NDEFRecord(
- createRecord('text', test_text_data, 'text/plain')),
+ createRecord('text', test_text_data, test_record_id, 'text/plain')),
'mediaType does not apply for text record type.');
assert_throws(new TypeError, () => new NDEFRecord(
- createRecord('url', test_url_data, 'text/plain')),
+ createRecord('url', test_url_data, test_record_id, 'text/plain')),
'mediaType does not apply for url record type.');
assert_throws(new TypeError, () => new NDEFRecord(
- createRecord('absolute-url', test_url_data, 'text/plain')),
+ createRecord('absolute-url', test_url_data, test_record_id, 'text/plain')),
'mediaType does not apply for absolute-url record type.');
assert_throws(new TypeError, () => new NDEFRecord(
- createRecord('unknown', test_buffer_data, 'application/octet-stream')),
+ createRecord('unknown', test_buffer_data, test_record_id, 'application/octet-stream')),
'mediaType does not apply for unknown record type.');
assert_throws(new TypeError, () => new NDEFRecord(
- createRecord('foo.example.com:bar', test_buffer_data, 'application/octet-stream')),
+ createRecord('foo.example.com:bar', test_buffer_data, test_record_id, 'application/octet-stream')),
'mediaType does not apply for external record type.');
}, 'NDEFRecord constructor should only accept mediaType for mime record type');
test(() => {
+ {
+ const record = new NDEFRecord(createRecord('text', test_text_data));
+ assert_equals(record.id, null, 'id');
+ }
+ {
+ const record = new NDEFRecord(createRecord('text', test_text_data, ''));
+ assert_equals(record.id, '', 'id');
+ }
+ {
+ const dummy_id = 'https://dummy_host/mypath/myid';
+ const record = new NDEFRecord(createRecord('text', test_text_data, dummy_id));
+ assert_equals(record.id, dummy_id, 'id');
+ }
+ {
+ const dummy_id = 'http://dummy_host/mypath/myid';
+ const record = new NDEFRecord(createRecord('text', test_text_data, dummy_id));
+ assert_equals(record.id, dummy_id, 'id');
+ }
+ {
+ const dummy_id = 'mypath/myid';
+ const record = new NDEFRecord(createRecord('text', test_text_data, dummy_id));
+ assert_equals(record.id, dummy_id, 'id');
+ }
+ }, 'NDEFRecord constructor with custom record ids');
+
+ test(() => {
const record = new NDEFRecord(createTextRecord(test_text_data));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, 'en', 'lang');
const decoder = new TextDecoder();
@@ -56,6 +83,7 @@
const record = new NDEFRecord(createTextRecord(uint8Array.buffer));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, 'en', 'lang');
const decoder = new TextDecoder();
@@ -71,6 +99,7 @@
const record = new NDEFRecord(createTextRecord(uint8Array));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, 'en', 'lang');
const decoder = new TextDecoder();
@@ -87,6 +116,7 @@
const record = new NDEFRecord(createTextRecord(test_text_data, encoding, lang));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, encoding, 'encoding');
assert_equals(record.lang, lang, 'lang');
const decoder = new TextDecoder();
@@ -105,6 +135,7 @@
const record = new NDEFRecord(createTextRecord(test_text_data));
assert_equals(record.recordType, 'text', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_equals(record.encoding, 'utf-8', 'encoding');
assert_equals(record.lang, test_lang, 'lang');
const decoder = new TextDecoder();
@@ -116,6 +147,7 @@
const record = new NDEFRecord(createUrlRecord(test_url_data));
assert_equals(record.recordType, 'url', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_url_data,
'data has the same content with the original dictionary');
@@ -127,6 +159,7 @@
const record = new NDEFRecord(createUrlRecord(test_url_data, true));
assert_equals(record.recordType, 'absolute-url', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
const decoder = new TextDecoder();
assert_equals(decoder.decode(record.data), test_url_data,
'data has the same content with the original dictionary');
@@ -146,6 +179,7 @@
const record = new NDEFRecord(createMimeRecord(buffer));
assert_equals(record.recordType, 'mime', 'recordType');
assert_equals(record.mediaType, 'application/octet-stream', 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
assert_throws('NotSupportedError', () => record.toRecords(),
@@ -156,6 +190,7 @@
let buffer_view = new Uint8Array(buffer, 1);
const record = new NDEFRecord(createMimeRecord(buffer_view));
assert_equals(record.recordType, 'mime', 'recordType');
+ assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
assert_throws('NotSupportedError', () => record.toRecords(),
@@ -167,6 +202,7 @@
const record = new NDEFRecord(createMimeRecordFromJson(test_json_data));
assert_equals(record.recordType, 'mime', 'recordType');
assert_equals(record.mediaType, 'application/json', 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_object_equals(JSON.parse(new TextDecoder().decode(record.data)),
test_json_data,
'data has the same content with the original json');
@@ -185,6 +221,7 @@
{
const record = new NDEFRecord(createUnknownRecord(buffer));
assert_equals(record.recordType, 'unknown', 'recordType');
+ assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
assert_throws('NotSupportedError', () => record.toRecords(),
@@ -195,6 +232,7 @@
let buffer_view = new Uint8Array(buffer, 1);
const record = new NDEFRecord(createUnknownRecord(buffer_view));
assert_equals(record.recordType, 'unknown', 'recordType');
+ assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
assert_throws('NotSupportedError', () => record.toRecords(),
@@ -211,9 +249,10 @@
new Uint8Array(buffer).set([1, 2, 3, 4]);
// Feed ArrayBuffer.
{
- const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer));
+ const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer, test_record_id));
assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [1, 2, 3, 4],
'data has the same content with the original buffer');
assert_equals(record.toRecords(), null,
@@ -222,9 +261,11 @@
// Feed ArrayBufferView.
{
let buffer_view = new Uint8Array(buffer, 1);
- const record = new NDEFRecord(createRecord('foo.eXamPle.coM:bAr*-', buffer_view));
+ const record = new NDEFRecord(createRecord(
+ 'foo.eXamPle.coM:bAr*-', buffer_view, test_record_id));
assert_equals(record.recordType, 'foo.example.com:bAr*-', 'recordType');
assert_equals(record.mediaType, null, 'mediaType');
+ assert_equals(record.id, test_record_id, 'id');
assert_array_equals(new Uint8Array(record.data.buffer), [2, 3, 4],
'data has the same content with the original buffer view');
assert_equals(record.toRecords(), null,
diff --git a/tests/wpt/web-platform-tests/web-nfc/NDEFWriter_push.https.html b/tests/wpt/web-platform-tests/web-nfc/NDEFWriter_push.https.html
index 6c7aca9fe93..a33b1fab303 100644
--- a/tests/wpt/web-platform-tests/web-nfc/NDEFWriter_push.https.html
+++ b/tests/wpt/web-platform-tests/web-nfc/NDEFWriter_push.https.html
@@ -30,7 +30,6 @@ const invalid_type_messages =
// NDEFRecord.data for 'text' record must be either a string,
// an arrayBuffer, or an arrayBufferView.
createMessage([createTextRecord(test_json_data)]),
- createMessage([createTextRecord(test_number_data)]),
// NDEFRecord.encoding for 'text' record must be either "utf-8",
// "utf-16", "utf-16le" or "utf-16be".
@@ -49,12 +48,10 @@ const invalid_type_messages =
// NDEFRecord.data for 'url' record must be string.
createMessage([createUrlRecord(test_buffer_data)]),
- createMessage([createUrlRecord(test_number_data)]),
createMessage([createUrlRecord(test_json_data)]),
// NDEFRecord.data for 'absolute-url' record must be string.
createMessage([createUrlRecord(test_buffer_data, true)]),
- createMessage([createUrlRecord(test_number_data, true)]),
createMessage([createUrlRecord(test_json_data, true)]),
// https://w3c.github.io/web-nfc/#dfn-map-binary-data-to-ndef
diff --git a/tests/wpt/web-platform-tests/web-nfc/resources/nfc-helpers.js b/tests/wpt/web-platform-tests/web-nfc/resources/nfc-helpers.js
index 0fe6fe80cb1..3ce725a7c47 100644
--- a/tests/wpt/web-platform-tests/web-nfc/resources/nfc-helpers.js
+++ b/tests/wpt/web-platform-tests/web-nfc/resources/nfc-helpers.js
@@ -64,6 +64,7 @@ const test_buffer_data = new ArrayBuffer(test_text_byte_array.length);
const test_buffer_view = new Uint8Array(test_buffer_data);
test_buffer_view.set(test_text_byte_array);
const fake_tag_serial_number = 'c0:45:00:02';
+const test_record_id = '/test_path/test_id';
const NFCHWStatus = {};
// OS-level NFC setting is ON
@@ -81,10 +82,12 @@ function createMessage(records) {
}
}
-function createRecord(recordType, data, mediaType, encoding, lang) {
+function createRecord(recordType, data, id, mediaType, encoding, lang) {
let record = {};
if (recordType !== undefined)
record.recordType = recordType;
+ if (id !== undefined)
+ record.id = id;
if (mediaType !== undefined)
record.mediaType = mediaType;
if (encoding !== undefined)
@@ -97,28 +100,29 @@ function createRecord(recordType, data, mediaType, encoding, lang) {
}
function createTextRecord(data, encoding, lang) {
- return createRecord('text', data, undefined, encoding, lang);
+ return createRecord('text', data, test_record_id, undefined, encoding, lang);
}
function createMimeRecordFromJson(json) {
return createRecord(
'mime', new TextEncoder('utf-8').encode(JSON.stringify(json)),
- 'application/json');
+ test_record_id, 'application/json');
}
function createMimeRecord(buffer) {
- return createRecord('mime', buffer, 'application/octet-stream');
+ return createRecord(
+ 'mime', buffer, test_record_id, 'application/octet-stream');
}
function createUnknownRecord(buffer) {
- return createRecord('unknown', buffer);
+ return createRecord('unknown', buffer, test_record_id);
}
function createUrlRecord(url, isAbsUrl) {
if (isAbsUrl) {
- return createRecord('absolute-url', url);
+ return createRecord('absolute-url', url, test_record_id);
}
- return createRecord('url', url);
+ return createRecord('url', url, test_record_id);
}
function createNDEFPushOptions(target, ignoreRead) {
@@ -135,9 +139,11 @@ function assertNDEFMessagesEqual(providedMessage, receivedMessage) {
let provided = providedMessage;
if (providedMessage instanceof ArrayBuffer ||
ArrayBuffer.isView(providedMessage))
- provided = createMessage([createMimeRecord(providedMessage)]);
+ provided = createMessage([createRecord(
+ 'mime', providedMessage, undefined /* id */,
+ 'application/octet-stream')]);
else if (typeof providedMessage === 'string')
- provided = createMessage([createTextRecord(providedMessage)]);
+ provided = createMessage([createRecord('text', providedMessage)]);
assert_equals(provided.records.length, receivedMessage.data.length,
'NDEFMessages must have same number of NDEFRecords');
@@ -161,6 +167,7 @@ function assertWebNDEFMessagesEqual(message, expectedMessage) {
let expectedRecord = expectedMessage.records[i];
assert_equals(record.recordType, expectedRecord.recordType);
assert_equals(record.mediaType, expectedRecord.mediaType);
+ assert_equals(record.id, expectedRecord.id);
// Compares record data
assert_array_equals(new Uint8Array(record.data),