diff options
135 files changed, 1614 insertions, 342 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 1bb4eec7fdd..a013d0cfa42 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -141717,6 +141717,18 @@ {} ] ], + "css/css-text/overflow-wrap/overflow-wrap-break-word-007.html": [ + [ + "css/css-text/overflow-wrap/overflow-wrap-break-word-007.html", + [ + [ + "/css/css-text/overflow-wrap/reference/overflow-wrap-break-word-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html": [ [ "css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html", @@ -144945,6 +144957,18 @@ {} ] ], + "css/css-text/white-space/pre-wrap-008.html": [ + [ + "css/css-text/white-space/pre-wrap-008.html", + [ + [ + "/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-text/white-space/pre-wrap-011.html": [ [ "css/css-text/white-space/pre-wrap-011.html", @@ -145625,6 +145649,18 @@ {} ] ], + "css/css-text/word-break/word-break-break-all-015.html": [ + [ + "css/css-text/word-break/word-break-break-all-015.html", + [ + [ + "/css/css-text/word-break/reference/word-break-break-all-010-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-text/word-break/word-break-break-all-020.html": [ [ "css/css-text/word-break/word-break-break-all-020.html", @@ -257530,11 +257566,6 @@ {} ] ], - "css/css-display/run-in/META.yml": [ - [ - {} - ] - ], "css/css-display/run-in/run-in-basic-007-ref.xht": [ [ {} @@ -310915,6 +310946,41 @@ {} ] ], + "resource-timing/resources/document-navigated.html": [ + [ + {} + ] + ], + "resource-timing/resources/document-refreshed.html": [ + [ + {} + ] + ], + "resource-timing/resources/document-that-navigates.html": [ + [ + {} + ] + ], + "resource-timing/resources/document-that-refreshes.html": [ + [ + {} + ] + ], + "resource-timing/resources/embed-navigate-back.html": [ + [ + {} + ] + ], + "resource-timing/resources/embed-navigate.html": [ + [ + {} + ] + ], + "resource-timing/resources/embed-refresh.html": [ + [ + {} + ] + ], "resource-timing/resources/empty.js": [ [ {} @@ -310970,6 +311036,21 @@ {} ] ], + "resource-timing/resources/iframe-navigate-back.html": [ + [ + {} + ] + ], + "resource-timing/resources/iframe-navigate.html": [ + [ + {} + ] + ], + "resource-timing/resources/iframe-refresh.html": [ + [ + {} + ] + ], "resource-timing/resources/iframe-reload-TAO.sub.html": [ [ {} @@ -311040,6 +311121,16 @@ {} ] ], + "resource-timing/resources/navigate_back.html": [ + [ + {} + ] + ], + "resource-timing/resources/nested-contexts.js": [ + [ + {} + ] + ], "resource-timing/resources/nested.css": [ [ {} @@ -311050,6 +311141,21 @@ {} ] ], + "resource-timing/resources/object-navigate-back.html": [ + [ + {} + ] + ], + "resource-timing/resources/object-navigate.html": [ + [ + {} + ] + ], + "resource-timing/resources/object-refresh.html": [ + [ + {} + ] + ], "resource-timing/resources/resource_timing_test0.css": [ [ {} @@ -312825,6 +312931,11 @@ {} ] ], + "screen-orientation/resources/orientation-utils.js": [ + [ + {} + ] + ], "screen-orientation/resources/sandboxed-iframe-locking.html": [ [ {} @@ -315850,6 +315961,21 @@ {} ] ], + "signed-exchange/resources/register-sw-after-fallback.html": [ + [ + {} + ] + ], + "signed-exchange/resources/register-sw.html": [ + [ + {} + ] + ], + "signed-exchange/resources/service-worker.js": [ + [ + {} + ] + ], "signed-exchange/resources/sxg-location.html": [ [ {} @@ -315905,6 +316031,16 @@ {} ] ], + "signed-exchange/resources/sxg/register-sw-after-fallback.sxg": [ + [ + {} + ] + ], + "signed-exchange/resources/sxg/register-sw-from-sxg.sxg": [ + [ + {} + ] + ], "signed-exchange/resources/sxg/sxg-cert-not-found-on-alt-origin.sxg": [ [ {} @@ -328900,6 +329036,11 @@ {} ] ], + "webxr/resources/webxr_math_utils.js": [ + [ + {} + ] + ], "webxr/resources/webxr_test_asserts.js": [ [ {} @@ -384673,6 +384814,14 @@ } ] ], + "html/browsers/the-window-object/document-attribute.window.js": [ + [ + "html/browsers/the-window-object/document-attribute.window.html", + { + "script_metadata": [] + } + ] + ], "html/browsers/the-window-object/focus.window.js": [ [ "html/browsers/the-window-object/focus.window.html", @@ -384753,6 +384902,14 @@ {} ] ], + "html/browsers/the-window-object/self-et-al.window.js": [ + [ + "html/browsers/the-window-object/self-et-al.window.html", + { + "script_metadata": [] + } + ] + ], "html/browsers/the-window-object/window-aliases.html": [ [ "html/browsers/the-window-object/window-aliases.html", @@ -426136,6 +426293,14 @@ } ] ], + "resource-timing/nested-context-navigations.html": [ + [ + "resource-timing/nested-context-navigations.html", + { + "timeout": "long" + } + ] + ], "resource-timing/no-entries-for-cross-origin-css-fetched.sub.html": [ [ "resource-timing/no-entries-for-cross-origin-css-fetched.sub.html", @@ -426476,6 +426641,14 @@ {} ] ], + "screen-orientation/lock-unlock-check.html": [ + [ + "screen-orientation/lock-unlock-check.html", + { + "testdriver": true + } + ] + ], "screen-orientation/onchange-event-subframe.html": [ [ "screen-orientation/onchange-event-subframe.html", @@ -429366,6 +429539,18 @@ {} ] ], + "signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html": [ + [ + "signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html", + {} + ] + ], + "signed-exchange/service-workers/sxg-sw-register.tentative.https.html": [ + [ + "signed-exchange/service-workers/sxg-sw-register.tentative.https.html", + {} + ] + ], "signed-exchange/sxg-double-prefetch.tentative.html": [ [ "signed-exchange/sxg-double-prefetch.tentative.html", @@ -448849,6 +449034,12 @@ {} ] ], + "webxr/xrRigidTransform_matrix.https.html": [ + [ + "webxr/xrRigidTransform_matrix.https.html", + {} + ] + ], "webxr/xrSession_cancelAnimationFrame.https.html": [ [ "webxr/xrSession_cancelAnimationFrame.https.html", @@ -473535,7 +473726,7 @@ "support" ], ".travis.yml": [ - "ea1976d4f1161a1fed45c181359c0a7ab69b3ba9", + "20093dfd1d2543eb1ba1ff31b78107f27f7a5ac0", "support" ], ".well-known/README.md": [ @@ -473583,7 +473774,7 @@ "support" ], "2dcontext/META.yml": [ - "53b11d271cc6181435059f99880a28e0e3f6d5a0", + "0f79f2591292a3b2d82e6d42f22f82368381dc08", "support" ], "2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm": [ @@ -480031,7 +480222,7 @@ "support" ], "WebIDL/META.yml": [ - "82ae5236f0d9e000f73fe2be9299c74b81938106", + "a8dc9c4410e949fa78bdbe2268edf3f125934487", "support" ], "WebIDL/current-realm.html": [ @@ -480603,7 +480794,7 @@ "manual" ], "accelerometer/META.yml": [ - "6554be89580e7328117fc35880f70cf623ce0ee9", + "7df27e1f40b09a70c9dcee46e9b1e40bbf355595", "support" ], "accelerometer/idlharness.https.window.js": [ @@ -481439,7 +481630,7 @@ "manual" ], "ambient-light/META.yml": [ - "04fce804971f9050c79960c4f5a344ae1b9fe2bc", + "c3f69ba181e69906ebeb1fe42f1e4255f17c47c5", "support" ], "ambient-light/idlharness.https.window.js": [ @@ -483727,7 +483918,7 @@ "testharness" ], "battery-status/META.yml": [ - "eded36c5e2f2487376caae21cda9cc36a5090168", + "12a2f12c32e9c58912a209e369af59d6ceee3aa4", "support" ], "battery-status/battery-charging-manual.https.html": [ @@ -483895,7 +484086,7 @@ "support" ], "bluetooth/META.yml": [ - "501396bac744058ef594b19a935732ba0f277219", + "607edb6365b4cde7dc2c292d31c9c4175c466ea8", "support" ], "bluetooth/README.md": [ @@ -484915,7 +485106,7 @@ "support" ], "common/META.yml": [ - "594c8b170f5043a944fdd4de17d4bd65eba242fb", + "958883a1b07e7db13249153fc85c69d2a40363a3", "support" ], "common/PrefixedLocalStorage.js": [ @@ -505807,7 +505998,7 @@ "testharness" ], "cookies/META.yml": [ - "946da8833ac886c2f00488880e3b7a10926efe63", + "d0743949b6a122d8bd0adf7b1ed0181f0c51429d", "support" ], "cookies/README.md": [ @@ -508967,7 +509158,7 @@ "support" ], "css/CSS2/META.yml": [ - "4ac0804d36d9c7222097a410c32af89c92475ddb", + "e9bc44dc8fdda34cc1dd23a1600c77adeacfacfb", "support" ], "css/CSS2/Makefile": [ @@ -563711,7 +563902,7 @@ "support" ], "css/WOFF2/META.yml": [ - "a4ff5b19e747cfd4e9f4af0242bc7fc351261192", + "3dd216ed9f2a8276b3fb8caac11b5a0231aaeaa6", "support" ], "css/WOFF2/available-001.xht": [ @@ -568655,7 +568846,7 @@ "support" ], "css/css-backgrounds/META.yml": [ - "d90a6e083b663ed9a6ef67ba4a92ebd723747550", + "d673be5f4f29bf82619aba6f40ed7e287e902582", "support" ], "css/css-backgrounds/background-331.html": [ @@ -572527,7 +572718,7 @@ "support" ], "css/css-color/META.yml": [ - "a8d93c12a945781a88b89874aff7a3b2d72393dd", + "a0e70aa6539e88373bc8615c3f4e1453010e85d5", "support" ], "css/css-color/blacktext-ref.html": [ @@ -575486,10 +575677,6 @@ "efa48350a62dd0210009069475ac9243bba51104", "testharness" ], - "css/css-display/run-in/META.yml": [ - "ad40907fb0382fb83be02ad10e05031e284f3b9f", - "support" - ], "css/css-display/run-in/after-content-display-004.xht": [ "fbcd4e8c265dafda4fccd41b67ff9dcbdbbd2771", "visual" @@ -576523,7 +576710,7 @@ "testharness" ], "css/css-exclusions/META.yml": [ - "a954d85bb54fe1506a50dbdd9d55e18a25aef131", + "32410e6918e52b5a2a60032751d0dc1b38383ce2", "support" ], "css/css-exclusions/css3-exclusions/exclusions-wrap-flow-01-ref.xht": [ @@ -576611,7 +576798,7 @@ "reftest" ], "css/css-flexbox/META.yml": [ - "764d8cbd16850b81fb885927da8556157b890a55", + "0bcad0b51f759e6ea9a05e2fee919677bc790dd3", "support" ], "css/css-flexbox/abspos-autopos-htb-ltr.html": [ @@ -587531,7 +587718,7 @@ "manual" ], "css/css-grid/META.yml": [ - "af20bb4be80fabd4211684420c232293ac0815ad", + "e49946f4f7012e2aefbc2fb01573a2e01a903e55", "support" ], "css/css-grid/README.md": [ @@ -591347,7 +591534,7 @@ "support" ], "css/css-logical/META.yml": [ - "98d838c04e110e484cae63998cf4ee6c2dd559ed", + "cf789d631b1f61c6fee66d29fc5984d155180702", "support" ], "css/css-logical/animation-001.html": [ @@ -595079,7 +595266,7 @@ "testharness" ], "css/css-position/META.yml": [ - "00eb3b13129df2b90c59ba3f2b22fd9a4f1727e4", + "c1ce1ff602eee4668b9cb5d0168c4372193a8d3a", "support" ], "css/css-position/hypothetical-box-scroll-parent-ref.html": [ @@ -595719,7 +595906,7 @@ "testharness" ], "css/css-properties-values-api/registered-property-computation.html": [ - "b1e5d23738b9dda1ea280dfd321bc5b2838b519a", + "f03b257246e520bd93055203a5cb27188babc8ca", "testharness" ], "css/css-properties-values-api/registered-property-cssom.html": [ @@ -595727,7 +595914,7 @@ "testharness" ], "css/css-properties-values-api/registered-property-initial.html": [ - "82a012e2f68532761b18428c3eaed9479ec8c7e5", + "17c883a689a15ef5abd4babfc3afb70c3c6745a9", "testharness" ], "css/css-properties-values-api/resources/utils.js": [ @@ -595915,7 +596102,7 @@ "reftest" ], "css/css-regions/META.yml": [ - "d8e38081fcfe55d051ea33c4ed8ff90d14992260", + "37bdc98c84c0f4c9a32d3cc5b2f4e3494eb63999", "support" ], "css/css-regions/animations/animations-001.html": [ @@ -598655,7 +598842,7 @@ "testharness" ], "css/css-scrollbars/META.yml": [ - "9209d5d1f4174d1e22258c0571db89b51f4f3a59", + "f7c0439e202113c9611405ae967b33c2b12cfcee", "support" ], "css/css-scrollbars/auto-scrollbar-inline-children.html": [ @@ -598799,7 +598986,7 @@ "support" ], "css/css-shapes/META.yml": [ - "99136818e66dc50978bc0f7c25a2129556e72f21", + "2e433aa66f914de66e36f0f4f99237254a7def29", "support" ], "css/css-shapes/basic-shape-circle-ellipse-serialization.html": [ @@ -600235,7 +600422,7 @@ "manual" ], "css/css-style-attr/META.yml": [ - "72438735ccd461ff343a0891348dc5810e41416a", + "067e03cfbc7376daf0e1b5eba0dc1c35e21fe69f", "support" ], "css/css-style-attr/reference/ref-green-on-green.xht": [ @@ -600479,7 +600666,7 @@ "support" ], "css/css-syntax/META.yml": [ - "17489e1bc2132f4c2acbc4ec901eccb8f7e4d365", + "359219c09965b90066e4fb31d952d621d0d0dc5b", "support" ], "css/css-syntax/anb-parsing.html": [ @@ -601627,7 +601814,7 @@ "reftest" ], "css/css-text/META.yml": [ - "042b858557d9e6fc66a12e96724b69a02c314d47", + "e7914c0fc7ff9e6999f8847dc1800968472483f2", "support" ], "css/css-text/boundary-shaping/boundary-shaping-001.html": [ @@ -604158,6 +604345,10 @@ "6dc1b4dff52459d7f5516da64f4e09be313257d1", "reftest" ], + "css/css-text/overflow-wrap/overflow-wrap-break-word-007.html": [ + "0491b921e1aed4b030ca5cf0214afad7bdf3aba1", + "reftest" + ], "css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html": [ "2c83c46aa50f6d51efbb4d05635d86f7c166042d", "reftest" @@ -606374,6 +606565,10 @@ "de69880ed43c499974e60eafd3d135b6fb5b6632", "reftest" ], + "css/css-text/white-space/pre-wrap-008.html": [ + "1ddbb7fe356e2cd9af2a35aa848541db2ab8fe23", + "reftest" + ], "css/css-text/white-space/pre-wrap-011.html": [ "5f86cff5b3889ea1a810b30c14d680c4fa7dbcae", "reftest" @@ -606907,21 +607102,25 @@ "reftest" ], "css/css-text/word-break/word-break-break-all-011.html": [ - "fade439dd9a9d4505e3ab7b9060a2f962eb6fd95", + "74ca60503f6eb76678ec6d94c8e7f9a2349cfcd4", "reftest" ], "css/css-text/word-break/word-break-break-all-012.html": [ - "cd3d44056ec9715c0a9599bf5b7cad180620af74", + "6cbcbad92c4483021d645a3ba529a4441c26ba7d", "reftest" ], "css/css-text/word-break/word-break-break-all-013.html": [ - "85dce08b6418088292c50e30dab9f497b31fb6ac", + "5029e4d891b221eca7da7e4991ec0d1809ea4d03", "reftest" ], "css/css-text/word-break/word-break-break-all-014.html": [ "674b0545e05a5d25f056ac9850abd11791de6a58", "reftest" ], + "css/css-text/word-break/word-break-break-all-015.html": [ + "9602a1f2cf0bab45bc7f70dbe3fa0aeb75d6df79", + "reftest" + ], "css/css-text/word-break/word-break-break-all-020.html": [ "ac1840131c3f214b993ffd58dcd2124523f89b6b", "reftest" @@ -607087,7 +607286,7 @@ "reftest_node" ], "css/css-transforms/META.yml": [ - "33c1fce3379cc08c33a5641ea0b88864735dcd0c", + "b948e3a31ed377091417bbf32d02791965b15a92", "support" ], "css/css-transforms/animation/list-interpolation.html": [ @@ -614607,7 +614806,7 @@ "testharness" ], "css/css-ui/META.yml": [ - "e78564bcc0d50add555e6767a596662e3c303c6e", + "7ce4b54a22c78576dc2318ebd651dfd1cce374ad", "support" ], "css/css-ui/appearance-cssom-001.html": [ @@ -618019,7 +618218,7 @@ "reftest" ], "css/css-writing-modes/META.yml": [ - "c74fff07de51aa354967058536c882ce515be8df", + "c11da73b6b438ca69cc6425f5118a4f9aa36a34f", "support" ], "css/css-writing-modes/abs-pos-non-replaced-icb-vlr-003.xht": [ @@ -627283,7 +627482,7 @@ "support" ], "css/selectors/META.yml": [ - "3f86842591ed35be1b36757e58e900899e8e0627", + "8e506d671d4b1e741d3450bd66603edbb3de9f30", "support" ], "css/selectors/anplusb-selector-parsing.html": [ @@ -639039,7 +639238,7 @@ "testharness" ], "device-memory/META.yml": [ - "b393c6b8337c09b3a7f140520319e61d3acbf56d", + "b8dd4761adff3e18b6552d4a8f02abdcd30a3ea6", "support" ], "device-memory/device-memory.https.any.js": [ @@ -639063,7 +639262,7 @@ "support" ], "docs/META.yml": [ - "190b4576a106f15d35bd1543ab4f2178f29ca931", + "cceb9449a4205a8da37f206ec6f6a4026f4612a1", "support" ], "docs/_admin/index.md": [ @@ -642987,7 +643186,7 @@ "testharness" ], "encrypted-media/META.yml": [ - "3168f7d96f847daf23d9f859e548cb07b0f1c74c", + "b09e3b3c4e860bb92f1bc434c2f13462085f0af2", "support" ], "encrypted-media/README.md": [ @@ -643839,7 +644038,7 @@ "support" ], "event-timing/META.yml": [ - "feede41dcef66e8842a081b6053b4e57515f9c1c", + "aa27fb61c310d91b629ff0d7b19cd01ce469e645", "support" ], "event-timing/event-timing-bufferbeforeonload.html": [ @@ -644211,7 +644410,7 @@ "testharness" ], "feature-policy/META.yml": [ - "44ab62ca7243653c47ae8d887f7b4c9697718c0f", + "a4136f77e3fbd8524939de235eaff9c0211bfdba", "support" ], "feature-policy/README.md": [ @@ -647379,7 +647578,7 @@ "support" ], "gamepad/META.yml": [ - "5f99b9db8eb163c24bf9a330039a8a7a1659ba6d", + "b008a9e614c1454e9b127b4d59a0d54cea2385bc", "support" ], "gamepad/events-manual.html": [ @@ -647403,7 +647602,7 @@ "manual" ], "generic-sensor/META.yml": [ - "1cfe809776ba04c66560bc9ef6cce0aa476b7082", + "bf48f80f8083f0ca13f432d16a7b3b22b3435526", "support" ], "generic-sensor/README.md": [ @@ -647639,7 +647838,7 @@ "manual" ], "gyroscope/META.yml": [ - "67f22d5374b0385db98fc885918d3b2f23a2f66b", + "6a48535e3c7416eb1d54b1a6e6837230ba498b39", "support" ], "gyroscope/idlharness.https.window.js": [ @@ -647835,7 +648034,7 @@ "manual" ], "html-media-capture/META.yml": [ - "706dbdf8b6a4bebc09ba4e988936194b8e9a62a2", + "3dd015f3ecb7d95f6677031448823cf5028f546f", "support" ], "html-media-capture/capture_audio-manual.html": [ @@ -649978,6 +650177,10 @@ "88a3beba6f10b80b0b90acdc0b0f957e1a17cefc", "testharness" ], + "html/browsers/the-window-object/document-attribute.window.js": [ + "f13acdb8a3261410c0f3100fea49f1ba110ea9ab", + "testharness" + ], "html/browsers/the-window-object/focus.window.js": [ "6ec7feee281e756ae6452e0f9b17d9b93032d010", "testharness" @@ -650094,6 +650297,10 @@ "1fb0ed7c1e62da55b890c6434bee6e46637e0209", "testharness" ], + "html/browsers/the-window-object/self-et-al.window.js": [ + "1b0fa1211a701253b61d1eced344faa8763ad6ef", + "testharness" + ], "html/browsers/the-window-object/support/closed.html": [ "3b70598e34d0e9b46a8ba2150a1589fecfb90ea8", "support" @@ -665487,11 +665694,11 @@ "manual" ], "html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html": [ - "dca44dde1da873d48c8fc81257ab32166a75ef08", + "e7d98c3b194a03da025ab5b08b5d2c47007222c4", "testharness" ], "html/user-activation/activation-transfer-with-click.tentative.html": [ - "ebb4f5f5122176a30d3eca1d5ab82dd8e00722de", + "6b7a2b72967124c5a4cbb7d5df1a7546784b2254", "testharness" ], "html/user-activation/activation-transfer-without-click.tentative.html": [ @@ -666859,7 +667066,7 @@ "support" ], "imagebitmap-renderingcontext/META.yml": [ - "f6a06f4e7d7625855e271ec5422629ca5e734560", + "4239a85f5eeb8de0660d138c5a3d48a17545a9eb", "support" ], "imagebitmap-renderingcontext/bitmaprenderer-as-imagesource.html": [ @@ -668719,7 +668926,7 @@ "support" ], "lint.whitelist": [ - "31a001c9f6490ca25c0363eae273c7f139a597bd", + "12b32126b6677b19836943aee6c604296f9a597d", "support" ], "loading/preloader-css-import-no-quote.tentative.html": [ @@ -668819,7 +669026,7 @@ "testharness" ], "magnetometer/META.yml": [ - "88b900c569340a167ac2a8aa967099bfdfff388b", + "d7d395ee8f2a942327858b189dd8a6b2a249c14e", "support" ], "magnetometer/Magnetometer-disabled-by-feature-policy.https.html": [ @@ -668915,11 +669122,11 @@ "reftest" ], "mathml/presentation-markup/fractions/frac-linethickness-001-ref.html": [ - "c703edb764fe883e05e47e26464149aa64af1070", + "d4be8ea03bfc29506af0e26a3d94d5eeafaaf472", "support" ], "mathml/presentation-markup/fractions/frac-linethickness-001.html": [ - "83e15c83dc0bcb911eb52a6b74b86a13c2f1e31e", + "eca82878caec21ea50ed0d3562ac3449e54c7567", "reftest" ], "mathml/presentation-markup/fractions/frac-linethickness-002-ref.html": [ @@ -670027,7 +670234,7 @@ "support" ], "mediacapture-depth/META.yml": [ - "e083c9b8c3ab0b20b24976d8ab94f5d04fb243dd", + "434612091df41dcf66859c46c66ed8cdaa6ba316", "support" ], "mediacapture-depth/dictionary-helper.js": [ @@ -670239,7 +670446,7 @@ "testharness" ], "mediacapture-streams/META.yml": [ - "1ed650e97c451ef1266fd8435e2260d6bf617b67", + "960dc3a5ac47e9c14e8651504cb8057242f7a3be", "support" ], "mediacapture-streams/MediaDevices-SecureContext.html": [ @@ -673459,7 +673666,7 @@ "support" ], "notifications/META.yml": [ - "2cb7972705c7b9ef00375dfa4258e92edb15fb21", + "0daa86e6f487e90830b400bf7f2b871700d024b8", "support" ], "notifications/body-basic-manual.html": [ @@ -673555,7 +673762,7 @@ "manual" ], "offscreen-canvas/META.yml": [ - "bcb30ed276642fbbe2d055c6a1d131e097daac69", + "d3e4c387e8b5b9d27ea3dea6febdc1d9a662e4f0", "support" ], "offscreen-canvas/compositing/2d.composite.canvas.copy.html": [ @@ -680067,7 +680274,7 @@ "testharness" ], "orientation-sensor/META.yml": [ - "99d6166664ca11196582e9bd058d225df833a4e2", + "427385826fca7a770a816abc5d98cc324f647f68", "support" ], "orientation-sensor/OrientationSensor_insecure_context.html": [ @@ -680239,7 +680446,7 @@ "testharness" ], "paint-timing/META.yml": [ - "24acb2587d1a375bfee12c56c56dd457ee6152cd", + "1892a41ed1cffcc8ba704f28bd59f5aa64c2b46a", "support" ], "paint-timing/basetest.html": [ @@ -680423,7 +680630,7 @@ "testharness" ], "payment-method-id/META.yml": [ - "e0931f4f8f584199e85f31501cc6a717e57fe4ab", + "5e9fe05abae6f862301ef85f9905d91eb4e42121", "support" ], "payment-method-id/README.md": [ @@ -680451,7 +680658,7 @@ "testharness" ], "payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html": [ - "45f3f0a5672cf64501718aa43dc5aac87249bab9", + "226fd88ff84ab58baa39da7f0691b18c50b3ff72", "manual" ], "payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [ @@ -680687,7 +680894,7 @@ "manual" ], "payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html": [ - "c8dd92636c6392b2436c8235340355c4529e12c1", + "f3f3f76357c1467f4032c5749849bd0063b41010", "manual" ], "payment-request/payment-response/onpayerdetailchange-attribute.https.html": [ @@ -680931,7 +681138,7 @@ "testharness" ], "pointerevents/META.yml": [ - "be61ddddaf62acb3396ada6779ad3f50e6caa709", + "1962feaf8af08b003e519fa525271e70451984d5", "support" ], "pointerevents/README.md": [ @@ -681971,7 +682178,7 @@ "support" ], "proximity/META.yml": [ - "9b5ffbc27e6e7a108b21398d2fe2ca1746bae112", + "284afed59d9bf4910f494973ec08314b1f854d01", "support" ], "proximity/ProximitySensor-iframe-access.https.html": [ @@ -682135,7 +682342,7 @@ "support" ], "referrer-policy/META.yml": [ - "a622289c0562dbac99de0a9dbd3b9a70e0783923", + "8ead043aad0a6aa79dad5c2c9e9b757df5869265", "support" ], "referrer-policy/README.md": [ @@ -691175,7 +691382,7 @@ "testharness" ], "resource-timing/META.yml": [ - "a2ce7c48f501436168ab93f791f1964e91a14fef", + "76176970d4d93e6a66bf2bc62aec5dd62ccd12c1", "support" ], "resource-timing/SyntheticResponse.py": [ @@ -691242,6 +691449,10 @@ "a7542f191c10ea7b42110b5fc80e7abf43174bb5", "testharness" ], + "resource-timing/nested-context-navigations.html": [ + "483cc5b82d5debf942dd0013a340f9d5f550834c", + "testharness" + ], "resource-timing/no-entries-for-cross-origin-css-fetched.sub.html": [ "63f9e06e19083a6d956af0d5916455cd7e91b89c", "testharness" @@ -691426,6 +691637,34 @@ "fbd7bc3b6e21ee39478c8a63780bb673dafe96a4", "support" ], + "resource-timing/resources/document-navigated.html": [ + "fa87355c3ed18f5011146a373c4029d3272bb6a8", + "support" + ], + "resource-timing/resources/document-refreshed.html": [ + "7e4ca09891ed35e244b15151a2a6077af74e865f", + "support" + ], + "resource-timing/resources/document-that-navigates.html": [ + "cb567bf3d2ad12154155aef6ad1da7be2a1f3d78", + "support" + ], + "resource-timing/resources/document-that-refreshes.html": [ + "75522782a62dbe3b98b2f1a09c5babc7063b7510", + "support" + ], + "resource-timing/resources/embed-navigate-back.html": [ + "3c3def1d1a1d04279ad2bbceb220879398943681", + "support" + ], + "resource-timing/resources/embed-navigate.html": [ + "20a73c662b4f7b00daa96feda64cde16fc6a6490", + "support" + ], + "resource-timing/resources/embed-refresh.html": [ + "4a49fd0b4c1b54c0f03200f7ed2cb2ae27239788", + "support" + ], "resource-timing/resources/empty.js": [ "3b44754e301ded90e559f6343df641e476803542", "support" @@ -691470,6 +691709,18 @@ "39f5d13054a79281ed0131315f834645e6e7790c", "support" ], + "resource-timing/resources/iframe-navigate-back.html": [ + "c5c1fc1ad4dfaaedc441ae8854079402e56d1106", + "support" + ], + "resource-timing/resources/iframe-navigate.html": [ + "2a1a7e063619fe62c7acf87b99acda26d2cbcf32", + "support" + ], + "resource-timing/resources/iframe-refresh.html": [ + "4ce3ea0424297ac7a8664fc7f7a6dcbff64d6f14", + "support" + ], "resource-timing/resources/iframe-reload-TAO.sub.html": [ "577aff7758c779893f010658d216f34802a4edfe", "support" @@ -691526,6 +691777,14 @@ "d1802a1e02d9aacad091e814cc2955d244d2f977", "support" ], + "resource-timing/resources/navigate_back.html": [ + "345eee1fccca5cf2ea94865a41a41f6e897ede15", + "support" + ], + "resource-timing/resources/nested-contexts.js": [ + "0c202243702aec81426a2dfbca05ce1118c5978b", + "support" + ], "resource-timing/resources/nested.css": [ "90d61b04acc4443430c42331d8c7f21993b0ae4d", "support" @@ -691534,6 +691793,18 @@ "c104f3c8f0695a96646cf24a730eef0342f95876", "support" ], + "resource-timing/resources/object-navigate-back.html": [ + "64e5f584731fdf5fe89e8e60e19fea6bd0f24125", + "support" + ], + "resource-timing/resources/object-navigate.html": [ + "cbb862e7e00fcb7391107fdfe7e7870388f62a4a", + "support" + ], + "resource-timing/resources/object-refresh.html": [ + "b14cf7f17c9d807eaa904f92d170e9ee96435464", + "support" + ], "resource-timing/resources/resource_timing_test0.css": [ "8bc8326ba675adcc8aa809dd0b885dba3285782d", "support" @@ -691623,7 +691894,7 @@ "support" ], "resources/chromium/device.mojom.js": [ - "436d3038b85e4d6f92fa25cd93a41af667e85d26", + "6488cbc69c29170d9441d2210da27a464f67d445", "support" ], "resources/chromium/device.mojom.js.headers": [ @@ -691751,7 +692022,7 @@ "support" ], "resources/chromium/webusb-test.js": [ - "18ee824aafaf45087f4b0aa2d6e90811cb39a751", + "c4d4e8f1ac47a2f8c5ea02fa737a01b36aca6329", "support" ], "resources/chromium/webusb-test.js.headers": [ @@ -692979,7 +693250,7 @@ "testharness" ], "screen-orientation/META.yml": [ - "dc3f290196fabe6e4594a498282fc0091134bdad", + "3ddb3b0507d54269c54a552227771a0bf9131a0e", "support" ], "screen-orientation/event-before-promise.html": [ @@ -693002,6 +693273,10 @@ "1041f91886a87083ed78227e15badb071395dfb4", "testharness" ], + "screen-orientation/lock-unlock-check.html": [ + "129882d64f6d323d93a183d59f4744a8e888d3f1", + "testharness" + ], "screen-orientation/onchange-event-subframe.html": [ "869a2294594aecc6e827501a3802d3cc42bde630", "testharness" @@ -693022,12 +693297,16 @@ "4cfd37d02bc58f2bed39075357b393fea769a155", "support" ], + "screen-orientation/resources/orientation-utils.js": [ + "8721818bec2fadcaa3010f3c48d9e38db854f669", + "support" + ], "screen-orientation/resources/sandboxed-iframe-locking.html": [ "e1b50f670105f3a05dacd3518d62770685121c67", "support" ], "scroll-animations/META.yml": [ - "20f3c7e6c930193207c6cbcd329e36f85a993dc9", + "c53f1f432fe1ec2887e30af396a1f1574b76b95d", "support" ], "scroll-animations/constructor-no-document.html": [ @@ -693147,7 +693426,7 @@ "support" ], "selection/Document-open.html": [ - "9d170914e6516b2829f1872e001dd4cd08e30b4c", + "9e3cb28124c0d65f61d1e71672c2429a3b64a792", "testharness" ], "selection/META.yml": [ @@ -697403,7 +697682,7 @@ "support" ], "signed-exchange/resources/generate-test-sxgs.sh": [ - "60746ff34caaec9e83942aeae6a6cc74aa8138e0", + "e76286be991ca3d3832f767a5ab7aab172157184", "support" ], "signed-exchange/resources/inner-url.html": [ @@ -697418,6 +697697,18 @@ "d581d5987ea0f9d7c8164d680a4527f2ea519cd4", "support" ], + "signed-exchange/resources/register-sw-after-fallback.html": [ + "2711fc241f3215ff7e6649daefde40e7b2e147da", + "support" + ], + "signed-exchange/resources/register-sw.html": [ + "8a3873bfde88dd9bd0cc979f3db6a7d88b776d22", + "support" + ], + "signed-exchange/resources/service-worker.js": [ + "2647f45a3ea3e7e406305f41a3b4677b26ecd8e7", + "support" + ], "signed-exchange/resources/sxg-location.html": [ "b3ebd2bde7acd2d1885838a37ab9cfc91c250551", "support" @@ -697427,7 +697718,7 @@ "support" ], "signed-exchange/resources/sxg-util.js": [ - "7abb3cf2079087092ac4a7f7332ecf72f9cabd75", + "78edf137408f93150209f76b6e492d13805ca95a", "support" ], "signed-exchange/resources/sxg-version1b2.sxg": [ @@ -697462,6 +697753,14 @@ "6d8538882d27c40b0ffcf0845c090844aaec87b7", "support" ], + "signed-exchange/resources/sxg/register-sw-after-fallback.sxg": [ + "20ae275818765133e5018e0db2263cf21269d756", + "support" + ], + "signed-exchange/resources/sxg/register-sw-from-sxg.sxg": [ + "792222029f1730c20c6673a9b89771c70226faea", + "support" + ], "signed-exchange/resources/sxg/sxg-cert-not-found-on-alt-origin.sxg": [ "2a7dbf6fa69ae29055e51f6c7d32d3ab4ceb6765", "support" @@ -697558,6 +697857,14 @@ "ae96b7213fa7f3d056964a2eeab1528ff840486a", "support" ], + "signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html": [ + "2b76a70dc9feb2fe446fa309202494b172dcb04e", + "testharness" + ], + "signed-exchange/service-workers/sxg-sw-register.tentative.https.html": [ + "ad21ebb20d44c846bd99cbffeb510c8af2bb81ea", + "testharness" + ], "signed-exchange/sxg-double-prefetch.tentative.html": [ "d682741744fed929bee8e62fbae4857a4bfbf1d5", "testharness" @@ -697651,7 +697958,7 @@ "testharness" ], "speech-api/META.yml": [ - "4d1b42a44d2a6a447f8a47bc079d7e28436843e0", + "9ce8830e78fc4be5b25e5382248810932abfd829", "support" ], "speech-api/SpeechRecognition-abort-manual.https.html": [ @@ -697803,7 +698110,7 @@ "testharness" ], "streams/META.yml": [ - "108c774fae6f0f56b562bfcd0823fab4709f36c5", + "1259a55cb5a99e3ba3a13d81d02dd78d697ddabf", "support" ], "streams/README.md": [ @@ -698075,7 +698382,7 @@ "testharness" ], "subresource-integrity/META.yml": [ - "2b8891ec6b498cc6b24df46e21fffad437732b54", + "f6980682f11bc29b19789c91a93d9e0f58383306", "support" ], "subresource-integrity/alternate.css": [ @@ -698271,7 +698578,7 @@ "support" ], "svg/META.yml": [ - "09ef583b72d7a204612e8f124404895137d80205", + "2904d6f606bfd2092952dcb7883d66afc9e9be8b", "support" ], "svg/README.md": [ @@ -707039,7 +707346,7 @@ "support" ], "tools/wpt/run.py": [ - "df34e591568617616211e0f549872fe94c7568d8", + "a19851d14c5cd2a64355a4e0389ace0b7cbd022f", "support" ], "tools/wpt/testfiles.py": [ @@ -707075,7 +707382,7 @@ "support" ], "tools/wpt/virtualenv.py": [ - "61de936b7679e0f143d43278ad2494b34140b004", + "357ddcbefce1f9ed81324bab0bf2467f572b0753", "support" ], "tools/wpt/wpt.py": [ @@ -707131,7 +707438,7 @@ "support" ], "tools/wptrunner/requirements.txt": [ - "6216fb6708da3c60d6e2b0a60d92a232dc383b0f", + "f17b12b3dddffd988bf05b1255761b713e28ca49", "support" ], "tools/wptrunner/requirements_chrome.txt": [ @@ -707151,7 +707458,7 @@ "support" ], "tools/wptrunner/requirements_firefox.txt": [ - "ee84d840f814088fdb4607ff355096772894a987", + "668cea391543074722e19ad802ea189df84890c0", "support" ], "tools/wptrunner/requirements_ie.txt": [ @@ -708939,7 +709246,7 @@ "testharness" ], "url/META.yml": [ - "3a789a0d513f0a78bf362dd73c8a807d0cd55a50", + "094b266b64b61b97966f2fa88d78dfdf5a00b573", "support" ], "url/README.md": [ @@ -709187,7 +709494,7 @@ "testharness" ], "vibration/META.yml": [ - "016588931f9d1221bd9730605bd3d7abaeb069d7", + "91cd8c9d8056e8512e049280b7c1a43a76b3074f", "support" ], "vibration/api-is-present.html": [ @@ -710303,7 +710610,7 @@ "manual" ], "wake-lock/META.yml": [ - "a5ff85281f875366aa3f22262e1a58beb60fe8f3", + "7ca3da2d8d2e4c90c55074246589d5464aa7ae3e", "support" ], "wake-lock/idlharness.https.window.js": [ @@ -712179,7 +712486,7 @@ "testharness" ], "webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html": [ - "2c1162d47b973937c826caba0c740f58970defcc", + "3e364eb7b359948402ef8ecdb287a5f55bb80fc3", "testharness" ], "webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https.html": [ @@ -713419,7 +713726,7 @@ "testharness" ], "webmessaging/META.yml": [ - "e70b780b57a659a928ce7575f19224dcce8087f9", + "95d5071171b5a20cc14a414c97c9eae2f525f43f", "support" ], "webmessaging/MessageEvent-trusted-worker.js": [ @@ -713955,7 +714262,7 @@ "testharness" ], "webrtc/META.yml": [ - "2025a11f3810042bcef24acae751ce5ffd3a3ee8", + "eed4ac834313773528e5665d80505cb4b951a1c9", "support" ], "webrtc/RTCCertificate-postMessage.html": [ @@ -714103,7 +714410,7 @@ "testharness" ], "webrtc/RTCPeerConnection-getStats.https.html": [ - "247402b83be0a2655fa8d4ad43fa166b6459c587", + "c2c4e8e37176ce13447c1c8238aa6243f9aea130", "testharness" ], "webrtc/RTCPeerConnection-getTransceivers.html": [ @@ -714127,7 +714434,7 @@ "testharness" ], "webrtc/RTCPeerConnection-onnegotiationneeded.html": [ - "ac9d70c43eff1ddd0995dcea741f3b6ea850464b", + "f7bf8bd3e3bdc24c63a92da22eaae77b95f0d4fd", "testharness" ], "webrtc/RTCPeerConnection-onsignalingstatechanged.https.html": [ @@ -715403,7 +715710,7 @@ "support" ], "webstorage/META.yml": [ - "0da67a586b84030b835ddbdaa0af20ddadb8f4b3", + "020075c3f2401ca4b8da73116a84582d46e265c0", "support" ], "webstorage/README.md": [ @@ -718779,7 +719086,7 @@ "support" ], "webxr/META.yml": [ - "b5e3e65a12cb4124e43c4f24b7fca84910fda119", + "520afec2000721d04aae9ed89bca49297fa31d4b", "support" ], "webxr/idlharness.https.window.js": [ @@ -718794,6 +719101,10 @@ "2d8e5b387dc88588921ccfa49dd14db58009900c", "support" ], + "webxr/resources/webxr_math_utils.js": [ + "bb55fb72978690427aac38b84d1eac24e838d0eb", + "support" + ], "webxr/resources/webxr_test_asserts.js": [ "2253ffc2d39d268142711fca7f81dda3fc6a318c", "support" @@ -718863,13 +719174,17 @@ "testharness" ], "webxr/xrRay_matrix.https.html": [ - "3c9cea0849f77063d3c86eff7f2d85e4830c851c", + "85d7bffb87b731f6a863ec752ede5ceac3bfca16", "testharness" ], "webxr/xrRigidTransform_constructor.https.html": [ "abaf8bf9ebe2fed3c99cef5bf52d697b9e8ed1c8", "testharness" ], + "webxr/xrRigidTransform_matrix.https.html": [ + "21236c732461de4422dcab7a3709cdc7ffc0f3a6", + "testharness" + ], "webxr/xrSession_cancelAnimationFrame.https.html": [ "cc7b8802cba01ac03adb53a06308acd5642dd0af", "testharness" @@ -720715,7 +721030,7 @@ "testharness" ], "xhr/META.yml": [ - "4b2ecf39bf3a07188d587f0a7ac3d22cad55f923", + "c343ceac4375531d92d2ef1ec88de5c7a3897bbe", "support" ], "xhr/README.md": [ diff --git a/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini b/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini new file mode 100644 index 00000000000..d3d12cf452f --- /dev/null +++ b/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini @@ -0,0 +1,2 @@ +[overflow-wrap-break-word-007.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini new file mode 100644 index 00000000000..7347535e71e --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-008.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini deleted file mode 100644 index 6833da89a76..00000000000 --- a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-break-break-all-011.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini new file mode 100644 index 00000000000..fcbca62a5dd --- /dev/null +++ b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-015.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini index bcd187f508c..8e2ceeddfbe 100644 --- a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini @@ -6,3 +6,6 @@ [Instant scrolling while doing history navigation.] expected: FAIL + [Smooth scrolling while doing history navigation.] + 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 4ac06530d29..18f786d4963 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,9 +312,3 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*;charset=gbk] - expected: FAIL - - [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/the-window-object/self-et-al.window.js.ini b/tests/wpt/metadata/html/browsers/the-window-object/self-et-al.window.js.ini new file mode 100644 index 00000000000..a4d65d26244 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/the-window-object/self-et-al.window.js.ini @@ -0,0 +1,2 @@ +[self-et-al.window.html] + expected: CRASH diff --git a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini index 636c298b2a1..ef2deddc5dc 100644 --- a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini +++ b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini @@ -1,5 +1,5 @@ [name-attribute.window.html] - expected: TIMEOUT + expected: CRASH [cross-origin <frame name=>] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini deleted file mode 100644 index 6cf9d13975c..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[iframe_005.html] - [document.write external script into iframe write back into parent] - expected: FAIL - diff --git a/tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini b/tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini new file mode 100644 index 00000000000..b3ec9b54206 --- /dev/null +++ b/tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini @@ -0,0 +1,56 @@ +[nested-context-navigations.html] + expected: TIMEOUT + [Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent] + expected: NOTRUN + + [Test that embed navigations are not observable by the parent, even after history navigations by the parent] + expected: TIMEOUT + + [Test that crossorigin iframe refreshes are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin object refreshes are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin object navigations are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin embed refreshes are not observable by the parent] + expected: NOTRUN + + [Test that iframe navigations are not observable by the parent, even after history navigations by the parent] + expected: NOTRUN + + [Test that object refreshes are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent] + expected: NOTRUN + + [Test that object navigations are not observable by the parent, even after history navigations by the parent] + expected: NOTRUN + + [Test that iframe navigations are not observable by the parent] + expected: NOTRUN + + [Test that embed navigations are not observable by the parent] + expected: NOTRUN + + [Test that iframe refreshes are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin iframe navigations are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin embed navigations are not observable by the parent] + expected: NOTRUN + + [Test that object navigations are not observable by the parent] + expected: NOTRUN + + [Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent] + expected: NOTRUN + + [Test that embed refreshes are not observable by the parent] + expected: NOTRUN + 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 268949ced5c..f584fce5df1 100644 --- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini @@ -1,4 +1,5 @@ [005.html] + expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/web-platform-tests/.travis.yml b/tests/wpt/web-platform-tests/.travis.yml index ea1976d4f11..20093dfd1d2 100644 --- a/tests/wpt/web-platform-tests/.travis.yml +++ b/tests/wpt/web-platform-tests/.travis.yml @@ -57,11 +57,25 @@ matrix: packages: - libnss3-tools env: JOB=wpt_integration TOXENV=py27 SCRIPT=tools/ci/ci_wpt.sh + addons: + apt: + packages: + - fonts-liberation + - libappindicator1 + - libnss3-tools + - pulseaudio - name: "resources/ tests" if: type = pull_request os: linux python: "2.7" env: JOB=resources_unittest TOXENV=py27 SCRIPT=tools/ci/ci_resources_unittest.sh + addons: + apt: + packages: + - fonts-liberation + - libappindicator1 + - libnss3-tools + - pulseaudio - name: "infrastructure/ tests" if: type = pull_request os: linux @@ -70,9 +84,10 @@ matrix: addons: apt: packages: - - libnss3-tools - - libappindicator1 - fonts-liberation + - libappindicator1 + - libnss3-tools + - pulseaudio exclude: - env: # exclude empty env from the top-level above allow_failures: diff --git a/tests/wpt/web-platform-tests/2dcontext/META.yml b/tests/wpt/web-platform-tests/2dcontext/META.yml index 53b11d271cc..0f79f259129 100644 --- a/tests/wpt/web-platform-tests/2dcontext/META.yml +++ b/tests/wpt/web-platform-tests/2dcontext/META.yml @@ -3,5 +3,4 @@ suggested_reviewers: - AmeliaBR - annevk - kenrussell - - jdashg - fserb diff --git a/tests/wpt/web-platform-tests/WebIDL/META.yml b/tests/wpt/web-platform-tests/WebIDL/META.yml index 82ae5236f0d..a8dc9c4410e 100644 --- a/tests/wpt/web-platform-tests/WebIDL/META.yml +++ b/tests/wpt/web-platform-tests/WebIDL/META.yml @@ -1,6 +1,5 @@ spec: https://heycam.github.io/webidl/ suggested_reviewers: - domenic - - jensl - tobie - yuki3 diff --git a/tests/wpt/web-platform-tests/accelerometer/META.yml b/tests/wpt/web-platform-tests/accelerometer/META.yml index 6554be89580..7df27e1f40b 100644 --- a/tests/wpt/web-platform-tests/accelerometer/META.yml +++ b/tests/wpt/web-platform-tests/accelerometer/META.yml @@ -1,7 +1,6 @@ spec: https://w3c.github.io/accelerometer/ suggested_reviewers: - zqzhang - - dontcallmedom - riju - Honry - rakuco diff --git a/tests/wpt/web-platform-tests/ambient-light/META.yml b/tests/wpt/web-platform-tests/ambient-light/META.yml index 04fce804971..c3f69ba181e 100644 --- a/tests/wpt/web-platform-tests/ambient-light/META.yml +++ b/tests/wpt/web-platform-tests/ambient-light/META.yml @@ -1,7 +1,6 @@ spec: https://w3c.github.io/ambient-light/ suggested_reviewers: - zqzhang - - dontcallmedom - riju - rakuco - Honry diff --git a/tests/wpt/web-platform-tests/battery-status/META.yml b/tests/wpt/web-platform-tests/battery-status/META.yml index eded36c5e2f..12a2f12c32e 100644 --- a/tests/wpt/web-platform-tests/battery-status/META.yml +++ b/tests/wpt/web-platform-tests/battery-status/META.yml @@ -1,5 +1,4 @@ spec: https://w3c.github.io/battery/ suggested_reviewers: - anssiko - - dontcallmedom - zqzhang diff --git a/tests/wpt/web-platform-tests/bluetooth/META.yml b/tests/wpt/web-platform-tests/bluetooth/META.yml index 501396bac74..607edb6365b 100644 --- a/tests/wpt/web-platform-tests/bluetooth/META.yml +++ b/tests/wpt/web-platform-tests/bluetooth/META.yml @@ -1,6 +1,5 @@ spec: https://webbluetoothcg.github.io/web-bluetooth/ suggested_reviewers: - dougt - - g-ortuno - odejesush - reillyeon diff --git a/tests/wpt/web-platform-tests/common/META.yml b/tests/wpt/web-platform-tests/common/META.yml index 594c8b170f5..958883a1b07 100644 --- a/tests/wpt/web-platform-tests/common/META.yml +++ b/tests/wpt/web-platform-tests/common/META.yml @@ -1,5 +1,4 @@ suggested_reviewers: - zqzhang - - dontcallmedom - deniak - gsnedders diff --git a/tests/wpt/web-platform-tests/cookies/META.yml b/tests/wpt/web-platform-tests/cookies/META.yml index 946da8833ac..d0743949b6a 100644 --- a/tests/wpt/web-platform-tests/cookies/META.yml +++ b/tests/wpt/web-platform-tests/cookies/META.yml @@ -1,3 +1,2 @@ suggested_reviewers: - - inikulin - mikewest diff --git a/tests/wpt/web-platform-tests/css/CSS2/META.yml b/tests/wpt/web-platform-tests/css/CSS2/META.yml index 4ac0804d36d..e9bc44dc8fd 100644 --- a/tests/wpt/web-platform-tests/css/CSS2/META.yml +++ b/tests/wpt/web-platform-tests/css/CSS2/META.yml @@ -5,4 +5,3 @@ suggested_reviewers: - svgeesus - kojiishi - frivoal - - bert-github diff --git a/tests/wpt/web-platform-tests/css/WOFF2/META.yml b/tests/wpt/web-platform-tests/css/WOFF2/META.yml index a4ff5b19e74..3dd216ed9f2 100644 --- a/tests/wpt/web-platform-tests/css/WOFF2/META.yml +++ b/tests/wpt/web-platform-tests/css/WOFF2/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/woff/woff2/ suggested_reviewers: - svgeesus - - rsheeter diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml b/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml index d90a6e083b6..d673be5f4f2 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml @@ -1,6 +1,4 @@ spec: https://drafts.csswg.org/css-backgrounds/ suggested_reviewers: - dbaron - - bert-github - fantasai - - bradkemper diff --git a/tests/wpt/web-platform-tests/css/css-color/META.yml b/tests/wpt/web-platform-tests/css/css-color/META.yml index a8d93c12a94..a0e70aa6539 100644 --- a/tests/wpt/web-platform-tests/css/css-color/META.yml +++ b/tests/wpt/web-platform-tests/css/css-color/META.yml @@ -1,6 +1,5 @@ spec: https://drafts.csswg.org/css-color/ suggested_reviewers: - dbaron - - tantek - svgeesus - tabatkins diff --git a/tests/wpt/web-platform-tests/css/css-display/run-in/META.yml b/tests/wpt/web-platform-tests/css/css-display/run-in/META.yml deleted file mode 100644 index ad40907fb03..00000000000 --- a/tests/wpt/web-platform-tests/css/css-display/run-in/META.yml +++ /dev/null @@ -1,2 +0,0 @@ -suggested_reviewers: - - bert-github diff --git a/tests/wpt/web-platform-tests/css/css-exclusions/META.yml b/tests/wpt/web-platform-tests/css/css-exclusions/META.yml index a954d85bb54..32410e6918e 100644 --- a/tests/wpt/web-platform-tests/css/css-exclusions/META.yml +++ b/tests/wpt/web-platform-tests/css/css-exclusions/META.yml @@ -1,4 +1,3 @@ spec: https://drafts.csswg.org/css-exclusions/ suggested_reviewers: - - atanassov - astearns diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/META.yml b/tests/wpt/web-platform-tests/css/css-flexbox/META.yml index 764d8cbd168..0bcad0b51f7 100644 --- a/tests/wpt/web-platform-tests/css/css-flexbox/META.yml +++ b/tests/wpt/web-platform-tests/css/css-flexbox/META.yml @@ -4,7 +4,6 @@ suggested_reviewers: - plinss - mrego - cbiesinger - - atanassov - fantasai - rachelandrew - tabatkins diff --git a/tests/wpt/web-platform-tests/css/css-grid/META.yml b/tests/wpt/web-platform-tests/css/css-grid/META.yml index af20bb4be80..e49946f4f70 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/META.yml +++ b/tests/wpt/web-platform-tests/css/css-grid/META.yml @@ -2,10 +2,8 @@ spec: https://drafts.csswg.org/css-grid/ suggested_reviewers: - mrego - plinss - - jxs - tabatkins - fantasai - - atanassov - javifernandez - rachelandrew - svillar diff --git a/tests/wpt/web-platform-tests/css/css-logical/META.yml b/tests/wpt/web-platform-tests/css/css-logical/META.yml index 98d838c04e1..cf789d631b1 100644 --- a/tests/wpt/web-platform-tests/css/css-logical/META.yml +++ b/tests/wpt/web-platform-tests/css/css-logical/META.yml @@ -1,4 +1,3 @@ spec: https://drafts.csswg.org/css-logical/ suggested_reviewers: - - atanassov - fantasai diff --git a/tests/wpt/web-platform-tests/css/css-position/META.yml b/tests/wpt/web-platform-tests/css/css-position/META.yml index 00eb3b13129..c1ce1ff602e 100644 --- a/tests/wpt/web-platform-tests/css/css-position/META.yml +++ b/tests/wpt/web-platform-tests/css/css-position/META.yml @@ -1,3 +1,3 @@ spec: https://drafts.csswg.org/css-position/ suggested_reviewers: - - atanassov + - astearns diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html index b1e5d23738b..f03b257246e 100644 --- a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html +++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html @@ -101,6 +101,12 @@ test_computed_value('<length>', '14em', '140px'); test_computed_value('<length>', '15vmin', length_ref('15vmin')); test_computed_value('<length>', 'calc(16px - 7em + 10vh)', length_ref('calc(10vh - 54px)')); +test_computed_value('<length>', '1in', '96px'); +test_computed_value('<length>', '2.54cm', '96px'); +test_computed_value('<length>', '25.4mm', '96px'); +test_computed_value('<length>', '6pc', '96px'); +test_computed_value('<length>', '72pt', '96px'); + test_computed_value('<length-percentage>', '17em', '170px'); test_computed_value('<length-percentage>', '18%', '18%'); test_computed_value('<length-percentage>', 'calc(19em - 2%)', 'calc(-2% + 190px)'); diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html index 82a012e2f68..17c883a689a 100644 --- a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html +++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html @@ -1,6 +1,7 @@ <!DOCTYPE html> -<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-propertydescriptor-initialvalue" /> -<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#register-a-custom-property" /> +<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#dom-propertydescriptor-initialvalue" /> +<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#register-a-custom-property" /> +<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#substitution" /> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="./resources/utils.js"></script> @@ -17,6 +18,12 @@ function test_initial_value(reg, expected) { } test_initial_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '25px'); +test_initial_value({ syntax: '<length>', initialValue: '1in' }, '96px'); +test_initial_value({ syntax: '<length>', initialValue: '2.54cm' }, '96px'); +test_initial_value({ syntax: '<length>', initialValue: '25.4mm' }, '96px'); +test_initial_value({ syntax: '<length>', initialValue: '6pc' }, '96px'); +test_initial_value({ syntax: '<length>', initialValue: '72pt' }, '96px'); +test_initial_value({ syntax: '<percentage>', initialValue: 'calc(10% + 20%)' }, '30%'); test_initial_value({ syntax: '<length-percentage>', initialValue: 'calc(1in + 10% + 4px)' }, 'calc(10% + 100px)'); test_initial_value({ syntax: '<color>', initialValue: 'pink', inherits: true }, 'rgb(255, 192, 203)'); test_initial_value({ syntax: '<color>', initialValue: 'purple' }, 'rgb(128, 0, 128)'); @@ -42,4 +49,19 @@ function test_substituted_value(reg, property, expected) { test_substituted_value({ syntax: '<color>', initialValue: 'purple', inherits: true }, 'color', 'rgb(128, 0, 128)'); test_substituted_value({ syntax: '<color>', initialValue: 'pink' }, 'background-color', 'rgb(255, 192, 203)'); +// Registered properties shall substitute as a token sequence equivalent to +// their computed value. +test_substituted_value({ syntax: 'foo', initialValue: '\tfoo\t' }, '--x', 'foo'); +test_substituted_value({ syntax: '<angle>', initialValue: '\t1turn' }, '--x', '360deg'); +test_substituted_value({ syntax: '<color>', initialValue: ' pink ' }, '--x', 'rgb(255, 192, 203)'); +test_substituted_value({ syntax: '<custom-ident>', initialValue: '\ttest' }, '--x', 'test'); +test_substituted_value({ syntax: '<integer>', initialValue: 'calc(20 + 20 + 10)' }, '--x', '50'); +test_substituted_value({ syntax: '<length-percentage>', initialValue: '\tcalc(13% + 37px)' }, '--x', 'calc(13% + 37px)'); +test_substituted_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '--x', '25px'); +test_substituted_value({ syntax: '<number>', initialValue: 'calc(13 + 37)' }, '--x', '50'); +test_substituted_value({ syntax: '<percentage>', initialValue: 'calc(13% + 37%)' }, '--x', '50%'); +test_substituted_value({ syntax: '<time>', initialValue: '2000ms' }, '--x', '2s'); +test_substituted_value({ syntax: '<transform-function>', initialValue: 'scale(calc(2 + 2))' }, '--x', 'scale(4)'); +test_substituted_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 2)) translateX(calc(3px + 1px))' }, '--x', 'scale(4) translateX(4px)'); + </script> diff --git a/tests/wpt/web-platform-tests/css/css-regions/META.yml b/tests/wpt/web-platform-tests/css/css-regions/META.yml index d8e38081fcf..37bdc98c84c 100644 --- a/tests/wpt/web-platform-tests/css/css-regions/META.yml +++ b/tests/wpt/web-platform-tests/css/css-regions/META.yml @@ -1,5 +1,4 @@ spec: https://drafts.csswg.org/css-regions/ suggested_reviewers: - - atanassov - astearns - rachelandrew diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml b/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml index 9209d5d1f41..f7c0439e202 100644 --- a/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml @@ -1,3 +1,3 @@ spec: https://drafts.csswg.org/css-scrollbars/ suggested_reviewers: - - tantek + - upsuper diff --git a/tests/wpt/web-platform-tests/css/css-shapes/META.yml b/tests/wpt/web-platform-tests/css/css-shapes/META.yml index 99136818e66..2e433aa66f9 100644 --- a/tests/wpt/web-platform-tests/css/css-shapes/META.yml +++ b/tests/wpt/web-platform-tests/css/css-shapes/META.yml @@ -1,7 +1,5 @@ spec: https://drafts.csswg.org/css-shapes/ suggested_reviewers: - - bemjb - kojiishi - plinss - - atanassov - astearns diff --git a/tests/wpt/web-platform-tests/css/css-style-attr/META.yml b/tests/wpt/web-platform-tests/css/css-style-attr/META.yml index 72438735ccd..067e03cfbc7 100644 --- a/tests/wpt/web-platform-tests/css/css-style-attr/META.yml +++ b/tests/wpt/web-platform-tests/css/css-style-attr/META.yml @@ -1,4 +1,3 @@ spec: https://drafts.csswg.org/css-style-attr/ suggested_reviewers: - - tantek - fantasai diff --git a/tests/wpt/web-platform-tests/css/css-syntax/META.yml b/tests/wpt/web-platform-tests/css/css-syntax/META.yml index 17489e1bc21..359219c0996 100644 --- a/tests/wpt/web-platform-tests/css/css-syntax/META.yml +++ b/tests/wpt/web-platform-tests/css/css-syntax/META.yml @@ -2,4 +2,3 @@ spec: https://drafts.csswg.org/css-syntax/ suggested_reviewers: - gregwhitworth - tabatkins - - simonsapin diff --git a/tests/wpt/web-platform-tests/css/css-text/META.yml b/tests/wpt/web-platform-tests/css/css-text/META.yml index 042b858557d..e7914c0fc7f 100644 --- a/tests/wpt/web-platform-tests/css/css-text/META.yml +++ b/tests/wpt/web-platform-tests/css/css-text/META.yml @@ -5,5 +5,4 @@ suggested_reviewers: - frivoal - r12a - nox - - hakatashi - fantasai diff --git a/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html new file mode 100644 index 00000000000..0491b921e1a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Text Test: overflow-wrap: break-word</title> +<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-break-word"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces"> +<meta name="flags" content="ahem"> +<link rel="match" href="reference/overflow-wrap-break-word-001-ref.html"> +<meta name="assert" content="A Single leading white-space constitutes a soft breaking opportunity, honoring the 'white-space: break-spaces' property, that must prevent the word to be broken."> +<style> +div { + position: relative; + font-size: 20px; + font-family: Ahem; +} +.red { + position: absolute; + background: green; + color: red; + width: 100px; + height: 100px; + z-index: -1; + white-space: pre; +} +.test { + color: green; + line-height: 1em; + width: 5ch; + + white-space: pre-wrap; + overflow-wrap: break-word; +} +</style> +<body> + <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> + <div class="red"> XX <br>XXX</div> + <div class="test"> XX XXX </div> +</body> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html new file mode 100644 index 00000000000..1ddbb7fe356 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Text Test: white-space: pre-wrap</title> +<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-word"> +<meta name="flags" content="ahem"> +<link rel="match" href="reference/white-space-break-spaces-005-ref.html"> +<meta name="assert" content="The word is not broken despite the 'word-break: break-word' if there are previous breaking opportunities, honoring the white-space: pre-wrap value."> +<style> +div { + position: relative; + font-size: 20px; + font-family: Ahem; +} +.red { + position: absolute; + background: green; + color: red; + width: 100px; + height: 100px; + z-index: -1; + white-space: pre; +} +.test { + color: green; + line-height: 1em; + width: 5ch; + + white-space: pre-wrap; + word-break: break-word; +} +</style> +<body> + <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> + <div class="red"> XX <br>XXX</div> + <div class="test"> XX XXX </div> +</body> diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html index fade439dd9a..74ca60503f6 100644 --- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html +++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html @@ -21,10 +21,11 @@ div { width: 100px; height: 100px; z-index: -1; + white-space: pre; } +span { color: green; } .test { color: green; - background: green; width: 1ch; white-space: pre-wrap; word-break: break-all; @@ -32,6 +33,6 @@ div { </style> <body> <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> - <div class="red">X<br>X<br>X</div> + <div class="red"> <br>X<br>X</div> <div class="test"> XX</div> </body> diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html index cd3d44056ec..6cbcbad92c4 100644 --- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html +++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html @@ -1,6 +1,6 @@ <!DOCTYPE html> <meta charset="utf-8"> -<title>CSS Text Test: overflow-wrap: break-word</title> +<title>CSS Text Test: word-break: break-all</title> <link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com"> <link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all"> <link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces"> @@ -15,12 +15,12 @@ div { } .red { position: absolute; - white-space: pre; background: green; color: red; width: 100px; height: 100px; z-index: -1; + white-space: pre; } .test { color: green; diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html index 85dce08b641..5029e4d891b 100644 --- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html +++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html @@ -20,10 +20,10 @@ div { width: 100px; height: 100px; z-index: -1; + white-space: pre; } .test { color: green; - background: green; line-height: 1em; width: 1ch; white-space: break-spaces; @@ -32,6 +32,6 @@ div { </style> <body> <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> - <div class="red">X<br>X<br>X</div> + <div class="red"> <br>X<br>X</div> <div class="test"> XX</div> </body> diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html new file mode 100644 index 00000000000..9602a1f2cf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Text Test: word-break: break-all</title> +<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap"> +<meta name="flags" content="ahem"> +<link rel="match" href="reference/word-break-break-all-010-ref.html"> +<meta name="assert" content="The word is broken even if white-space: pre-wrap provides a former breaking opportunity in leading white-space."> +<style> +div { + position: relative; + font-size: 20px; + font-family: Ahem; +} +.red { + position: absolute; + background: green; + color: red; + width: 100px; + height: 100px; + z-index: -1; + white-space: pre; +} +.test { + color: green; + line-height: 1em; + width: 5ch; + + white-space: pre-wrap; + word-break: break-all; +} +</style> +<body> + <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p> + <div class="red"> XX X<br>XX</div> + <div class="test"> XX XXX </div> +</body> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/META.yml b/tests/wpt/web-platform-tests/css/css-transforms/META.yml index 33c1fce3379..b948e3a31ed 100644 --- a/tests/wpt/web-platform-tests/css/css-transforms/META.yml +++ b/tests/wpt/web-platform-tests/css/css-transforms/META.yml @@ -3,5 +3,4 @@ suggested_reviewers: - dbaron - plinss - dirkschulze - - hober - grorg diff --git a/tests/wpt/web-platform-tests/css/css-ui/META.yml b/tests/wpt/web-platform-tests/css/css-ui/META.yml index e78564bcc0d..7ce4b54a22c 100644 --- a/tests/wpt/web-platform-tests/css/css-ui/META.yml +++ b/tests/wpt/web-platform-tests/css/css-ui/META.yml @@ -4,4 +4,3 @@ suggested_reviewers: - mrego - plinss - svgeesus - - tantek diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml b/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml index c74fff07de5..c11da73b6b4 100644 --- a/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml +++ b/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml @@ -2,7 +2,6 @@ spec: https://drafts.csswg.org/css-writing-modes/ suggested_reviewers: - kojiishi - fantasai - - myakura - r12a - plinss - upsuper diff --git a/tests/wpt/web-platform-tests/css/selectors/META.yml b/tests/wpt/web-platform-tests/css/selectors/META.yml index 3f86842591e..8e506d671d4 100644 --- a/tests/wpt/web-platform-tests/css/selectors/META.yml +++ b/tests/wpt/web-platform-tests/css/selectors/META.yml @@ -1,6 +1,5 @@ spec: https://drafts.csswg.org/selectors/ suggested_reviewers: - - tantek - fantasai - frivoal - plinss diff --git a/tests/wpt/web-platform-tests/device-memory/META.yml b/tests/wpt/web-platform-tests/device-memory/META.yml index b393c6b8337..b8dd4761adf 100644 --- a/tests/wpt/web-platform-tests/device-memory/META.yml +++ b/tests/wpt/web-platform-tests/device-memory/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/device-memory/ suggested_reviewers: - - tdresser - npm1 diff --git a/tests/wpt/web-platform-tests/docs/META.yml b/tests/wpt/web-platform-tests/docs/META.yml index 190b4576a10..cceb9449a42 100644 --- a/tests/wpt/web-platform-tests/docs/META.yml +++ b/tests/wpt/web-platform-tests/docs/META.yml @@ -1,4 +1,3 @@ suggested_reviewers: - sideshowbarker - - dontcallmedom - gsnedders diff --git a/tests/wpt/web-platform-tests/encrypted-media/META.yml b/tests/wpt/web-platform-tests/encrypted-media/META.yml index 3168f7d96f8..b09e3b3c4e8 100644 --- a/tests/wpt/web-platform-tests/encrypted-media/META.yml +++ b/tests/wpt/web-platform-tests/encrypted-media/META.yml @@ -1,3 +1,6 @@ spec: https://w3c.github.io/encrypted-media/ suggested_reviewers: - - ddorwin + - cpearce + - joeyparrish + - jrummell-chromium + - jyavenard diff --git a/tests/wpt/web-platform-tests/event-timing/META.yml b/tests/wpt/web-platform-tests/event-timing/META.yml index feede41dcef..aa27fb61c31 100644 --- a/tests/wpt/web-platform-tests/event-timing/META.yml +++ b/tests/wpt/web-platform-tests/event-timing/META.yml @@ -1,4 +1,3 @@ spec: https://github.com/WICG/event-timing suggested_reviewers: - npm1 - - tdresser diff --git a/tests/wpt/web-platform-tests/feature-policy/META.yml b/tests/wpt/web-platform-tests/feature-policy/META.yml index 44ab62ca724..a4136f77e3f 100644 --- a/tests/wpt/web-platform-tests/feature-policy/META.yml +++ b/tests/wpt/web-platform-tests/feature-policy/META.yml @@ -1,3 +1,3 @@ spec: https://wicg.github.io/feature-policy/ suggested_reviewers: - - clelland + - bakulf diff --git a/tests/wpt/web-platform-tests/gamepad/META.yml b/tests/wpt/web-platform-tests/gamepad/META.yml index 5f99b9db8eb..b008a9e614c 100644 --- a/tests/wpt/web-platform-tests/gamepad/META.yml +++ b/tests/wpt/web-platform-tests/gamepad/META.yml @@ -1,3 +1,3 @@ spec: https://w3c.github.io/gamepad/ suggested_reviewers: - - luser + - marcoscaceres diff --git a/tests/wpt/web-platform-tests/generic-sensor/META.yml b/tests/wpt/web-platform-tests/generic-sensor/META.yml index 1cfe809776b..bf48f80f808 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/META.yml +++ b/tests/wpt/web-platform-tests/generic-sensor/META.yml @@ -1,7 +1,6 @@ spec: https://w3c.github.io/sensors/ suggested_reviewers: - zqzhang - - dontcallmedom - riju - rakuco - Honry diff --git a/tests/wpt/web-platform-tests/gyroscope/META.yml b/tests/wpt/web-platform-tests/gyroscope/META.yml index 67f22d5374b..6a48535e3c7 100644 --- a/tests/wpt/web-platform-tests/gyroscope/META.yml +++ b/tests/wpt/web-platform-tests/gyroscope/META.yml @@ -1,7 +1,6 @@ spec: https://w3c.github.io/gyroscope/ suggested_reviewers: - zqzhang - - dontcallmedom - riju - Honry - rakuco diff --git a/tests/wpt/web-platform-tests/html-media-capture/META.yml b/tests/wpt/web-platform-tests/html-media-capture/META.yml index 706dbdf8b6a..3dd015f3ecb 100644 --- a/tests/wpt/web-platform-tests/html-media-capture/META.yml +++ b/tests/wpt/web-platform-tests/html-media-capture/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/html-media-capture/ suggested_reviewers: - - haoxli - zqzhang diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js b/tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js new file mode 100644 index 00000000000..f13acdb8a32 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js @@ -0,0 +1,15 @@ +async_test(t => { + const frame = document.createElement("iframe"); + frame.onload = t.step_func(() => { + const frameW = frame.contentWindow, + frameD = frame.contentDocument; + assert_equals(frameW.document, frameD); + frame.remove(); + assert_equals(frameW.document, frameD); + t.step_timeout(() => { + assert_equals(frameW.document, frameD); + t.done(); + }, 100); + }); + document.body.append(frame); +}, "Window object's document IDL attribute and discarding the browsing context"); diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js b/tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js new file mode 100644 index 00000000000..1b0fa1211a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js @@ -0,0 +1,43 @@ +function delayed_assert_done(t, w, windowProxySelfReference) { + // Let's make sure nobody is being sneaky + t.step_timeout(() => { + t.step_timeout(() => { + assert_equals(w[windowProxySelfReference], w, `${windowProxySelfReference} got cleared after some time`); + t.done(); + }, 0); + }, 0); +} + +[ + "frames", + "globalThis", + "self", + "window" +].forEach(windowProxySelfReference => { + async_test(t => { + const frame = document.body.appendChild(document.createElement("iframe")), + otherW = frame.contentWindow; + assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} is broken`); + frame.remove(); + assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context removal`); + assert_true(otherW.closed); + + delayed_assert_done(t, otherW, windowProxySelfReference); + }, `iframeWindow.${windowProxySelfReference} before and after removal`); + + async_test(t => { + const otherW = window.open(); + assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} is broken`); + otherW.onunload = t.step_func(() => { + assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context unload`); + t.step_timeout(() => { + assert_equals(otherW.opener, null); // Ensure browsing context is discarded + assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context removal`); + delayed_assert_done(t, otherW, windowProxySelfReference); + }, 0); + }); + otherW.close(); + assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context closure`); + assert_true(otherW.closed); + }, `popupWindow.${windowProxySelfReference} before, after closing, and after discarding`) +}); diff --git a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html index dca44dde1da..e7d98c3b194 100644 --- a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html +++ b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html @@ -12,7 +12,8 @@ <script src="/resources/testdriver-vendor.js"></script> </head> <body> - <h1>User activation can be transferred to a cross-origin child frame via a postMessage option.</h1> + <h1>User activation can be transferred to a cross-origin child frame + via a postMessage option.</h1> <ol id="instructions"> <li>Click this instruction text. </ol> @@ -35,6 +36,8 @@ } else if (msg.type == 'child-four-report') { assert_true(msg.isActive); assert_true(msg.hasBeenActive); + + // check sender's activation state again assert_false(navigator.userActivation.isActive); assert_false(navigator.userActivation.hasBeenActive); t.done(); @@ -45,7 +48,12 @@ assert_true(navigator.userActivation.hasBeenActive); // transfer user activation to the child frame - child.contentWindow.postMessage("transfer_user_activation", {targetOrigin: "*", transferUserActivation: true}); + child.contentWindow.postMessage("transfer_user_activation", + {targetOrigin: "*", transferUserActivation: true}); + + // sender's activation state is updated synchronously + assert_false(navigator.userActivation.isActive); + assert_false(navigator.userActivation.hasBeenActive); })); child.src = "http://{{domains[www]}}:{{ports[http][0]}}/html/user-activation/resources/child-four.html"; }, "Cross-origin user activation transfer through postMessages"); diff --git a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html index ebb4f5f5122..6b7a2b72967 100644 --- a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html +++ b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html @@ -12,7 +12,8 @@ <script src="/resources/testdriver-vendor.js"></script> </head> <body> - <h1>User activation can be transferred to a child frame via a postMessage option.</h1> + <h1>User activation can be transferred to a child frame + via a postMessage option.</h1> <ol id="instructions"> <li>Click this instruction text. </ol> @@ -35,6 +36,8 @@ } else if (msg.type == 'child-four-report') { assert_true(msg.isActive); assert_true(msg.hasBeenActive); + + // check sender's activation state again assert_false(navigator.userActivation.isActive); assert_false(navigator.userActivation.hasBeenActive); t.done(); @@ -45,7 +48,12 @@ assert_true(navigator.userActivation.hasBeenActive); // transfer user activation to the child frame - child.contentWindow.postMessage("transfer_user_activation", {transferUserActivation: true}); + child.contentWindow.postMessage("transfer_user_activation", + {transferUserActivation: true}); + + // sender's activation state is updated synchronously + assert_false(navigator.userActivation.isActive); + assert_false(navigator.userActivation.hasBeenActive); })); child.src = "resources/child-four.html"; }, "User activation transfer through postMessages"); diff --git a/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml b/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml index f6a06f4e7d7..4239a85f5ee 100644 --- a/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml +++ b/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml @@ -3,5 +3,4 @@ suggested_reviewers: - AmeliaBR - annevk - kenrussell - - jdashg - fserb diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist index 31a001c9f64..12b32126b66 100644 --- a/tests/wpt/web-platform-tests/lint.whitelist +++ b/tests/wpt/web-platform-tests/lint.whitelist @@ -58,6 +58,7 @@ TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.cur TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.ico TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.wasm TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.bmp +TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.sxg ## Whitespace needed for testing @@ -187,6 +188,7 @@ SET TIMEOUT: payment-request/allowpaymentrequest/setting-allowpaymentrequest-tim SET TIMEOUT: preload/single-download-preload.html SET TIMEOUT: resize-observer/resources/iframe.html SET TIMEOUT: resource-timing/resources/iframe-TAO* +SET TIMEOUT: resource-timing/resources/nested-contexts.js SET TIMEOUT: screen-orientation/onchange-event.html SET TIMEOUT: secure-contexts/basic-popup-and-iframe-tests.https.js SET TIMEOUT: service-workers/cache-storage/script-tests/cache-abort.js diff --git a/tests/wpt/web-platform-tests/magnetometer/META.yml b/tests/wpt/web-platform-tests/magnetometer/META.yml index 88b900c5693..d7d395ee8f2 100644 --- a/tests/wpt/web-platform-tests/magnetometer/META.yml +++ b/tests/wpt/web-platform-tests/magnetometer/META.yml @@ -1,7 +1,6 @@ spec: https://w3c.github.io/magnetometer/ suggested_reviewers: - zqzhang - - dontcallmedom - riju - Honry - rakuco diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html index c703edb764f..d4be8ea03bf 100644 --- a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html @@ -16,23 +16,26 @@ </style> </head> <body> - <p>This test passes if you see fractions with line thickness equal to the height of their blue numerator and cyan denominator.</p> + <p>This test passes if you see the same fraction four times.</p> <math> - <mfrac linethickness="5px"> - <mspace width="20px" height="5px" style="background: blue"></mspace> - <mspace width="20px" height="5px" style="background: cyan"></mspace> + <mfrac> + <mspace width="20px" height="10px" style="background: blue"></mspace> + <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> - <mfrac linethickness="10px"> + <mspace width="20px"/> + <mfrac> <mspace width="20px" height="10px" style="background: blue"></mspace> <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> - <mfrac linethickness="20px"> - <mspace width="20px" height="20px" style="background: blue"></mspace> - <mspace width="20px" height="20px" style="background: cyan"></mspace> + <mspace width="20px"/> + <mfrac> + <mspace width="20px" height="10px" style="background: blue"></mspace> + <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> - <mfrac linethickness="50px"> - <mspace width="20px" height="50px" style="background: blue"></mspace> - <mspace width="20px" height="50px" style="background: cyan"></mspace> + <mspace width="20px"/> + <mfrac> + <mspace width="20px" height="10px" style="background: blue"></mspace> + <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> </math> </body> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html index 83e15c83dc0..eca82878cae 100644 --- a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html @@ -4,7 +4,7 @@ <meta charset="utf-8"> <title>fractions linethickness</title> <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#mfrac"> - <meta name="assert" content="Verifies 'thin', 'medium', 'thick' and unitless values for the linethickness attribute of the mfrac element"> + <meta name="assert" content="Verifies deprecated 'thin', 'medium', 'thick' and unitless values have no effect on the linethickness of the mfrac element"> <link rel="match" href="frac-linethickness-001-ref.html"> <style type="text/css"> @font-face { @@ -19,23 +19,26 @@ </style> </head> <body> - <p>This test passes if you see fractions with line thickness equal to the height of their blue numerator and cyan denominator.</p> + <p>This test passes if you see the same fraction four times.</p> <math> <mfrac linethickness="thin"> - <mspace width="20px" height="5px" style="background: blue"></mspace> - <mspace width="20px" height="5px" style="background: cyan"></mspace> + <mspace width="20px" height="10px" style="background: blue"></mspace> + <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> + <mspace width="20px"/> <mfrac linethickness="medium"> <mspace width="20px" height="10px" style="background: blue"></mspace> <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> + <mspace width="20px"/> <mfrac linethickness="thick"> - <mspace width="20px" height="20px" style="background: blue"></mspace> - <mspace width="20px" height="20px" style="background: cyan"></mspace> + <mspace width="20px" height="10px" style="background: blue"></mspace> + <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> + <mspace width="20px"/> <mfrac linethickness="5"> - <mspace width="20px" height="50px" style="background: blue"></mspace> - <mspace width="20px" height="50px" style="background: cyan"></mspace> + <mspace width="20px" height="10px" style="background: blue"></mspace> + <mspace width="20px" height="10px" style="background: cyan"></mspace> </mfrac> </math> </body> diff --git a/tests/wpt/web-platform-tests/mediacapture-depth/META.yml b/tests/wpt/web-platform-tests/mediacapture-depth/META.yml index e083c9b8c3a..434612091df 100644 --- a/tests/wpt/web-platform-tests/mediacapture-depth/META.yml +++ b/tests/wpt/web-platform-tests/mediacapture-depth/META.yml @@ -3,4 +3,3 @@ suggested_reviewers: - anssiko - Honry - robman - - astojilj diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/META.yml b/tests/wpt/web-platform-tests/mediacapture-streams/META.yml index 1ed650e97c4..960dc3a5ac4 100644 --- a/tests/wpt/web-platform-tests/mediacapture-streams/META.yml +++ b/tests/wpt/web-platform-tests/mediacapture-streams/META.yml @@ -2,7 +2,5 @@ spec: https://w3c.github.io/mediacapture-main/ suggested_reviewers: - agouaillard - alvestrand - - dontcallmedom - - eric-carlson - youennf - jan-ivar diff --git a/tests/wpt/web-platform-tests/notifications/META.yml b/tests/wpt/web-platform-tests/notifications/META.yml index 2cb7972705c..0daa86e6f48 100644 --- a/tests/wpt/web-platform-tests/notifications/META.yml +++ b/tests/wpt/web-platform-tests/notifications/META.yml @@ -1,4 +1,3 @@ spec: https://notifications.spec.whatwg.org/ suggested_reviewers: - sideshowbarker - - ibelem diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/META.yml b/tests/wpt/web-platform-tests/offscreen-canvas/META.yml index bcb30ed2766..d3e4c387e8b 100644 --- a/tests/wpt/web-platform-tests/offscreen-canvas/META.yml +++ b/tests/wpt/web-platform-tests/offscreen-canvas/META.yml @@ -3,5 +3,4 @@ suggested_reviewers: - AmeliaBR - annevk - kenrussell - - jdashg - fserb diff --git a/tests/wpt/web-platform-tests/orientation-sensor/META.yml b/tests/wpt/web-platform-tests/orientation-sensor/META.yml index 99d6166664c..427385826fc 100644 --- a/tests/wpt/web-platform-tests/orientation-sensor/META.yml +++ b/tests/wpt/web-platform-tests/orientation-sensor/META.yml @@ -1,7 +1,6 @@ spec: https://w3c.github.io/orientation-sensor/ suggested_reviewers: - zqzhang - - dontcallmedom - riju - Honry - rakuco diff --git a/tests/wpt/web-platform-tests/paint-timing/META.yml b/tests/wpt/web-platform-tests/paint-timing/META.yml index 24acb2587d1..1892a41ed1c 100644 --- a/tests/wpt/web-platform-tests/paint-timing/META.yml +++ b/tests/wpt/web-platform-tests/paint-timing/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/paint-timing/ suggested_reviewers: - spanicker - - tdresser diff --git a/tests/wpt/web-platform-tests/payment-method-id/META.yml b/tests/wpt/web-platform-tests/payment-method-id/META.yml index e0931f4f8f5..5e9fe05abae 100644 --- a/tests/wpt/web-platform-tests/payment-method-id/META.yml +++ b/tests/wpt/web-platform-tests/payment-method-id/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/payment-method-id/ suggested_reviewers: - - alphan102 - marcoscaceres diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html index 45f3f0a5672..226fd88ff84 100644 --- a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html @@ -72,6 +72,7 @@ function runManualTest(button, expected = {}) { city: 'Chapel Hill', dependentLocality: '', postalCode: '6095', + region: 'QLD', sortingCode: '', organization: 'w3c', recipient: 'web platform test', diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html index c8dd92636c6..f3f3f76357c 100644 --- a/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html +++ b/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html @@ -16,7 +16,14 @@ function runTest(button, options, expected){ await response.retry({ error }); const event = await eventPromise; assert_true(event instanceof PaymentRequestUpdateEvent); - for(const [prop, value] of Object.entries(expected)){ + for([prop, value] of Object.entries(expected)){ + if (prop === 'payerPhone') { + // |payerPhone| may optionally adhere to E164 structure, which does not + // contain formatting, e.g. +180000000 instead of +1-800-000-0000. + // Strip out the formatting in case the user agent implements E164. + // https://w3c.github.io/payment-request/#addressinit-dictionary + value = value.replace(/[-\(\) ]/g, ''); + } assert_equals(response[prop], value); } await response.complete("success"); @@ -52,7 +59,7 @@ function runTest(button, options, expected){ <p> Change payer's phone to "+1-800-000-0000". </p> - <button onclick="runTest(this, {requestPayerPhone: true}, { payerPhone: '+1-800-000-0000' })"> + <button onclick="runTest(this, {requestPayerPhone: true}, { payerPhone: '+18000000000' })"> PaymentRequestUpdateEvent is dispatched when payer phone changes. </button> </li> diff --git a/tests/wpt/web-platform-tests/pointerevents/META.yml b/tests/wpt/web-platform-tests/pointerevents/META.yml index be61ddddaf6..1962feaf8af 100644 --- a/tests/wpt/web-platform-tests/pointerevents/META.yml +++ b/tests/wpt/web-platform-tests/pointerevents/META.yml @@ -1,8 +1,6 @@ spec: https://w3c.github.io/pointerevents/ suggested_reviewers: - Steditor - - jacobrossi - plehegar - - scottgonzalez - RByers - NavidZ diff --git a/tests/wpt/web-platform-tests/proximity/META.yml b/tests/wpt/web-platform-tests/proximity/META.yml index 9b5ffbc27e6..284afed59d9 100644 --- a/tests/wpt/web-platform-tests/proximity/META.yml +++ b/tests/wpt/web-platform-tests/proximity/META.yml @@ -1,6 +1,5 @@ spec: https://w3c.github.io/proximity/ suggested_reviewers: - zqzhang - - dontcallmedom - Honry - rakuco diff --git a/tests/wpt/web-platform-tests/referrer-policy/META.yml b/tests/wpt/web-platform-tests/referrer-policy/META.yml index a622289c056..8ead043aad0 100644 --- a/tests/wpt/web-platform-tests/referrer-policy/META.yml +++ b/tests/wpt/web-platform-tests/referrer-policy/META.yml @@ -1,5 +1,3 @@ spec: https://w3c.github.io/webappsec-referrer-policy/ suggested_reviewers: - - estark37 - - jeisinger - domfarolino diff --git a/tests/wpt/web-platform-tests/resource-timing/META.yml b/tests/wpt/web-platform-tests/resource-timing/META.yml index a2ce7c48f50..76176970d4d 100644 --- a/tests/wpt/web-platform-tests/resource-timing/META.yml +++ b/tests/wpt/web-platform-tests/resource-timing/META.yml @@ -1,6 +1,5 @@ spec: https://w3c.github.io/resource-timing/ suggested_reviewers: - - haoxli - plehegar - zqzhang - igrigorik diff --git a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html new file mode 100644 index 00000000000..483cc5b82d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<meta name=timeout content=long> +<title>Resource Timing embed navigate - back button navigation</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/nested-contexts.js"></script> +<script> + open_test_window("resources/embed-navigate-back.html", "Test that embed navigations are not observable by the parent, even after history navigations by the parent"); + open_test_window("resources/embed-navigate-back.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent"); + open_test_window("resources/embed-navigate.html", "Test that embed navigations are not observable by the parent"); + open_test_window("resources/embed-navigate.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent"); + open_test_window("resources/embed-refresh.html", "Test that embed refreshes are not observable by the parent"); + open_test_window("resources/embed-refresh.html?crossorigin", "Test that crossorigin embed refreshes are not observable by the parent"); + open_test_window("resources/iframe-navigate-back.html", "Test that iframe navigations are not observable by the parent, even after history navigations by the parent"); + open_test_window("resources/iframe-navigate-back.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent"); + open_test_window("resources/iframe-navigate.html", "Test that iframe navigations are not observable by the parent"); + open_test_window("resources/iframe-navigate.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent"); + open_test_window("resources/iframe-refresh.html", "Test that iframe refreshes are not observable by the parent"); + open_test_window("resources/iframe-refresh.html?crossorigin", "Test that crossorigin iframe refreshes are not observable by the parent"); + open_test_window("resources/object-navigate-back.html", "Test that object navigations are not observable by the parent, even after history navigations by the parent"); + open_test_window("resources/object-navigate-back.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent"); + open_test_window("resources/object-navigate.html", "Test that object navigations are not observable by the parent"); + open_test_window("resources/object-navigate.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent"); + open_test_window("resources/object-refresh.html", "Test that object refreshes are not observable by the parent"); + open_test_window("resources/object-refresh.html?crossorigin", "Test that crossorigin object refreshes are not observable by the parent"); +</script> + diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html new file mode 100644 index 00000000000..fa87355c3ed --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +</head> +<body> + navigated document! +<script> + top.postMessage("navigated", "*"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html new file mode 100644 index 00000000000..7e4ca09891e --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +</head> +<body> + Refreshed document! +<script> + top.postMessage("refreshed", "*"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html new file mode 100644 index 00000000000..cb567bf3d2a --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +</head> +<body> +<script> + location.href="document-navigated.html"; +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html new file mode 100644 index 00000000000..75522782a62 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<meta http-equiv="refresh" content="0;document-refreshed.html"> +</head> +<body></body> +</html> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html new file mode 100644 index 00000000000..3c3def1d1a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing embed navigate - back button navigation</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> +setup_back_navigation("embed-navigate-back.html"); +</script> +<embed type="text/html"> +<script> + document.getElementsByTagName("embed")[0].src = pre_navigate_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html new file mode 100644 index 00000000000..20a73c662b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing embed navigate</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> + setup_navigate_test(); +</script> +<div id=log></div> +<embed type="text/html"> +<script> + document.getElementsByTagName("embed")[0].src = pre_navigate_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html b/tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html new file mode 100644 index 00000000000..4a49fd0b4c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing embed refresh</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> + setup_refresh_test(); +</script> +<div id=log></div> +<embed type="text/html"> +<script> + document.getElementsByTagName("embed")[0].src = pre_refresh_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html new file mode 100644 index 00000000000..c5c1fc1ad4d --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing iframe navigate - back button navigation</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> +setup_back_navigation("iframe-navigate-back.html"); +</script> +<iframe></iframe> +<script> + document.getElementsByTagName("iframe")[0].src = pre_navigate_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html new file mode 100644 index 00000000000..2a1a7e06361 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing iframe navigate</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> + setup_navigate_test(); +</script> +<div id=log></div> +<iframe></iframe> +<script> + document.getElementsByTagName("iframe")[0].src = pre_navigate_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html new file mode 100644 index 00000000000..4ce3ea04242 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing iframe refresh</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> + setup_refresh_test(); +</script> +<div id=log></div> +<iframe></iframe> +<script> + document.getElementsByTagName("iframe")[0].src = pre_refresh_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html b/tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html new file mode 100644 index 00000000000..345eee1fccc --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<script> +window.onload = function() {history.back();} +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js b/tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js new file mode 100644 index 00000000000..0c202243702 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js @@ -0,0 +1,95 @@ +let destination = location; +if (location.search == "?crossorigin") { + const host_info = get_host_info() + destination = location.protocol + "//" + host_info["REMOTE_HOST"] + ":" + location.port; +} + +const pre_navigate_url = new URL("/resource-timing/resources/document-that-navigates.html", destination).href; +const post_navigate_url = new URL("/resource-timing/resources/document-navigated.html", destination).href; +const pre_refresh_url = new URL("/resource-timing/resources/document-that-refreshes.html", destination).href; +const post_refresh_url = new URL("/resource-timing/resources/document-refreshed.html", destination).href; + +function setup_navigate_or_refresh(type, pre, post) { + function verify_document_navigate_not_observable() { + let entries = performance.getEntriesByType("resource"); + let found_first_document = false; + for (entry of entries) { + if (entry.name == pre) { + found_first_document = true; + } + if (entry.name == post) { + opener.postMessage("FAIL - " + type + " document should not be observable", "*"); + return; + } + } + if (!found_first_document) { + opener.postMessage("FAIL - initial document should be observable", "*"); + return; + } + opener.postMessage("PASS", "*"); + } + window.addEventListener("message", e=>{ + if (e.data == type) { + verify_document_navigate_not_observable(); + } + }); +} + +function setup_navigate_test() { + setup_navigate_or_refresh("navigated", pre_navigate_url, post_navigate_url); +} + +function setup_refresh_test() { + setup_navigate_or_refresh("refreshed", pre_refresh_url, post_refresh_url); +} + +function setup_back_navigation(pushed_url) { + function verify_document_navigate_not_observable() { + let entries = performance.getEntriesByType("resource"); + let found_first_document = false; + for (entry of entries) { + if (entry.name == pre_navigate_url) { + found_first_document = true; + } + if (entry.name == post_navigate_url) { + opener.postMessage("FAIL - navigated document exposed", "*"); + return; + } + } + if (!found_first_document) { + opener.postMessage("FAIL - first document not exposed", "*"); + return; + } + opener.postMessage("PASS", "*"); + } + window.addEventListener("message", e=>{ + if (e.data == "navigated") { + if (sessionStorage.navigated) { + delete sessionStorage.navigated; + verify_document_navigate_not_observable(); + } else { + sessionStorage.navigated = true; + setTimeout(() => { + history.pushState({}, "", pushed_url); + location.href="navigate_back.html"; + }, 0); + } + } + }); +} + +function open_test_window(url, message) { + promise_test(() => { + return new Promise((resolve, reject) => { + let openee = window.open(url); + addEventListener("message", e => { + openee.close(); + if (e.data == "PASS") { + resolve(); + } else { + reject(e.data); + } + }); + }); + }, message); +} diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html new file mode 100644 index 00000000000..64e5f584731 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing object navigate - back button navigation</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> +setup_back_navigation("object-navigate-back.html"); +</script> +<object></object> +<script> + document.getElementsByTagName("object")[0].data = pre_navigate_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html new file mode 100644 index 00000000000..cbb862e7e00 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing object navigate</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> + setup_navigate_test(); +</script> +<div id=log></div> +<object></object> +<script> + document.getElementsByTagName("object")[0].data = pre_navigate_url; +</script> diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html b/tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html new file mode 100644 index 00000000000..b14cf7f17c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing object refresh</title> +<script src="/common/get-host-info.sub.js"></script> +<script src="nested-contexts.js"></script> +<script> + setup_refresh_test(); +</script> +<div id=log></div> +<object></object> +<script> + document.getElementsByTagName("object")[0].data = pre_refresh_url; +</script> diff --git a/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js b/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js index 436d3038b85..6488cbc69c2 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js +++ b/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js @@ -155,6 +155,62 @@ return validator.validationError.UNKNOWN_ENUM_VALUE; }; + var UsbSynchronizationType = {}; + UsbSynchronizationType.NONE = 0; + UsbSynchronizationType.ASYNCHRONOUS = UsbSynchronizationType.NONE + 1; + UsbSynchronizationType.ADAPTIVE = UsbSynchronizationType.ASYNCHRONOUS + 1; + UsbSynchronizationType.SYNCHRONOUS = UsbSynchronizationType.ADAPTIVE + 1; + UsbSynchronizationType.MIN_VALUE = 0, + UsbSynchronizationType.MAX_VALUE = 3, + + UsbSynchronizationType.isKnownEnumValue = function(value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + return true; + } + return false; + }; + + UsbSynchronizationType.validate = function(enumValue) { + var isExtensible = false; + if (isExtensible || this.isKnownEnumValue(enumValue)) + return validator.validationError.NONE; + + return validator.validationError.UNKNOWN_ENUM_VALUE; + }; + var UsbUsageType = {}; + UsbUsageType.DATA = 0; + UsbUsageType.FEEDBACK = UsbUsageType.DATA + 1; + UsbUsageType.EXPLICIT_FEEDBACK = UsbUsageType.FEEDBACK + 1; + UsbUsageType.PERIODIC = UsbUsageType.EXPLICIT_FEEDBACK + 1; + UsbUsageType.NOTIFICATION = UsbUsageType.PERIODIC + 1; + UsbUsageType.RESERVED = UsbUsageType.NOTIFICATION + 1; + UsbUsageType.MIN_VALUE = 0, + UsbUsageType.MAX_VALUE = 5, + + UsbUsageType.isKnownEnumValue = function(value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + return true; + } + return false; + }; + + UsbUsageType.validate = function(enumValue) { + var isExtensible = false; + if (isExtensible || this.isKnownEnumValue(enumValue)) + return validator.validationError.NONE; + + return validator.validationError.UNKNOWN_ENUM_VALUE; + }; var UsbTransferStatus = {}; UsbTransferStatus.COMPLETED = 0; UsbTransferStatus.TRANSFER_ERROR = UsbTransferStatus.COMPLETED + 1; @@ -200,9 +256,13 @@ UsbEndpointInfo.prototype.initDefaults_ = function() { this.endpointNumber = 0; + this.pollingInterval = 0; this.direction = 0; this.type = 0; this.packetSize = 0; + this.synchronizationType = 0; + this.usageType = 0; + this.extraData = null; }; UsbEndpointInfo.prototype.initFields_ = function(fields) { for(var field in fields) { @@ -218,7 +278,7 @@ return err; var kVersionSizes = [ - {version: 0, numBytes: 24} + {version: 0, numBytes: 40} ]; err = messageValidator.validateStructVersion(offset, kVersionSizes); if (err !== validator.validationError.NONE) @@ -238,10 +298,29 @@ return err; + + // validate UsbEndpointInfo.synchronizationType + err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 16, UsbSynchronizationType); + if (err !== validator.validationError.NONE) + return err; + + + // validate UsbEndpointInfo.usageType + err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 20, UsbUsageType); + if (err !== validator.validationError.NONE) + return err; + + + + // validate UsbEndpointInfo.extraData + err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 1, codec.Uint8, false, [0], 0); + if (err !== validator.validationError.NONE) + return err; + return validator.validationError.NONE; }; - UsbEndpointInfo.encodedSize = codec.kStructHeaderSize + 16; + UsbEndpointInfo.encodedSize = codec.kStructHeaderSize + 32; UsbEndpointInfo.decode = function(decoder) { var packed; @@ -249,12 +328,15 @@ var numberOfBytes = decoder.readUint32(); var version = decoder.readUint32(); val.endpointNumber = decoder.decodeStruct(codec.Uint8); - decoder.skip(1); + val.pollingInterval = decoder.decodeStruct(codec.Uint8); decoder.skip(1); decoder.skip(1); val.direction = decoder.decodeStruct(codec.Int32); val.type = decoder.decodeStruct(codec.Int32); val.packetSize = decoder.decodeStruct(codec.Uint32); + val.synchronizationType = decoder.decodeStruct(codec.Int32); + val.usageType = decoder.decodeStruct(codec.Int32); + val.extraData = decoder.decodeArrayPointer(codec.Uint8); return val; }; @@ -263,12 +345,15 @@ encoder.writeUint32(UsbEndpointInfo.encodedSize); encoder.writeUint32(0); encoder.encodeStruct(codec.Uint8, val.endpointNumber); - encoder.skip(1); + encoder.encodeStruct(codec.Uint8, val.pollingInterval); encoder.skip(1); encoder.skip(1); encoder.encodeStruct(codec.Int32, val.direction); encoder.encodeStruct(codec.Int32, val.type); encoder.encodeStruct(codec.Uint32, val.packetSize); + encoder.encodeStruct(codec.Int32, val.synchronizationType); + encoder.encodeStruct(codec.Int32, val.usageType); + encoder.encodeArrayPointer(codec.Uint8, val.extraData); }; function UsbAlternateInterfaceInfo(values) { this.initDefaults_(); @@ -283,6 +368,7 @@ this.protocolCode = 0; this.interfaceName = null; this.endpoints = null; + this.extraData = null; }; UsbAlternateInterfaceInfo.prototype.initFields_ = function(fields) { for(var field in fields) { @@ -298,7 +384,7 @@ return err; var kVersionSizes = [ - {version: 0, numBytes: 32} + {version: 0, numBytes: 40} ]; err = messageValidator.validateStructVersion(offset, kVersionSizes); if (err !== validator.validationError.NONE) @@ -320,10 +406,16 @@ if (err !== validator.validationError.NONE) return err; + + // validate UsbAlternateInterfaceInfo.extraData + err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 1, codec.Uint8, false, [0], 0); + if (err !== validator.validationError.NONE) + return err; + return validator.validationError.NONE; }; - UsbAlternateInterfaceInfo.encodedSize = codec.kStructHeaderSize + 24; + UsbAlternateInterfaceInfo.encodedSize = codec.kStructHeaderSize + 32; UsbAlternateInterfaceInfo.decode = function(decoder) { var packed; @@ -340,6 +432,7 @@ decoder.skip(1); val.interfaceName = decoder.decodeStructPointer(string16$.String16); val.endpoints = decoder.decodeArrayPointer(new codec.PointerTo(UsbEndpointInfo)); + val.extraData = decoder.decodeArrayPointer(codec.Uint8); return val; }; @@ -357,6 +450,7 @@ encoder.skip(1); encoder.encodeStructPointer(string16$.String16, val.interfaceName); encoder.encodeArrayPointer(new codec.PointerTo(UsbEndpointInfo), val.endpoints); + encoder.encodeArrayPointer(codec.Uint8, val.extraData); }; function UsbInterfaceInfo(values) { this.initDefaults_(); @@ -439,8 +533,12 @@ UsbConfigurationInfo.prototype.initDefaults_ = function() { this.configurationValue = 0; + this.selfPowered = false; + this.remoteWakeup = false; + this.maximumPower = 0; this.configurationName = null; this.interfaces = null; + this.extraData = null; }; UsbConfigurationInfo.prototype.initFields_ = function(fields) { for(var field in fields) { @@ -456,7 +554,7 @@ return err; var kVersionSizes = [ - {version: 0, numBytes: 32} + {version: 0, numBytes: 40} ]; err = messageValidator.validateStructVersion(offset, kVersionSizes); if (err !== validator.validationError.NONE) @@ -470,15 +568,24 @@ return err; + + + // validate UsbConfigurationInfo.interfaces err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 16, 8, new codec.PointerTo(UsbInterfaceInfo), false, [0], 0); if (err !== validator.validationError.NONE) return err; + + // validate UsbConfigurationInfo.extraData + err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 1, codec.Uint8, false, [0], 0); + if (err !== validator.validationError.NONE) + return err; + return validator.validationError.NONE; }; - UsbConfigurationInfo.encodedSize = codec.kStructHeaderSize + 24; + UsbConfigurationInfo.encodedSize = codec.kStructHeaderSize + 32; UsbConfigurationInfo.decode = function(decoder) { var packed; @@ -486,8 +593,10 @@ var numberOfBytes = decoder.readUint32(); var version = decoder.readUint32(); val.configurationValue = decoder.decodeStruct(codec.Uint8); - decoder.skip(1); - decoder.skip(1); + packed = decoder.readUint8(); + val.selfPowered = (packed >> 0) & 1 ? true : false; + val.remoteWakeup = (packed >> 1) & 1 ? true : false; + val.maximumPower = decoder.decodeStruct(codec.Uint8); decoder.skip(1); decoder.skip(1); decoder.skip(1); @@ -495,6 +604,7 @@ decoder.skip(1); val.configurationName = decoder.decodeStructPointer(string16$.String16); val.interfaces = decoder.decodeArrayPointer(new codec.PointerTo(UsbInterfaceInfo)); + val.extraData = decoder.decodeArrayPointer(codec.Uint8); return val; }; @@ -503,8 +613,11 @@ encoder.writeUint32(UsbConfigurationInfo.encodedSize); encoder.writeUint32(0); encoder.encodeStruct(codec.Uint8, val.configurationValue); - encoder.skip(1); - encoder.skip(1); + packed = 0; + packed |= (val.selfPowered & 1) << 0 + packed |= (val.remoteWakeup & 1) << 1 + encoder.writeUint8(packed); + encoder.encodeStruct(codec.Uint8, val.maximumPower); encoder.skip(1); encoder.skip(1); encoder.skip(1); @@ -512,6 +625,7 @@ encoder.skip(1); encoder.encodeStructPointer(string16$.String16, val.configurationName); encoder.encodeArrayPointer(new codec.PointerTo(UsbInterfaceInfo), val.interfaces); + encoder.encodeArrayPointer(codec.Uint8, val.extraData); }; function UsbDeviceInfo(values) { this.initDefaults_(); @@ -3655,6 +3769,8 @@ exports.UsbControlTransferType = UsbControlTransferType; exports.UsbControlTransferRecipient = UsbControlTransferRecipient; exports.UsbTransferType = UsbTransferType; + exports.UsbSynchronizationType = UsbSynchronizationType; + exports.UsbUsageType = UsbUsageType; exports.UsbTransferStatus = UsbTransferStatus; exports.UsbEndpointInfo = UsbEndpointInfo; exports.UsbAlternateInterfaceInfo = UsbAlternateInterfaceInfo; @@ -3669,4 +3785,4 @@ exports.UsbDeviceClient = UsbDeviceClient; exports.UsbDeviceClientPtr = UsbDeviceClientPtr; exports.UsbDeviceClientAssociatedPtr = UsbDeviceClientAssociatedPtr; -})();
\ No newline at end of file +})(); diff --git a/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js b/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js index 18ee824aafa..c4d4e8f1ac4 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js @@ -68,7 +68,11 @@ function fakeDeviceInitToDeviceInfo(guid, init) { var configInfo = { configurationValue: config.configurationValue, configurationName: stringToMojoString16(config.configurationName), - interfaces: [] + selfPowered: false, + remoteWakeup: false, + maximumPower: 0, + interfaces: [], + extraData: new Uint8Array() }; config.interfaces.forEach(iface => { var interfaceInfo = { @@ -82,12 +86,17 @@ function fakeDeviceInitToDeviceInfo(guid, init) { subclassCode: alternate.interfaceSubclass, protocolCode: alternate.interfaceProtocol, interfaceName: stringToMojoString16(alternate.interfaceName), - endpoints: [] + endpoints: [], + extraData: new Uint8Array() }; alternate.endpoints.forEach(endpoint => { var endpointInfo = { endpointNumber: endpoint.endpointNumber, packetSize: endpoint.packetSize, + synchronizationType: device.mojom.UsbSynchronizationType.NONE, + usageType: device.mojom.UsbUsageType.DATA, + pollingInterval: 0, + extraData: new Uint8Array() }; switch (endpoint.direction) { case "in": diff --git a/tests/wpt/web-platform-tests/screen-orientation/META.yml b/tests/wpt/web-platform-tests/screen-orientation/META.yml index dc3f290196f..3ddb3b0507d 100644 --- a/tests/wpt/web-platform-tests/screen-orientation/META.yml +++ b/tests/wpt/web-platform-tests/screen-orientation/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/screen-orientation/ suggested_reviewers: - - haoxli - marcoscaceres diff --git a/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html b/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html new file mode 100644 index 00000000000..129882d64f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script> + import { getOppositeOrientation } from "/screen-orientation/resources/orientation-utils.js"; + promise_test(async t => { + await test_driver.bless("request full screen", () => { + return document.documentElement.requestFullscreen(); + }); + const newOrientation = getOppositeOrientation(); + // This will reject, because the event will call lock() again. + const pMustReject = screen.orientation.lock(newOrientation); + // This one resolves, because we are re-locking. + const pMustResolve = new Promise(r => { + screen.orientation.onchange = () => { + r(orientation.lock("any")); + }; + }); + await promise_rejects(t, new TypeError(), pMustReject); + await pMustResolve; + screen.orientation.unlock(); + return document.exitFullscreen(); + }, "Re-locking orientation during event dispatch must reject existing orientationPendingPromise"); +</script> diff --git a/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js b/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js new file mode 100644 index 00000000000..8721818bec2 --- /dev/null +++ b/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js @@ -0,0 +1,17 @@ +export async function loadIframe(src = "/screen-orientation/resources/blank.html") { + const iframe = document.createElement("iframe"); + iframe.src = src; + document.body.appendChild(iframe); + return new Promise(r => { + if (iframe.contentDocument.readyState === "complete") { + return r(iframe); + } + iframe.onload = () => r(iframe); + }); +} + +export function getOppositeOrientation() { + const { type: currentOrientation } = screen.orientation; + const isPortrait = currentOrientation.includes("portrait"); + return (newOrientation = `${isPortrait ? "landscape" : "portrait"}`); +} diff --git a/tests/wpt/web-platform-tests/scroll-animations/META.yml b/tests/wpt/web-platform-tests/scroll-animations/META.yml index 20f3c7e6c93..c53f1f432fe 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/META.yml +++ b/tests/wpt/web-platform-tests/scroll-animations/META.yml @@ -1,6 +1,5 @@ spec: https://wicg.github.io/scroll-animations/ suggested_reviewers: - birtles - - theres-waldo - graouts - stephenmcgruer diff --git a/tests/wpt/web-platform-tests/selection/Document-open.html b/tests/wpt/web-platform-tests/selection/Document-open.html index 9d170914e65..9e3cb28124c 100644 --- a/tests/wpt/web-platform-tests/selection/Document-open.html +++ b/tests/wpt/web-platform-tests/selection/Document-open.html @@ -6,39 +6,23 @@ <script> "use strict"; -// This tests the HTML spec requirement "Replace the Document's singleton -// objects with new instances of those objects. (This includes in particular -// the Window, Location, History, ApplicationCache, and Navigator, objects, the -// various BarProp objects, the two Storage objects, the various HTMLCollection -// objects, and objects defined by other specifications, like Selection and the -// document's UndoManager. It also includes all the Web IDL prototypes in the -// JavaScript binding, including the Document object's prototype.)" in the -// document.open() algorithm. +const iframe = document.createElement("iframe"); +async_test(t => { + iframe.onload = t.step_func_done(() => { + const originalSelection = iframe.contentWindow.getSelection(); + assert_equals(originalSelection.rangeCount, 0, "rangeCount must initially be 0"); + iframe.contentDocument.body.appendChild(iframe.contentDocument.createTextNode("foo")); + const range = iframe.contentDocument.createRange(); + range.selectNodeContents(iframe.contentDocument.body); + iframe.contentWindow.getSelection().addRange(range); + assert_equals(originalSelection.rangeCount, 1, "rangeCount must be 1 after adding a range"); -var iframe = document.createElement("iframe"); -var t = async_test("Selection must be replaced with a new object after document.open()"); -iframe.onload = function() { - t.step(function() { - var originalSelection = iframe.contentWindow.getSelection(); - assert_equals(originalSelection.rangeCount, 0, - "Sanity check: rangeCount must be initially 0"); - iframe.contentDocument.body.appendChild( - iframe.contentDocument.createTextNode("foo")); - var range = iframe.contentDocument.createRange(); - range.selectNodeContents(iframe.contentDocument.body); - iframe.contentWindow.getSelection().addRange(range); - assert_equals(originalSelection.rangeCount, 1, - "Sanity check: rangeCount must be 1 after adding a range"); + iframe.contentDocument.open(); - iframe.contentDocument.open(); - - assert_not_equals(iframe.contentWindow.getSelection(), originalSelection, - "After document.open(), the Selection object must no longer be the same"); - assert_equals(iframe.contentWindow.getSelection().rangeCount, 0, - "After document.open(), rangeCount must be 0 again"); - }); - t.done(); + assert_equals(iframe.contentWindow.getSelection(), originalSelection, "After document.open(), the Selection object must be the same"); + assert_equals(iframe.contentWindow.getSelection().rangeCount, 1, "After document.open(), rangeCount must still be 1"); document.body.removeChild(iframe); -}; -document.body.appendChild(iframe); + }); + document.body.appendChild(iframe); +}, "Selection must not be replaced with a new object after document.open()"); </script> diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh b/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh index 60746ff34ca..e76286be991 100755 --- a/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh @@ -454,4 +454,35 @@ gen-signedexchange \ -o sxg/sxg-navigation-timing.sxg \ -miRecordSize 100 +# A valid Signed Exchange for testing service worker registration. +gen-signedexchange \ + -version $sxg_version \ + -uri $wpt_test_origin/signed-exchange/resources/register-sw-from-sxg.html \ + -status 200 \ + -content register-sw.html \ + -certificate $certfile \ + -certUrl $cert_url_origin/signed-exchange/resources/$certfile.cbor \ + -validityUrl $wpt_test_origin/resource.validity.msg \ + -privateKey $keyfile \ + -date 2018-04-01T00:00:00Z \ + -expire 168h \ + -o sxg/register-sw-from-sxg.sxg \ + -miRecordSize 100 + +# An invalid Signed Exchange for testing service worker registration after +# fallback. +gen-signedexchange \ + -version $sxg_version \ + -uri $wpt_test_origin/signed-exchange/resources/register-sw-after-fallback.html \ + -status 200 \ + -content sxg-location.html \ + -certificate $certfile \ + -certUrl $cert_url_origin/signed-exchange/resources/not_found_certfile.cbor \ + -validityUrl $wpt_test_origin/resource.validity.msg \ + -privateKey $keyfile \ + -date 2018-04-01T00:00:00Z \ + -expire 168h \ + -o sxg/register-sw-after-fallback.sxg \ + -miRecordSize 100 + rm -fr $tmpdir diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html new file mode 100644 index 00000000000..2711fc241f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<script src="sxg-util.js"></script> +<script> +window.addEventListener('message', async (event) => { + try { + const scope = './scope/' + location.href; + await registerServiceWorkerAndWaitUntilActivated( + './service-worker.js', scope) + const iframe = await withIframe(scope, 'inner_iframe'); + event.data.port.postMessage({ + location: document.location.href, + is_fallback: true, + err: undefined, + iframe_body: iframe.contentWindow.document.body.innerHTML}); + } catch (err) { + event.data.port.postMessage({ + location: document.location.href, + is_fallback: true, + err: err.toString() + }); + } +}, false); +</script> diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html new file mode 100644 index 00000000000..8a3873bfde8 --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<script src="sxg-util.js"></script> +<script> +window.addEventListener('message', async (event) => { + try { + const scope = './scope/' + location.href; + await registerServiceWorkerAndWaitUntilActivated( + './service-worker.js', scope) + const iframe = await withIframe(scope, 'inner_iframe'); + event.data.port.postMessage({ + location: document.location.href, + is_fallback: false, + err: undefined, + iframe_body: iframe.contentWindow.document.body.innerHTML}); + } catch (err) { + event.data.port.postMessage({ + location: document.location.href, + is_fallback: false, + err: err.toString() + }); + } +}, false); +</script> diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js b/tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js new file mode 100644 index 00000000000..2647f45a3ea --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js @@ -0,0 +1,5 @@ +self.addEventListener('fetch', function(event) { + event.respondWith(new Response( + '<body>Generated by service worker</body>', + {headers:[['content-type', 'text/html']]})); +}); diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js index 7abb3cf2079..78edf137408 100644 --- a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js @@ -72,3 +72,16 @@ function addPrefetch(url) { link.href = url; document.body.appendChild(link); } + +async function registerServiceWorkerAndWaitUntilActivated(script, scope) { + const reg = await navigator.serviceWorker.register(script, {scope: scope}); + if (reg.active) + return; + const worker = reg.installing || reg.waiting; + await new Promise((resolve) => { + worker.addEventListener('statechange', (event) => { + if (event.target.state == 'activated') + resolve(); + }); + }); +} diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxg b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxg Binary files differnew file mode 100644 index 00000000000..20ae2758187 --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxg diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxg b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxg Binary files differnew file mode 100644 index 00000000000..792222029f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxg diff --git a/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html new file mode 100644 index 00000000000..2b76a70dc9f --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<title>Service worker registration after fallback</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="../resources/sxg-util.js"></script> +<body> +<script> +promise_test(async (t) => { + const sxgUrl = + get_host_info().HTTPS_ORIGIN + + '/signed-exchange/resources/sxg/register-sw-after-fallback.sxg'; + const message = await openSXGInIframeAndWaitForMessage(t, sxgUrl); + assert_equals(message.location, + get_host_info().HTTPS_ORIGIN + + '/signed-exchange/resources/register-sw-after-fallback.html'); + assert_true(message.is_fallback); + + assert_equals(message.err, undefined); + assert_equals(message.iframe_body, 'Generated by service worker'); +}, 'Service worker registration after fallback'); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html new file mode 100644 index 00000000000..ad21ebb20d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<title>Service worker registration from signed exchange</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="../resources/sxg-util.js"></script> +<body> +<script> +promise_test(async (t) => { + const sxgUrl = + get_host_info().HTTPS_ORIGIN + + '/signed-exchange/resources/sxg/register-sw-from-sxg.sxg'; + const message = await openSXGInIframeAndWaitForMessage(t, sxgUrl); + assert_equals(message.location, + get_host_info().HTTPS_ORIGIN + + '/signed-exchange/resources/register-sw-from-sxg.html'); + assert_false(message.is_fallback); + + assert_equals(message.err, undefined); + assert_equals(message.iframe_body, 'Generated by service worker'); +}, 'Service worker registration from signed exchange'); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/speech-api/META.yml b/tests/wpt/web-platform-tests/speech-api/META.yml index 4d1b42a44d2..9ce8830e78f 100644 --- a/tests/wpt/web-platform-tests/speech-api/META.yml +++ b/tests/wpt/web-platform-tests/speech-api/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/speech-api/ suggested_reviewers: - foolip - - gshires diff --git a/tests/wpt/web-platform-tests/streams/META.yml b/tests/wpt/web-platform-tests/streams/META.yml index 108c774fae6..1259a55cb5a 100644 --- a/tests/wpt/web-platform-tests/streams/META.yml +++ b/tests/wpt/web-platform-tests/streams/META.yml @@ -3,6 +3,5 @@ suggested_reviewers: - domenic - yutakahirano - youennf - - calvaris - wanderview - ricea diff --git a/tests/wpt/web-platform-tests/subresource-integrity/META.yml b/tests/wpt/web-platform-tests/subresource-integrity/META.yml index 2b8891ec6b4..f6980682f11 100644 --- a/tests/wpt/web-platform-tests/subresource-integrity/META.yml +++ b/tests/wpt/web-platform-tests/subresource-integrity/META.yml @@ -1,6 +1,5 @@ spec: https://w3c.github.io/webappsec-subresource-integrity/ suggested_reviewers: - metromoxie - - jonathanKingston - mikewest - hillbrad diff --git a/tests/wpt/web-platform-tests/svg/META.yml b/tests/wpt/web-platform-tests/svg/META.yml index 09ef583b72d..2904d6f606b 100644 --- a/tests/wpt/web-platform-tests/svg/META.yml +++ b/tests/wpt/web-platform-tests/svg/META.yml @@ -1,6 +1,5 @@ spec: https://svgwg.org/svg2-draft/ suggested_reviewers: - - heycam - nikosandronikos - boggydigital - ewilligers diff --git a/tests/wpt/web-platform-tests/tools/wpt/run.py b/tests/wpt/web-platform-tests/tools/wpt/run.py index df34e591568..a19851d14c5 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/run.py +++ b/tests/wpt/web-platform-tests/tools/wpt/run.py @@ -277,8 +277,6 @@ class Chrome(BrowserSetup): if kwargs["browser_channel"] == "dev": logger.info("Automatically turning on experimental features for Chrome Dev") kwargs["binary_args"].append("--enable-experimental-web-platform-features") - # TODO(foolip): remove after unified plan is enabled on Chrome stable - kwargs["binary_args"].append("--enable-features=RTCUnifiedPlanByDefault") # Allow audio autoplay without a user gesture. kwargs["binary_args"].append("--autoplay-policy=no-user-gesture-required") diff --git a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py index 61de936b767..357ddcbefce 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py +++ b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py @@ -4,6 +4,8 @@ import sys import logging from distutils.spawn import find_executable +import pkg_resources + from tools.wpt.utils import call logger = logging.getLogger(__name__) @@ -16,6 +18,7 @@ class Virtualenv(object): self.virtualenv = find_executable("virtualenv") if not self.virtualenv: raise ValueError("virtualenv must be installed and on the PATH") + self._working_set = None @property def exists(self): @@ -24,6 +27,7 @@ class Virtualenv(object): def create(self): if os.path.exists(self.path): shutil.rmtree(self.path) + self._working_set = None call(self.virtualenv, self.path, "-p", sys.executable) @property @@ -39,6 +43,22 @@ class Virtualenv(object): raise ValueError("pip not found") return path + @property + def lib_path(self): + if sys.platform == 'win32': + return os.path.join(self.path, 'Lib', 'site-packages') + return os.path.join(self.path, 'lib', 'python%s' % sys.version[:3], 'site-packages') + + @property + def working_set(self): + if not self.exists: + raise ValueError("trying to read working_set when venv doesn't exist") + + if self._working_set is None: + self._working_set = pkg_resources.WorkingSet((self.lib_path,)) + + return self._working_set + def activate(self): path = os.path.join(self.bin_path, "activate_this.py") execfile(path, {"__file__": path}) # noqa: F821 @@ -49,11 +69,26 @@ class Virtualenv(object): self.activate() def install(self, *requirements): + try: + self.working_set.require(*requirements) + except pkg_resources.ResolutionError: + pass + else: + return + # `--prefer-binary` guards against race conditions when installation # occurs while packages are in the process of being published. call(self.pip_path, "install", "--prefer-binary", *requirements) def install_requirements(self, requirements_path): + with open(requirements_path) as f: + try: + self.working_set.require(f.read()) + except pkg_resources.ResolutionError: + pass + else: + return + # `--prefer-binary` guards against race conditions when installation # occurs while packages are in the process of being published. call( diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt index 6216fb6708d..f17b12b3ddd 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt @@ -2,6 +2,6 @@ html5lib==1.0.1 mozinfo==0.10 mozlog==4.0 mozdebug==0.1.1 -pillow==5.2.0 +pillow==5.4.1 urllib3[secure]==1.24.1 requests==2.21.0 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt index ee84d840f81..668cea39154 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt @@ -1,4 +1,4 @@ -marionette_driver==2.7.0 +marionette_driver==2.8.0 mozprofile==2.2.0 mozprocess==1.0.0 mozcrash==1.1.0 diff --git a/tests/wpt/web-platform-tests/url/META.yml b/tests/wpt/web-platform-tests/url/META.yml index 3a789a0d513..094b266b64b 100644 --- a/tests/wpt/web-platform-tests/url/META.yml +++ b/tests/wpt/web-platform-tests/url/META.yml @@ -2,7 +2,6 @@ spec: https://url.spec.whatwg.org/ suggested_reviewers: - mikewest - domenic - - Sebmaster - annevk - GPHemsley - TimothyGu diff --git a/tests/wpt/web-platform-tests/vibration/META.yml b/tests/wpt/web-platform-tests/vibration/META.yml index 016588931f9..91cd8c9d805 100644 --- a/tests/wpt/web-platform-tests/vibration/META.yml +++ b/tests/wpt/web-platform-tests/vibration/META.yml @@ -1,4 +1,3 @@ spec: https://w3c.github.io/vibration/ suggested_reviewers: - - dontcallmedom - zqzhang diff --git a/tests/wpt/web-platform-tests/wake-lock/META.yml b/tests/wpt/web-platform-tests/wake-lock/META.yml index a5ff85281f8..7ca3da2d8d2 100644 --- a/tests/wpt/web-platform-tests/wake-lock/META.yml +++ b/tests/wpt/web-platform-tests/wake-lock/META.yml @@ -1,5 +1,4 @@ spec: https://w3c.github.io/wake-lock/ suggested_reviewers: - - andrey-logvinov - marcoscaceres - Honry diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html index 2c1162d47b9..3e364eb7b35 100644 --- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html +++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html @@ -51,8 +51,10 @@ Somewhat similiar to a test from Mozilla: return result; } - // Create Audio context - context = new AudioContext(); + // Create Audio context. The reference wav file is sampled at 44.1 kHz so + // use the same rate for the context to remove extra resampling that might + // be required. + context = new AudioContext({sampleRate: 44100}); // Create an audio element, and a media element source audio = document.createElement('audio'); diff --git a/tests/wpt/web-platform-tests/webmessaging/META.yml b/tests/wpt/web-platform-tests/webmessaging/META.yml index e70b780b57a..95d5071171b 100644 --- a/tests/wpt/web-platform-tests/webmessaging/META.yml +++ b/tests/wpt/web-platform-tests/webmessaging/META.yml @@ -1,7 +1,6 @@ spec: https://html.spec.whatwg.org/multipage/web-messaging.html suggested_reviewers: - zqzhang - - aogilvie - jdm - mkruisselbrink - annevk diff --git a/tests/wpt/web-platform-tests/webrtc/META.yml b/tests/wpt/web-platform-tests/webrtc/META.yml index 2025a11f381..eed4ac83431 100644 --- a/tests/wpt/web-platform-tests/webrtc/META.yml +++ b/tests/wpt/web-platform-tests/webrtc/META.yml @@ -3,10 +3,8 @@ suggested_reviewers: - snuggs - agouaillard - alvestrand - - dontcallmedom - guidou - henbos - - phoglund - youennf - rwaldron - jan-ivar diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html index 247402b83be..c2c4e8e3717 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html @@ -173,19 +173,18 @@ - All stats objects referenced directly or indirectly by the RTCOutboundRTPStreamStats objects added. */ - promise_test(t => { - const pc = new RTCPeerConnection(); - t.add_cleanup(() => pc.close()); - return getTrackFromUserMedia('audio') - .then(([track, mediaStream]) => { - pc.addTrack(track, mediaStream); - - return pc.getStats(track) - .then(statsReport => { - validateStatsReport(statsReport); - assert_stats_report_has_stats(statsReport, ['outbound-rtp']); - }); - }); + promise_test(async t => { + const pc = createPeerConnectionWithCleanup(t); + const pc2 = createPeerConnectionWithCleanup(t); + + let [track, mediaStream] = await getTrackFromUserMedia('audio'); + pc.addTrack(track, mediaStream); + exchangeIceCandidates(pc, pc2); + await doSignalingHandshake(pc, pc2); + await listenToIceConnected(pc); + const stats = await pc.getStats(track); + validateStatsReport(stats); + assert_stats_report_has_stats(stats, ['outbound-rtp']); }, `getStats() on track associated with RtpSender should return stats report containing outbound-rtp stats`); @@ -197,16 +196,20 @@ - All stats objects referenced directly or indirectly by the RTCInboundRTPStreamStats added. */ - promise_test(t => { - const pc = new RTCPeerConnection(); - t.add_cleanup(() => pc.close()); - const transceiver = pc.addTransceiver('audio'); - - return pc.getStats(transceiver.receiver.track) - .then(statsReport => { - validateStatsReport(statsReport); - assert_stats_report_has_stats(statsReport, ['inbound-rtp']); + promise_test(async t => { + const pc = createPeerConnectionWithCleanup(t); + const pc2 = createPeerConnectionWithCleanup(t); + + let [track, mediaStream] = await getTrackFromUserMedia('audio'); + pc.addTrack(track, mediaStream); + exchangeIceCandidates(pc, pc2); + await doSignalingHandshake(pc, pc2); + await new Promise(resolve => { + pc2.getReceivers()[0].track.addEventListener('unmute', resolve); }); + const stats = await pc2.getStats(track); + validateStatsReport(stats); + assert_stats_report_has_stats(stats, ['inbound-rtp']); }, `getStats() on track associated with RtpReceiver should return stats report containing inbound-rtp stats`); /* diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html index ac9d70c43ef..f7bf8bd3e3b 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html @@ -187,22 +187,21 @@ 2. If connection's [[NegotiationNeeded]] slot is false, abort these steps. 3. Fire a simple event named negotiationneeded at connection. */ - promise_test(t => { + promise_test(async t => { const pc = new RTCPeerConnection(); t.add_cleanup(() => pc.close()); - return assert_first_promise_fulfill_after_second( - awaitNegotiation(pc), - generateAudioReceiveOnlyOffer(pc) - .then(offer => - pc.setLocalDescription(offer) - .then(() => { - pc.createDataChannel('test'); - return generateAnswer(offer); - })) - .then(answer => pc.setRemoteDescription(answer)), - 'Expect negotiationneeded promise to resolve after pc has set remote answer and go back to stable state'); + pc.addTransceiver('audio'); + const offer = await pc.createOffer(); + await pc.setLocalDescription(offer); + let fired = false; + pc.onnegotiationneeded = e => fired = true; + pc.createDataChannel('test'); + const answer = await generateAnswer(offer); + await pc.setRemoteDescription(answer); + assert_false(fired, "negotiationneeded should not fire until the next iteration of the event loop after returning to stable"); + await new Promise(resolve => pc.onnegotiationneeded = resolve); }, 'negotiationneeded event should fire only after signaling state go back to stable'); /* diff --git a/tests/wpt/web-platform-tests/webstorage/META.yml b/tests/wpt/web-platform-tests/webstorage/META.yml index 0da67a586b8..020075c3f24 100644 --- a/tests/wpt/web-platform-tests/webstorage/META.yml +++ b/tests/wpt/web-platform-tests/webstorage/META.yml @@ -3,5 +3,4 @@ suggested_reviewers: - siusin - inexorabletash - zqzhang - - ibelem - jdm diff --git a/tests/wpt/web-platform-tests/webxr/META.yml b/tests/wpt/web-platform-tests/webxr/META.yml index b5e3e65a12c..520afec2000 100644 --- a/tests/wpt/web-platform-tests/webxr/META.yml +++ b/tests/wpt/web-platform-tests/webxr/META.yml @@ -1,5 +1,3 @@ spec: https://immersive-web.github.io/webxr/spec/latest/ suggested_reviewers: - - toji - - paezagon - klausw diff --git a/tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js b/tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js new file mode 100644 index 00000000000..bb55fb72978 --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js @@ -0,0 +1,61 @@ +// |matrix| - Float32Array, |input| - point-like dict (must have x, y, z, w) +let transform_point_by_matrix = function(matrix, input) { + return { + x : matrix[0] * input.x + matrix[4] * input.y + matrix[8] * input.z + matrix[12] * input.w, + y : matrix[1] * input.x + matrix[5] * input.y + matrix[9] * input.z + matrix[13] * input.w, + z : matrix[2] * input.x + matrix[6] * input.y + matrix[10] * input.z + matrix[14] * input.w, + w : matrix[3] * input.x + matrix[7] * input.y + matrix[11] * input.z + matrix[15] * input.w, + }; +} + +// Creates a unit-length quaternion. +// |input| - point-like dict (must have x, y, z, w) +let normalize_quaternion = function(input) { + const length_squared = input.x * input.x + input.y * input.y + input.z * input.z + input.w * input.w; + const length = Math.sqrt(length_squared); + + return {x : input.x / length, y : input.y / length, z : input.z / length, w : input.w / length}; +} + +// |input| - point-like dict (must have x, y, z, w) +let conjugate_quaternion = function(input) { + return {x : -input.x, y : -input.y, z : -input.z, w : input.w}; +} + +let multiply_quaternions = function(q1, q2) { + return { + w : q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z, + x : q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y, + y : q1.w * q2.y - q1.x * q2.z + q1.y * q2.w + q1.z * q2.x, + z : q1.w * q2.z + q1.x * q2.y - q1.y * q2.x + q1.z * q2.w, + } +} + +// |point| - point-like dict (must have x, y, z, w) +let normalize_perspective = function(point) { + if(point.w == 0 || point.w == 1) return point; + + return { + x : point.x / point.w, + y : point.y / point.w, + z : point.z / point.w, + w : 1 + }; +} + +// |quaternion| - point-like dict (must have x, y, z, w), +// |input| - point-like dict (must have x, y, z, w) +let transform_point_by_quaternion = function(quaternion, input) { + const q_normalized = normalize_quaternion(quaternion); + const q_conj = conjugate_quaternion(q_normalized); + const p_in = normalize_perspective(input); + + // construct a quaternion out of the point (take xyz & zero the real part). + const p = {x : p_in.x, y : p_in.y, z : p_in.z, w : 0}; + + // transform the input point + const p_mul = multiply_quaternions( q_normalized, multiply_quaternions(p, q_conj) ); + + // add back the w component of the input + return { x : p_mul.x, y : p_mul.y, z : p_mul.z, w : p_in.w }; +} diff --git a/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html b/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html index 3c9cea0849f..85d7bffb87b 100644 --- a/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html +++ b/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html @@ -3,31 +3,10 @@ <script src="/resources/testharnessreport.js"></script> <script src="resources/webxr_test_constants.js"></script> <script src="resources/webxr_test_asserts.js"></script> +<script src="resources/webxr_math_utils.js"></script> <script> -// |matrix| - Float32Array, |input| - point-like dict (must have x, y, z, w) -let transform_point = function (matrix, input) { - return { - x : matrix[0] * input.x + matrix[4] * input.y + matrix[8] * input.z + matrix[12] * input.w, - y : matrix[1] * input.x + matrix[5] * input.y + matrix[9] * input.z + matrix[13] * input.w, - z : matrix[2] * input.x + matrix[6] * input.y + matrix[10] * input.z + matrix[14] * input.w, - w : matrix[3] * input.x + matrix[7] * input.y + matrix[11] * input.z + matrix[15] * input.w, - }; -} - -// |point| - point-like dict (must have x, y, z, w) -let normalize_perspective = function(point) { - if(point.w == 0 || point.w == 1) return point; - - return { - x : point.x / point.w, - y : point.y / point.w, - z : point.z / point.w, - w : 1 - }; -} - let matrix_tests_name = "XRRay matrix works"; let matrix_tests = function() { @@ -46,8 +25,8 @@ let matrix_tests = function() { DOMPoint.fromPoint(originDict), DOMPoint.fromPoint(directionDict)); - let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin)); - let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection)); + let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin)); + let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection)); assert_point_approx_equals( originDict, transformedOrigin, @@ -66,8 +45,8 @@ let matrix_tests = function() { DOMPoint.fromPoint(originDict), DOMPoint.fromPoint(directionDict)); - let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin)); - let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection)); + let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin)); + let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection)); assert_point_approx_equals( originDict, transformedOrigin, @@ -86,8 +65,8 @@ let matrix_tests = function() { DOMPoint.fromPoint(originDict), DOMPoint.fromPoint(directionDict)); - let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin)); - let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection)); + let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin)); + let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection)); assert_point_approx_equals( originDict, transformedOrigin, @@ -106,8 +85,8 @@ let matrix_tests = function() { DOMPoint.fromPoint(originDict), DOMPoint.fromPoint(directionDict)); - let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin)); - let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection)); + let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin)); + let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection)); assert_point_approx_equals( originDict, transformedOrigin, diff --git a/tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html b/tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html new file mode 100644 index 00000000000..21236c73246 --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/webxr_test_constants.js"></script> +<script src="resources/webxr_test_asserts.js"></script> +<script src="resources/webxr_math_utils.js"></script> + +<script> + +let matrix_tests_name = "XRRigidTransform matrix works"; + +let matrix_tests = function() { + // Matrix tests for XRRigidTransform. + + // Test 1. Check if matrix rotates the vector the same way as quaternion + // used to construct it. This does not perform a translation. + { + // point + const originDict = {x : 0, y : 0, z : 0, w : 1}; + // quaternion - should be normalized + const orientationDict = {x : 0, y : 0.3805356, z : 0.7610712, w : 0.525322 } + + let rigidTransform = new XRRigidTransform( + DOMPoint.fromPoint(originDict), + DOMPoint.fromPoint(orientationDict)); + + const point_0 = {x : 10, y : 11, z : 12, w : 1}; + + // transform the point by matrix from rigid transform + const point_transformed_0 = normalize_perspective(transform_point_by_matrix(rigidTransform.matrix, point_0)); + const point_transformed_1 = transform_point_by_quaternion(orientationDict, point_0); + const point_transformed_2 = transform_point_by_quaternion(rigidTransform.orientation, point_0); + + assert_point_approx_equals( + point_transformed_1, point_transformed_0, + FLOAT_EPSILON, "by-initial-quaternion-and-matrix:"); + + assert_point_approx_equals( + point_transformed_2, point_transformed_0, + FLOAT_EPSILON, "by-transform's-quaternion-and-matrix:"); + } +}; + +test(matrix_tests, matrix_tests_name); + +</script> diff --git a/tests/wpt/web-platform-tests/xhr/META.yml b/tests/wpt/web-platform-tests/xhr/META.yml index 4b2ecf39bf3..c343ceac437 100644 --- a/tests/wpt/web-platform-tests/xhr/META.yml +++ b/tests/wpt/web-platform-tests/xhr/META.yml @@ -2,9 +2,6 @@ spec: https://xhr.spec.whatwg.org/ suggested_reviewers: - caitp - Manishearth - - jungkees - - ibelem - - mathiasbynens - jdm - annevk - wisniewskit |