aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini3
-rw-r--r--tests/wpt/metadata/MANIFEST.json290
-rw-r--r--tests/wpt/metadata/css/css-transforms/transform-scale-percent-001.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini16
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini3
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini3
-rw-r--r--tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini10
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.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_3.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini (renamed from tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini)2
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.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-width-height.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-height.html.ini34
-rw-r--r--tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini1
-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/workers/WorkerGlobalScope-close.html.ini4
-rw-r--r--tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.js28
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.js70
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.js47
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html23
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js61
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html22
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js20
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html21
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html22
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html21
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html2
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.tentative.https.any.js (renamed from tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js)21
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.tentative.https.any.js (renamed from tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js)65
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.js87
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.js41
-rw-r--r--tests/wpt/web-platform-tests/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.tentative.https.any.js (renamed from tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.js)26
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-001.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-ref.html1
40 files changed, 600 insertions, 441 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
index f28a19f1250..0bf3b469372 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,9 +2,6 @@
[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]
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 0b49b6bc740..9520740e3b0 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -230262,21 +230262,6 @@
"cookie-store/serviceworker_cookieStore_cross_origin.js": [
[]
],
- "cookie-store/serviceworker_cookieStore_subscriptions.js": [
- []
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_basic.js": [
- []
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_empty.js": [
- []
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.js": [
- []
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js": [
- []
- ],
"cookies/META.yml": [
[]
],
@@ -316377,6 +316362,126 @@
}
]
],
+ "cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.js": [
+ [
+ "cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: ServiceWorker without cookie change subscriptions"
+ ],
+ [
+ "global",
+ "!default,serviceworker,window"
+ ],
+ [
+ "script",
+ "/service-workers/service-worker/resources/test-helpers.sub.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: ServiceWorker without cookie change subscriptions"
+ ],
+ [
+ "global",
+ "!default,serviceworker,window"
+ ],
+ [
+ "script",
+ "/service-workers/service-worker/resources/test-helpers.sub.js"
+ ]
+ ]
+ }
+ ]
+ ],
+ "cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.js": [
+ [
+ "cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: ServiceWorker with multiple cookie change subscriptions"
+ ],
+ [
+ "global",
+ "!default,serviceworker,window"
+ ],
+ [
+ "script",
+ "/service-workers/service-worker/resources/test-helpers.sub.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: ServiceWorker with multiple cookie change subscriptions"
+ ],
+ [
+ "global",
+ "!default,serviceworker,window"
+ ],
+ [
+ "script",
+ "/service-workers/service-worker/resources/test-helpers.sub.js"
+ ]
+ ]
+ }
+ ]
+ ],
+ "cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.js": [
+ [
+ "cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: ServiceWorker with one cookie change subscription"
+ ],
+ [
+ "global",
+ "!default,serviceworker,window"
+ ],
+ [
+ "script",
+ "/service-workers/service-worker/resources/test-helpers.sub.js"
+ ]
+ ]
+ }
+ ],
+ [
+ "cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: ServiceWorker with one cookie change subscription"
+ ],
+ [
+ "global",
+ "!default,serviceworker,window"
+ ],
+ [
+ "script",
+ "/service-workers/service-worker/resources/test-helpers.sub.js"
+ ]
+ ]
+ }
+ ]
+ ],
"cookie-store/cookieStore_delete_arguments.tentative.https.any.js": [
[
"cookie-store/cookieStore_delete_arguments.tentative.https.any.html",
@@ -316933,40 +317038,95 @@
{}
]
],
- "cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html": [
+ "cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html": [
[
- "cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html",
+ "cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html",
{}
]
],
- "cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html": [
+ "cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.tentative.https.any.js": [
[
- "cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html",
- {}
+ "cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: cookiechange event in ServiceWorker with mismatched subscription"
+ ],
+ [
+ "global",
+ "!default,serviceworker"
+ ]
+ ]
+ }
]
],
- "cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html": [
+ "cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.tentative.https.any.js": [
[
- "cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html",
- {}
+ "cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: cookiechange event in ServiceWorker with multiple subscriptions"
+ ],
+ [
+ "global",
+ "!default,serviceworker"
+ ]
+ ]
+ }
]
],
- "cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html": [
+ "cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.js": [
[
- "cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html",
- {}
+ "cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: cookiechange event in ServiceWorker with overlapping subscriptions"
+ ],
+ [
+ "global",
+ "!default,serviceworker"
+ ]
+ ]
+ }
]
],
- "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html": [
+ "cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.js": [
[
- "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html",
- {}
+ "cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: cookiechange event in ServiceWorker with single subscription"
+ ],
+ [
+ "global",
+ "!default,serviceworker"
+ ]
+ ]
+ }
]
],
- "cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html": [
+ "cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.tentative.https.any.js": [
[
- "cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html",
- {}
+ "cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.tentative.https.any.serviceworker.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "Cookie Store API: oncookiechange event in ServiceWorker with single subscription"
+ ],
+ [
+ "global",
+ "!default,serviceworker"
+ ]
+ ]
+ }
]
],
"cookies/cookie-enabled-noncookie-frame.html": [
@@ -492892,6 +493052,18 @@
"1b1ae529767fdb2744f31fd860bb881d2b744735",
"testharness"
],
+ "cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.js": [
+ "7df0b7002f3448df696435ba7cb0b12265978cac",
+ "testharness"
+ ],
+ "cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.js": [
+ "625f521261507b0c82d5e059f40537f84dfee4c8",
+ "testharness"
+ ],
+ "cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.js": [
+ "04c21447c5d783232f4e882cbf7512df5b30ff03",
+ "testharness"
+ ],
"cookie-store/cookieStore_delete_arguments.tentative.https.any.js": [
"3a2b512bb1001864ea27a0fc66a267371976c501",
"testharness"
@@ -493016,48 +493188,28 @@
"6879c5da926384b2be6969b5585c8e2a75539f75",
"testharness"
],
- "cookie-store/serviceworker_cookieStore_subscriptions.js": [
- "107bb9576124a63ac9b68a3585acdde973a03f7a",
- "support"
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html": [
- "375bce622c348d831c968ae63b90b44ae98de5c2",
+ "cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html": [
+ "bff1f04bad061c187b33b56e1760b97b784cb690",
"testharness"
],
- "cookie-store/serviceworker_cookieStore_subscriptions_basic.js": [
- "a96eeeb116df3f6571bff5c74d39c4991b7fc31d",
- "support"
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html": [
- "0353bc2c2096f72450ad6f7b6aad5439e9bd0b20",
+ "cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.tentative.https.any.js": [
+ "bfbea7d3de386c18828bab90da20c97afd7b88f7",
"testharness"
],
- "cookie-store/serviceworker_cookieStore_subscriptions_empty.js": [
- "7df77730553faf37bb17ff7e9fa42de91e7f6df3",
- "support"
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html": [
- "38ec4048f1944c3f6bfe904592ee0646e28979f2",
+ "cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.tentative.https.any.js": [
+ "17baa7fcbeec00d92753708b1e816b50eea230c0",
"testharness"
],
- "cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.js": [
- "ed0cdcfcfca7e91109df45628999c51c5cbee236",
- "support"
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html": [
- "ee9713e933b8432c73c7e2e9ad523a453ddb4c60",
+ "cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.js": [
+ "b1cbeb9a12f31a2111ac6afe31a98a2b21433d52",
"testharness"
],
- "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js": [
- "5414a664db6771f4c87614af9e3b9f7b597f4664",
- "support"
- ],
- "cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html": [
- "b8ad46a57101386bd84b391953e76228249eff29",
+ "cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.js": [
+ "4cfc47b39fb9a8c08c90e1cebf5150c5a455eef9",
"testharness"
],
- "cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html": [
- "4e157840e988edd373a20e8041b90bd086dc83de",
+ "cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.tentative.https.any.js": [
+ "d3fe3281acad629ff6f4d4af8d28f9d13ccd5525",
"testharness"
],
"cookies/META.yml": [
@@ -603689,7 +603841,7 @@
"testharness"
],
"css/css-transforms/parsing/scale-parsing-valid.html": [
- "bbd443a717ab3c4acf1c7be52df4d92b9b8a9d03",
+ "9055e7dfd5f4b9ea03683ff546317198f7946c3a",
"testharness"
],
"css/css-transforms/parsing/transform-box-computed.html": [
@@ -603705,7 +603857,7 @@
"testharness"
],
"css/css-transforms/parsing/transform-invalid.html": [
- "25aeeae4e5df99febd541a61a5f0b0f9a8ff2471",
+ "8985720622c692a93fda9d0277ca188f581f852a",
"testharness"
],
"css/css-transforms/parsing/transform-origin-computed.html": [
@@ -603721,7 +603873,7 @@
"testharness"
],
"css/css-transforms/parsing/transform-valid.html": [
- "8237a9a4a6882dd0ec3495464c8fbfb7f52e65d3",
+ "ce32e2b44e6edb8c743035eba324db273d205cb2",
"testharness"
],
"css/css-transforms/parsing/translate-parsing-invalid.html": [
@@ -605857,11 +606009,11 @@
"testharness"
],
"css/css-transforms/transform-scale-percent-001.html": [
- "79d32b5c0453d7a219cb3d6e03a7653ed342f947",
+ "09874988628c8cb10c3c5c9dcb59c3b2266f9326",
"reftest"
],
"css/css-transforms/transform-scale-percent-ref.html": [
- "be0bac656b650e6d3fa561df6e482118cbcc1b69",
+ "f6bd014135369fb8ec641f8953ff224a84ce6275",
"support"
],
"css/css-transforms/transform-scale-ref.html": [
diff --git a/tests/wpt/metadata/css/css-transforms/transform-scale-percent-001.html.ini b/tests/wpt/metadata/css/css-transforms/transform-scale-percent-001.html.ini
deleted file mode 100644
index 4ae92db68d0..00000000000
--- a/tests/wpt/metadata/css/css-transforms/transform-scale-percent-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[transform-scale-percent-001.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index 29f3cde39f6..646f7da0935 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -309,18 +309,24 @@
[<iframe>: separate response Content-Type: */* text/html]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ [<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" text/plain]
+ [<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*]
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
+ [<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 e67f0406fc3..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,3 +53,6 @@
[combined text/javascript ]
expected: FAIL
+ [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 87c807a49ff..a639f15230c 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%0C]
expected: FAIL
+ [Content-Type-Options%3A%20nosniff]
+ 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 d3de645928d..54f7f890b05 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,14 +8,8 @@
expected: FAIL
[Embedded credentials are treated as network errors in new windows.]
- expected: FAIL
-
- [Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
- expected: TIMEOUT
-
- [Embedded credentials matching the top-level are not treated as network errors for relative URLs.]
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 treated as network errors for cross-origin URLs.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini
deleted file mode 100644
index e495b626d2e..00000000000
--- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[navigation-unload-same-origin-fragment.html]
- [Tests that a fragment navigation in the unload handler will not block the initial navigation]
- 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_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
deleted file mode 100644
index 51f8272a6de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_3.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_5.html.ini
index 385376c7321..dc2e45516de 100644
--- 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_5.html.ini
@@ -1,4 +1,4 @@
-[traverse_the_history_4.html]
+[traverse_the_history_5.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/open-features-negative-top-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini
index 940516ddd33..ad8840fbb68 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini
@@ -1,24 +1,5 @@
[open-features-negative-top-left.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: negative values for `top`, `left`]
expected: FAIL
- [features "top=-204" should NOT set "top=204"]
- expected: TIMEOUT
-
- [features "top=-204.5" should NOT set "top=204"]
- expected: TIMEOUT
-
- [features "left=-204" should NOT set "left=204"]
- expected: TIMEOUT
-
- [features "top=-0" should NOT set "top=204"]
- expected: TIMEOUT
-
- [features "left=-204.5" should NOT set "left=204"]
- expected: TIMEOUT
-
- [features "left=-0" 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-negative-width-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini
index 9027336b453..d1ed9088b2b 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini
@@ -1,24 +1,5 @@
[open-features-negative-width-height.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: negative values for `width`, `height`]
expected: FAIL
- [features "height=-404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "height=-404e1" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "height=-404.5" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "width=-404" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "width=-404e1" should NOT set "width=404"]
- expected: TIMEOUT
-
- [features "width=-404.5" 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-non-integer-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini
index 4e44584b123..a70e9dbad4d 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini
@@ -1,48 +1,32 @@
[open-features-non-integer-height.html]
type: testharness
- expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `height`]
expected: FAIL
[features "height=405*3" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405.32" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405e1" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405/5" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405^4" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405.5" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405e-1" should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405 " should set "height=405"]
- expected: TIMEOUT
+ expected: FAIL
[features "height=405LLl" should set "height=405"]
- expected: TIMEOUT
-
- [features "height=/404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [top=0,left=0,width=401,: absence of feature "height" should be treated same as "height=0"]
- expected: TIMEOUT
-
- [top=0,left=0: absence of feature "height" should be treated same as "height=0"]
- expected: TIMEOUT
-
- [features "height=_404" should NOT set "height=404"]
- expected: TIMEOUT
-
- [features "height=L404" should NOT set "height=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 2532dceabac..442db3cb549 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,5 +1,4 @@
[embedded-opener-remove-frame.html]
- expected: CRASH
[opener and "removed" embedded documents]
expected: FAIL
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 f6a7aca3306..5f60c78e73c 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,5 +1,6 @@
[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: FAIL
+ expected: TIMEOUT
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/workers/WorkerGlobalScope-close.html.ini b/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini
deleted file mode 100644
index fe8654e447c..00000000000
--- a/tests/wpt/metadata/workers/WorkerGlobalScope-close.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[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 bf2a1d61bab..bfd4d6dd2d6 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,4 +1,5 @@
[import-in-moduleworker.html]
+ expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.js b/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.js
new file mode 100644
index 00000000000..7df0b7002f3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_empty.tentative.https.any.js
@@ -0,0 +1,28 @@
+// META: title=Cookie Store API: ServiceWorker without cookie change subscriptions
+// META: global=!default,serviceworker,window
+// META: script=/service-workers/service-worker/resources/test-helpers.sub.js
+
+'use strict';
+
+promise_test(async testCase => {
+ if (self.GLOBAL.isWindow()) {
+ const registration = await service_worker_unregister_and_register(
+ testCase, 'resources/empty_sw.js', 'resources/does/not/exist');
+ testCase.add_cleanup(() => registration.unregister());
+
+ // Wait for this service worker to become active before snapshotting the
+ // subscription state, for consistency with other tests.
+ await wait_for_state(testCase, registration.installing, 'activated');
+
+ self.registration = registration;
+ } else {
+ // Wait for this service worker to become active before snapshotting the
+ // subscription state, for consistency with other tests.
+ await new Promise(resolve => {
+ self.addEventListener('activate', event => { resolve(); });
+ });
+ }
+
+ const subscriptions = await registration.cookies.getSubscriptions();
+ assert_equals(subscriptions.length, 0);
+}, 'getSubscriptions returns an empty array when there are no subscriptions');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.js b/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.js
new file mode 100644
index 00000000000..625f5212615
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_multiple.tentative.https.any.js
@@ -0,0 +1,70 @@
+// META: title=Cookie Store API: ServiceWorker with multiple cookie change subscriptions
+// META: global=!default,serviceworker,window
+// META: script=/service-workers/service-worker/resources/test-helpers.sub.js
+
+'use strict';
+
+// sort() comparator that uses the < operator.
+//
+// This is intended to be used for sorting strings. Using < is preferred to
+// localeCompare() because the latter has some implementation-dependent
+// behavior.
+function CompareStrings(a, b) {
+ return a < b ? -1 : (b < a ? 1 : 0);
+}
+
+promise_test(async testCase => {
+ let scope;
+
+ if (self.GLOBAL.isWindow()) {
+ scope = '/cookie-store/resources/does/not/exist';
+
+ const registration = await service_worker_unregister_and_register(
+ testCase, 'resources/empty_sw.js', scope);
+ testCase.add_cleanup(() => registration.unregister());
+
+ // Must wait for the service worker to enter the 'activated' state before
+ // subscribing to cookiechange events.
+ await wait_for_state(testCase, registration.installing, 'activated');
+
+ self.registration = registration;
+ } else {
+ scope = '/cookie-store/does/not/exist';
+
+ // Must wait for the service worker to enter the 'activated' state before
+ // subscribing to cookiechange events.
+ await new Promise(resolve => {
+ self.addEventListener('activate', event => { resolve(); });
+ });
+ }
+
+ {
+ const subscriptions = [
+ { name: 'cookie-name1', matchType: 'equals', url: `${scope}/path1` },
+ ];
+ await registration.cookies.subscribe(subscriptions);
+ testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
+ }
+ {
+ const subscriptions = [
+ { }, // Test the default values for subscription properties.
+ { name: 'cookie-prefix', matchType: 'starts-with' },
+ ];
+ await registration.cookies.subscribe(subscriptions);
+ testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
+ }
+
+ const subscriptions = await registration.cookies.getSubscriptions();
+ assert_equals(subscriptions.length, 3);
+
+ subscriptions.sort((a, b) => CompareStrings(`${a.name}`, `${b.name}`));
+
+ assert_equals(subscriptions[0].name, 'cookie-name1');
+ assert_equals('equals', subscriptions[0].matchType);
+
+ assert_equals(subscriptions[1].name, 'cookie-prefix');
+ assert_equals('starts-with', subscriptions[1].matchType);
+
+ assert_false('name' in subscriptions[2]);
+ assert_equals('starts-with', subscriptions[2].matchType);
+}, 'getSubscriptions returns a subscription passed to subscribe');
diff --git a/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.js b/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.js
new file mode 100644
index 00000000000..04c21447c5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/cookieStoreManager_getSubscriptions_single.tentative.https.any.js
@@ -0,0 +1,47 @@
+// META: title=Cookie Store API: ServiceWorker with one cookie change subscription
+// META: global=!default,serviceworker,window
+// META: script=/service-workers/service-worker/resources/test-helpers.sub.js
+
+'use strict';
+
+promise_test(async testCase => {
+ let scope;
+
+ if (self.GLOBAL.isWindow()) {
+ scope = '/cookie-store/resources/does/not/exist';
+
+ const registration = await service_worker_unregister_and_register(
+ testCase, 'resources/empty_sw.js', scope);
+ testCase.add_cleanup(() => registration.unregister());
+
+ // Must wait for the service worker to enter the 'activated' state before
+ // subscribing to cookiechange events.
+ await wait_for_state(testCase, registration.installing, 'activated');
+
+ self.registration = registration;
+ } else {
+ scope = '/cookie-store/does/not/exist';
+
+ // Must wait for the service worker to enter the 'activated' state before
+ // subscribing to cookiechange events.
+ await new Promise(resolve => {
+ self.addEventListener('activate', event => { resolve(); });
+ });
+ }
+
+ {
+ const subscriptions = [
+ { name: 'cookie-name', matchType: 'equals', url: `${scope}/path` }
+ ];
+ await registration.cookies.subscribe(subscriptions);
+ testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
+ }
+
+ const subscriptions = await registration.cookies.getSubscriptions();
+ assert_equals(subscriptions.length, 1);
+
+ assert_equals(subscriptions[0].name, 'cookie-name');
+ assert_equals(subscriptions[0].matchType, 'equals');
+ assert_equals(subscriptions[0].url,
+ (new URL(`${scope}/path`, self.location.href)).href);
+}, 'getSubscriptions returns a subscription passed to subscribe');
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html
deleted file mode 100644
index 375bce622c3..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.tentative.https.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>Async Cookies: cookie change events in ServiceWorker</title>
-<link rel="help" href="https://github.com/WICG/cookie-store">
-<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-'use strict';
-
-(async () => {
- // Not using an explicit scope here in order for script URL to be in scope,
- // to cover implicit subscription URL construction.
-
- const registration = await navigator.serviceWorker.register(
- 'serviceworker_cookieStore_subscriptions.js');
- add_completion_callback(() => {
- registration.unregister();
- });
-
- fetch_tests_from_worker(registration.installing);
-})();
-</script>
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
deleted file mode 100644
index a96eeeb116d..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.js
+++ /dev/null
@@ -1,61 +0,0 @@
-self.GLOBAL = {
- isWindow: function() { return false; },
- isWorker: function() { return true; },
-};
-importScripts("/resources/testharness.js");
-
-// Resolves when the service worker receives the 'activate' event.
-const kServiceWorkerActivatedPromise = new Promise(resolve => {
- self.addEventListener('activate', event => { resolve(); });
-});
-
-promise_test(async testCase => {
- await kServiceWorkerActivatedPromise;
-
- {
- const subscriptions = [
- { name: 'cookie-name', matchType: 'equals',
- url: '/cookie-store/scope/path' }];
- await registration.cookies.subscribe(subscriptions);
- testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
- }
-
- const subscriptions = await registration.cookies.getSubscriptions();
- assert_equals(subscriptions.length, 1);
-
- assert_equals(subscriptions[0].name, 'cookie-name');
- assert_equals(subscriptions[0].matchType, 'equals');
- assert_equals(subscriptions[0].url,
- (new URL("/cookie-store/scope/path", self.location.href)).href);
-}, 'getSubscriptions returns a subscription passed to subscribe');
-
-const kCookieChangeReceivedPromise = new Promise((resolve) => {
- self.addEventListener('cookiechange', event => { resolve(event); });
-});
-
-promise_test(async testCase => {
- await kServiceWorkerActivatedPromise;
-
- const subscriptions = [
- { name: 'cookie-name', matchType: 'equals',
- url: '/cookie-store/scope/path' }];
- await registration.cookies.subscribe(subscriptions);
- testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
-
- await cookieStore.set('cookie-name', 'cookie-value');
- testCase.add_cleanup(async () => {
- await cookieStore.delete('cookie-name');
- });
-
- const event = await kCookieChangeReceivedPromise;
- assert_equals(event.type, 'cookiechange');
- assert_equals(event.changed.length, 1);
- assert_equals(event.changed[0].name, 'cookie-name');
- assert_equals(event.changed[0].value, 'cookie-value');
- assert_equals(event.deleted.length, 0);
- assert_true(event instanceof ExtendableCookieChangeEvent);
- assert_true(event instanceof ExtendableEvent);
-}, 'cookiechange dispatched with cookie change that matches subscription ' +
- 'to event handler registered with addEventListener');
-
-done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html
deleted file mode 100644
index 0353bc2c209..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_basic.tentative.https.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>Async Cookies: cookie change events in ServiceWorker</title>
-<link rel="help" href="https://github.com/WICG/cookie-store">
-<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-'use strict';
-
-(async () => {
- const scope = 'scope';
-
- const registration = await navigator.serviceWorker.register(
- 'serviceworker_cookieStore_subscriptions_basic.js', {scope});
- add_completion_callback(() => {
- registration.unregister();
- });
-
- fetch_tests_from_worker(registration.installing);
-})();
-</script>
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js
deleted file mode 100644
index 7df77730553..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.js
+++ /dev/null
@@ -1,20 +0,0 @@
-self.GLOBAL = {
- isWindow: function() { return false; },
- isWorker: function() { return true; },
-};
-importScripts("/resources/testharness.js");
-
-// Resolves when the service worker receives the 'activate' event.
-const kServiceWorkerActivatedPromise = new Promise(resolve => {
- self.addEventListener('activate', event => { resolve(); });
-});
-
-promise_test(async testCase => {
- await kServiceWorkerActivatedPromise;
-
- const subscriptions = await registration.cookies.getSubscriptions();
- assert_equals(subscriptions.length, 0);
-
-}, 'getSubscriptions returns an empty array when there are no subscriptions');
-
-done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html
deleted file mode 100644
index 38ec4048f19..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_empty.tentative.https.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>Async Cookies: ServiceWorker without cookie change subscriptions</title>
-<link rel="help" href="https://github.com/WICG/cookie-store">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-'use strict';
-
-(async () => {
- const scope = 'scope';
-
- const registration = await navigator.serviceWorker.register(
- 'serviceworker_cookieStore_subscriptions_empty.js', {scope});
- add_completion_callback(() => {
- registration.unregister();
- });
-
- fetch_tests_from_worker(registration.installing);
-})();
-</script>
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html
deleted file mode 100644
index ee9713e933b..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.tentative.https.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>Async Cookies: oncookiechange event handler attribute in ServiceWorker</title>
-<link rel="help" href="https://github.com/WICG/cookie-store">
-<link rel="author" href="pwnall@chromium.org" title="Victor Costan">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-'use strict';
-
-(async () => {
- const scope = 'scope';
-
- const registration = await navigator.serviceWorker.register(
- 'serviceworker_cookieStore_subscriptions_eventhandler_attribute.js', {scope});
- add_completion_callback(() => {
- registration.unregister();
- });
-
- fetch_tests_from_worker(registration.installing);
-})();
-</script>
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html
deleted file mode 100644
index b8ad46a5710..00000000000
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.tentative.https.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html>
-<meta charset="utf-8">
-<title>Async Cookies: ServiceWorker cookiechange event filtering</title>
-<link rel="help" href="https://github.com/WICG/cookie-store">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script>
-'use strict';
-
-(async () => {
- const scope = 'scope';
-
- const registration = await navigator.serviceWorker.register(
- 'serviceworker_cookieStore_subscriptions_mismatch.js', {scope});
- add_completion_callback(() => {
- registration.unregister();
- });
-
- fetch_tests_from_worker(registration.installing);
-})();
-</script>
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html
index 4e157840e98..bff1f04bad0 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_reset.tentative.https.html
@@ -1,6 +1,6 @@
<!doctype html>
<meta charset="utf-8">
-<title>Async Cookies: reset cookie change subscription list</title>
+<title>Cookie Store API: reset cookie change subscription list</title>
<link rel="help" href="https://github.com/WICG/cookie-store">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.tentative.https.any.js
index 5414a664db6..bfbea7d3de3 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_mismatch.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_mismatched_subscription.tentative.https.any.js
@@ -1,14 +1,16 @@
-self.GLOBAL = {
- isWindow: function() { return false; },
- isWorker: function() { return true; },
-};
-importScripts("/resources/testharness.js");
+// META: title=Cookie Store API: cookiechange event in ServiceWorker with mismatched subscription
+// META: global=!default,serviceworker
+
+'use strict';
+
+const kScope = '/cookie-store/does/not/exist';
// Resolves when the service worker receives the 'activate' event.
const kServiceWorkerActivatedPromise = new Promise((resolve) => {
self.addEventListener('activate', event => { resolve(); });
});
+// Resolves when a cookiechange event is received.
const kCookieChangeReceivedPromise = new Promise((resolve) => {
self.addEventListener('cookiechange', (event) => {
resolve(event);
@@ -19,8 +21,8 @@ promise_test(async testCase => {
await kServiceWorkerActivatedPromise;
const subscriptions = [
- { name: 'cookie-name', matchType: 'equals',
- url: '/cookie-store/scope/path' }];
+ { name: 'cookie-name', matchType: 'equals', url: `${kScope}/path` },
+ ];
await registration.cookies.subscribe(subscriptions);
testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
@@ -38,6 +40,7 @@ promise_test(async testCase => {
assert_equals(event.changed.length, 1);
assert_equals(event.changed[0].name, 'cookie-name');
assert_equals(event.changed[0].value, 'cookie-value');
+ assert_equals(event.deleted.length, 0);
+ assert_true(event instanceof ExtendableCookieChangeEvent);
+ assert_true(event instanceof ExtendableEvent);
}, 'cookiechange not dispatched for change that does not match subscription');
-
-done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.tentative.https.any.js
index 107bb957612..17baa7fcbee 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_multiple_subscriptions.tentative.https.any.js
@@ -1,57 +1,15 @@
-self.GLOBAL = {
- isWindow: function() { return false; },
- isWorker: function() { return true; },
-};
-importScripts("/resources/testharness.js");
+// META: title=Cookie Store API: cookiechange event in ServiceWorker with multiple subscriptions
+// META: global=!default,serviceworker
+
+'use strict';
+
+const kScope = '/cookie-store/does/not/exist';
// Resolves when the service worker receives the 'activate' event.
-const kServiceWorkerActivatedPromise = new Promise(resolve => {
+const kServiceWorkerActivatedPromise = new Promise((resolve) => {
self.addEventListener('activate', event => { resolve(); });
});
-// sort() comparator that uses the < operator.
-//
-// This is intended to be used for sorting strings. Using < is preferred to
-// localeCompare() because the latter has some implementation-dependent
-// behavior.
-function CompareStrings(a, b) {
- return a < b ? -1 : (b < a ? 1 : 0);
-}
-
-promise_test(async testCase => {
- await kServiceWorkerActivatedPromise;
-
- {
- const subscriptions = [
- { name: 'cookie-name1', matchType: 'equals', url: '/cookie-store/path1' },
- ];
- await registration.cookies.subscribe(subscriptions);
- testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
- }
- {
- const subscriptions = [
- { }, // Test the default values for subscription properties.
- { name: 'cookie-prefix', matchType: 'starts-with' },
- ];
- await registration.cookies.subscribe(subscriptions);
- testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
- }
-
- const subscriptions = await registration.cookies.getSubscriptions();
- assert_equals(subscriptions.length, 3);
-
- subscriptions.sort((a, b) => CompareStrings(`${a.name}`, `${b.name}`));
-
- assert_equals(subscriptions[0].name, 'cookie-name1');
- assert_equals('equals', subscriptions[0].matchType);
-
- assert_equals(subscriptions[1].name, 'cookie-prefix');
- assert_equals('starts-with', subscriptions[1].matchType);
-
- assert_false('name' in subscriptions[2]);
- assert_equals('starts-with', subscriptions[2].matchType);
-}, 'getSubscriptions returns subscriptions passed to subscribe');
-
// Accumulates cookiechange events dispatched to the service worker.
let g_cookie_changes = [];
@@ -61,8 +19,9 @@ let g_cookie_change_received_promise = null;
let g_cookie_change_received_promise_resolver = null;
self.addEventListener('cookiechange', (event) => {
g_cookie_changes.push(event);
- if (g_cookie_change_received_promise_resolver)
+ if (g_cookie_change_received_promise_resolver) {
g_cookie_change_received_promise_resolver();
+ }
});
function RearmCookieChangeReceivedPromise() {
g_cookie_change_received_promise = new Promise((resolve) => {
@@ -76,7 +35,7 @@ promise_test(async testCase => {
{
const subscriptions = [
- { name: 'cookie-name1', matchType: 'equals', url: '/cookie-store/path1' },
+ { name: 'cookie-name1', matchType: 'equals', url: `${kScope}/path1` },
];
await registration.cookies.subscribe(subscriptions);
testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
@@ -100,7 +59,7 @@ promise_test(async testCase => {
testCase.add_cleanup(() => RearmCookieChangeReceivedPromise());
assert_equals(g_cookie_changes.length, 1);
- const event = g_cookie_changes[0]
+ const event = g_cookie_changes[0];
assert_equals(event.type, 'cookiechange');
assert_equals(event.changed.length, 1);
assert_equals(event.changed[0].name, 'cookie-name');
@@ -109,5 +68,3 @@ promise_test(async testCase => {
assert_true(event instanceof ExtendableCookieChangeEvent);
assert_true(event instanceof ExtendableEvent);
}, 'cookiechange dispatched with cookie change that matches subscription');
-
-done();
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.js
new file mode 100644
index 00000000000..b1cbeb9a12f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_overlapping_subscriptions.tentative.https.any.js
@@ -0,0 +1,87 @@
+// META: title=Cookie Store API: cookiechange event in ServiceWorker with overlapping subscriptions
+// META: global=!default,serviceworker
+
+'use strict';
+
+const kScope = '/cookie-store/does/not/exist';
+
+// Resolves when the service worker receives the 'activate' event.
+const kServiceWorkerActivatedPromise = new Promise((resolve) => {
+ self.addEventListener('activate', event => { resolve(); });
+});
+
+// Accumulates cookiechange events dispatched to the service worker.
+let g_cookie_changes = [];
+
+// Resolved when a cookiechange event is received. Rearmed by
+// RearmCookieChangeReceivedPromise().
+let g_cookie_change_received_promise = null;
+let g_cookie_change_received_promise_resolver = null;
+self.addEventListener('cookiechange', (event) => {
+ g_cookie_changes.push(event);
+ if (g_cookie_change_received_promise_resolver) {
+ g_cookie_change_received_promise_resolver();
+ RearmCookieChangeReceivedPromise();
+ }
+});
+function RearmCookieChangeReceivedPromise() {
+ g_cookie_change_received_promise = new Promise((resolve) => {
+ g_cookie_change_received_promise_resolver = resolve;
+ });
+}
+RearmCookieChangeReceivedPromise();
+
+promise_test(async testCase => {
+ await kServiceWorkerActivatedPromise;
+
+ const subscriptions = [
+ { name: 'coo', matchType: 'starts-with' },
+ { name: 'cookie', matchType: 'starts-with' },
+ ];
+ await registration.cookies.subscribe(subscriptions);
+ testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
+
+ await cookieStore.set('cookie-name', 'cookie-value');
+ testCase.add_cleanup(async () => {
+ await cookieStore.delete('cookie-name');
+ });
+ testCase.add_cleanup(() => { g_cookie_changes = []; });
+
+ await g_cookie_change_received_promise;
+ testCase.add_cleanup(() => RearmCookieChangeReceivedPromise());
+
+ // To ensure that we are accounting for all events dispatched by the first
+ // cookie change, we initiate and listen for a final cookie change that we
+ // know will dispatch a single event.
+ await cookieStore.set('coo', 'coo-value');
+ testCase.add_cleanup(async () => {
+ await cookieStore.delete('coo');
+ });
+ testCase.add_cleanup(() => { g_cookie_changes = []; });
+
+ await g_cookie_change_received_promise;
+ testCase.add_cleanup(() => RearmCookieChangeReceivedPromise());
+
+ assert_equals(g_cookie_changes.length, 2);
+ {
+ const event = g_cookie_changes[0];
+ assert_equals(event.type, 'cookiechange');
+ assert_equals(event.changed.length, 1);
+ assert_equals(event.changed[0].name, 'cookie-name');
+ assert_equals(event.changed[0].value, 'cookie-value');
+ assert_equals(event.deleted.length, 0);
+ assert_true(event instanceof ExtendableCookieChangeEvent);
+ assert_true(event instanceof ExtendableEvent);
+ }
+ {
+ const event = g_cookie_changes[1];
+ assert_equals(event.type, 'cookiechange');
+ assert_equals(event.changed.length, 1);
+ assert_equals(event.changed[0].name, 'coo');
+ assert_equals(event.changed[0].value, 'coo-value');
+ assert_equals(event.deleted.length, 0);
+ assert_true(event instanceof ExtendableCookieChangeEvent);
+ assert_true(event instanceof ExtendableEvent);
+ }
+}, '1 cookiechange event dispatched with cookie change that matches multiple ' +
+ 'subscriptions');
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.js
new file mode 100644
index 00000000000..4cfc47b39fb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookiechange_eventhandler_single_subscription.tentative.https.any.js
@@ -0,0 +1,41 @@
+// META: title=Cookie Store API: cookiechange event in ServiceWorker with single subscription
+// META: global=!default,serviceworker
+
+'use strict';
+
+const kScope = '/cookie-store/does/not/exist';
+
+// Resolves when the service worker receives the 'activate' event.
+const kServiceWorkerActivatedPromise = new Promise((resolve) => {
+ self.addEventListener('activate', event => { resolve(); });
+});
+
+// Resolves when a cookiechange event is received.
+const kCookieChangeReceivedPromise = new Promise(resolve => {
+ self.addEventListener('cookiechange', event => { resolve(event); });
+});
+
+promise_test(async testCase => {
+ await kServiceWorkerActivatedPromise;
+
+ const subscriptions = [
+ { name: 'cookie-name', matchType: 'equals', url: `${kScope}/path` },
+ ];
+ await registration.cookies.subscribe(subscriptions);
+ testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
+
+ await cookieStore.set('cookie-name', 'cookie-value');
+ testCase.add_cleanup(async () => {
+ await cookieStore.delete('cookie-name');
+ });
+
+ const event = await kCookieChangeReceivedPromise;
+ assert_equals(event.type, 'cookiechange');
+ assert_equals(event.changed.length, 1);
+ assert_equals(event.changed[0].name, 'cookie-name');
+ assert_equals(event.changed[0].value, 'cookie-value');
+ assert_equals(event.deleted.length, 0);
+ assert_true(event instanceof ExtendableCookieChangeEvent);
+ assert_true(event instanceof ExtendableEvent);
+}, 'cookiechange dispatched with cookie change that matches subscription ' +
+ 'to cookiechange event handler registered with addEventListener');
diff --git a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.js b/tests/wpt/web-platform-tests/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.tentative.https.any.js
index ed0cdcfcfca..d3fe3281aca 100644
--- a/tests/wpt/web-platform-tests/cookie-store/serviceworker_cookieStore_subscriptions_eventhandler_attribute.js
+++ b/tests/wpt/web-platform-tests/cookie-store/serviceworker_oncookiechange_eventhandler_single_subscription.tentative.https.any.js
@@ -1,26 +1,26 @@
-self.GLOBAL = {
- isWindow: function() { return false; },
- isWorker: function() { return true; },
-};
-importScripts("/resources/testharness.js");
+// META: title=Cookie Store API: oncookiechange event in ServiceWorker with single subscription
+// META: global=!default,serviceworker
+
+'use strict';
+
+const kScope = '/cookie-store/does/not/exist';
// Resolves when the service worker receives the 'activate' event.
const kServiceWorkerActivatedPromise = new Promise((resolve) => {
self.addEventListener('activate', event => { resolve(); });
});
-const kCookieChangeReceivedPromise = new Promise((resolve) => {
- self.addEventListener('cookiechange', (event) => {
- resolve(event);
- });
+// Resolves when a cookiechange event is received.
+const kCookieChangeReceivedPromise = new Promise(resolve => {
+ self.oncookiechange = event => { resolve(event); };
});
promise_test(async testCase => {
await kServiceWorkerActivatedPromise;
const subscriptions = [
- { name: 'cookie-name', matchType: 'equals',
- url: '/cookie-store/scope/path' }];
+ { name: 'cookie-name', matchType: 'equals', url: `${kScope}/path` }
+ ];
await registration.cookies.subscribe(subscriptions);
testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
@@ -38,6 +38,4 @@ promise_test(async testCase => {
assert_true(event instanceof ExtendableCookieChangeEvent);
assert_true(event instanceof ExtendableEvent);
}, 'cookiechange dispatched with cookie change that matches subscription ' +
- 'to event handler registered with oncookiechange');
-
-done();
+ 'to cookiechange event handler registered with addEventListener');
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html
index bbd443a717a..9055e7dfd5f 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/scale-parsing-valid.html
@@ -14,14 +14,28 @@
test_valid_value("scale", "none");
test_valid_value("scale", "1");
+test_valid_value("scale", "1%", "0.01");
test_valid_value("scale", "100");
+test_valid_value("scale", "100%", "1");
test_valid_value("scale", "100 100", "100");
+test_valid_value("scale", "100% 100%", "1");
test_valid_value("scale", "100 100 1", "100");
+test_valid_value("scale", "100% 100% 1", "1");
+
+test_valid_value("scale", "-100");
+test_valid_value("scale", "-100%", "-1");
+test_valid_value("scale", "-100 -100", "-100");
+test_valid_value("scale", "-100% -100%", "-1");
+test_valid_value("scale", "-100 -100 1", "-100");
+test_valid_value("scale", "-100% -100% 1", "-1");
test_valid_value("scale", "100 200");
+test_valid_value("scale", "100% 200%", "1 2");
test_valid_value("scale", "100 200 1", "100 200");
+test_valid_value("scale", "100% 200% 1", "1 2");
test_valid_value("scale", "100 200 300");
+
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
index 25aeeae4e5d..8985720622c 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-invalid.html
@@ -23,10 +23,13 @@ test_invalid_value("transform", "translateX(-4px, 5px)");
test_invalid_value("transform", "translateY(4%, 5%)");
test_invalid_value("transform", "scale(6, 7, 8)");
+test_invalid_value("transform", "scale(6%, 7%, 8%)");
test_invalid_value("transform", "scaleX(1, 2)");
+test_invalid_value("transform", "scaleX(1%, 2%)");
test_invalid_value("transform", "scaleY(3, 4)");
+test_invalid_value("transform", "scaleY(3%, 4%)");
test_invalid_value("transform", "rotate(0, 0)");
test_invalid_value("transform", "rotate(0, 0, 0)");
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
index 8237a9a4a68..ce32e2b44e6 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/parsing/transform-valid.html
@@ -26,11 +26,27 @@ test_valid_value("transform", "translateY(5%)");
test_valid_value("transform", "scale(2)");
test_valid_value("transform", "scale(3, 4)");
+
+test_valid_value("transform", "scale(-2)");
test_valid_value("transform", "scale(-5, -6)");
+test_valid_value("transform", "scale(250%)", "scale(2.5)");
+test_valid_value("transform", "scale(325%, 475%)", "scale(3.25, 4.75)");
+
+test_valid_value("transform", "scale(-250%)", "scale(-2.5)");
+test_valid_value("transform", "scale(-500%, -620%)", "scale(-5, -6.2)");
+
test_valid_value("transform", "scaleX(7)");
+test_valid_value("transform", "scaleX(720%)", "scaleX(7.2)");
test_valid_value("transform", "scaleY(-8)");
+test_valid_value("transform", "scaleY(-85%)", "scaleY(-0.85)");
+
+test_valid_value("transform", "scale3d(0.5, 2.5, 3)");
+test_valid_value("transform", "scale3d(50%, 250%, 300%)", "scale3d(0.5, 2.5, 3)");
+
+test_valid_value("transform", "scale3d(-0.5, 2.5, -3)");
+test_valid_value("transform", "scale3d(-50%, 250%, -300%)", "scale3d(-0.5, 2.5, -3)");
test_valid_value("transform", "rotate(0)", "rotate(0deg)");
test_valid_value("transform", "rotate(90deg)");
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-001.html b/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-001.html
index 79d32b5c045..09874988628 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-001.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-001.html
@@ -6,15 +6,15 @@
<link rel="author" title="Aryeh Gregor" href="mailto:ayg@aryeh.name">
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#two-d-transform-functions">
<link rel="help" href="http://www.w3.org/TR/css-transforms-1/#funcdef-scale">
- <meta name="assert" content='This tests that scale(50%, 50%) does nothing,
- because scale() is defined to take numbers and not percentages.'>
+ <meta name="assert" content='This tests that scale(50%, 75%) is equivalent to scale(0.5, 0.75),
+ because scale() is defined to accept both numbers and percentages.'>
<link rel="match" href="transform-scale-percent-ref.html">
<style>
div {
background: green;
width: 100px;
height: 100px;
- transform: scale(50%, 50%);
+ transform: scale(50%, 75%);
}
</style>
</head>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-ref.html
index be0bac656b6..f6bd0141353 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform-scale-percent-ref.html
@@ -9,6 +9,7 @@
background: green;
width: 100px;
height: 100px;
+ transform: scale(0.5, 0.75)
}
</style>
</head>