diff options
134 files changed, 1294 insertions, 423 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..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 @@ -10,3 +10,6 @@ [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 3729cfe1dc9..20cfe7c9d50 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -139587,6 +139587,30 @@ {} ] ], + "css/css-pseudo/marker-content-014.html": [ + [ + "css/css-pseudo/marker-content-014.html", + [ + [ + "/css/css-pseudo/marker-content-014-ref.html", + "==" + ] + ], + {} + ] + ], + "css/css-pseudo/marker-content-015.html": [ + [ + "css/css-pseudo/marker-content-015.html", + [ + [ + "/css/css-pseudo/marker-content-015-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-pseudo/marker-display-dynamic-001.html": [ [ "css/css-pseudo/marker-display-dynamic-001.html", @@ -144607,6 +144631,18 @@ {} ] ], + "css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html": [ + [ + "css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html", + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], "css/css-sizing/image-min-max-content-intrinsic-size-change-001.html": [ [ "css/css-sizing/image-min-max-content-intrinsic-size-change-001.html", @@ -144919,6 +144955,18 @@ {} ] ], + "css/css-sizing/thin-element-render.html": [ + [ + "css/css-sizing/thin-element-render.html", + [ + [ + "/css/css-sizing/thin-element-render-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-sizing/whitespace-and-break.html": [ [ "css/css-sizing/whitespace-and-break.html", @@ -167383,6 +167431,18 @@ {} ] ], + "css/css-ui/text-overflow-ellipsis-indent-001.html": [ + [ + "css/css-ui/text-overflow-ellipsis-indent-001.html", + [ + [ + "/css/css-ui/reference/text-overflow-ellipsis-indent-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-ui/text-overflow-ruby.html": [ [ "css/css-ui/text-overflow-ruby.html", @@ -213837,7 +213897,22 @@ ".well-known/origin-policy/policy-csp-2": [ [] ], - ".well-known/origin-policy/policy-features": [ + ".well-known/origin-policy/policy-features-comma-in-policy": [ + [] + ], + ".well-known/origin-policy/policy-features-double-features": [ + [] + ], + ".well-known/origin-policy/policy-features-double-policy": [ + [] + ], + ".well-known/origin-policy/policy-features-non-object": [ + [] + ], + ".well-known/origin-policy/policy-features-non-string": [ + [] + ], + ".well-known/origin-policy/policy-features-valid": [ [] ], ".well-known/origin-policy/policy-noimg": [ @@ -230169,6 +230244,12 @@ "content-security-policy/form-action/support/post-message-to-parent.sub.html": [ [] ], + "content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html": [ + [] + ], + "content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html.sub.headers": [ + [] + ], "content-security-policy/frame-ancestors/support/content-security-policy.sub.html": [ [] ], @@ -255657,6 +255738,12 @@ "css/css-pseudo/marker-content-013-ref.html": [ [] ], + "css/css-pseudo/marker-content-014-ref.html": [ + [] + ], + "css/css-pseudo/marker-content-015-ref.html": [ + [] + ], "css/css-pseudo/marker-font-properties-ref.html": [ [] ], @@ -256824,6 +256911,9 @@ "css/css-sizing/support/dynamic-available-size-iframe.html": [ [] ], + "css/css-sizing/thin-element-render-ref.html": [ + [] + ], "css/css-speech/META.yml": [ [] ], @@ -260427,6 +260517,9 @@ "css/css-ui/reference/text-overflow-change-color-ref.html": [ [] ], + "css/css-ui/reference/text-overflow-ellipsis-indent-001-ref.html": [ + [] + ], "css/css-ui/support/1x1-red.png": [ [] ], @@ -279834,7 +279927,25 @@ "orientation-sensor/orientation-sensor-tests.js": [ [] ], - "origin-policy/origin-policy-features.https.tentative.html.headers": [ + "origin-policy/features/comma-in-policy.https.html.headers": [ + [] + ], + "origin-policy/features/double-features.https.html.headers": [ + [] + ], + "origin-policy/features/double-policy.https.html.headers": [ + [] + ], + "origin-policy/features/helper.js": [ + [] + ], + "origin-policy/features/non-object.https.html.headers": [ + [] + ], + "origin-policy/features/non-string.https.html.headers": [ + [] + ], + "origin-policy/features/valid.https.html.headers": [ [] ], "origin-policy/origin-policy-report-to.https.tentative.sub.html.sub.headers": [ @@ -314878,6 +314989,14 @@ } ] ], + "content-security-policy/frame-ancestors/report-only-frame.sub.html": [ + [ + "content-security-policy/frame-ancestors/report-only-frame.sub.html", + { + "timeout": "long" + } + ] + ], "content-security-policy/frame-src/frame-src-about-blank-allowed-by-default.sub.html": [ [ "content-security-policy/frame-src/frame-src-about-blank-allowed-by-default.sub.html", @@ -341118,6 +341237,12 @@ {} ] ], + "domxpath/fn-normalize-space.html": [ + [ + "domxpath/fn-normalize-space.html", + {} + ] + ], "domxpath/node-sets.html": [ [ "domxpath/node-sets.html", @@ -389327,9 +389452,39 @@ } ] ], - "origin-policy/origin-policy-features.https.tentative.html": [ + "origin-policy/features/comma-in-policy.https.html": [ + [ + "origin-policy/features/comma-in-policy.https.html", + {} + ] + ], + "origin-policy/features/double-features.https.html": [ + [ + "origin-policy/features/double-features.https.html", + {} + ] + ], + "origin-policy/features/double-policy.https.html": [ + [ + "origin-policy/features/double-policy.https.html", + {} + ] + ], + "origin-policy/features/non-object.https.html": [ + [ + "origin-policy/features/non-object.https.html", + {} + ] + ], + "origin-policy/features/non-string.https.html": [ [ - "origin-policy/origin-policy-features.https.tentative.html", + "origin-policy/features/non-string.https.html", + {} + ] + ], + "origin-policy/features/valid.https.html": [ + [ + "origin-policy/features/valid.https.html", {} ] ], @@ -425825,6 +425980,52 @@ } ] ], + "wasm/webapi/historical.any.js": [ + [ + "wasm/webapi/historical.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ] + ] + } + ], + [ + "wasm/webapi/historical.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ] + ] + } + ], + [ + "wasm/webapi/historical.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ] + ] + } + ], + [ + "wasm/webapi/historical.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ] + ] + } + ] + ], "wasm/webapi/idlharness.any.js": [ [ "wasm/webapi/idlharness.any.html", @@ -462203,8 +462404,28 @@ "e896da36303c72f1afa5ba2fdd0361e650f3125e", "support" ], - ".well-known/origin-policy/policy-features": [ - "143ff5820acc559d70b8dea7e14afa23c2cabfe3", + ".well-known/origin-policy/policy-features-comma-in-policy": [ + "e991c788f24a160907029a12c747cd70328876d8", + "support" + ], + ".well-known/origin-policy/policy-features-double-features": [ + "583f1eaa2fcda8773d71c94118a4e315844a64d1", + "support" + ], + ".well-known/origin-policy/policy-features-double-policy": [ + "fb216bc47298384a0261ef27b78d412ffc0e383b", + "support" + ], + ".well-known/origin-policy/policy-features-non-object": [ + "b4d255440dc4b30da15dc1e0521f0f64f54570c4", + "support" + ], + ".well-known/origin-policy/policy-features-non-string": [ + "8b758c7f617790b989c62374f850769b259b1e48", + "support" + ], + ".well-known/origin-policy/policy-features-valid": [ + "22ef8992cf7b5e3712fa760d9157c2d464830ef0", "support" ], ".well-known/origin-policy/policy-noimg": [ @@ -491987,6 +492208,18 @@ "69c098d5597f574bfdab312504cc1551ce174bcc", "testharness" ], + "content-security-policy/frame-ancestors/report-only-frame.sub.html": [ + "28dd4bebecaad1938815517c5a7959a748580f74", + "testharness" + ], + "content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html": [ + "c8317b91cf76047a251828029b4dbe2dd99ce241", + "support" + ], + "content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html.sub.headers": [ + "ccb142e569ecb56766cd827820bcbd09185669f1", + "support" + ], "content-security-policy/frame-ancestors/support/content-security-policy.sub.html": [ "2182f4a3d2292218bc05243895510c4403f76528", "support" @@ -587820,11 +588053,11 @@ "support" ], "css/css-paint-api/background-image-alpha-ref.html": [ - "519b3599e95d0bc3463bfc077f6022edeaa4ca8c", + "532b1bd7e31450ad60c76d5c8007d67485609bc7", "support" ], "css/css-paint-api/background-image-alpha.https.html": [ - "7f1e31bf39bbc98bd6f37a99f7e660cda3590de0", + "c8fdc852579994edf4ea44155a7c2c1c8a6e1f14", "reftest" ], "css/css-paint-api/background-image-multiple-ref.html": [ @@ -587864,19 +588097,19 @@ "reftest" ], "css/css-paint-api/geometry-background-image-001-ref.html": [ - "83edae100ee4ecd02315147ddf96ef61f34e875d", + "3e7db50548e0ddd1739ab91db24e29072d267061", "support" ], "css/css-paint-api/geometry-background-image-001.https.html": [ - "eb7f6716ada1bdea3761b4d164e9b2ca7ea35f98", + "50d75a54703c32fdea3b74890b1f8f3a0e7a55f4", "reftest" ], "css/css-paint-api/geometry-background-image-002-ref.html": [ - "ab964dbf8d72fcdaac1f7463a5d4811b759558b6", + "b03fcd02ec348e42fe74c61d8b887ff07e260ff8", "support" ], "css/css-paint-api/geometry-background-image-002.https.html": [ - "e636aa73b3b2e519c2a6c12457a6434b38036ea0", + "06be523c320ba8393cd287d13676dc1a5ecdb211", "reftest" ], "css/css-paint-api/geometry-background-image-tiled-001-ref.html": [ @@ -587884,55 +588117,55 @@ "support" ], "css/css-paint-api/geometry-background-image-tiled-001.https.html": [ - "51373a528e4ca46b0adcf665e28cc3dc1aa793bc", + "dbb4c385ee1a4f9dc2601475625c6caa1c97fd81", "reftest" ], "css/css-paint-api/geometry-background-image-tiled-002-ref.html": [ - "f3c65e6776dbe4ad258c9cd1e17a13b2f98ffb8e", + "3b3b2bc30e6e182cf8d0ffd22a8d64a623de76cc", "support" ], "css/css-paint-api/geometry-background-image-tiled-002.https.html": [ - "d55761b47cd362827bf828e03d6a8f94dd309431", + "6f865175ce30656534e1cb7894cfec91baa7660e", "reftest" ], "css/css-paint-api/geometry-background-image-tiled-003-ref.html": [ - "8e1eb027658afccf9139cce1ee736e6b0e37b095", + "a21a990f98d3b1afe1122e535cfe13c95a34ba8a", "support" ], "css/css-paint-api/geometry-background-image-tiled-003.https.html": [ - "6d5bdd2fa539979f4069e42cd9582c2d13fba445", + "a3792caafbf746f9b9cd32ea0cedb950571e1b65", "reftest" ], "css/css-paint-api/geometry-border-image-001-ref.html": [ - "bb0aa409374be3b7d83cb2f9cf88e61f73c6e450", + "23a48d55737f24bc96d7191e69b4630a15cb34d4", "support" ], "css/css-paint-api/geometry-border-image-001.https.html": [ - "ff7f56e299ddd2a0206d7a25d0d930afb616c0f0", + "76813eab30f1e1cb6e156029defaac858df10366", "reftest" ], "css/css-paint-api/geometry-border-image-002-ref.html": [ - "0eb84ec0400d77e85259f82c18d6bd1d47dd88cc", + "050c6a9c356d4cd92cc8dbb3981fcd0bb26bf35b", "support" ], "css/css-paint-api/geometry-border-image-002.https.html": [ - "d6e47f049071416302a250c019b110d7dcaa8071", + "4c686b9c11c2aa258ef031bdb460a8fbef1a3f40", "reftest" ], "css/css-paint-api/geometry-border-image-003-ref.html": [ - "b17c9ffce2ad49576ff17f7d264c05205e73b3a9", + "ef14f7728b60db4f3bc0165d0562e39615d5f53f", "support" ], "css/css-paint-api/geometry-border-image-003.https.html": [ - "36af043cc5fe9e2ebe0dc94855b3b1def55f28aa", + "ce343df2916b87f4945aab410e939b0404c4fa6a", "reftest" ], "css/css-paint-api/geometry-border-image-004-ref.html": [ - "c32fdd8f0abbb6389ff651f3d3befc0d1d831010", + "764b6e57c5cd33bb19ff843b35b3754a53a0b487", "support" ], "css/css-paint-api/geometry-border-image-004.https.html": [ - "0f483cd5d19acf4923e60a9f59f55b2bd1e2d0d0", + "8dd80c717191346275aa44b8a28125d6aff04105", "reftest" ], "css/css-paint-api/geometry-border-image-005-ref.html": [ @@ -587996,7 +588229,7 @@ "reftest" ], "css/css-paint-api/non-registered-property-value.https.html": [ - "5b237e01eae6ca03672ecb7c533773754d79abab", + "774cb4eb2de487e3254dc4fa7b39bd3e3d19f136", "reftest" ], "css/css-paint-api/one-custom-property-animation-ref.html": [ @@ -588016,19 +588249,19 @@ "reftest" ], "css/css-paint-api/paint-arguments-ref.html": [ - "3352acf6518d9ffd1ffee5a8ecab4b7f292a038d", + "3675fc10e72eb175863597eba6e0a7cfdb6beea6", "support" ], "css/css-paint-api/paint-arguments.https.html": [ - "615027c8fe393c2109bb99bc6bb1c2f36d104f9e", + "c08069c2e399eb8fd04f45c6df2c882321ae93d7", "reftest" ], "css/css-paint-api/paint-function-arguments-ref.html": [ - "99adfd2712199dae9990c1ddf6593f45ccb5383c", + "6391d17f01ae4f7f2366d21b66a42fb380401916", "support" ], "css/css-paint-api/paint-function-arguments.https.html": [ - "3a1e579f5ecbe324d48a6e0cb4d94a77cb4361d3", + "fc303bf12839617bc24b0972d23520950ef4cea8", "reftest" ], "css/css-paint-api/paint2d-composite-ref.html": [ @@ -588036,23 +588269,23 @@ "support" ], "css/css-paint-api/paint2d-composite.https.html": [ - "edf8a766fabedaac61f2de9607ebde01e0d86c5b", + "d654ba49aad6048f88e6ddb6750554dc22b860fb", "reftest" ], "css/css-paint-api/paint2d-filter-ref.html": [ - "4ca6383b141308fb2d2582f62d946eb2df99f2c4", + "2e4b979ad818e2ab05bca014fd6acfc4f433d66f", "support" ], "css/css-paint-api/paint2d-filter.https.html": [ - "9d598c7a9689fccd3fcf140f912f58233f734b14", + "a53fff986c7207656b93f8d671f01f3280c2b24f", "reftest" ], "css/css-paint-api/paint2d-gradient-ref.html": [ - "a8064f595efeade2fef058ec5a969a85337e1276", + "f3644a92fd2bea78288db7add1c47cef023e0ead", "support" ], "css/css-paint-api/paint2d-gradient.https.html": [ - "1887f52b06b1033d183ef6506f92cf9fe0d69773", + "594f42b4c098cff337b98bb2a33b35c7d269f134", "reftest" ], "css/css-paint-api/paint2d-image-ref.html": [ @@ -588064,11 +588297,11 @@ "reftest" ], "css/css-paint-api/paint2d-paths-ref.html": [ - "7557411b4a18d240f92b32250343474079e013c3", + "313a71e1908473bc0826de3cc8c361c95314830a", "support" ], "css/css-paint-api/paint2d-paths.https.html": [ - "0e04168fcb1aae5bc555873b795dc448d476551b", + "ae29930dc61dea1cfe4f48faab4ead46cdd7833d", "reftest" ], "css/css-paint-api/paint2d-rects-ref.html": [ @@ -588080,115 +588313,115 @@ "reftest" ], "css/css-paint-api/paint2d-shadows-ref.html": [ - "268db495ee5907daaf16f09e9a99dc46d51ad5c8", + "94aea6ff8087a06bd58b4269e2fa046bc60c6813", "support" ], "css/css-paint-api/paint2d-shadows.https.html": [ - "b641dab8860f87264cd7b23f170ba693d894af62", + "124819fa3a68e893439df41f3e410d5526160dd1", "reftest" ], "css/css-paint-api/paint2d-transform-ref.html": [ - "e863f363f79ad9cf52670d0a7a7db447158cbc69", + "08893127a68872dbb8be4645275cbd5bfcc16ee0", "support" ], "css/css-paint-api/paint2d-transform.https.html": [ - "d052b8c5543344ba3629c4723e5d05912cfc86dd", + "b264d1da5f5038283b1f83635b7a03df20652426", "reftest" ], "css/css-paint-api/parse-input-arguments-001.https.html": [ - "486f379dd7b27e70fd734d62e7de45fd8ca9ab5e", + "d18259e4d719847fdc362d5d471557b7888291f2", "reftest" ], "css/css-paint-api/parse-input-arguments-002.https.html": [ - "5c7b3aca048d05f8535e6d182b9c5350595464ea", + "c5975586e9b10c98e85f937b0550a85fd2110d9a", "reftest" ], "css/css-paint-api/parse-input-arguments-003.https.html": [ - "81904ee6f7b132fe6a58cd12d84e43b95cee625b", + "4d5daa70731c1895e580e85155f44716448a58b1", "reftest" ], "css/css-paint-api/parse-input-arguments-004.https.html": [ - "9bf264b0d5fc21225c9f7ae8c887b61237b3f882", + "bd1e5651af7c4cb01c446ddee7595f2001dc65c5", "reftest" ], "css/css-paint-api/parse-input-arguments-005.https.html": [ - "24769f472c5b88b3b311a8d5e46e13ca3aaf6609", + "16744ec355c28c616eabbdcfdc100cbc0708cf5f", "reftest" ], "css/css-paint-api/parse-input-arguments-006.https.html": [ - "a6fcc16c5da9e135eebe3b4f53194f7fbe867fd2", + "2fbbec77054698b7c342294fa989cf854e95e497", "reftest" ], "css/css-paint-api/parse-input-arguments-007.https.html": [ - "462cfb601069597977dabe25c806ee1af095a554", + "1fc435fc7b0ab7e47d0e2d183682efbf73e34c95", "reftest" ], "css/css-paint-api/parse-input-arguments-008.https.html": [ - "d5c18b0905d76948428a3e874eccf7bda6ac944e", + "9543d2d88423caf1d9dfdfe29c96a0d4ecb8f0f1", "reftest" ], "css/css-paint-api/parse-input-arguments-009.https.html": [ - "7cfdf91eb02a2d2f293f52cc3a8256243757557f", + "41e8411a4a7e2b060142c0d8a792dc2ea9f7e9a8", "reftest" ], "css/css-paint-api/parse-input-arguments-010.https.html": [ - "142ca0c5d5d6b291f126d83554aa9ccec6aaa194", + "44bbab5b7f1a6d781b209f1fe6f654bec5badb71", "reftest" ], "css/css-paint-api/parse-input-arguments-011.https.html": [ - "23eb9d3c9f98f4e2a67728be32897bf59b87a1aa", + "09f8b0274760dab95f19d381b3aa365596e864ad", "reftest" ], "css/css-paint-api/parse-input-arguments-012.https.html": [ - "fa2c6b5f56053373e3be5d48e8ca0840b090ee8f", + "4a05b6fcf12accb0a2c4604529993b3d0030089b", "reftest" ], "css/css-paint-api/parse-input-arguments-013.https.html": [ - "adc1c03cfe66f4ce6fe75c4a59ca4708f7115059", + "ef8bf905c23dc4cd429d536b5b2f8e450cdf9b91", "reftest" ], "css/css-paint-api/parse-input-arguments-014.https.html": [ - "d041ae316f7a3ea2c853828d6845716c36c13c85", + "715dab8dc792cc8ffa4854b1adc8f411bb11676a", "reftest" ], "css/css-paint-api/parse-input-arguments-015.https.html": [ - "8ebe3e7c4d15fb653d890127eece81e1049df38f", + "4c8cfebca439981e4ab6d1af78010756455df2d0", "reftest" ], "css/css-paint-api/parse-input-arguments-016.https.html": [ - "ccd0595faa514a877eb2ff0f7d9a8980b9a5b971", + "aa5eda8aaecb5e2085abd70156f15d7227e797eb", "reftest" ], "css/css-paint-api/parse-input-arguments-017.https.html": [ - "476e29ff12f0d75940ee5dfb5ac4079e43a7ae04", + "2ba8d996c63d7856ff982b0f12ccb097e8f4893f", "reftest" ], "css/css-paint-api/parse-input-arguments-018-ref.html": [ - "05da4ed7880b640d5ad83af2b8f9ce53d283b89a", + "55b841fc649cfdc57093a7d6e8d7f7a5543fa436", "support" ], "css/css-paint-api/parse-input-arguments-018.https.html": [ - "e6a31cbdd41899f2d4a548a7af39e97c44140380", + "1554cc64451d3133980804bff1e24f87fdfaa51e", "reftest" ], "css/css-paint-api/parse-input-arguments-019.https.html": [ - "309ec800eacfde6302add112ecd94275f394dc1a", + "d0a628561d8f87c382feee2307d496ae9cb7f1c7", "reftest" ], "css/css-paint-api/parse-input-arguments-020.https.html": [ - "7e00b64123d5621c226b104ccec133b83f10fa6e", + "7797eb45fec1123c4f7138ed101fe24cc58599e2", "reftest" ], "css/css-paint-api/parse-input-arguments-021.https.html": [ - "8fa043a8cdead2ebbbb83f69fe708acac05127b1", + "22d6d5adbd009751117f589df8add31dbf384c4f", "reftest" ], "css/css-paint-api/parse-input-arguments-022.https.html": [ - "2ff27d7a4af5d4905a76ca53228b3cc619c05ecf", + "9434807039762e83ec291e2ff49c2862a9a76662", "reftest" ], "css/css-paint-api/parse-input-arguments-ref.html": [ - "086bc7b27ee79caab2c2e433da4ff00ba1bace9b", + "862212092a488948c202d88ba18334a738b583a8", "support" ], "css/css-paint-api/registered-property-interpolation-001.https.html": [ @@ -588232,15 +588465,15 @@ "reftest" ], "css/css-paint-api/registered-property-invalidation-001.https.html": [ - "133b9238e6ceef161f99b99711839cf791c908b8", + "408ba49743c561f3310eb4beba6767eba87b2f07", "reftest" ], "css/css-paint-api/registered-property-invalidation-002.https.html": [ - "aadbfec42c8c89a9fa9b9a77d86f36fd36b0cbe3", + "b65bcd5a6eebb71101d222065a6e704b7bbfae53", "reftest" ], "css/css-paint-api/registered-property-stylemap.https.html": [ - "4a6b4db521af8ddff57dd4ecaf9f9c35c5a4cc6b", + "3dec98d9102b4adcb09ec6bb496a4c74cb701280", "reftest" ], "css/css-paint-api/registered-property-value-001.https.html": [ @@ -588320,7 +588553,7 @@ "support" ], "css/css-paint-api/resources/utils.js": [ - "7efe85f260303050c73d58715f8dd768adb4e9d1", + "e9686441361326b996c73bfd084bd2f5a0bb1648", "support" ], "css/css-paint-api/setTransform-001.https.html": [ @@ -588344,27 +588577,27 @@ "support" ], "css/css-paint-api/style-background-image-ref.html": [ - "2fe4d0c9c024c22002f77e9e320624483f0086b7", + "ac936dd1694dc85f24049816ed0717632c966e09", "support" ], "css/css-paint-api/style-background-image.https.html": [ - "8e5f2f81547f0305ff230198f1b0300c838adfde", + "6a58da327332ee1edb3e8c18f099bf7408aae1c3", "reftest" ], "css/css-paint-api/style-before-pseudo-ref.html": [ - "cd8ea6bd66ff0d8ab77d6d537212d97bab855492", + "823fc257d41d2fd9f803d6bc3642c0e5ccf2d871", "support" ], "css/css-paint-api/style-before-pseudo.https.html": [ - "017b23a6caf66219a2b5912ce6eb9316cd0adfe5", + "7fde66ecb605184cc3040e84299fc83635cdf820", "reftest" ], "css/css-paint-api/style-first-letter-pseudo-ref.html": [ - "f9b116dcb6cf146f864a02c8270c46f6ba2b92d7", + "8f337c5be8b1a0804d2d02e86fa70e9c9e94c9a9", "support" ], "css/css-paint-api/style-first-letter-pseudo.https.html": [ - "d3c31a0508dc86aa0da95815ff2448bc2e074caf", + "67891378035ad776b8511b0c198c84c46bb9d981", "reftest" ], "css/css-paint-api/two-custom-property-animation-ref.html": [ @@ -589651,6 +589884,22 @@ "427578f9c5abfd1be809ea71cfcfdac4298def44", "reftest" ], + "css/css-pseudo/marker-content-014-ref.html": [ + "a4d269444e4df24e2ad7701271106fe26d1b14f6", + "support" + ], + "css/css-pseudo/marker-content-014.html": [ + "f1ebbe86c4f1f93e33ded979455458b65236414e", + "reftest" + ], + "css/css-pseudo/marker-content-015-ref.html": [ + "f2e7a708c3522e0913c3a904de7eb4ee95e3c95e", + "support" + ], + "css/css-pseudo/marker-content-015.html": [ + "6e1ec40af1d85c9f34ccb315649b67438a5dcf37", + "reftest" + ], "css/css-pseudo/marker-default-styles.html": [ "05da6f89a9e2f858eadfdfb63e5194feda5ce3fc", "testharness" @@ -594423,6 +594672,10 @@ "4ff3f786c6c6ea263c97771635bfb9f3c8076320", "testharness" ], + "css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html": [ + "4bfa65a2d0742d65c2ff1a22e5e9a0668af71d2f", + "reftest" + ], "css/css-sizing/image-min-max-content-intrinsic-size-change-001-ref.html": [ "160914c3e840a031f861f5701c444b57aed4819b", "support" @@ -594703,6 +594956,14 @@ "d763c927016bef8ffaffa7126b944ec60563d3f7", "testharness" ], + "css/css-sizing/thin-element-render-ref.html": [ + "0d5851d5544f9692d0761dc92c23b6b2b546b4d3", + "support" + ], + "css/css-sizing/thin-element-render.html": [ + "fa587360a6d2625c8f02cd7f0eba54b3bb09a1f1", + "reftest" + ], "css/css-sizing/whitespace-and-break.html": [ "f3ea3764478488b949433daccddf710cd0a91006", "reftest" @@ -612263,6 +612524,10 @@ "c1d94571cd20968c168ff1c4e53bf43ea0c9245f", "support" ], + "css/css-ui/reference/text-overflow-ellipsis-indent-001-ref.html": [ + "660a7c4d52e7e2a763bfffc7582469896a5835b8", + "support" + ], "css/css-ui/resize-001.html": [ "99c7f05e17cd929b314d1d01b0511ec72a36ad99", "manual" @@ -613423,6 +613688,10 @@ "23291d433901497735235cdc24b76ebd756dc371", "testharness" ], + "css/css-ui/text-overflow-ellipsis-indent-001.html": [ + "6f5c81bc1e09efb09cdf7564d1841592b2124c0a", + "reftest" + ], "css/css-ui/text-overflow-ellipsis-width-001.html": [ "2042111588254242c202527589507b40ef0c3538", "testharness" @@ -639175,6 +639444,10 @@ "c7c102945d070a4ea65cae0e30ea6ec64bb82c95", "testharness" ], + "domxpath/fn-normalize-space.html": [ + "a9f33a0ee3d153abd6fe05415c6ce6699ce8525c", + "testharness" + ], "domxpath/node-sets.html": [ "a47314fb0869885db01fd13bd8aa35687e283d0d", "testharness" @@ -669748,7 +670021,7 @@ "testharness" ], "loading/lazyload/invisible-image.tentative.html": [ - "b8b945ee01e9c36b665b8358264f4e872204a7f0", + "f7d887b18a228e648a5de45b890bfce371963cec", "testharness" ], "loading/lazyload/not-rendered-below-viewport-image-loading-lazy.tentative.html": [ @@ -676364,11 +676637,11 @@ "testharness" ], "offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html": [ - "8cc765c3cad51ee80ea83d293fee1bd9b6bbd327", + "7d230d966a945344949852f92b5010bbf98e8cd7", "testharness" ], "offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html": [ - "71eaa9626ae6fdcb8b06e5e152ec7c4b877da86c", + "9b08cc86257ff0e5220c23e3a76ffb8a4d7d8fa7", "testharness" ], "offscreen-canvas/drawing-images-to-the-canvas/2d.drawImage.3arg.html": [ @@ -682211,12 +682484,56 @@ "fb6d83faa8bec709724777aa3fe5caaada5daf11", "support" ], - "origin-policy/origin-policy-features.https.tentative.html": [ - "e83acf1dbdef347ce93dc7a64ccdf3e9b0e77d79", + "origin-policy/features/comma-in-policy.https.html": [ + "1b991f0d8b68af01681d9b77a9b21506ffe3fd58", + "testharness" + ], + "origin-policy/features/comma-in-policy.https.html.headers": [ + "c0e68720516a6665ade1b59539f3ff985790ff58", + "support" + ], + "origin-policy/features/double-features.https.html": [ + "8397f849f30148021f70883d4418591f72d647dc", + "testharness" + ], + "origin-policy/features/double-features.https.html.headers": [ + "f0a57380a8f570d96a0f9070f55a25641167030f", + "support" + ], + "origin-policy/features/double-policy.https.html": [ + "f1d63d6de966b36c0b410a5b62b803b9d7b40885", + "testharness" + ], + "origin-policy/features/double-policy.https.html.headers": [ + "c1421693e4dafffa69184991110810101f84687c", + "support" + ], + "origin-policy/features/helper.js": [ + "f9c16b58c2cf8bf85e5efb630ca7379ff14d36d3", + "support" + ], + "origin-policy/features/non-object.https.html": [ + "31f632bf0f1fed54666de913dd6a1c9a333e5388", + "testharness" + ], + "origin-policy/features/non-object.https.html.headers": [ + "e8f68712ed341e947fb8a85ca8aa0aee40839095", + "support" + ], + "origin-policy/features/non-string.https.html": [ + "019014c980a4a3a0565e10288b053c0da86e9f91", "testharness" ], - "origin-policy/origin-policy-features.https.tentative.html.headers": [ - "9864518cd9539eb2ce4a4f90d9db51ba4713ab1a", + "origin-policy/features/non-string.https.html.headers": [ + "4c6c376697b855ca61dc96b8f689675c11cbf769", + "support" + ], + "origin-policy/features/valid.https.html": [ + "6ff2076a7f076e78c73de5a019a52530a033f034", + "testharness" + ], + "origin-policy/features/valid.https.html.headers": [ + "9d0e25792c46d4039462ed50070bbed4c5c35269", "support" ], "origin-policy/origin-policy-report-to.https.tentative.sub.html": [ @@ -697652,7 +697969,7 @@ "support" ], "resources/chromium/nfc-mock.js": [ - "956947a4daf39756750571129982229b39d1decc", + "7eee8ce04c4630ae82d2520def13cfa107b7ef13", "support" ], "resources/chromium/sensor.mojom.js": [ @@ -698280,11 +698597,11 @@ "testharness" ], "scroll-to-text-fragment/scroll-to-text-fragment-target.html": [ - "0c59d8d85082bd1d5ac132f478a0b1c6db1e5edc", + "bc9ee9e6bc550d4e149354e8a989ef7ba29520ca", "support" ], "scroll-to-text-fragment/scroll-to-text-fragment.html": [ - "2a94033b8c918120792a8649154104db5bef3142", + "f0b167a9051aa5a8bc03f5df55020a1c7a3d726d", "testharness" ], "scroll-to-text-fragment/stash.js": [ @@ -720127,6 +720444,10 @@ "2f4d5ab4dc3c647818d2dbdae4902ef14f235cda", "testharness" ], + "wasm/webapi/historical.any.js": [ + "0fe1e1c891fa7ee7d79c6895f8b38f4f207e6b23", + "testharness" + ], "wasm/webapi/idlharness.any.js": [ "0c4669e6caa7b2b7a9c0a89f13cc11605a9067c4", "testharness" @@ -720380,7 +720701,7 @@ "testharness" ], "web-animations/interfaces/KeyframeEffect/style-change-events.html": [ - "af53d2d5e141bf20a1f5e79aeaa5c87520f11e2d", + "eecf170cd902a3160ade8b4a95fb8ef16851f656", "testharness" ], "web-animations/interfaces/KeyframeEffect/target.html": [ @@ -720684,7 +721005,7 @@ "manual" ], "web-nfc/NDEFReader_scan.https.html": [ - "46e4cb7f23a2721e6d53a79cd896022e3f5b3d8b", + "a9b1d7516173418243c630817eea22fd0bed2046", "testharness" ], "web-nfc/NDEFReader_scan_filter.https.html": [ @@ -720708,11 +721029,11 @@ "manual" ], "web-nfc/NDEFWriter_push.https.html": [ - "bacbcaaeff39955c062a99f93d3ee443184e824e", + "a6050b8ff7112cc00ec29b596c992cafb3657b7e", "testharness" ], "web-nfc/README.md": [ - "a283c0611f846346cda1f5fd7352e37c760c6292", + "c4efc02ff2a692cf44937466f7aea75635590ded", "support" ], "web-nfc/idlharness.https.window.js": [ diff --git a/tests/wpt/metadata/css/CSS2/borders/shand-border-000.xht.ini b/tests/wpt/metadata/css/CSS2/borders/shand-border-000.xht.ini new file mode 100644 index 00000000000..f8f6d02a944 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/borders/shand-border-000.xht.ini @@ -0,0 +1,2 @@ +[shand-border-000.xht] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini index be79ff9381d..49cfd2463e1 100644 --- a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini +++ b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-001.https.html.ini @@ -1,4 +1,3 @@ [geometry-border-image-001.https.html] type: reftest - expected: FAIL bug: https://github.com/servo/servo/issues/17861 diff --git a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini index b39ba7c1aed..6bb0af941cf 100644 --- a/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini +++ b/tests/wpt/metadata/css/css-paint-api/geometry-border-image-004.https.html.ini @@ -1,4 +1,3 @@ [geometry-border-image-004.https.html] type: reftest - expected: FAIL bug: https://github.com/servo/servo/issues/17860 diff --git a/tests/wpt/metadata/css/css-ui/text-overflow-ellipsis-indent-001.html.ini b/tests/wpt/metadata/css/css-ui/text-overflow-ellipsis-indent-001.html.ini new file mode 100644 index 00000000000..3548640a19f --- /dev/null +++ b/tests/wpt/metadata/css/css-ui/text-overflow-ellipsis-indent-001.html.ini @@ -0,0 +1,2 @@ +[text-overflow-ellipsis-indent-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini index c884dc82eab..628b1fab770 100644 --- a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini +++ b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini @@ -2,6 +2,3 @@ [listeners are called when <iframe> is resized] expected: FAIL - [listeners are called correct number of times] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..e38782d8c85 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 9e1add4143e..9a78a0a835d 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -309,24 +309,24 @@ [<iframe>: separate response Content-Type: */* text/html] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" 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>: combined response Content-Type: text/html */*;charset=gbk] 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>: separate response Content-Type: text/plain */*] + [<iframe>: combined response Content-Type: */* text/html] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html;x=" text/plain] + [<iframe>: separate response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index e67f0406fc3..d2df9b78483 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 x/x] + 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 536384f36e1..87c807a49ff 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,3 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL - [X-Content-Type-Options%3A%20%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 6bd06899fdd..80ebd73cb00 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,7 +8,7 @@ expected: FAIL [Embedded credentials are treated as network errors in new windows.] - expected: FAIL + expected: TIMEOUT [Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini deleted file mode 100644 index 75d75b4cda2..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_2.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/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..b3bd9f4c289 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,6 @@ [iframe_sandbox_popups_escaping-3.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html.ini b/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html.ini index 84e1a2d6fb2..4a35ddad23c 100644 --- a/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html.ini +++ b/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html.ini @@ -17,3 +17,6 @@ [Test that call convertToBlob on a detached OffscreenCanvas throws exception] expected: FAIL + [Test that call convertToBlob on a OffscreenCanvas with tainted origin throws exception] + expected: FAIL + diff --git a/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html.ini b/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html.ini index 2d70a69b718..6ff41d764e1 100644 --- a/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html.ini +++ b/tests/wpt/metadata/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html.ini @@ -42,3 +42,6 @@ [Test that convertToBlob with default arguments produces correct result in a worker] expected: FAIL + [Test that call convertToBlob on a OffscreenCanvas with tainted origin throws exception in a worker] + expected: FAIL + diff --git a/tests/wpt/metadata/wasm/webapi/historical.any.js.ini b/tests/wpt/metadata/wasm/webapi/historical.any.js.ini new file mode 100644 index 00000000000..a3472358f20 --- /dev/null +++ b/tests/wpt/metadata/wasm/webapi/historical.any.js.ini @@ -0,0 +1,15 @@ +[historical.any.worker.html] + [historical] + expected: FAIL + + +[historical.any.sharedworker.html] + expected: ERROR + +[historical.any.html] + [historical] + expected: FAIL + + +[historical.any.serviceworker.html] + expected: ERROR diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini index f584fce5df1..268949ced5c 100644 --- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini @@ -1,5 +1,4 @@ [005.html] - expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features deleted file mode 100644 index 143ff5820ac..00000000000 --- a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features +++ /dev/null @@ -1,6 +0,0 @@ -{ - "feature-policy": [ - "camera 'self' https://example.org", - "geolocation https://example.org/" - ] -} diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-comma-in-policy b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-comma-in-policy new file mode 100644 index 00000000000..e991c788f24 --- /dev/null +++ b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-comma-in-policy @@ -0,0 +1,5 @@ +{ + "features": { + "policy": "camera 'self' https://example.com/, geolocation 'self' https://example.com/" + } +} diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-double-features b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-double-features new file mode 100644 index 00000000000..583f1eaa2fc --- /dev/null +++ b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-double-features @@ -0,0 +1,8 @@ +{ + "features": { + "policy": "camera 'self' https://example.com/" + }, + "features": { + "policy": "geolocation 'self' https://example.com/" + } +} diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-double-policy b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-double-policy new file mode 100644 index 00000000000..fb216bc4729 --- /dev/null +++ b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-double-policy @@ -0,0 +1,6 @@ +{ + "features": { + "policy": "camera 'self' https://example.com/", + "policy": "geolocation 'self' https://example.com/" + } +} diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-non-object b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-non-object new file mode 100644 index 00000000000..b4d255440dc --- /dev/null +++ b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-non-object @@ -0,0 +1,3 @@ +{ + "features": "camera 'self' https://example.com/" +} diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-non-string b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-non-string new file mode 100644 index 00000000000..8b758c7f617 --- /dev/null +++ b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-non-string @@ -0,0 +1,5 @@ +{ + "features": { + "policy": ["camera 'self' https://example.com/"] + } +} diff --git a/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-valid b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-valid new file mode 100644 index 00000000000..22ef8992cf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/.well-known/origin-policy/policy-features-valid @@ -0,0 +1,5 @@ +{ + "features": { + "policy": "camera 'self' https://example.com/; geolocation 'self' https://example.com/" + } +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/report-only-frame.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/report-only-frame.sub.html new file mode 100644 index 00000000000..28dd4bebeca --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/report-only-frame.sub.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<meta name="timeout" content="long"> +<head> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <title>Blocked frames are reported correctly</title> +</head> +<body> + <iframe src="support/content-security-policy-report-only.sub.html?policy=report-uri%20../../support/report.py%3Fop=put%26reportID={{$id:uuid()}}%3B%20frame-ancestors%20'none'"></iframe> + <script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=frame-ancestors%20'none'&reportID={{$id}}"></script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html new file mode 100644 index 00000000000..c8317b91cf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<html> +<body> + <p>This is an IFrame sending a Content-Security-Policy-Report-Only header containing "{{GET[policy]}}".</p> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html.sub.headers new file mode 100644 index 00000000000..ccb142e569e --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/frame-ancestors/support/content-security-policy-report-only.sub.html.sub.headers @@ -0,0 +1 @@ +Content-Security-Policy-Report-Only: {{GET[policy]}} diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha-ref.html index 519b3599e95..532b1bd7e31 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha-ref.html @@ -28,9 +28,8 @@ function drawCanvas(canvasID, hasAlpha) { var canvas = document.getElementById(canvasID); var context = canvas.getContext("2d", {alpha: hasAlpha}); context.clearRect(0, 0, canvas.width, canvas.height); - context.strokeStyle = 'blue'; - context.lineWidth = 4; - context.strokeRect(20, 20, 60, 60); + context.fillStyle = 'blue'; + context.fillRect(20, 20, 60, 60); }; drawCanvas('opaque', false); diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha.https.html index 7f1e31bf39b..c8fdc852579 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/background-image-alpha.https.html @@ -33,18 +33,16 @@ registerPaint('opaque', class { static get contextOptions() { return {alpha: false}; } paint(ctx, geom) { - ctx.strokeStyle = 'blue'; - ctx.lineWidth = 4; - ctx.strokeRect(20, 20, 60, 60); + ctx.fillStyle = 'blue'; + ctx.fillRect(20, 20, 60, 60); } }); registerPaint('nonOpaque', class { static get contextOptions() { return {alpha: true}; } paint(ctx, geom) { - ctx.strokeStyle = 'blue'; - ctx.lineWidth = 4; - ctx.strokeRect(20, 20, 60, 60); + ctx.fillStyle = 'blue'; + ctx.fillRect(20, 20, 60, 60); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001-ref.html index 83edae100ee..3e7db50548e 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001-ref.html @@ -8,9 +8,8 @@ html, body { margin: 0; padding: 0; } <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 100, 100); +context.fillStyle = 'green'; +context.fillRect(0, 0, 100, 100); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001.https.html index eb7f6716ada..50d75a54703 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-001.https.html @@ -21,9 +21,8 @@ html, body { margin: 0; padding: 0; } <script id="code" type="text/worklet"> registerPaint('geometry', class { paint(ctx, geom) { - ctx.strokeStyle = 'green'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'green'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002-ref.html index ab964dbf8d7..b03fcd02ec3 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002-ref.html @@ -8,9 +8,8 @@ html, body { margin: 0; padding: 0; } <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 200, 200); +context.fillStyle = 'green'; +context.fillRect(0, 0, 200, 200); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002.https.html index e636aa73b3b..06be523c320 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-002.https.html @@ -21,9 +21,8 @@ html, body { margin: 0; padding: 0; } <script id="code" type="text/worklet"> registerPaint('geometry', class { paint(ctx, geom) { - ctx.strokeStyle = 'green'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'green'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-001.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-001.https.html index 51373a528e4..dbb4c385ee1 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-001.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-001.https.html @@ -23,7 +23,6 @@ html, body { margin: 0; padding: 0; } registerPaint('geometry', class { paint(ctx, geom) { ctx.fillStyle = 'green'; - ctx.beginPath(); ctx.rect(0, 0, geom.width, geom.height); ctx.fill(); } diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002-ref.html index f3c65e6776d..3b3b2bc30e6 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002-ref.html @@ -8,9 +8,8 @@ html, body { margin: 0; padding: 0; } <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 50, 20); +context.fillStyle = 'green'; +context.fillRect(0, 0, 50, 20); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002.https.html index d55761b47cd..6f865175ce3 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-002.https.html @@ -22,9 +22,8 @@ html, body { margin: 0; padding: 0; } <script id="code" type="text/worklet"> registerPaint('geometry', class { paint(ctx, geom) { - ctx.strokeStyle = 'green'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'green'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003-ref.html index 8e1eb027658..a21a990f98d 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003-ref.html @@ -8,9 +8,8 @@ html, body { margin: 0; padding: 0; } <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 60, 80); +context.fillStyle = 'green'; +context.fillRect(0, 0, 60, 80); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003.https.html index 6d5bdd2fa53..a3792caafbf 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-background-image-tiled-003.https.html @@ -22,9 +22,8 @@ html, body { margin: 0; padding: 0; } <script id="code" type="text/worklet"> registerPaint('geometry', class { paint(ctx, geom) { - ctx.strokeStyle = 'green'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'green'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001-ref.html index bb0aa409374..23a48d55737 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001-ref.html @@ -15,9 +15,8 @@ var context = canvas.getContext("2d"); // So in this ref test, we create a 200*200 canvas. We draw to a 220*220 area // and scale it to fit the 200*200 canvas. context.scale(200/220, 200/220); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 220, 220); +context.fillStyle = 'green'; +context.fillRect(0, 0, 220, 220); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001.https.html index ff7f56e299d..76813eab30f 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-001.https.html @@ -24,11 +24,10 @@ html, body { margin: 0; padding: 0; } registerPaint('geometry', class { paint(ctx, geom) { if (geom.width == 220 && geom.height == 220) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002-ref.html index 0eb84ec0400..050c6a9c356 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002-ref.html @@ -8,9 +8,8 @@ html, body { margin: 0; padding: 0; } <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 90, 90); +context.fillStyle = 'green'; +context.fillRect(0, 0, 90, 90); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002.https.html index d6e47f04907..4c686b9c11c 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-002.https.html @@ -24,11 +24,10 @@ html, body { margin: 0; padding: 0; } registerPaint('geometry', class { paint(ctx, geom) { if (geom.width == 90 && geom.height == 90) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003-ref.html index b17c9ffce2a..ef14f7728b6 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003-ref.html @@ -8,9 +8,8 @@ html, body { margin: 0; padding: 0; } <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 80, 120); +context.fillStyle = 'green'; +context.fillRect(0, 0, 80, 120); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003.https.html index 36af043cc5f..ce343df2916 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-003.https.html @@ -24,11 +24,10 @@ html, body { margin: 0; padding: 0; } registerPaint('geometry', class { paint(ctx, geom) { if (geom.width == 80 && geom.height == 120) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004-ref.html index c32fdd8f0ab..764b6e57c5c 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004-ref.html @@ -15,9 +15,8 @@ var context = canvas.getContext("2d"); // In this ref html, we draw to a 140*140 area, but scale it to fit the 120*120 // canvas. context.scale(120/140, 120/140); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 140, 140); +context.fillStyle = 'green'; +context.fillRect(0, 0, 140, 140); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004.https.html index 0f483cd5d19..8dd80c71719 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/geometry-border-image-004.https.html @@ -24,11 +24,10 @@ html, body { margin: 0; padding: 0; } registerPaint('geometry', class { paint(ctx, geom) { if (geom.width == 140 && geom.height == 140) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/non-registered-property-value.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/non-registered-property-value.https.html index 5b237e01eae..774cb4eb2de 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/non-registered-property-value.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/non-registered-property-value.https.html @@ -23,9 +23,8 @@ registerPaint('geometry', class { static get inputProperties() { return ['--foo']; } paint(ctx, geom, properties) { let fooValue = parseFloat(properties.get('--foo').toString()); - ctx.strokeStyle = 'green'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, fooValue, fooValue); + ctx.fillStyle = 'green'; + ctx.fillRect(0, 0, fooValue, fooValue); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments-ref.html index 3352acf6518..3675fc10e72 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments-ref.html @@ -28,9 +28,8 @@ function drawCanvas(canvasID, color) { var canvas = document.getElementById(canvasID); var context = canvas.getContext("2d", {alpha: true}); context.clearRect(0, 0, canvas.width, canvas.height); - context.strokeStyle = color; - context.lineWidth = 4; - context.strokeRect(20, 20, 60, 60); + context.fillStyle = color; + context.fillRect(20, 20, 60, 60); }; drawCanvas('box-green', 'green'); diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments.https.html index 615027c8fe3..c08069c2e39 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint-arguments.https.html @@ -35,9 +35,8 @@ registerPaint('box', class { static get contextOptions() { return {alpha: true}; } static get inputArguments() { return ['<color>']; } paint(ctx, geom, properties, args) { - ctx.strokeStyle = args[0].toString(); - ctx.lineWidth = 4; - ctx.strokeRect(20, 20, 60, 60); + ctx.fillStyle = args[0].toString(); + ctx.fillRect(20, 20, 60, 60); } }); diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments-ref.html index 99adfd27121..6391d17f01a 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments-ref.html @@ -28,13 +28,12 @@ function drawCanvas(canvasID, color, width) { var canvas = document.getElementById(canvasID); var context = canvas.getContext("2d", {alpha: true}); context.clearRect(0, 0, canvas.width, canvas.height); - context.strokeStyle = color; - context.lineWidth = width; - context.strokeRect(40, 40, 120, 120); + context.fillStyle = color; + context.fillRect(40, 40, width, width); }; -drawCanvas('box-1', 'rgb(50, 100, 150)', '5px'); -drawCanvas('box-2', 'rgb(150, 100, 50)', '10px'); +drawCanvas('box-1', 'rgb(50, 100, 150)', '50px'); +drawCanvas('box-2', 'rgb(150, 100, 50)', '100px'); </script> </body> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments.https.html index 3a1e579f5ec..fc303bf1283 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint-function-arguments.https.html @@ -9,11 +9,11 @@ } #canvas-box-1 { - background-image: paint(box, rgb(50, 100, 150), 5px); + background-image: paint(box, rgb(50, 100, 150), 50px); } #canvas-box-2 { - background-image: paint(box, rgb(150, 100, 50), 10px); + background-image: paint(box, rgb(150, 100, 50), 100px); } #background { @@ -35,9 +35,9 @@ registerPaint('box', class { static get contextOptions() { return {alpha: true}; } static get inputArguments() { return ['<color>', '<length>']; } paint(ctx, geom, properties, args) { - ctx.strokeStyle = args[0].toString(); - ctx.lineWidth = args[1].toString(); - ctx.strokeRect(40, 40, 120, 120); + ctx.fillStyle = args[0].toString(); + let size = args[1].toString(); + ctx.fillRect(40, 40, size, size); } }); diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-composite.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-composite.https.html index edf8a766fab..d654ba49aad 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-composite.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-composite.https.html @@ -72,3 +72,4 @@ for (var i = 0; i < compositeOps.length; i++) { </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter-ref.html index 4ca6383b141..2e4b979ad81 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter-ref.html @@ -58,3 +58,4 @@ paint('output14', "url(#url)"); </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter.https.html index 9d598c7a968..a53fff986c7 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-filter.https.html @@ -105,3 +105,4 @@ for (var i = 0; i < filterOps.length; i++) { </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient-ref.html index a8064f595ef..f3644a92fd2 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient-ref.html @@ -22,3 +22,4 @@ ctx.fillRect(100, 0, 100, 100); </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient.https.html index 1887f52b06b..594f42b4c09 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-gradient.https.html @@ -39,3 +39,4 @@ registerPaint('gradients', class { </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths-ref.html index 7557411b4a1..313a71e1908 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths-ref.html @@ -30,3 +30,4 @@ ctx.fill('evenodd'); </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths.https.html index 0e04168fcb1..ae29930dc61 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-paths.https.html @@ -47,3 +47,4 @@ registerPaint('paths', class { </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows-ref.html index 268db495ee5..94aea6ff808 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows-ref.html @@ -21,3 +21,4 @@ ctx.fillRect(110, 10, 50, 50); </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows.https.html index b641dab8860..124819fa3a6 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-shadows.https.html @@ -38,3 +38,4 @@ registerPaint('shadows', class { </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform-ref.html index e863f363f79..08893127a68 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform-ref.html @@ -20,3 +20,4 @@ ctx.fillRect(0, 0, 50, 50); </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform.https.html index d052b8c5543..b264d1da5f5 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/paint2d-transform.https.html @@ -37,3 +37,4 @@ registerPaint('transform', class { </script> </body> </html> + diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-001.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-001.https.html index 486f379dd7b..d18259e4d71 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-001.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-001.https.html @@ -33,11 +33,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-002.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-002.https.html index 5c7b3aca048..c5975586e9b 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-002.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-002.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-003.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-003.https.html index 81904ee6f7b..4d5daa70731 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-003.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-003.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-004.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-004.https.html index 9bf264b0d5f..bd1e5651af7 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-004.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-004.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-005.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-005.https.html index 24769f472c5..16744ec355c 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-005.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-005.https.html @@ -31,11 +31,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-006.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-006.https.html index a6fcc16c5da..2fbbec77054 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-006.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-006.https.html @@ -30,11 +30,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-007.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-007.https.html index 462cfb60106..1fc435fc7b0 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-007.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-007.https.html @@ -33,11 +33,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-008.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-008.https.html index d5c18b0905d..9543d2d8842 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-008.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-008.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-009.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-009.https.html index 7cfdf91eb02..41e8411a4a7 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-009.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-009.https.html @@ -32,11 +32,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-010.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-010.https.html index 142ca0c5d5d..44bbab5b7f1 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-010.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-010.https.html @@ -32,11 +32,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-011.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-011.https.html index 23eb9d3c9f9..09f8b027476 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-011.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-011.https.html @@ -30,11 +30,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-012.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-012.https.html index fa2c6b5f560..4a05b6fcf12 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-012.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-012.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-013.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-013.https.html index adc1c03cfe6..ef8bf905c23 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-013.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-013.https.html @@ -29,11 +29,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-014.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-014.https.html index d041ae316f7..715dab8dc79 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-014.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-014.https.html @@ -31,11 +31,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-015.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-015.https.html index 8ebe3e7c4d1..4c8cfebca43 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-015.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-015.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-016.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-016.https.html index ccd0595faa5..aa5eda8aaec 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-016.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-016.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-017.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-017.https.html index 476e29ff12f..2ba8d996c63 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-017.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-017.https.html @@ -32,11 +32,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018-ref.html index 05da4ed7880..55b841fc649 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018-ref.html @@ -1,12 +1,11 @@ <!DOCTYPE html> <html> <body> -<p>This test result should show a rect with black border, where the rect is -filled with green on the lower right corner. The registerPaint('failureIndicator') +<p>This test result should show a green rect. The registerPaint('failureIndicator') will be called twice and the inputArguments will return two different strings, which will throw an exception and the paint function with 'failureIndicator' should never be called. In other words, there should be no red painted in the result.</p> -<canvas id ="canvas" width="100" height="100" style="border:1px solid black"></canvas> +<canvas id ="canvas" width="100" height="100"></canvas> <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018.https.html index e6a31cbdd41..1554cc64451 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-018.https.html @@ -9,15 +9,13 @@ } #canvas-geometry { - border:1px solid black; background-image: paint(failureIndicator), paint(geometry); } </style> <script src="/common/reftest-wait.js"></script> <script src="/common/worklet-reftest.js"></script> <body> -<p>This test result should show a rect with black border, where the rect is -filled with green on the lower right corner. The registerPaint('failureIndicator') +<p>This test result should show a green rect. The registerPaint('failureIndicator') will be called twice and the inputArguments will return two different strings, which will throw an exception and the paint function with 'failureIndicator' should never be called. In other words, there should be no red painted in the result.</p> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-019.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-019.https.html index 309ec800eac..d0a628561d8 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-019.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-019.https.html @@ -32,11 +32,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-020.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-020.https.html index 7e00b64123d..7797eb45fec 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-020.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-020.https.html @@ -31,11 +31,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-021.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-021.https.html index 8fa043a8cde..22d6d5adbd0 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-021.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-021.https.html @@ -34,11 +34,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-022.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-022.https.html index 2ff27d7a4af..94348070397 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-022.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-022.https.html @@ -32,11 +32,10 @@ try { registerPaint('geometry', class { paint(ctx, geom) { if (testsPassed) - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; else - ctx.strokeStyle = 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-ref.html index 086bc7b27ee..862212092a4 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/parse-input-arguments-ref.html @@ -5,9 +5,8 @@ <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 100, 100); +context.fillStyle = 'green'; +context.fillRect(0, 0, 100, 100); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-001.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-001.https.html index 133b9238e6c..408ba49743c 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-001.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-001.https.html @@ -18,9 +18,8 @@ registerPaint('geometry', class { static get inputProperties() { return ['--color']; } paint(ctx, geom, styleMap) { - ctx.strokeStyle = styleMap.get('--color').toString(); - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = styleMap.get('--color').toString(); + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-002.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-002.https.html index aadbfec42c8..b65bcd5a6ee 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-002.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-invalidation-002.https.html @@ -21,9 +21,8 @@ registerPaint('geometry', class { paint(ctx, geom, styleMap) { let value = styleMap.get('--length'); let pass = value.value === 100 && value.unit === 'px'; - ctx.strokeStyle = pass ? 'green' : 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = pass ? 'green' : 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-stylemap.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-stylemap.https.html index 4a6b4db521a..3dec98d9102 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-stylemap.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/registered-property-stylemap.https.html @@ -41,9 +41,8 @@ pass &= Array.from(styleMap).filter(e => e[0] == '--prop')[0][1].length == 4; pass &= Array.from(styleMap).filter(e => e[0] == '--prop')[0][1].every(isExpected); - ctx.strokeStyle = pass ? 'green' : 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = pass ? 'green' : 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } });` diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/resources/utils.js b/tests/wpt/web-platform-tests/css/css-paint-api/resources/utils.js index 7efe85f2603..e9686441361 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/resources/utils.js +++ b/tests/wpt/web-platform-tests/css/css-paint-api/resources/utils.js @@ -44,9 +44,8 @@ function expectWorkletValues(target, expected) { let serialize = (v) => '[' + v.constructor.name + ' ' + v.toString() + ']'; let actual = expectedKeys.map(k => styleMap.getAll(k).map(serialize).join(', ')).join(' | '); let expected = expectedKeys.map(k => expectedData[k].join(', ')).join(' | '); - ctx.strokeStyle = (actual === expected) ? 'green' : 'red'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = (actual === expected) ? 'green' : 'red'; + ctx.fillRect(0, 0, geom.width, geom.height); } });` diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image-ref.html index 2fe4d0c9c02..ac936dd1694 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image-ref.html @@ -5,9 +5,8 @@ <script> var canvas = document.getElementById('canvas'); var context = canvas.getContext("2d"); -context.strokeStyle = 'green'; -context.lineWidth = 4; -context.strokeRect(0, 0, 100, 100); +context.fillStyle = 'green'; +context.fillRect(0, 0, 100, 100); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image.https.html index 8e5f2f81547..6a58da32733 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/style-background-image.https.html @@ -41,17 +41,16 @@ registerPaint('geometry', class { serialized = properties[i].toString() + ': [null]'; serializedStrings.push(serialized); } - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; if (serializedStrings[0] != "--bar: [CSSUnparsedValue=]") - ctx.strokeStyle = 'red'; + ctx.fillStyle = 'red'; if (serializedStrings[1] != "--foo: [CSSUnparsedValue= bar]") - ctx.strokeStyle = 'blue'; + ctx.fillStyle = 'blue'; if (serializedStrings[2] != "empty-cells: [CSSKeywordValue=show]") - ctx.strokeStyle = 'yellow'; + ctx.fillStyle = 'yellow'; if (serializedStrings[3] != "margin-left: [CSSUnitValue=2px]") - ctx.strokeStyle = 'cyan'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'cyan'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo-ref.html index cd8ea6bd66f..823fc257d41 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo-ref.html @@ -25,9 +25,8 @@ canvas{ document.addEventListener('DOMContentLoaded', function() { var canvas = document.querySelector('canvas'); var context = canvas.getContext("2d"); - context.strokeStyle = 'green'; - context.lineWidth = 4; - context.strokeRect(0, 0, 30, 10); + context.fillStyle = 'green'; + context.fillRect(0, 0, 30, 10); }); </script> </body> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo.https.html index 017b23a6caf..7fde66ecb60 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/style-before-pseudo.https.html @@ -45,15 +45,14 @@ registerPaint('geometry', class { serialized = properties[i].toString() + ': [null]'; serializedStrings.push(serialized); } - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; if (serializedStrings[0] != "--bar: [CSSUnparsedValue=]") - ctx.strokeStyle = 'red'; + ctx.fillStyle = 'red'; if (serializedStrings[1] != "--foo: [CSSUnparsedValue= bar]") - ctx.strokeStyle = 'blue'; + ctx.fillStyle = 'blue'; if (serializedStrings[2] != "margin-left: [CSSUnitValue=2px]") - ctx.strokeStyle = 'yellow'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'yellow'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo-ref.html b/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo-ref.html index f9b116dcb6c..8f337c5be8b 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo-ref.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo-ref.html @@ -22,9 +22,8 @@ canvas{ document.addEventListener('DOMContentLoaded', function() { var canvas = document.querySelector('canvas'); var context = canvas.getContext("2d"); - context.strokeStyle = 'green'; - context.lineWidth = 4; - context.strokeRect(0, 0, 10, 10); + context.fillStyle = 'green'; + context.fillRect(0, 0, 10, 10); }); </script> </body> diff --git a/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo.https.html b/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo.https.html index d3c31a0508d..67891378035 100644 --- a/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo.https.html +++ b/tests/wpt/web-platform-tests/css/css-paint-api/style-first-letter-pseudo.https.html @@ -41,13 +41,12 @@ registerPaint('geometry', class { serialized = properties[i].toString() + ': [null]'; serializedStrings.push(serialized); } - ctx.strokeStyle = 'green'; + ctx.fillStyle = 'green'; if (serializedStrings[0] != "color: [CSSStyleValue=rgb(255, 0, 0)]") - ctx.strokeStyle = 'red'; + ctx.fillStyle = 'red'; if (serializedStrings[1] != "line-height: [CSSUnitValue=2px]") - ctx.strokeStyle = 'blue'; - ctx.lineWidth = 4; - ctx.strokeRect(0, 0, geom.width, geom.height); + ctx.fillStyle = 'blue'; + ctx.fillRect(0, 0, geom.width, geom.height); } }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-014-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-014-ref.html new file mode 100644 index 00000000000..a4d269444e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-014-ref.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title> +<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com"> +<style> +iframe { + width: 600px; + border: none; +} +</style> +<body> +<script src="/common/reftest-wait.js"></script> +<script> +"use strict"; +const code = ` + <!DOCTYPE html> + <style> + ::marker { + font-size: 3vw; + } + ol { + float: left; + } + .inside { + list-style-position: inside; + } + .decimal { + list-style-type: decimal; + } + .string { + list-style-type: "1. "; + } + .marker::marker { + content: "1. "; + } + </style> + <ol> + <li class="decimal">item</li> + <li class="string">item</li> + <li class="marker">item</li> + </ol> + <ol class="inside"> + <li class="decimal">item</li> + <li class="string">item</li> + <li class="marker">item</li> + </ol> +`; +const iframe = document.createElement("iframe"); +iframe.src = "data:text/html," + encodeURI(code); +iframe.addEventListener("load", function() { + takeScreenshot(); +}, {once: true}); +document.body.appendChild(iframe); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-014.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-014.html new file mode 100644 index 00000000000..f1ebbe86c4f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-014.html @@ -0,0 +1,67 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>CSS Test: ::marker pseudo elements styled with 'content' property</title> +<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com"> +<link rel="match" href="marker-content-014-ref.html"> +<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo"> +<link rel="help" href="https://drafts.csswg.org/css-values/#viewport-relative-lengths"> +<meta name="assert" content="Checks that viewport units in ::marker are recalculated when viewport size changes."> +<style> +iframe { + width: 300px; + border: none; +} +iframe.big { + width: 600px; +} +</style> +<body> +<script src="/common/reftest-wait.js"></script> +<script> +"use strict"; +const code = ` + <!DOCTYPE html> + <style> + ::marker { + font-size: 3vw; + } + ol { + float: left; + } + .inside { + list-style-position: inside; + } + .decimal { + list-style-type: decimal; + } + .string { + list-style-type: "1. "; + } + .marker::marker { + content: "1. "; + } + </style> + <ol> + <li class="decimal">item</li> + <li class="string">item</li> + <li class="marker">item</li> + </ol> + <ol class="inside"> + <li class="decimal">item</li> + <li class="string">item</li> + <li class="marker">item</li> + </ol> +`; +const iframe = document.createElement("iframe"); +iframe.src = "data:text/html," + encodeURI(code); +iframe.addEventListener("load", function() { + requestAnimationFrame(() => { + iframe.classList.add("big"); + takeScreenshot(); + }); +}, {once: true}); +document.body.appendChild(iframe); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-015-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-015-ref.html new file mode 100644 index 00000000000..f2e7a708c35 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-015-ref.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title> +<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com"> +<style> +li { + margin-left: 100px; +} +.outside { + list-style-position: outside; +} +.inside { + list-style-position: inside; +} +.decimal { + list-style-type: decimal; +} +.string { + list-style-type: "[marker]"; +} +</style> +<!-- Note: Chromium and WebKit force all these markers to be inside --> +<li class="outside decimal">outside</li> +<li class="outside string">outside</li> +<li class="inside decimal">inside</li> +<li class="inside string">inside</li> diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-015.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-015.html new file mode 100644 index 00000000000..6e1ec40af1d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-015.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Test: ::marker pseudo elements styled with 'content' property</title> +<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com"> +<link rel="match" href="marker-content-015-ref.html"> +<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo"> +<meta name="assert" content="Checks that the position of a ::marker originated by a <li> which is not in a list is not affected by the 'content' property."> +<style> +li { + margin-left: 100px; +} +.outside { + list-style-position: outside; +} +.inside { + list-style-position: inside; +} +.decimal { + list-style-type: decimal; +} +.marker::marker { + content: "[marker]"; +} +</style> +<!-- Note: Chromium and WebKit force all these markers to be inside --> +<li class="outside decimal">outside</li> +<li class="outside marker">outside</li> +<li class="inside decimal">inside</li> +<li class="inside marker">inside</li> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html b/tests/wpt/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html new file mode 100644 index 00000000000..4bfa65a2d07 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/image-fractional-height-with-wide-aspect-ratio.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/css-sizing/#intrinsic-sizes"> +<link rel="match" href="../reference/ref-filled-green-100px-square-only.html"> +<style> +.target { + height: 12.5px; + background-color: red; + display: block; +} +</style> +<p>Test passes if there is a filled green square.</p> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> +<img src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 12'><rect width='96' height='12' fill='green'/></svg>" + class="target"> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/thin-element-render-ref.html b/tests/wpt/web-platform-tests/css/css-sizing/thin-element-render-ref.html new file mode 100644 index 00000000000..0d5851d5544 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/thin-element-render-ref.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<title>Reference: Thin elements should paint even at small size</title> +<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org"> +<html> + <head> + <style> + .disappearing-border { + height:1px; + width:100%; + border-top:1px solid black; + } + + .disappearing-box { + height:1px; + width:100%; + background-color: black; + } + + body { + margin: 0px; + padding: 0px; + box-sizing: border-box; + } + </style> +</head> +<body> + <div class="disappearing-border"></div> + <div style="height:6.5px;"></div> + <div class="disappearing-box"></div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-sizing/thin-element-render.html b/tests/wpt/web-platform-tests/css/css-sizing/thin-element-render.html new file mode 100644 index 00000000000..fa587360a6d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/thin-element-render.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<title>Thin elements should still paint even at small size.</title> +<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#width-height-keywords"> +<link rel="match" href="thin-element-render-ref.html"> +<html> + <head> + <style> + .disappearing-border { + height:0.25px; + width:100%; + border-top: 0.25px solid black; + } + + .disappearing-box { + height:0.25px; + width:100%; + background-color: black; + } + + body { + margin: 0px; + padding: 0px; + box-sizing: border-box; + } + </style> +</head> +<body> + <div class="disappearing-border"></div> + <div style="height:8px;"></div> + <div class="disappearing-box"></div> +</body> +</html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/text-overflow-ellipsis-indent-001-ref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/text-overflow-ellipsis-indent-001-ref.html new file mode 100644 index 00000000000..660a7c4d52e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/reference/text-overflow-ellipsis-indent-001-ref.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<style> +div { + text-overflow: ellipsis; + overflow: hidden; + font-size: 10px; +} +</style> +<body> + <div style="padding-left: 3ch">123456</div> + <div style="padding-left: 3ch; width: 6ch">1234567</div> + <div style="padding-left: 6ch;">123</div> + <div style="padding-left: 6ch; width: 3ch">1234</div> + <div>123456789</div> + <div style="width: 9ch">1234567890</div> +</body> diff --git a/tests/wpt/web-platform-tests/css/css-ui/text-overflow-ellipsis-indent-001.html b/tests/wpt/web-platform-tests/css/css-ui/text-overflow-ellipsis-indent-001.html new file mode 100644 index 00000000000..6f5c81bc1e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/text-overflow-ellipsis-indent-001.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<title>Test ellipsis with `text-indent`</title> +<link rel="match" href="reference/text-overflow-ellipsis-indent-001-ref.html"> +<link rel="help" href="https://drafts.csswg.org/css-ui-3/#ellipsing-details"> +<link rel="author" href="mailto:kojii@chromium.org"> +<style> +div { + text-overflow: ellipsis; + overflow: hidden; + font-size: 10px; + width: 6ch; + padding-left: 3ch; +} +</style> +<body> + <div>123456</div> + <div>1234567</div> + <div style="text-indent: 3ch;">123</div> + <div style="text-indent: 3ch;">1234</div> + <div style="text-indent: -3ch;">123456789</div> + <div style="text-indent: -3ch;">1234567890</div> +</body> diff --git a/tests/wpt/web-platform-tests/domxpath/fn-normalize-space.html b/tests/wpt/web-platform-tests/domxpath/fn-normalize-space.html new file mode 100644 index 00000000000..a9f33a0ee3d --- /dev/null +++ b/tests/wpt/web-platform-tests/domxpath/fn-normalize-space.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#function-normalize-space"> +<link rel="help" href="https://www.w3.org/TR/xpath-functions-31/#func-normalize-space"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<div id="target"> a <br> b</div> +<script> +function normalizeSpace(exp) { + return document.evaluate(`normalize-space("${exp}")`, document).stringValue; +} + +test(() => { + assert_equals(document.evaluate('normalize-space()', document.querySelector('#target')).stringValue, 'a b'); +}, 'normalize-space() without arguments'); + +test(() => { + assert_equals(normalizeSpace(' a \t b\r\nc '), 'a b c'); + + assert_equals(normalizeSpace('y\x0B\x0C\x0E\x0Fz'), 'y\x0b\x0c\x0e\x0fz'); + assert_equals(normalizeSpace('\xA0 \u3000'), '\xA0 \u3000'); +}, 'normalize-space() should handle only #x20, #x9, #xD, and #xA'); +</script> diff --git a/tests/wpt/web-platform-tests/loading/lazyload/invisible-image.tentative.html b/tests/wpt/web-platform-tests/loading/lazyload/invisible-image.tentative.html index b8b945ee01e..f7d887b18a2 100644 --- a/tests/wpt/web-platform-tests/loading/lazyload/invisible-image.tentative.html +++ b/tests/wpt/web-platform-tests/loading/lazyload/invisible-image.tentative.html @@ -3,18 +3,29 @@ <title>Test that below-viewport invisible images that are not marked loading=lazy still load, and block the window load event</title> <link rel="author" title="Rob Buis" href="mailto:rbuis@igalia.com"> + <link rel="author" title="Dom Farolino" href="mailto:dom@chromium.org"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="common.js"></script> </head> <body> - <img id="expected" src='resources/image.png?1'> - <div style="height:10000px;"></div> - <img id="visibility_hidden" style="visibility:hidden;" src='resources/image.png?2'> + <div style="height:1000vh;"></div> + <img id="visibility_hidden" style="visibility:hidden;" src='resources/image.png?1'> + <img id="visibility_hidden_explicit_eager" style="visibility:hidden;" src='resources/image.png?2' + loading="eager"> + <img id="display_none" style="display:none;" src='resources/image.png?3'> - <img id="attribute_hidden" hidden src='resources/image.png?4'> - <img id="js_display_none" src='resources/image.png?5'>. + <img id="display_none_explicit_eager" style="display:none;" src='resources/image.png?4' + loading="eager"> + + <img id="attribute_hidden" hidden src='resources/image.png?5'> + <img id="attribute_hidden_explicit_eager" hidden src='resources/image.png?6' + loading="eager"> + + <img id="js_display_none" src='resources/image.png?7'> + <img id="js_display_none_explicit_eager" src='resources/image.png?8' + loading="eager"> <script> document.getElementById("js_display_none").style = 'display:none;'; </script> @@ -25,35 +36,49 @@ Marked as tentative until https://github.com/whatwg/html/pull/3752 is landed. --> <script> - const expected = document.getElementById("expected"); const visibility_hidden_element = document.getElementById("visibility_hidden"); + const visibility_hidden_element_explicit_eager = + document.getElementById("visibility_hidden_explicit_eager"); + const display_none_element = document.getElementById("display_none"); + const display_none_element_explicit_eager = + document.getElementById("display_none_explicit_eager"); + const attribute_hidden_element = document.getElementById("attribute_hidden"); - const js_display_none_element = document.getElementById("js_display_none"); + const attribute_hidden_element_explicit_eager = + document.getElementById("attribute_hidden_explicit_eager"); - let has_window_loaded = false; + const js_display_none_element = document.getElementById("js_display_none"); + const js_display_none_element_explicit_eager = + document.getElementById("js_display_none_explicit_eager"); - async_test(function(t) { - window.addEventListener("load", t.step_func(function() { - has_window_loaded = true; - })); + let have_images_loaded = false; + async_test(t => { let image_fully_loaded_promise = (element) => { return new Promise(resolve => { - element.addEventListener("load", - t.step_func(() => { - assert_true(is_image_fully_loaded(element, expected)); - assert_false(has_window_loaded); - resolve(); - })); + element.addEventListener("load", t.step_func(resolve)); }); } - Promise.all([image_fully_loaded_promise(visibility_hidden_element), + + Promise.all([ + image_fully_loaded_promise(visibility_hidden_element), + image_fully_loaded_promise(visibility_hidden_element_explicit_eager), image_fully_loaded_promise(display_none_element), + image_fully_loaded_promise(display_none_element_explicit_eager), image_fully_loaded_promise(attribute_hidden_element), - image_fully_loaded_promise(js_display_none_element)]).then(() => { - t.done(); - }); + image_fully_loaded_promise(attribute_hidden_element_explicit_eager), + image_fully_loaded_promise(js_display_none_element), + image_fully_loaded_promise(js_display_none_element_explicit_eager) + ]).then(t.step_func(() => { + have_images_loaded = true; + })).catch(t.unreached_func("All images should load correctly")); + + window.addEventListener("load", t.step_func_done(() => { + assert_true(have_images_loaded, + "The images should block the window load event."); + })); + }, "Test that below-viewport invisible images that are not marked " + "loading=lazy still load, and block the window load event"); </script> diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html b/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html index 8cc765c3cad..7d230d966a9 100644 --- a/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html +++ b/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.html @@ -144,5 +144,22 @@ async_test(function(t) { })); }, "Test that call convertToBlob on a OffscreenCanvas with size 0 throws exception"); +async_test(function(t) { + var img = new Image(); + img.src = "/images/green.png"; + img.crossOrigin = "anonymous"; + img.onload = t.step_func_done(() => { + var offscreenCanvas = new OffscreenCanvas(10, 10); + var ctx = offscreenCanvas.getContext("2d"); + ctx.drawImage(img, 0, 0); + offscreenCanvas.convertToBlob().then(t.step_func_done(function() { + assert_false("convertToBlob didn't throw, but should"); + }), t.step_func_done(function(e) { + assert_true(e instanceof DOMException); + assert_equals(e.name, "SecurityError"); + })); + }); +}, "Test that call convertToBlob on a OffscreenCanvas with tainted origin throws exception"); + </script> diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html b/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html index 71eaa9626ae..9b08cc86257 100644 --- a/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html +++ b/tests/wpt/web-platform-tests/offscreen-canvas/convert-to-blob/offscreencanvas.convert.to.blob.w.html @@ -40,12 +40,9 @@ function testConvertToBlobException1() var offscreenCanvas = new OffscreenCanvas(10, 10); self.postMessage({offscreenCanvas}, [offscreenCanvas]); offscreenCanvas.convertToBlob().then(function() { - return false; + self.postMessage(false); }, function(e) { - if (e instanceof DOMException && e.name == "InvalidStateError") - return true; - else - return false; + self.postMessage(e instanceof DOMException && e.name == "InvalidStateError"); }); } @@ -53,16 +50,30 @@ function testConvertToBlobException2() { var offscreenCanvas = new OffscreenCanvas(0, 0); offscreenCanvas.convertToBlob().then(function() { - return false; + self.postMessage(false); }, function(e) { - if (e instanceof DOMException && e.name == "IndexSizeError") - return true; - else - return false; + self.postMessage(e instanceof DOMException && e.name == "IndexSizeError"); + }); +} + +function testConvertToBlobException3(bitmap) +{ + var offscreenCanvas = new OffscreenCanvas(10, 10); + var ctx = offscreenCanvas.getContext("2d"); + ctx.drawImage(bitmap, 0, 0); + offscreenCanvas.convertToBlob().then(function() { + self.postMessage(false); + }, function(e) { + self.postMessage(e instanceof DOMException && e.name == "SecurityError"); }); } self.onmessage = function(e) { + if (e.data instanceof ImageBitmap) { + testConvertToBlobException3(e.data); + return; + } + switch(e.data) { case 'test1': testConvertToBlob("empty", "empty"); @@ -101,10 +112,10 @@ self.onmessage = function(e) { testConvertToBlob("image/webp", 0.2); break; case 'test13': - self.postMessage(testConvertToBlobException1()); + testConvertToBlobException1(); break; case 'test14': - self.postMessage(testConvertToBlobException2()); + testConvertToBlobException2(); break; } }; @@ -289,8 +300,10 @@ async_test(function(t) { async_test(function(t) { var worker = makeWorker(t); worker.addEventListener('message', t.step_func_done(function(msg) { - if (msg.data == true || msg.data == false) - assert_true(msg.data); + if (msg.data instanceof Object) + return; + assert_true(msg.data); + t.done(); })); worker.postMessage('test13'); }, "Test that call convertToBlob on a detached OffscreenCanvas throws exception in a worker"); @@ -298,11 +311,27 @@ async_test(function(t) { async_test(function(t) { var worker = makeWorker(t); worker.addEventListener('message', t.step_func_done(function(msg) { - if (msg.data == true || msg.data == false) - assert_true(msg.data); + assert_true(msg.data); + t.done(); })); worker.postMessage('test14'); }, "Test that call convertToBlob on a OffscreenCanvas with size 0 throws exception in a worker"); +async_test(function(t) { + var img = new Image(); + img.src = "/images/green.png"; + img.crossOrigin = "anonymous"; + img.onload = t.step_func_done(() => { + createImageBitmap(img).then(t.step_func_done(bitmap => { + var worker = makeWorker(t); + worker.addEventListener('message', t.step_func_done(function(msg) { + assert_true(msg.data); + t.done(); + })); + worker.postMessage(bitmap); + })); + }); +}, "Test that call convertToBlob on a OffscreenCanvas with tainted origin throws exception in a worker"); + </script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/comma-in-policy.https.html b/tests/wpt/web-platform-tests/origin-policy/features/comma-in-policy.https.html new file mode 100644 index 00000000000..1b991f0d8b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/comma-in-policy.https.html @@ -0,0 +1,11 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Commas in "features/policy" cause parse errors and thus no feature policy</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="helper.js"></script> + +<script> +"use strict"; +runFPTest({ camera: false, geolocation: false }); +</script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/comma-in-policy.https.html.headers b/tests/wpt/web-platform-tests/origin-policy/features/comma-in-policy.https.html.headers new file mode 100644 index 00000000000..c0e68720516 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/comma-in-policy.https.html.headers @@ -0,0 +1 @@ +Sec-Origin-Policy: policy=policy-features-comma-in-policy diff --git a/tests/wpt/web-platform-tests/origin-policy/features/double-features.https.html b/tests/wpt/web-platform-tests/origin-policy/features/double-features.https.html new file mode 100644 index 00000000000..8397f849f30 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/double-features.https.html @@ -0,0 +1,11 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Of two "features" items only the second counts</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="helper.js"></script> + +<script> +"use strict"; +runFPTest({ camera: false, geolocation: true }); +</script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/double-features.https.html.headers b/tests/wpt/web-platform-tests/origin-policy/features/double-features.https.html.headers new file mode 100644 index 00000000000..f0a57380a8f --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/double-features.https.html.headers @@ -0,0 +1 @@ +Sec-Origin-Policy: policy=policy-features-double-features diff --git a/tests/wpt/web-platform-tests/origin-policy/features/double-policy.https.html b/tests/wpt/web-platform-tests/origin-policy/features/double-policy.https.html new file mode 100644 index 00000000000..f1d63d6de96 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/double-policy.https.html @@ -0,0 +1,11 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Of two "features/policy" items only the second counts</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="helper.js"></script> + +<script> +"use strict"; +runFPTest({ camera: false, geolocation: true }); +</script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/double-policy.https.html.headers b/tests/wpt/web-platform-tests/origin-policy/features/double-policy.https.html.headers new file mode 100644 index 00000000000..c1421693e4d --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/double-policy.https.html.headers @@ -0,0 +1 @@ +Sec-Origin-Policy: policy=policy-features-double-policy diff --git a/tests/wpt/web-platform-tests/origin-policy/features/helper.js b/tests/wpt/web-platform-tests/origin-policy/features/helper.js new file mode 100644 index 00000000000..f9c16b58c2c --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/helper.js @@ -0,0 +1,8 @@ +"use strict"; + +window.runFPTest = ({ camera, geolocation }) => { + test(() => { + assert_equals(document.featurePolicy.allowsFeature('camera', 'https://example.com/'), camera, 'camera'); + assert_equals(document.featurePolicy.allowsFeature('geolocation', 'https://example.com/'), geolocation, 'geolocation'); + }); +}; diff --git a/tests/wpt/web-platform-tests/origin-policy/features/non-object.https.html b/tests/wpt/web-platform-tests/origin-policy/features/non-object.https.html new file mode 100644 index 00000000000..31f632bf0f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/non-object.https.html @@ -0,0 +1,11 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Non-object "features" member must be ignored</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="helper.js"></script> + +<script> +"use strict"; +runFPTest({ camera: false, geolocation: false }); +</script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/non-object.https.html.headers b/tests/wpt/web-platform-tests/origin-policy/features/non-object.https.html.headers new file mode 100644 index 00000000000..e8f68712ed3 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/non-object.https.html.headers @@ -0,0 +1 @@ +Sec-Origin-Policy: policy=policy-features-non-object diff --git a/tests/wpt/web-platform-tests/origin-policy/features/non-string.https.html b/tests/wpt/web-platform-tests/origin-policy/features/non-string.https.html new file mode 100644 index 00000000000..019014c980a --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/non-string.https.html @@ -0,0 +1,11 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Non-string "features/policy" member must be ignored</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="helper.js"></script> + +<script> +"use strict"; +runFPTest({ camera: false, geolocation: false }); +</script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/non-string.https.html.headers b/tests/wpt/web-platform-tests/origin-policy/features/non-string.https.html.headers new file mode 100644 index 00000000000..4c6c376697b --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/non-string.https.html.headers @@ -0,0 +1 @@ +Sec-Origin-Policy: policy=policy-features-non-string diff --git a/tests/wpt/web-platform-tests/origin-policy/features/valid.https.html b/tests/wpt/web-platform-tests/origin-policy/features/valid.https.html new file mode 100644 index 00000000000..6ff2076a7f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/valid.https.html @@ -0,0 +1,11 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Valid "features" member</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="helper.js"></script> + +<script> +"use strict"; +runFPTest({ camera: true, geolocation: true }); +</script> diff --git a/tests/wpt/web-platform-tests/origin-policy/features/valid.https.html.headers b/tests/wpt/web-platform-tests/origin-policy/features/valid.https.html.headers new file mode 100644 index 00000000000..9d0e25792c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/origin-policy/features/valid.https.html.headers @@ -0,0 +1 @@ +Sec-Origin-Policy: policy=policy-features-valid diff --git a/tests/wpt/web-platform-tests/origin-policy/origin-policy-features.https.tentative.html b/tests/wpt/web-platform-tests/origin-policy/origin-policy-features.https.tentative.html deleted file mode 100644 index e83acf1dbde..00000000000 --- a/tests/wpt/web-platform-tests/origin-policy/origin-policy-features.https.tentative.html +++ /dev/null @@ -1,16 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <script src='/resources/testharness.js'></script> - <script src='/resources/testharnessreport.js'></script> -</head> -<body> - <script> - async_test(t => { - assert_false(document.featurePolicy.allowsFeature('geolocation')); - assert_true(document.featurePolicy.allowsFeature('camera')); - t.done(); - }, "Origin-Policy-based Feature policy"); - </script> -</body> -</html> diff --git a/tests/wpt/web-platform-tests/origin-policy/origin-policy-features.https.tentative.html.headers b/tests/wpt/web-platform-tests/origin-policy/origin-policy-features.https.tentative.html.headers deleted file mode 100644 index 9864518cd95..00000000000 --- a/tests/wpt/web-platform-tests/origin-policy/origin-policy-features.https.tentative.html.headers +++ /dev/null @@ -1 +0,0 @@ -Sec-Origin-Policy: policy=policy-features 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 956947a4daf..7eee8ce04c4 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js +++ b/tests/wpt/web-platform-tests/resources/chromium/nfc-mock.js @@ -154,14 +154,13 @@ var WebNFCTest = (() => { this.hw_status_ = NFCHWStatus.ENABLED; this.pushed_message_ = null; - this.push_options_ = null; + this.pending_push_options_ = null; this.pending_promise_func_ = null; this.push_completed_ = true; this.client_ = null; this.watchers_ = []; this.reading_messages_ = []; this.operations_suspended_ = false; - this.is_ndef_tech_ = true; this.is_formatted_tag_ = false; } @@ -176,18 +175,11 @@ var WebNFCTest = (() => { } this.pushed_message_ = message; - this.push_options_ = options; - + this.pending_push_options_ = options; return new Promise(resolve => { - this.pending_promise_func_ = resolve; - if (this.operations_suspended_) { - // Pends push operation if NFC operation is suspended. - } else if (!this.push_completed_) { - // Leaves the push operating pending. - } else if (!this.is_ndef_tech_) { - // Resolves with NotSupportedError if the device does not expose - // NDEF technology. - resolve(createNDEFError(device.mojom.NDEFErrorType.NOT_SUPPORTED)); + if (this.operations_suspended_ || !this.push_completed_) { + // Leaves the push pending. + this.pending_promise_func_ = resolve; } else if (this.is_formatted_tag_ && !options.overwrite) { // Resolves with NotAllowedError if there are NDEF records on the device // and overwrite is false. @@ -199,8 +191,9 @@ var WebNFCTest = (() => { } async cancelPush(target) { - if (this.push_options_ && ((target === device.mojom.NDEFPushTarget.ANY) || - (this.push_options_.target === target))) { + if (this.pending_push_options_ && + ((target === device.mojom.NDEFPushTarget.ANY) || + (this.pending_push_options_.target === target))) { this.cancelPendingPushOperation(); } @@ -221,7 +214,7 @@ var WebNFCTest = (() => { this.watchers_.push({id: id, options: options}); // Ignores reading if NFC operation is suspended // or the NFC tag does not expose NDEF technology. - if(!this.operations_suspended_ && this.is_ndef_tech_) { + if (!this.operations_suspended_) { // Triggers onWatch if the new watcher matches existing messages. for (let message of this.reading_messages_) { if (matchesWatchOptions(message, options)) { @@ -270,7 +263,7 @@ var WebNFCTest = (() => { } pushOptions() { - return this.push_options_; + return this.pending_push_options_; } watchOptions() { @@ -288,7 +281,6 @@ var WebNFCTest = (() => { this.reading_messages_ = []; this.operations_suspended_ = false; this.cancelPendingPushOperation(); - this.is_ndef_tech_ = true; this.is_formatted_tag_ = false; } @@ -296,23 +288,21 @@ var WebNFCTest = (() => { if (this.pending_promise_func_) { this.pending_promise_func_( createNDEFError(device.mojom.NDEFErrorType.OPERATION_CANCELLED)); + this.pending_promise_func_ = null; } this.pushed_message_ = null; - this.push_options_ = null; - this.pending_promise_func_ = null; + this.pending_push_options_ = null; this.push_completed_ = true; } // Sets message that is used to deliver NFC reading updates. setReadingMessage(message) { this.reading_messages_.push(message); - // Ignores reading if the NFC tag does not expose NDEF technology. - if(!this.is_ndef_tech_) return; // Ignores reading if NFC operation is suspended. if(this.operations_suspended_) return; // Ignores reading if NDEFPushOptions.ignoreRead is true. - if(this.push_options_ && this.push_options_.ignoreRead) + if (this.pending_push_options_ && this.pending_push_options_.ignoreRead) return; // Triggers onWatch if the new message matches existing watchers. for (let watcher of this.watchers_) { @@ -336,7 +326,7 @@ var WebNFCTest = (() => { // Resumes pending NFC reading. for (let watcher of this.watchers_) { for (let message of this.reading_messages_) { - if (matchesWatchOptions(message, watcher.options) && this.is_ndef_tech_) { + if (matchesWatchOptions(message, watcher.options)) { this.client_.onWatch( [watcher.id], fake_tag_serial_number, toMojoNDEFMessage(message)); @@ -344,16 +334,24 @@ var WebNFCTest = (() => { } } // Resumes pending push operation. - if (this.pending_promise_func_) { + if (this.pending_promise_func_ && this.push_completed_) { this.pending_promise_func_(createNDEFError(null)); + this.pending_promise_func_ = null; } } - setIsNDEFTech(isNdef) { - this.is_ndef_tech_ = isNdef; - if (!isNdef && this.watchers_.length != 0) { + // Simulates the device coming in proximity does not expose NDEF technology. + simulateNonNDEFTagDiscovered() { + // Notify NotSupportedError to all active readers. + if (this.watchers_.length != 0) { this.client_.onError(device.mojom.NDEFErrorType.NOT_SUPPORTED); } + // Reject the pending push with NotSupportedError. + if (this.pending_promise_func_) { + this.pending_promise_func_( + createNDEFError(device.mojom.NDEFErrorType.NOT_SUPPORTED)); + this.pending_promise_func_ = null; + } } setIsFormattedTag(isFormatted) { diff --git a/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html b/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html index 0c59d8d8508..bc9ee9e6bc5 100644 --- a/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html +++ b/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html @@ -29,7 +29,21 @@ function checkScroll() { else if (isInView(document.getElementById('horizontal-scroll')) && window.scrollX > 0) position = 'horizontal-scroll'; - let results = { scrollPosition: position, href: window.location.href }; + let target = document.querySelector(":target"); + + if (!target && position == 'shadow-parent') { + let shadow = document.getElementById("shadow-parent").shadowRoot.firstElementChild; + if (shadow.matches(":target")) { + target = shadow; + position = 'shadow'; + } + } + + let results = { + scrollPosition: position, + href: window.location.href, + target: target ? target.id : 'undefined' + }; let key = (new URL(document.location)).searchParams.get("key"); stashResults(key, results); @@ -54,10 +68,10 @@ function checkScroll() { <div id="element" class="scroll-section">Element</div> <p id="text" class="scroll-section">This is a test page !$'()*+./:;=?@_~ &,- ネコ</p> <p id="more-text" class="scroll-section">More test page text</p> - <div id="cross-node-context" class="scroll-section"> + <div class="scroll-section"> <div> <p>prefix</p> - <p>test page</p> + <p id="cross-node-context">test page</p> </div> <div><p>suffix</p></div> </div> @@ -65,7 +79,7 @@ function checkScroll() { <div id="shadow-parent" class="scroll-section"></div> <script> let shadow = document.getElementById("shadow-parent").attachShadow({mode: 'open'}); - shadow.innerHTML = '<p>shadow text</p>'; + shadow.innerHTML = '<p id="shadow">shadow text</p>'; </script> <p id="hidden" class="scroll-section">hidden text</p> <p id="horizontal-scroll" class="scroll-section">horizontally scrolled text</p> diff --git a/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment.html b/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment.html index 2a94033b8c9..f0b167a9051 100644 --- a/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment.html +++ b/tests/wpt/web-platform-tests/scroll-to-text-fragment/scroll-to-text-fragment.html @@ -202,7 +202,7 @@ let test_cases = [ // Test text directive within shadow DOM { fragment: '#:~:text=shadow%20text', - expect_position: 'shadow-parent', + expect_position: 'shadow', description: 'Text directive should match text within shadow DOM' }, // Test text directive within hidden and display none elements. These cases should not scroll into @@ -236,6 +236,8 @@ for (const test_case of test_cases) { fetchResults(key, resolve, reject); }).then(data => { + // If the position is not 'top', the :target element should be the positioned element. + assert_true(data.scrollPosition == 'top' || data.target == data.scrollPosition); assert_equals(data.href.indexOf(':~:'), -1, 'Expected fragment directive to be stripped from the URL.'); assert_equals(data.scrollPosition, test_case.expect_position, `Expected ${test_case.fragment} (${test_case.description}) to scroll to ${test_case.expect_position}.`); diff --git a/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js b/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js new file mode 100644 index 00000000000..0fe1e1c891f --- /dev/null +++ b/tests/wpt/web-platform-tests/wasm/webapi/historical.any.js @@ -0,0 +1,29 @@ +// META: global=window,worker + +promise_test(async t => { + const db_name = "WebAssembly"; + const obj_store = "store"; + const module_key = "module"; + + await new Promise((resolve, reject) => { + const delete_request = indexedDB.deleteDatabase(db_name); + delete_request.onsuccess = resolve; + delete_request.onerror = reject; + }); + + const db = await new Promise((resolve, reject) => { + const open_request = indexedDB.open(db_name); + open_request.onupgradeneeded = function() { + open_request.result.createObjectStore(obj_store); + }; + open_request.onsuccess = function() { + resolve(open_request.result); + }; + open_request.onerror = reject; + }); + + const mod = await WebAssembly.compileStreaming(fetch('../incrementer.wasm')); + const tx = db.transaction(obj_store, 'readwrite'); + const store = tx.objectStore(obj_store); + assert_throws("DataCloneError", () => store.put(mod, module_key)); +}); diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events.html b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events.html index af53d2d5e14..eecf170cd90 100644 --- a/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events.html +++ b/tests/wpt/web-platform-tests/web-animations/interfaces/KeyframeEffect/style-change-events.html @@ -121,6 +121,15 @@ const tests = { }, }); }, + pseudoElement: MakeInEffectTest({ + setup: elem => elem.animate( + {opacity: [0.5, 1]}, + {duration: 100 * MS_PER_SEC, pseudoElement: '::before'} + ), + test: effect => { + effect.pseudoElement = null; + }, + }), iterationComposite: UsePropertyTest(effect => { // Get iterationComposite effect.iterationComposite; diff --git a/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html b/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html index 46e4cb7f23a..a9b1d751617 100644 --- a/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html +++ b/tests/wpt/web-platform-tests/web-nfc/NDEFReader_scan.https.html @@ -186,7 +186,7 @@ nfc_test(async (t, mockNFC) => { promises.push(promise2); await reader2.scan(); - mockNFC.setIsNDEFTech(false); + mockNFC.simulateNonNDEFTagDiscovered(); await Promise.all(promises); }, "Test that NDEFReader.onerror should be fired if the NFC tag does not \ expose NDEF technology."); 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 bacbcaaeff3..a6050b8ff71 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 @@ -408,10 +408,19 @@ NDEFRecordInit.record's recordType is 'mime' and NDEFRecordInit.record's \ mediaType is undefined."); nfc_test(async (t, mockNFC) => { + // Make sure the push will be pending in the mock. + mockNFC.setPendingPushCompleted(false); + const writer = new NDEFWriter(); - mockNFC.setIsNDEFTech(false); - await promise_rejects(t, 'NotSupportedError', writer.push(test_text_data)); -}, "NDEFWriter.push should fail when the NFC device does not expose \ + const promise = writer.push(test_text_data); + + // Just to make sure the push() request has already reached to the mock. + const reader = new NDEFReader(); + await reader.scan(); + + mockNFC.simulateNonNDEFTagDiscovered(); + await promise_rejects(t, 'NotSupportedError', promise); +}, "NDEFWriter.push should fail when the NFC device coming up does not expose \ NDEF technology."); nfc_test(async (t, mockNFC) => { diff --git a/tests/wpt/web-platform-tests/web-nfc/README.md b/tests/wpt/web-platform-tests/web-nfc/README.md index a283c0611f8..c4efc02ff2a 100644 --- a/tests/wpt/web-platform-tests/web-nfc/README.md +++ b/tests/wpt/web-platform-tests/web-nfc/README.md @@ -16,7 +16,7 @@ The `WebNFCTest` interface is defined as: setPendingPushCompleted(boolean result); // Sets if the pending push is completed. pushedMessage(); // Gets the pushed `NDEFMessageSource`. pushOptions(); // Gets the pushed `NDEFPushOptions`. - setIsNDEFTech(boolean isNDEF); // Sets if the NFC device exposes NDEF technology. + simulateNonNDEFTagDiscovered(); // Simulates that the NFC device discovered does not expose NDEF technology. setIsFormattedTag(boolean isFormatted); // Sets if the NFC tag has formatted NDEF message. }; ``` |