From 4bccffb415998547e308197a1d27f4f2858e1d94 Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Sun, 15 Mar 2020 08:22:36 +0000 Subject: [PATCH 1/2] Update web-platform-tests to revision 1ce25e2d4ece2d6ac03739b3cb4f5838d1f94e38 --- tests/wpt/metadata/MANIFEST.json | 535 ++++++++++++------ .../DefineOwnProperty.html.ini} | 9 +- .../legacy-platform-object/Set.html.ini | 4 + .../CSS2/floats/hit-test-floats-002.html.ini | 4 - .../CSS2/floats/hit-test-floats-005.html.ini | 4 - ...on-from-ua-to-blocking-stylesheet.html.ini | 2 +- .../elementsFromPoint-invalid-cases.html.ini | 4 + ...uctable-disallow-import.tentative.html.ini | 14 + .../fetch/content-type/response.window.js.ini | 13 +- .../fetch/content-type/script.window.js.ini | 2 +- .../nosniff/parsing-nosniff.window.js.ini | 2 +- ...ml.ini => traverse_the_history_3.html.ini} | 2 +- .../traverse_the_history_4.html.ini | 4 + .../supported-elements.html.ini | 7 +- .../iframe_sandbox_popups_escaping-3.html.ini | 3 +- ...rame_sandbox_popups_nonescaping-1.html.ini | 3 +- ...rame_sandbox_popups_nonescaping-2.html.ini | 3 +- .../form-submission-algorithm.html.ini | 3 + .../execution-timing/077.html.ini | 4 - .../syntax/parsing/html5lib_tests21.html.ini | 6 + .../audiobuffersource-multi-channels.html.ini | 3 + .../sub-sample-buffer-stitching.html.ini | 6 + .../webmessaging/with-ports/018.html.ini | 5 - .../webmessaging/without-ports/017.html.ini | 5 - .../ar_dom_overlay_hit_test.https.html.ini | 2 + ...ubscription_states_regular.https.html.ini} | 2 +- ...bscription_states_transient.https.html.ini | 10 + ...ption_transientInputSources.https.html.ini | 2 + .../legacy-platform-object.html | 191 ------- .../DefineOwnProperty.html | 89 +++ .../GetOwnProperty.html | 84 +++ .../OwnPropertyKeys.html | 65 +++ .../legacy-platform-object/Set.html | 79 +++ .../legacy-platform-object/helper.js | 22 + .../webkit-box-clamp-bottom-border-ref.html | 12 + .../webkit-box-clamp-bottom-border.html | 18 + ...ders-with-child-border-box-sizing-ref.html | 38 ++ .../subpixel-borders-with-child-ref.html | 34 ++ ...-borders-with-child-border-box-sizing.html | 42 ++ .../subpixel-borders-with-child.html | 37 ++ ...heme-iframe-background-mismatch-alpha.html | 20 + ...eme-iframe-background-mismatch-opaque.html | 20 + .../color-scheme-iframe-background.html | 6 +- .../support/dark-frame-alpha.html | 9 + .../support/dark-frame-opaque.html | 6 + .../percentage-max-height-001.html | 24 + ...tion-sticky-fixed-ancestor-iframe-ref.html | 93 +++ ...position-sticky-fixed-ancestor-iframe.html | 54 ++ .../position-sticky-fixed-ancestor-ref.html | 63 +++ .../position-sticky-fixed-ancestor.html | 86 +++ ...on-sticky-fixed-ancestor-iframe-child.html | 61 ++ .../properties/line-height.html | 2 +- ...nstructable-disallow-import.tentative.html | 81 +++ .../resources/document-policy-image.html} | 2 +- .../experimental-features/resources/image.jpg | Bin .../experimental-features/resources/image.png | Bin .../experimental-features/resources/image.svg | 0 .../experimental-features/resources/video.ogv | Bin .../unsized-media.tentative.https.sub.html | 19 +- ...zed-media.tentative.https.sub.html.headers | 1 + .../reporting/image.jpg | Bin .../reporting/unsized-media-reporting.html | 4 +- .../unsized-media-reporting.html.headers | 1 + ...zed-media.tentative.https.sub.html.headers | 1 - .../unsized-media-reporting.html.headers | 1 - .../fetch.https.any.js | 1 + ...nheight7000-2AFF-italiccorrection5000.woff | Bin 0 -> 1436 bytes .../form-submission-algorithm.html | 9 + tests/wpt/web-platform-tests/lint.whitelist | 1 - .../scripts/subsup-parameters-2.html | 52 +- .../relations/html5-tree/tabindex-001.html | 6 +- .../mathml/tools/largeop.py | 31 + .../mathml/tools/utils/mathfont.py | 14 +- .../manifest-404.https.html | 6 +- .../manifest-mimetype.https.html | 5 +- .../resources/chromium/sms_mock.js | 52 -- .../resources/chromium/webxr-test.js | 120 +++- .../resources/idlharness.js | 27 +- .../resources/testharness.js | 4 +- tests/wpt/web-platform-tests/sms/README.md | 3 - .../sms/detached-iframe.https.html | 24 - .../sms/idlharness.https.any.js | 30 - .../sms/interceptor.https.html | 134 ----- .../sms/resources/helper.js | 66 --- .../sms/resources/iframe.html | 25 - .../sms/sms-iframe.https.html | 41 -- .../web-platform-tests/sms/sms_receiver.idl | 24 - .../web-platform-tests/tools/manifest/item.py | 2 +- .../tools/manifest/manifest.py | 2 +- .../tools/manifest/sourcefile.py | 8 +- .../tools/manifest/tests/test_sourcefile.py | 2 +- .../tools/manifest/typedata.py | 15 +- .../web-platform-tests/tools/manifest/vcs.py | 2 +- .../tools/wpt/requirements.txt | 1 + .../tools/wpt/tests/test_wpt.py | 6 +- .../tools/wptrunner/requirements.txt | 2 +- .../wptrunner/tests/test_products.py | 8 +- ...nt-in-xhtml-document.tentative.https.xhtml | 19 + .../ar_dom_overlay_hit_test.https.html | 113 ++++ ...st_subscription_states_regular.https.html} | 13 +- ...t_subscription_states_transient.https.html | 67 +++ ...scription_transientInputSources.https.html | 173 ++++++ .../xhr/cors-expose-star.sub.any.js | 52 ++ .../web-platform-tests/xhr/resources/top.txt | 1 + 104 files changed, 2188 insertions(+), 901 deletions(-) rename tests/wpt/metadata/WebIDL/ecmascript-binding/{legacy-platform-object.html.ini => legacy-platform-object/DefineOwnProperty.html.ini} (78%) create mode 100644 tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/Set.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini create mode 100644 tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini create mode 100644 tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html.ini rename tests/wpt/metadata/html/browsers/history/the-history-interface/{traverse_the_history_5.html.ini => traverse_the_history_3.html.ini} (71%) create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini delete mode 100644 tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini create mode 100644 tests/wpt/metadata/html/syntax/parsing/html5lib_tests21.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/with-ports/018.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/without-ports/017.html.ini create mode 100644 tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html.ini rename tests/wpt/metadata/webxr/hit-test/{ar_hittest_subscription_states.https.html.ini => ar_hittest_subscription_states_regular.https.html.ini} (84%) create mode 100644 tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_states_transient.https.html.ini create mode 100644 tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html.ini delete mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object.html create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object/DefineOwnProperty.html create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object/GetOwnProperty.html create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object/OwnPropertyKeys.html create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object/Set.html create mode 100644 tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/legacy-platform-object/helper.js create mode 100644 tests/wpt/web-platform-tests/compat/webkit-box-clamp-bottom-border-ref.html create mode 100644 tests/wpt/web-platform-tests/compat/webkit-box-clamp-bottom-border.html create mode 100644 tests/wpt/web-platform-tests/css/css-borders/reference/subpixel-borders-with-child-border-box-sizing-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-borders/reference/subpixel-borders-with-child-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-borders/subpixel-borders-with-child-border-box-sizing.html create mode 100644 tests/wpt/web-platform-tests/css/css-borders/subpixel-borders-with-child.html create mode 100644 tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-alpha.html create mode 100644 tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html create mode 100644 tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html create mode 100644 tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/percentage-max-height-001.html create mode 100644 tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html create mode 100644 tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html create mode 100644 tests/wpt/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html create mode 100644 tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html rename tests/wpt/web-platform-tests/{feature-policy/experimental-features/resources/feature-policy-image.html => document-policy/experimental-features/resources/document-policy-image.html} (76%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/resources/image.jpg (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/resources/image.png (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/resources/image.svg (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/resources/video.ogv (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/unsized-media.tentative.https.sub.html (82%) create mode 100644 tests/wpt/web-platform-tests/document-policy/experimental-features/unsized-media.tentative.https.sub.html.headers rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/reporting/image.jpg (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/reporting/unsized-media-reporting.html (79%) create mode 100644 tests/wpt/web-platform-tests/document-policy/reporting/unsized-media-reporting.html.headers delete mode 100644 tests/wpt/web-platform-tests/feature-policy/experimental-features/unsized-media.tentative.https.sub.html.headers delete mode 100644 tests/wpt/web-platform-tests/feature-policy/reporting/unsized-media-reporting.html.headers create mode 100644 tests/wpt/web-platform-tests/fonts/math/largeop-displayoperatorminheight7000-2AFF-italiccorrection5000.woff rename tests/wpt/web-platform-tests/origin-policy/{content-security => bad-server}/manifest-404.https.html (64%) rename tests/wpt/web-platform-tests/origin-policy/{content-security => bad-server}/manifest-mimetype.https.html (64%) delete mode 100644 tests/wpt/web-platform-tests/resources/chromium/sms_mock.js delete mode 100644 tests/wpt/web-platform-tests/sms/README.md delete mode 100644 tests/wpt/web-platform-tests/sms/detached-iframe.https.html delete mode 100644 tests/wpt/web-platform-tests/sms/idlharness.https.any.js delete mode 100644 tests/wpt/web-platform-tests/sms/interceptor.https.html delete mode 100644 tests/wpt/web-platform-tests/sms/resources/helper.js delete mode 100644 tests/wpt/web-platform-tests/sms/resources/iframe.html delete mode 100644 tests/wpt/web-platform-tests/sms/sms-iframe.https.html delete mode 100644 tests/wpt/web-platform-tests/sms/sms_receiver.idl create mode 100644 tests/wpt/web-platform-tests/trusted-types/HTMLScriptElement-in-xhtml-document.tentative.https.xhtml create mode 100644 tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html rename tests/wpt/web-platform-tests/webxr/hit-test/{ar_hittest_subscription_states.https.html => ar_hittest_subscription_states_regular.https.html} (74%) create mode 100644 tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html create mode 100644 tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html create mode 100644 tests/wpt/web-platform-tests/xhr/cors-expose-star.sub.any.js create mode 100644 tests/wpt/web-platform-tests/xhr/resources/top.txt diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index b2f66c235ba..89d70e043fa 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -24102,6 +24102,19 @@ {} ] ], + "webkit-box-clamp-bottom-border.html": [ + "f133335e79683d5808324e4b2f3559480312f644", + [ + null, + [ + [ + "/compat/webkit-box-clamp-bottom-border-ref.html", + "==" + ] + ], + {} + ] + ], "webkit-box-clamp-visibility-change.html": [ "115fa4366523dd64adf5bd14de661eb8ac8f9214", [ @@ -122738,6 +122751,34 @@ ] ] }, + "css-borders": { + "subpixel-borders-with-child-border-box-sizing.html": [ + "0f469e4eb42a8bb9708897a7829c92403b92196d", + [ + null, + [ + [ + "/css/css-borders/reference/subpixel-borders-with-child-border-box-sizing-ref.html", + "==" + ] + ], + {} + ] + ], + "subpixel-borders-with-child.html": [ + "4257983259f721041668178b41eda7161d385282", + [ + null, + [ + [ + "/css/css-borders/reference/subpixel-borders-with-child-ref.html", + "==" + ] + ], + {} + ] + ] + }, "css-break": { "avoid-border-break.html": [ "56f47e83c57f0914b87910870d67d5490d9e4eb3", @@ -124762,8 +124803,34 @@ "css-color-adjust": { "rendering": { "dark-color-scheme": { + "color-scheme-iframe-background-mismatch-alpha.html": [ + "26c58198c46b0ed2b1c6037aa0ca50ea2e059241", + [ + null, + [ + [ + "/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html", + "==" + ] + ], + {} + ] + ], + "color-scheme-iframe-background-mismatch-opaque.html": [ + "9e39c0b82769964dce205448775ae4c2c01dc51d", + [ + null, + [ + [ + "/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html", + "==" + ] + ], + {} + ] + ], "color-scheme-iframe-background.html": [ - "ee0f006b5b25702f0b2c485c46e7b8ef6788147c", + "591044f61803be793e15987a15d1561f5a3088f9", [ null, [ @@ -136475,6 +136542,19 @@ {} ] ], + "percentage-max-height-001.html": [ + "8e6dd227a038c8f237c769dad8e92976fe9ca832", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "percentage-size-subitems-001.html": [ "70f3953052a3a770c6cd15ee169607a00fc452b0", [ @@ -155287,6 +155367,32 @@ {} ] ], + "position-sticky-fixed-ancestor-iframe.html": [ + "d442931663f09a0bedd587e28e253941e2a003ce", + [ + null, + [ + [ + "/css/css-position/position-sticky-fixed-ancestor-iframe-ref.html", + "==" + ] + ], + {} + ] + ], + "position-sticky-fixed-ancestor.html": [ + "3cf332abb37a6175fa0cf28a9276fd5d47962086", + [ + null, + [ + [ + "/css/css-position/position-sticky-fixed-ancestor-ref.html", + "==" + ] + ], + {} + ] + ], "position-sticky-flexbox.html": [ "cf4e8cbcdaad83ba9ef45ade2ec147f8e0698c2b", [ @@ -237762,6 +237868,12 @@ [] ], "ecmascript-binding": { + "legacy-platform-object": { + "helper.js": [ + "01c1d00694eb9beb02b0c9d1d9c6ae1a2cc689c5", + [] + ] + }, "support": { "constructors-support.html": [ "3b2616170b1d4f48f9dab114e4135222ed10a6ea", @@ -240721,6 +240833,10 @@ "d1f183874c09d7984d461e577151008e5b363b2c", [] ], + "webkit-box-clamp-bottom-border-ref.html": [ + "c759c4c7d7095a56f0f6b0c81868dd46268012c7", + [] + ], "webkit-box-clamp-visibility-change-ref.html": [ "20ec3bfaf8bf92f426d6dc7b6dc56a59dd568b1d", [] @@ -281361,6 +281477,18 @@ [] ] }, + "css-borders": { + "reference": { + "subpixel-borders-with-child-border-box-sizing-ref.html": [ + "b2311d5ba083cf7760af5d57003b7777b472ded1", + [] + ], + "subpixel-borders-with-child-ref.html": [ + "b8ce0e834856b0a53545ccd2cf5046a83a0a8fb4", + [] + ] + } + }, "css-box": { "META.yml": [ "dde409360faf79a301c3ae3ea34a995d154d7bb4", @@ -281729,6 +281857,14 @@ "73671b8a819ed81958b4359a1a3904f86cc98ec6", [] ], + "dark-frame-alpha.html": [ + "cb5e6d66917e4ca061e14a6539e333fb44b2e51a", + [] + ], + "dark-frame-opaque.html": [ + "ca845ea13ce1f3835c5629295adbc1fec35bfb56", + [] + ], "dark-frame-ref.html": [ "0975119f56eee163041d58b96b80bd57173c44a9", [] @@ -293910,6 +294046,14 @@ "c44f9f43eb51df8a8499a53db3d7c47d76f38829", [] ], + "position-sticky-fixed-ancestor-iframe-ref.html": [ + "37372ceca115e8c641623abb2fb8238b7eaf11db", + [] + ], + "position-sticky-fixed-ancestor-ref.html": [ + "f0eadaa4f59174fe9ecdcb65eab6064350ae1222", + [] + ], "position-sticky-flexbox-ref.html": [ "554ffa6d6bc9a7d76087b45649c1a69824eb2e59", [] @@ -293999,6 +294143,10 @@ [] ], "resources": { + "position-sticky-fixed-ancestor-iframe-child.html": [ + "ee91178ff6fb1c9f6b56008a4ebf008786c5fe88", + [] + ], "sticky-util.js": [ "969cededcbe658a8d25c0cf9cabb97d86d965a77", [] @@ -309915,6 +310063,34 @@ "52a2bf97124f0e6f3ff05fcc693c751f1cd0fca0", [] ], + "experimental-features": { + "resources": { + "document-policy-image.html": [ + "4e5b919bd112f044cc3ec9e57afe05ae20f22ece", + [] + ], + "image.jpg": [ + "430f5c514a86f110293636b513b396ac1ab5ed80", + [] + ], + "image.png": [ + "556fa72704084920c07066054bb57adc5a250b27", + [] + ], + "image.svg": [ + "73ca820915bbdccdf4fd2d3960c795f1cea8e181", + [] + ], + "video.ogv": [ + "c9ee910fc667632b17420c1f0ad4f7ad2ac7446a", + [] + ] + }, + "unsized-media.tentative.https.sub.html.headers": [ + "d73d2520cb20e4665766e886cafa1b7f41b1a101", + [] + ] + }, "font-display": { "font-display-document-policy-01.tentative-ref.html": [ "78bca05b124963796fa3ad9a291e7723f9f33df6", @@ -309934,6 +310110,10 @@ ] }, "reporting": { + "image.jpg": [ + "c059b96d97fc3701ce4325165b79948f69189135", + [] + ], "oversized-images-reporting.html.headers": [ "206db539c1ea12e962b279e4b550e85f12bc50d1", [] @@ -309953,6 +310133,10 @@ "unoptimized-lossy-images-reporting.html.headers": [ "261d5db13e3c1879ba8a582e84485b717851dbb9", [] + ], + "unsized-media-reporting.html.headers": [ + "d73d2520cb20e4665766e886cafa1b7f41b1a101", + [] ] }, "required-policy": { @@ -312197,26 +312381,10 @@ "633fa85e6acd6c5dd9cfcd1dfd9929abf15214f8", [] ], - "feature-policy-image.html": [ - "a0008eea82455b370f65de5f58b285420c2ba30b", - [] - ], "focus_steal.html": [ "43e8688117d7ae01169793edb9392a03350749e5", [] ], - "image.jpg": [ - "430f5c514a86f110293636b513b396ac1ab5ed80", - [] - ], - "image.png": [ - "556fa72704084920c07066054bb57adc5a250b27", - [] - ], - "image.svg": [ - "73ca820915bbdccdf4fd2d3960c795f1cea8e181", - [] - ], "lazyload-contents.html": [ "a6e98c24e6add4976571141ad2409e1cce96d173", [] @@ -312260,20 +312428,12 @@ "vertical-scroll.js": [ "88835cc6024f2a17c405a1760064e9145fb63d62", [] - ], - "video.ogv": [ - "c9ee910fc667632b17420c1f0ad4f7ad2ac7446a", - [] ] }, "sync-script.tentative.https.sub.html.headers": [ "b468c8b1822d57cbf8c78523397a43813cefe51c", [] ], - "unsized-media.tentative.https.sub.html.headers": [ - "db2dcbc1929b9e1264855e9b80f77dfbda5d4f38", - [] - ], "vertical-scroll-main-frame-manual.tentative.html.headers": [ "44072fce5640c79fcbd804550bfce44dbad37738", [] @@ -312424,10 +312584,6 @@ "f2b88690fcf182cb0757da947bc6a1295468779f", [] ], - "image.jpg": [ - "c059b96d97fc3701ce4325165b79948f69189135", - [] - ], "microphone-report-only.https.html.headers": [ "5342e71dec8c906fa5d3bf4b3a89317cdeba108c", [] @@ -312476,10 +312632,6 @@ "21a909e1fb6d84f066f42c09488f1bef032171c9", [] ], - "unsized-media-reporting.html.headers": [ - "db2dcbc1929b9e1264855e9b80f77dfbda5d4f38", - [] - ], "usb-report-only.https.html.headers": [ "2705af70cee8be148be26ef6e407b18c0de236cd", [] @@ -313764,6 +313916,10 @@ "53fcc13a1603621c0985dd8ea8d956fd01c974f4", [] ], + "largeop-displayoperatorminheight7000-2AFF-italiccorrection5000.woff": [ + "601a424a94b3090c1a1796c18f6557abe716c5d0", + [] + ], "limits-lowerlimitbaselinedropmin3000.woff": [ "76395db141ced4560ed7164c6f09bf50fe771d3d", [] @@ -325799,7 +325955,7 @@ ] }, "lint.whitelist": [ - "99a6309956e807a4459d36b94fe13574688d6c67", + "65494c70cfbf446011b404b5b657564b2ec61e35", [] ], "loading": { @@ -326393,7 +326549,7 @@ [] ], "largeop.py": [ - "73d967689bb7dc1101632a883aa08059bf5d7979", + "58ce7aebcf415eed9f5b161dc869dedc0d3e3e61", [] ], "limits.py": [ @@ -326450,7 +326606,7 @@ [] ], "mathfont.py": [ - "7664c6d2434406090020f20e9ec35e513d0390c6", + "53633c915047413b2a4651ad215f559068bdeb91", [] ], "misc.py": [ @@ -338144,10 +338300,6 @@ "d82b15a304a2439f5206e5bc86b91c51fcf94bd8", [] ], - "sms_mock.js": [ - "13d12da65dfa80f1b15983fafadeb0423d41607c", - [] - ], "string16.mojom.js": [ "25377e66571b145907a490d17c673a5abd023171", [] @@ -338201,7 +338353,7 @@ [] ], "webxr-test.js": [ - "ddbfd4c83aa00e8cfadd60b9cbe265bab6939b4a", + "428ca0a5cbc1ece086e5a344f59cf398c3c41924", [] ], "webxr-test.js.headers": [ @@ -338210,7 +338362,7 @@ ] }, "idlharness.js": [ - "ff40847a1fc8d4c8393e03ce34e0643522e182a3", + "4f8ec0d1a663355e38a6425c79383c02342db4ea", [] ], "idlharness.js.headers": [ @@ -338630,7 +338782,7 @@ [] ], "testharness.js": [ - "ce043a287f758338e1564e86bc6908ce8388638e", + "8d3b3e9dd6bf2a9d50b4e464c82d569370e85496", [] ], "testharness.js.headers": [ @@ -341538,26 +341690,6 @@ ] } }, - "sms": { - "README.md": [ - "1f34178beace0786a347a6b378489b3741c960d9", - [] - ], - "resources": { - "helper.js": [ - "d34d6db3a2e6c1a744a4193939251dc382691061", - [] - ], - "iframe.html": [ - "38efb15a748504a455cb5388e5b901392fd695d4", - [] - ] - }, - "sms_receiver.idl": [ - "ca8cfdd798c8e7d85c8251ea08acb063fc25ae77", - [] - ] - }, "speech-api": { "META.yml": [ "88f1837f96f6e140990eb2de9981f7901596a32f", @@ -343221,7 +343353,7 @@ [] ], "item.py": [ - "30dd4572ab695fb23c4627dbadaabc14fd12ea20", + "728027589416624a22f497a4d539b289106a1b6e", [] ], "log.py": [ @@ -343229,11 +343361,11 @@ [] ], "manifest.py": [ - "74d80209e64f3fdded9f22832cf1977ca4f9204a", + "f79edc8435293faed732243134ab0e4447f6b5d9", [] ], "sourcefile.py": [ - "580a0ab7884568c271e935d51f239eb821100dc6", + "15dc91512484b6e9e4500947f710f5058db40799", [] ], "testpaths.py": [ @@ -343258,7 +343390,7 @@ [] ], "test_sourcefile.py": [ - "9738906fa2db1c4cc7f40de5208d12eb4b24a901", + "6ee6e2b3dff0d4bb86bdebebba706874ff0ba9d7", [] ], "test_utils.py": [ @@ -343267,7 +343399,7 @@ ] }, "typedata.py": [ - "4ca8b4d595b7ea9eff5bbe117aa6fe70e181b697", + "13a041e54c3e240e26db83c18a1f589e05cdc851", [] ], "update.py": [ @@ -343279,7 +343411,7 @@ [] ], "vcs.py": [ - "ce31acbfb66d9b8657b0c8d32fad4c7eda0c44b7", + "05afdf39b227dfc0dff1dfce44f36c7b252a33c7", [] ] }, @@ -348015,7 +348147,7 @@ [] ], "requirements.txt": [ - "b4500579db51591c31109f42c445ff715801e91f", + "3baefa50ea981974be66b6e226e050e59e034c22", [] ], "revlist.py": [ @@ -348052,7 +348184,7 @@ [] ], "test_wpt.py": [ - "b3e85fc293c315f960e3781033db25c963258bd9", + "f897b688ad6f682be9d769da98579c788505c09a", [] ] }, @@ -348113,7 +348245,7 @@ ] }, "requirements.txt": [ - "6cd14095d9ba1fcf49b9e403a644008e8fe2ca3b", + "c7ddcd75456a5fd532e84d227ba3daa71accc4d9", [] ], "requirements_android_webview.txt": [ @@ -348655,7 +348787,7 @@ [] ], "test_products.py": [ - "e64f5ad8945b1297147f33fc6a3e1546024797f1", + "5d2bcf075d0f572e8972eba5fdb4a5bd36b5db75", [] ], "test_stability.py": [ @@ -355878,6 +356010,10 @@ "5d72e10b24bfd5a36d719940388bb55d44433546", [] ], + "top.txt": [ + "83a3157d14d9081ed01cd799287899822e19523a", + [] + ], "trickle.py": [ "418e2459921743b769fab32041e95b00e7c091bb", [] @@ -373168,13 +373304,36 @@ {} ] ], - "legacy-platform-object.html": [ - "55e3c08addd7cdf91f590524646ff15bfec3dcc6", - [ - null, - {} + "legacy-platform-object": { + "DefineOwnProperty.html": [ + "8de0bac683268b6f57781dff98c8cb400dff45d7", + [ + null, + {} + ] + ], + "GetOwnProperty.html": [ + "d26cdf28094703e5d9d3b7e062bd836dac389d01", + [ + null, + {} + ] + ], + "OwnPropertyKeys.html": [ + "da9c6102cd302a8a40bb1d9bcdf8999117d4f3d6", + [ + null, + {} + ] + ], + "Set.html": [ + "606fc95c0c0ab9bf8461c84cb9df321bd8919da6", + [ + null, + {} + ] ] - ], + }, "no-regexp-special-casing.any.js": [ "4446dbf69c02ab466ad03fd69d6ed3924d8e84a0", [ @@ -402160,7 +402319,7 @@ ] ], "line-height.html": [ - "4e35eaf786a7f81d0d5f6b30eca3360fbbcd653a", + "c09c404617e7fee1cbe37500cf83a0ac1dc41e66", [ null, {} @@ -404628,6 +404787,13 @@ {} ] ], + "CSSStyleSheet-constructable-disallow-import.tentative.html": [ + "05b73944d669051f80fbd21646148dc709cce798", + [ + null, + {} + ] + ], "CSSStyleSheet-constructable-duplicate.html": [ "579f5d0fcedc44b38ad98a94610e01850a3fef5d", [ @@ -408284,6 +408450,15 @@ ] }, "document-policy": { + "experimental-features": { + "unsized-media.tentative.https.sub.html": [ + "d7bb72524902cbd519d892b8206569d7607a120b", + [ + null, + {} + ] + ] + }, "font-display": { "font-display-document-policy-report-only.tentative.html": [ "03fa5b68a3ef8a587a72fba5b37fd5145307e1b0", @@ -408321,6 +408496,13 @@ null, {} ] + ], + "unsized-media-reporting.html": [ + "47a36436464e031e18f710330106694b7fa0c182", + [ + null, + {} + ] ] }, "required-policy": { @@ -424498,13 +424680,6 @@ {} ] ], - "unsized-media.tentative.https.sub.html": [ - "172e4c8e4fed765d9c6d37bff298c9cdd299ae9e", - [ - null, - {} - ] - ], "vertical-scroll-scrollintoview.tentative.html": [ "689685a4977a7ab08c5183fe04e427c25ce6f3cf", [ @@ -424932,13 +425107,6 @@ {} ] ], - "unsized-media-reporting.html": [ - "bb81a496ca5b8128b7438e6f1dd4ed0dd574238c", - [ - null, - {} - ] - ], "usb-report-only.https.html": [ "7933e9eb5f6c15c513d4110a689eae8c3c15a0ab", [ @@ -427948,11 +428116,15 @@ ] ], "fetch.https.any.js": [ - "e79b982c2b708aa9601eddaa32209cb374d2f505", + "c9b5b7502f48ac16f654784bcebc6a30f2b785c5", [ "fetch/cross-origin-resource-policy/fetch.https.any.html", { "script_metadata": [ + [ + "timeout", + "long" + ], [ "global", "window,worker" @@ -427961,13 +428133,18 @@ "script", "/common/get-host-info.sub.js" ] - ] + ], + "timeout": "long" } ], [ "fetch/cross-origin-resource-policy/fetch.https.any.serviceworker.html", { "script_metadata": [ + [ + "timeout", + "long" + ], [ "global", "window,worker" @@ -427976,13 +428153,18 @@ "script", "/common/get-host-info.sub.js" ] - ] + ], + "timeout": "long" } ], [ "fetch/cross-origin-resource-policy/fetch.https.any.sharedworker.html", { "script_metadata": [ + [ + "timeout", + "long" + ], [ "global", "window,worker" @@ -427991,13 +428173,18 @@ "script", "/common/get-host-info.sub.js" ] - ] + ], + "timeout": "long" } ], [ "fetch/cross-origin-resource-policy/fetch.https.any.worker.html", { "script_metadata": [ + [ + "timeout", + "long" + ], [ "global", "window,worker" @@ -428006,7 +428193,8 @@ "script", "/common/get-host-info.sub.js" ] - ] + ], + "timeout": "long" } ] ], @@ -440425,7 +440613,7 @@ ] ], "form-submission-algorithm.html": [ - "d31e24167013aa48bec0d17e462714dc559794e1", + "e355aa20253607fe84b28f8245a291a8abc5e953", [ null, {} @@ -451327,7 +451515,7 @@ ] ], "subsup-parameters-2.html": [ - "da7574ac4d0db19cd3174f42be161fbf6d7490bb", + "021512f940f97b7d8071b754ec2775a2c9c9868f", [ null, {} @@ -451616,7 +451804,7 @@ ] ], "tabindex-001.html": [ - "8f8536881416584656277eeaaed4604b7f6def4d", + "9c7c9c2e2ce356f8f87faf90417920c457a55581", [ null, {} @@ -472429,6 +472617,22 @@ ] }, "origin-policy": { + "bad-server": { + "manifest-404.https.html": [ + "51436be6766423aeade1c1eb3133fc096bc6a103", + [ + null, + {} + ] + ], + "manifest-mimetype.https.html": [ + "5231a4387646ae73bb97d116d91ecc854f9260ac", + [ + null, + {} + ] + ] + }, "content-security": { "comma-in-policy.https.html": [ "07d10811f0bf853503052458ab76e0049969bdd4", @@ -472451,20 +472655,6 @@ {} ] ], - "manifest-404.https.html": [ - "be738cc144513cafd3f1baa9c3e85d0a1a904e34", - [ - null, - {} - ] - ], - "manifest-mimetype.https.html": [ - "1a45077602245d5859db7c0b28c26cd41f7ffe5d", - [ - null, - {} - ] - ], "non-array.https.html": [ "c95b5a15b0e6414c90adeda7923d4c06372b76cf", [ @@ -531192,62 +531382,6 @@ ] ] }, - "sms": { - "detached-iframe.https.html": [ - "bde6e25b80c63ff30ef279bc576e3d993466c3f3", - [ - null, - {} - ] - ], - "idlharness.https.any.js": [ - "0c31744937c6dbc9b292586ab8ce5f10b268f3ed", - [ - "sms/idlharness.https.any.html", - { - "script_metadata": [ - [ - "script", - "/resources/WebIDLParser.js" - ], - [ - "script", - "/resources/idlharness.js" - ] - ] - } - ], - [ - "sms/idlharness.https.any.worker.html", - { - "script_metadata": [ - [ - "script", - "/resources/WebIDLParser.js" - ], - [ - "script", - "/resources/idlharness.js" - ] - ] - } - ] - ], - "interceptor.https.html": [ - "6dff790309f5d052ad98fa5644e3596382c9fa28", - [ - null, - {} - ] - ], - "sms-iframe.https.html": [ - "0809f2426d96e5be288853a678695fe807cf6b14", - [ - null, - {} - ] - ] - }, "speech-api": { "SpeechRecognition-basics.https.html": [ "dc5d3f5c1df6e254b05ba1decf353abc3ccbef13", @@ -539978,6 +540112,13 @@ {} ] ], + "HTMLScriptElement-in-xhtml-document.tentative.https.xhtml": [ + "6cf49f922ae4d8414d392786da731396f2db80d9", + [ + null, + {} + ] + ], "HTMLScriptElement-internal-slot.tentative.https.html": [ "4f523bb4e4eec2c048d44b1beeab2a94b9e7bd31", [ @@ -561657,6 +561798,13 @@ null, {} ] + ], + "ar_dom_overlay_hit_test.https.html": [ + "406efe8be33808c386c3b676ae9e853381c355e5", + [ + null, + {} + ] ] }, "events_input_source_recreation.https.html": [ @@ -561785,8 +561933,22 @@ {} ] ], - "ar_hittest_subscription_states.https.html": [ - "98947da263703e29588c5ac432137d9eca69d046", + "ar_hittest_subscription_states_regular.https.html": [ + "0678ff55cef90620e55bbd893ff2fc16e1a69252", + [ + null, + {} + ] + ], + "ar_hittest_subscription_states_transient.https.html": [ + "accd4bbf70f716faf9885ca6e3088ceab48493ef", + [ + null, + {} + ] + ], + "ar_hittest_subscription_transientInputSources.https.html": [ + "5d8b0322303b57a3011354f27dd31cccb2ecd313", [ null, {} @@ -565945,6 +566107,31 @@ {} ] ], + "cors-expose-star.sub.any.js": [ + "9d88046806c764a467b0ad59fec3c73d9f0fa14b", + [ + "xhr/cors-expose-star.sub.any.html", + { + "script_metadata": [ + [ + "script", + "../fetch/api/resources/utils.js" + ] + ] + } + ], + [ + "xhr/cors-expose-star.sub.any.worker.html", + { + "script_metadata": [ + [ + "script", + "../fetch/api/resources/utils.js" + ] + ] + } + ] + ], "data-uri.htm": [ "88a7d78fc5953bc89b45503f1792f3a1d1dfe789", [ diff --git a/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object.html.ini b/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/DefineOwnProperty.html.ini similarity index 78% rename from tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object.html.ini rename to tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/DefineOwnProperty.html.ini index 0ba8ad10aaa..2773358bd08 100644 --- a/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object.html.ini +++ b/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/DefineOwnProperty.html.ini @@ -1,8 +1,7 @@ -[legacy-platform-object.html] - type: testharness - [Test [[DefineOwnProperty\]\] with no indexed property setter support.] - expected: FAIL - +[DefineOwnProperty.html] [Test [[DefineOwnProperty\]\] with indexed property setter support.] expected: FAIL + [Test [[DefineOwnProperty\]\] with no indexed property setter support.] + expected: FAIL + diff --git a/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/Set.html.ini b/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/Set.html.ini new file mode 100644 index 00000000000..bd66cdabc6a --- /dev/null +++ b/tests/wpt/metadata/WebIDL/ecmascript-binding/legacy-platform-object/Set.html.ini @@ -0,0 +1,4 @@ +[Set.html] + [must throw when assigning to a numeric property on an object which implements a indexed property getter but not a setter in strict mode] + expected: FAIL + diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-002.html] - [Hit test float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini deleted file mode 100644 index baa9f1a7541..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-005.html] - [Miss clipped float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini index 70a00a101f6..e35a452a186 100644 --- a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini +++ b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini @@ -1,2 +1,2 @@ [no-transition-from-ua-to-blocking-stylesheet.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html.ini b/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html.ini new file mode 100644 index 00000000000..104fc27d96b --- /dev/null +++ b/tests/wpt/metadata/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html.ini @@ -0,0 +1,14 @@ +[CSSStyleSheet-constructable-disallow-import.tentative.html] + expected: ERROR + [@import rules are not parsed in CSSStyleSheet.replaceSync] + expected: FAIL + + [Inserting an @import rule through insertRule on a constructed stylesheet throws an exception] + expected: FAIL + + [@import rules are not parsed in CSSStyleSheet.replace] + expected: FAIL + + [@import rules should not trigger any loads.] + expected: TIMEOUT + 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 8fe66411890..a21333c2880 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,21 +312,18 @@ [fetch(): separate response Content-Type: text/plain ] expected: NOTRUN - [ diff --git a/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html new file mode 100644 index 00000000000..9e39c0b8276 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background-mismatch-opaque.html @@ -0,0 +1,20 @@ + +CSS Color Adjustment Test: Frames with a dark color-scheme should get an opaque background when embedding element and embedded root color-schemes do not match + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html index ee0f006b5b2..591044f6180 100644 --- a/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html +++ b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/color-scheme-iframe-background.html @@ -1,6 +1,6 @@ -CSS Color Adjustment Test: Frames with a dark color-scheme should still be transparent - +CSS Color Adjustment Test: Frames with a dark color-scheme should still be transparent when embedding element and embedded root color-schemes match + - + diff --git a/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html new file mode 100644 index 00000000000..cb5e6d66917 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-alpha.html @@ -0,0 +1,9 @@ + + +

This text should be lime and the background should be green blended with a dark canvas.

diff --git a/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html new file mode 100644 index 00000000000..ca845ea13ce --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-color-adjust/rendering/dark-color-scheme/support/dark-frame-opaque.html @@ -0,0 +1,6 @@ + + +

This text should be green and the background should be dark opaque.

diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/percentage-max-height-001.html b/tests/wpt/web-platform-tests/css/css-flexbox/percentage-max-height-001.html new file mode 100644 index 00000000000..8e6dd227a03 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/percentage-max-height-001.html @@ -0,0 +1,24 @@ + + + + + + +

Test passes if there is a filled green square and no red.

+
+ +
+ diff --git a/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-ref.html b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-ref.html new file mode 100644 index 00000000000..37372ceca11 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe-ref.html @@ -0,0 +1,93 @@ + +Sticky elements inside fixed ancestors and iframe shouldn't account for scroll + + + +
+ +
+ + diff --git a/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html new file mode 100644 index 00000000000..d442931663f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-iframe.html @@ -0,0 +1,54 @@ + + +Sticky elements inside fixed ancestors and iframe shouldn't account for scroll + + + + + + + + + +
+ +
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-ref.html b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-ref.html new file mode 100644 index 00000000000..f0eadaa4f59 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor-ref.html @@ -0,0 +1,63 @@ + +Reference for sticky elements inside fixed ancestors shouldn't account for scroll + + +
+
+
+
+
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html new file mode 100644 index 00000000000..3cf332abb37 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/position-sticky-fixed-ancestor.html @@ -0,0 +1,86 @@ + + +Sticky elements inside fixed ancestors shouldn't account for scroll + + + + + + + + + +
+
+
+
+
+
+
+ + + + diff --git a/tests/wpt/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html b/tests/wpt/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html new file mode 100644 index 00000000000..ee91178ff6f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/resources/position-sticky-fixed-ancestor-iframe-child.html @@ -0,0 +1,61 @@ + + + +
+
+
+
+
+
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-height.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-height.html index 4e35eaf786a..c09c404617e 100644 --- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-height.html +++ b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/line-height.html @@ -23,7 +23,7 @@ runPropertyTests('line-height', [ { syntax: '', specified: assert_is_equal_with_range_handling, - computed: (_, result) => assert_is_unit('px', result) + computed: (_, result) => assert_is_unit('number', result) }, { syntax: '', diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html new file mode 100644 index 00000000000..05b73944d66 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html @@ -0,0 +1,81 @@ + +CSSStyleSheet Disallow Import Rules + + +
+ + + diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-image.html b/tests/wpt/web-platform-tests/document-policy/experimental-features/resources/document-policy-image.html similarity index 76% rename from tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-image.html rename to tests/wpt/web-platform-tests/document-policy/experimental-features/resources/document-policy-image.html index a0008eea824..4e5b919bd11 100644 --- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/feature-policy-image.html +++ b/tests/wpt/web-platform-tests/document-policy/experimental-features/resources/document-policy-image.html @@ -3,7 +3,7 @@ diff --git a/tests/wpt/web-platform-tests/document-policy/reporting/unsized-media-reporting.html.headers b/tests/wpt/web-platform-tests/document-policy/reporting/unsized-media-reporting.html.headers new file mode 100644 index 00000000000..d73d2520cb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/document-policy/reporting/unsized-media-reporting.html.headers @@ -0,0 +1 @@ +Document-Policy: no-unsized-media diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/unsized-media.tentative.https.sub.html.headers b/tests/wpt/web-platform-tests/feature-policy/experimental-features/unsized-media.tentative.https.sub.html.headers deleted file mode 100644 index db2dcbc1929..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/experimental-features/unsized-media.tentative.https.sub.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy: unsized-media 'none' diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/unsized-media-reporting.html.headers b/tests/wpt/web-platform-tests/feature-policy/reporting/unsized-media-reporting.html.headers deleted file mode 100644 index db2dcbc1929..00000000000 --- a/tests/wpt/web-platform-tests/feature-policy/reporting/unsized-media-reporting.html.headers +++ /dev/null @@ -1 +0,0 @@ -Feature-Policy: unsized-media 'none' diff --git a/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.https.any.js b/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.https.any.js index e79b982c2b7..c9b5b7502f4 100644 --- a/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.https.any.js +++ b/tests/wpt/web-platform-tests/fetch/cross-origin-resource-policy/fetch.https.any.js @@ -1,3 +1,4 @@ +// META: timeout=long // META: global=window,worker // META: script=/common/get-host-info.sub.js diff --git a/tests/wpt/web-platform-tests/fonts/math/largeop-displayoperatorminheight7000-2AFF-italiccorrection5000.woff b/tests/wpt/web-platform-tests/fonts/math/largeop-displayoperatorminheight7000-2AFF-italiccorrection5000.woff new file mode 100644 index 0000000000000000000000000000000000000000..601a424a94b3090c1a1796c18f6557abe716c5d0 GIT binary patch literal 1436 zcmZXUdo&bS9LMiG%*0HY2|I?tST^rWOtMsKQsc3CEMrjzGmJ@Typox$X3Y#Dw6n@1 z*>)7FEw7V9ikcyD${E<#s&~mqe}g-D1M?4o;eN1x@*vzuswW^5Y|Hk!5H%ij4z1c@FSrnhh##(RTr+v zCNB0!BHT9$dbA+a)eK-KEQw%q*=#Tt;dj;O-n*fc$Pu0hq0PCmbu^J?XJeogA>89> zG_eru--Cmh|N2Erg+gXxfG{Penwp?2*(k7`j%3230Qi17#hQ;JQaXyo`C{?e69ZDQ zn4^})OJLXV=%`-&wN5-uvF`2$e1}}jV7&U~9gb>+^;nNK2gW8qwt{sPmh|Oyd$!Uj z?RP>N#H6`tM#8fVHV4}&cybPdLumUA(AwPjW-ep`y zMjjaqpP0{T+}F}BLD>fwCe{ypf1z-GkGZSGxI3B?|j>ixkWS7Uo@N{YF6KJBm3{3Hst5$=hZxkFD9xB?5i~JeEi#>SigYeSBJwU z=NS1{PFa-;f@{5^RVEhYB=3tI4=fLPZ!AAr%sOkCQ8yCXw!-3ads)1g(3_jj#h!GS zT<+GOYasEu_B3+wn>2TwfU+P1;s?K+wl|h-Xr)45xUl3rXWL*mw&+kv^FaBlCU?|& zE}Z{k*L_8GwPMB#dz^tdLFlA(Nk*;>#%Id1- zg!IL#X0@Gb9|~cjkCI4Hggm2{u*gAYE1AnRwWs=DQI$U=NkcRGzIagwzAY zMVbAq%1Sj-u5X)UeJM3ri)g8)DIqZk;ds8>!I)WF6F6svJ&q1D^_}ha_t_~GD676D zY`bvV{gWk=d zM_sSJ9;_#!PZ`_{J>bd(_Ng^p35o*Q3v#`6Z60M0cQo^|bc+Q0HIn8vE6i}o8hK@X z`Cz-_1czu@gWWcpFcAL;ai`01q2*3bH(c*UjN?ahuY4;A4+Ru zbCNnTV+j&rwm|rkrkq-JEoQ4Xvc>3P(LzMdILEeN>`SX3^*n;JPM0Y@w1)NuZnYWH zPWSk^)8bMX>)}q3%-XQSf>Qyy1B*6&<(-YZBCR_)G5p9$+|gt^HFWwyyptR25+Tye zQKwjy;AHXa@iumDW!~p^$!2qbBzp0;FvfhP`Xwoc4m@vR8UMZ6k#M2nayvo6ZcTP` zl8CkAke<;SOOy0as0a%2We)X_lAe>x#hkoBOzJehub5r3l<`{?N-Cx-AeCOP@wuJc7y#7pafq1R%K6r9-it{$5R{YFSR7 s!+lhfQ>?~G^2fLu&rRl-U7#&nM+6Y_@Hd+J3>N;R*dElBeh_NvA3C8i{{R30 literal 0 HcmV?d00001 diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm.html index d31e2416701..e355aa20253 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm.html +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/form-submission-algorithm.html @@ -143,5 +143,14 @@ async_test(t => { assert_false(wasLoaded, 'Make sure the first loading is ongoing.'); form.submit(); }, 'Cannot navigate (after constructing the entry list)'); + +promise_test(async () => { + let form = populateForm(''); + let iframe = form.previousSibling; + let event; + form.submit(); + await loadPromise(iframe); + assert_true(iframe.contentWindow.location.href.includes("?")); +}, 'Submission URL should always have a non-null query part'); diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist index 99a6309956e..65494c70cfb 100644 --- a/tests/wpt/web-platform-tests/lint.whitelist +++ b/tests/wpt/web-platform-tests/lint.whitelist @@ -667,7 +667,6 @@ MISSING-LINK: css/geometry/*.worker.js MISSING-LINK: css/filter-effects/*.any.js # Tests that use WebKit/Blink testing APIs -LAYOUTTESTS APIS: import-maps/resources/jest-test-helper.js LAYOUTTESTS APIS: import-maps/common/resources/common-test-helper.js LAYOUTTESTS APIS: resources/chromium/enable-hyperlink-auditing.js LAYOUTTESTS APIS: resources/chromium/generic_sensor_mocks.js diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html index da7574ac4d0..021512f940f 100644 --- a/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-2.html @@ -20,6 +20,10 @@ font-family: largeop-displayoperatorminheight2000-2AFF-italiccorrection3000; src: url("/fonts/math/largeop-displayoperatorminheight2000-2AFF-italiccorrection3000.woff"); } + @font-face { + font-family: largeop-displayoperatorminheight7000-2AFF-italiccorrection5000; + src: url("/fonts/math/largeop-displayoperatorminheight7000-2AFF-italiccorrection5000.woff"); + } @@ -98,7 +112,7 @@

-

NonNull Italic Correction

+

NonNull Italic Correction (MathGlyphVariantRecord)

@@ -130,5 +144,37 @@

+

NonNull Italic Correction (GlyphAssembly)

+

+ + + ⫿ + + + + + + ⫿ + + + + + + ⫿ + + + + + + + ⫿ + + + + + + + +

diff --git a/tests/wpt/web-platform-tests/mathml/relations/html5-tree/tabindex-001.html b/tests/wpt/web-platform-tests/mathml/relations/html5-tree/tabindex-001.html index 8f853688141..9c7c9c2e2ce 100644 --- a/tests/wpt/web-platform-tests/mathml/relations/html5-tree/tabindex-001.html +++ b/tests/wpt/web-platform-tests/mathml/relations/html5-tree/tabindex-001.html @@ -12,13 +12,13 @@ window.addEventListener("load", function() { test(() => { const mrow = document.getElementById('mrow'); - assert_equals(mrow.tabIndex, -1, "no attribute"); + assert_equals(mrow.tabIndex, 0, "no attribute"); mrow.setAttribute("tabindex", "invalid"); assert_equals(mrow.getAttribute("tabindex"), "invalid"); - assert_equals(mrow.tabIndex, -1, "invalid"); + assert_equals(mrow.tabIndex, 0, "invalid"); mrow.setAttribute("tabindex", "9999999999"); assert_equals(mrow.getAttribute("tabindex"), "9999999999"); - assert_equals(mrow.tabIndex, -1, "too large integer"); + assert_equals(mrow.tabIndex, 0, "too large integer"); }, "default and invalid values on mrow"); test(() => { const mrowLink = document.getElementById('mrow-link'); diff --git a/tests/wpt/web-platform-tests/mathml/tools/largeop.py b/tests/wpt/web-platform-tests/mathml/tools/largeop.py index 73d967689bb..58ce7aebcf4 100644 --- a/tests/wpt/web-platform-tests/mathml/tools/largeop.py +++ b/tests/wpt/web-platform-tests/mathml/tools/largeop.py @@ -30,3 +30,34 @@ g.width = mathfont.em + v2 g.italicCorrection = v2 f[nAryWhiteVerticalBarCodePoint].verticalVariants = "uni2AFF uni2AFF.display" mathfont.save(f) + +v1 = 7 * mathfont.em +v2 = 5 * mathfont.em +f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2)) +f.copyright = "Copyright (c) 2020 Igalia S.L." +f.math.DisplayOperatorMinHeight = v1 +f.math.MinConnectorOverlap = 0 +mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint) +g = f.createChar(-1, "uni2AFF.bot") +mathfont.drawRectangleGlyph(g, + width = 2 * mathfont.em, + ascent = mathfont.em) +g = f.createChar(-1, "uni2AFF.ext") +mathfont.drawRectangleGlyph(g, + width = mathfont.em, + ascent = 2 * mathfont.em, + padding_left = mathfont.em) +g = f.createChar(-1, "uni2AFF.top") +mathfont.drawRectangleGlyph(g, + width = v2 + mathfont.em, + ascent = mathfont.em, + padding_left = mathfont.em) +f[nAryWhiteVerticalBarCodePoint].verticalVariants = "uni2AFF" +# Part: (glyphName, isExtender, startConnector, endConnector, fullAdvance) +f[nAryWhiteVerticalBarCodePoint].verticalComponents = \ + (("uni2AFF.bot", False, 0, mathfont.em / 2, mathfont.em), + ("uni2AFF.ext", True, mathfont.em / 2, mathfont.em / 2, 2 * mathfont.em), + ("uni2AFF.top", False, mathfont.em / 2, 0, mathfont.em) + ); +f[nAryWhiteVerticalBarCodePoint].verticalComponentItalicCorrection = v2 +mathfont.save(f) diff --git a/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py b/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py index 7664c6d2434..53633c91504 100644 --- a/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py +++ b/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py @@ -27,14 +27,14 @@ def create(aName): mathFont[ord(" ")].verticalVariants = "space" return mathFont -def drawRectangleGlyph(aGlyph, aWidth, aAscent, aDescent): - p = aGlyph.glyphPen() - p.moveTo(0, -aDescent) - p.lineTo(0, aAscent) - p.lineTo(aWidth, aAscent) - p.lineTo(aWidth, -aDescent) +def drawRectangleGlyph(glyph, width, ascent, descent = 0, padding_left = 0): + p = glyph.glyphPen() + p.moveTo(padding_left, -descent) + p.lineTo(padding_left, ascent) + p.lineTo(padding_left + width, ascent) + p.lineTo(padding_left + width, -descent) p.closePath(); - aGlyph.width = aWidth + glyph.width = padding_left + width def createSquareGlyph(aFont, aCodePoint): g = aFont.createChar(aCodePoint) diff --git a/tests/wpt/web-platform-tests/origin-policy/content-security/manifest-404.https.html b/tests/wpt/web-platform-tests/origin-policy/bad-server/manifest-404.https.html similarity index 64% rename from tests/wpt/web-platform-tests/origin-policy/content-security/manifest-404.https.html rename to tests/wpt/web-platform-tests/origin-policy/bad-server/manifest-404.https.html index be738cc1445..51436be6766 100644 --- a/tests/wpt/web-platform-tests/origin-policy/content-security/manifest-404.https.html +++ b/tests/wpt/web-platform-tests/origin-policy/bad-server/manifest-404.https.html @@ -1,6 +1,6 @@ -Missing manifest file. +Origin policy manifests delivered with a 404 status code must be ignored @@ -9,9 +9,9 @@ diff --git a/tests/wpt/web-platform-tests/origin-policy/content-security/manifest-mimetype.https.html b/tests/wpt/web-platform-tests/origin-policy/bad-server/manifest-mimetype.https.html similarity index 64% rename from tests/wpt/web-platform-tests/origin-policy/content-security/manifest-mimetype.https.html rename to tests/wpt/web-platform-tests/origin-policy/bad-server/manifest-mimetype.https.html index 1a450776022..5231a438764 100644 --- a/tests/wpt/web-platform-tests/origin-policy/content-security/manifest-mimetype.https.html +++ b/tests/wpt/web-platform-tests/origin-policy/bad-server/manifest-mimetype.https.html @@ -1,6 +1,6 @@ -Valid "content_security/policies" member must be ignored +Origin policy manifests served with the wrong MIME type must be ignored @@ -11,6 +11,7 @@ "use strict"; runTestsInSubframe({ hostname: "op100", - testJS: "resources/allow-unsafe-eval.mjs" + testJS: "../content-security/resources/allow-unsafe-eval.mjs", + expectedIds: [] }); diff --git a/tests/wpt/web-platform-tests/resources/chromium/sms_mock.js b/tests/wpt/web-platform-tests/resources/chromium/sms_mock.js deleted file mode 100644 index 13d12da65df..00000000000 --- a/tests/wpt/web-platform-tests/resources/chromium/sms_mock.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -const SmsProvider = (() => { - - class MockSmsReceiver { - - constructor() { - this.mojoReceiver_ = new blink.mojom.SmsReceiverReceiver(this); - - this.interceptor_ = - new MojoInterfaceInterceptor(blink.mojom.SmsReceiver.$interfaceName); - - this.interceptor_.oninterfacerequest = (e) => { - this.mojoReceiver_.$.bindHandle(e.handle); - } - this.interceptor_.start(); - - this.returnValues_ = {}; - } - - async receive() { - let call = this.returnValues_.receive ? - this.returnValues_.receive.shift() : null; - if (!call) - return; - return call(); - } - - async abort() {} - - pushReturnValuesForTesting(callName, value) { - this.returnValues_[callName] = this.returnValues_[callName] || []; - this.returnValues_[callName].push(value); - return this; - } - - } - - const mockSmsReceiver = new MockSmsReceiver(); - - class SmsProviderChromium { - constructor() { - Object.freeze(this); // Make it immutable. - } - - pushReturnValuesForTesting(callName, callback) { - mockSmsReceiver.pushReturnValuesForTesting(callName, callback); - } - } - - return SmsProviderChromium; -})(); diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js index ddbfd4c83aa..428ca0a5cbc 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js @@ -238,6 +238,8 @@ class MockRuntime { // Currently active hit test subscriptons. this.hitTestSubscriptions_ = new Map(); + // Currently active transient hit test subscriptions. + this.transientHitTestSubscriptions_ = new Map(); // ID of the next subscription to be assigned. this.next_hit_test_id_ = 1; @@ -687,6 +689,25 @@ class MockRuntime { }); } + subscribeToHitTestForTransientInput(profileName, entityTypes, ray){ + if (!this.supportedModes_.includes(device.mojom.XRSessionMode.kImmersiveAr)) { + // Reject outside of AR. + return Promise.resolve({ + result : device.mojom.SubscribeToHitTestResult.FAILURE_GENERIC, + subscriptionId : 0 + }); + } + + // Store the subscription information as-is: + const id = this.next_hit_test_id_++; + this.transientHitTestSubscriptions_.set(id, { profileName, entityTypes, ray }); + + return Promise.resolve({ + result : device.mojom.SubscribeToHitTestResult.SUCCESS, + subscriptionId : id + }); + } + // Utility function requestRuntimeSession(sessionOptions) { return this.runtimeSupportsSession(sessionOptions).then((result) => { @@ -769,11 +790,10 @@ class MockRuntime { const mojo_from_native_origin = this._getMojoFromNativeOrigin(subscription.nativeOriginInformation); if (!mojo_from_native_origin) continue; - const ray_origin = {x: subscription.ray.origin.x, y: subscription.ray.origin.y, z: subscription.ray.origin.z, w: 1}; - const ray_direction = {x: subscription.ray.direction.x, y: subscription.ray.direction.y, z: subscription.ray.direction.z, w: 0}; - - const mojo_ray_origin = XRMathHelper.transform_by_matrix(mojo_from_native_origin, ray_origin); - const mojo_ray_direction = XRMathHelper.transform_by_matrix(mojo_from_native_origin, ray_direction); + const [mojo_ray_origin, mojo_ray_direction] = this._transformRayToMojoSpace( + subscription.ray, + mojo_from_native_origin + ); const results = this._hitTestWorld(mojo_ray_origin, mojo_ray_direction, subscription.entityTypes); @@ -783,6 +803,60 @@ class MockRuntime { frameData.hitTestSubscriptionResults.results.push(result); } + + // Transient hit test: + const mojo_from_viewer = this._getMojoFromViewer(); + + for (const [id, subscription] of this.transientHitTestSubscriptions_) { + const result = new device.mojom.XRHitTestTransientInputSubscriptionResultData(); + result.subscriptionId = id; + result.inputSourceIdToHitTestResults = new Map(); + + // Find all input sources that match the profile name: + const matching_input_sources = Array.from(this.input_sources_.values()) + .filter(input_source => input_source.profiles_.includes(subscription.profileName)); + + for (const input_source of matching_input_sources) { + const mojo_from_native_origin = this._getMojoFromInputSource(mojo_from_viewer, input_source); + + const [mojo_ray_origin, mojo_ray_direction] = this._transformRayToMojoSpace( + subscription.ray, + mojo_from_native_origin + ); + + const results = this._hitTestWorld(mojo_ray_origin, mojo_ray_direction, subscription.entityTypes); + + result.inputSourceIdToHitTestResults.set(input_source.source_id_, results); + } + + frameData.hitTestSubscriptionResults.transientInputResults.push(result); + } + } + + // Returns 2-element array [origin, direction] of a ray in mojo space. + // |ray| is expressed relative to native origin. + _transformRayToMojoSpace(ray, mojo_from_native_origin) { + const ray_origin = { + x: ray.origin.x, + y: ray.origin.y, + z: ray.origin.z, + w: 1 + }; + const ray_direction = { + x: ray.direction.x, + y: ray.direction.y, + z: ray.direction.z, + w: 0 + }; + + const mojo_ray_origin = XRMathHelper.transform_by_matrix( + mojo_from_native_origin, + ray_origin); + const mojo_ray_direction = XRMathHelper.transform_by_matrix( + mojo_from_native_origin, + ray_direction); + + return [mojo_ray_origin, mojo_ray_direction]; } // Hit tests the passed in ray (expressed as origin and direction) against the mocked world data. @@ -933,17 +1007,17 @@ class MockRuntime { } _getMojoFromInputSource(mojo_from_viewer, input_source) { - if(input_source.target_ray_mode_ === 'gaze') { // XRTargetRayMode::GAZING + if (input_source.target_ray_mode_ === 'gaze') { // XRTargetRayMode::GAZING // If the pointer origin is gaze, then the result is // just mojo_from_viewer. return mojo_from_viewer; - } else if(input_source.target_ray_mode_ === 'tracked-pointer') { // XRTargetRayMode:::POINTING + } else if (input_source.target_ray_mode_ === 'tracked-pointer') { // XRTargetRayMode:::POINTING // If the pointer origin is tracked-pointer, the result is just // mojo_from_input*input_from_pointer. return XRMathHelper.mul4x4( input_source.mojo_from_input_.matrix, input_source.input_from_pointer_.matrix); - } else if(input_source.target_ray_mode_ === 'screen') { // XRTargetRayMode::TAPPING + } else if (input_source.target_ray_mode_ === 'screen') { // XRTargetRayMode::TAPPING // If the pointer origin is screen, the input_from_pointer is // equivalent to viewer_from_pointer and the result is // mojo_from_viewer*viewer_from_pointer. @@ -951,20 +1025,11 @@ class MockRuntime { mojo_from_viewer, input_source.input_from_pointer_.matrix); } else { - return null + return null; } } - _getMojoFromNativeOrigin(nativeOriginInformation) { - const identity = function() { - return [ - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 - ]; - }; - + _getMojoFromViewer() { const transform = { position: [ this.pose_.position.x, @@ -977,7 +1042,20 @@ class MockRuntime { this.pose_.orientation.w], }; - const mojo_from_viewer = getMatrixFromTransform(transform) + return getMatrixFromTransform(transform); + } + + _getMojoFromNativeOrigin(nativeOriginInformation) { + const identity = function() { + return [ + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + ]; + }; + + const mojo_from_viewer = this._getMojoFromViewer(); if (nativeOriginInformation.$tag == device.mojom.XRNativeOriginInformation.Tags.inputSourceId) { if (!this.input_sources_.has(nativeOriginInformation.inputSourceId)) { @@ -1026,7 +1104,7 @@ class MockXRInputSource { this.handedness_ = fakeInputSourceInit.handedness; this.target_ray_mode_ = fakeInputSourceInit.targetRayMode; - if(fakeInputSourceInit.pointerOrigin == null) { + if (fakeInputSourceInit.pointerOrigin == null) { throw new TypeError("FakeXRInputSourceInit.pointerOrigin is required."); } diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js index ff40847a1fc..4f8ec0d1a66 100644 --- a/tests/wpt/web-platform-tests/resources/idlharness.js +++ b/tests/wpt/web-platform-tests/resources/idlharness.js @@ -2746,10 +2746,19 @@ IdlInterface.prototype.test_object = function(desc) exception = e; } - var expected_typeof = - this.members.some(function(member) { return member.legacycaller; }) - ? "function" - : "object"; + var expected_typeof; + if (this.name == "HTMLAllCollection") + { + // Willful violation of JS. :( + expected_typeof = "undefined"; + } else if (this.members.some(function(member) { return member.legacycaller; })) + { + expected_typeof = "function"; + } + else + { + expected_typeof = "object"; + } this.test_primary_interface_of(desc, obj, exception, expected_typeof); @@ -2911,7 +2920,15 @@ IdlInterface.prototype.test_interface_of = function(desc, obj, exception, expect } if (!thrown) { - this.array.assert_type_is(property, member.idlType); + if (this.name == "Document" && member.name == "all") + { + // Willful violation of JS :( + assert_equals(typeof property, "undefined"); + } + else + { + this.array.assert_type_is(property, member.idlType); + } } } if (member.type == "operation") diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js index ce043a287f7..8d3b3e9dd6b 100644 --- a/tests/wpt/web-platform-tests/resources/testharness.js +++ b/tests/wpt/web-platform-tests/resources/testharness.js @@ -1483,7 +1483,9 @@ policies and contribution forms [3]. function _assert_inherits(name) { return function (object, property_name, description) { - assert(typeof object === "object" || typeof object === "function", + assert(typeof object === "object" || typeof object === "function" || + // Willful violation of JS. :( + String(object) === "[object HTMLAllCollection]", name, description, "provided value is not an object"); diff --git a/tests/wpt/web-platform-tests/sms/README.md b/tests/wpt/web-platform-tests/sms/README.md deleted file mode 100644 index 1f34178beac..00000000000 --- a/tests/wpt/web-platform-tests/sms/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# SMS Receiver API - -This directory contains tests for the SMS Receiver API. For more details, refer to [this README file](https://cs.chromium.org/chromium/src/content/browser/sms/README.md). diff --git a/tests/wpt/web-platform-tests/sms/detached-iframe.https.html b/tests/wpt/web-platform-tests/sms/detached-iframe.https.html deleted file mode 100644 index bde6e25b80c..00000000000 --- a/tests/wpt/web-platform-tests/sms/detached-iframe.https.html +++ /dev/null @@ -1,24 +0,0 @@ - - -sms on DOMWindow of detached iframe - - - - - diff --git a/tests/wpt/web-platform-tests/sms/idlharness.https.any.js b/tests/wpt/web-platform-tests/sms/idlharness.https.any.js deleted file mode 100644 index 0c31744937c..00000000000 --- a/tests/wpt/web-platform-tests/sms/idlharness.https.any.js +++ /dev/null @@ -1,30 +0,0 @@ -// META: script=/resources/WebIDLParser.js -// META: script=/resources/idlharness.js - -// https://github.com/samuelgoto/sms-receiver - -'use strict'; - -promise_test(async (t) => { - const srcs = ['./sms_receiver.idl', - '/interfaces/dom.idl', - '/interfaces/html.idl']; - - const [sms, dom, html] = await Promise.all( - srcs.map(i => fetch(i).then(r => r.text())) - ); - - const idl_array = new IdlArray(); - idl_array.add_idls(sms); - idl_array.add_dependency_idls(dom); - idl_array.add_dependency_idls(html); - - idl_array.add_objects({ - SmsReceiver: ['navigator.sms'], - }); - - idl_array.add_objects({ Navigator: ['navigator'] }) - - idl_array.test(); -}, 'Test IDL implementation of the SMS Receiver API'); - diff --git a/tests/wpt/web-platform-tests/sms/interceptor.https.html b/tests/wpt/web-platform-tests/sms/interceptor.https.html deleted file mode 100644 index 6dff790309f..00000000000 --- a/tests/wpt/web-platform-tests/sms/interceptor.https.html +++ /dev/null @@ -1,134 +0,0 @@ - - -Tests the SMS Receiver API - - - - - diff --git a/tests/wpt/web-platform-tests/sms/resources/helper.js b/tests/wpt/web-platform-tests/sms/resources/helper.js deleted file mode 100644 index d34d6db3a2e..00000000000 --- a/tests/wpt/web-platform-tests/sms/resources/helper.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -// These tests rely on the User Agent providing an implementation of -// the sms retriever. -// -// In Chromium-based browsers this implementation is provided by a polyfill -// in order to reduce the amount of test-only code shipped to users. To enable -// these tests the browser must be run with these options: -// -// --enable-blink-features=MojoJS,MojoJSTest - -const loadChromiumResources = async () => { - if (!window.MojoInterfaceInterceptor) { - // Do nothing on non-Chromium-based browsers or when the Mojo bindings are - // not present in the global namespace. - return; - } - - const resources = [ - '/gen/layout_test_data/mojo/public/js/mojo_bindings_lite.js', - '/gen/mojo/public/mojom/base/time.mojom-lite.js', - '/gen/third_party/blink/public/mojom/sms/sms_receiver.mojom-lite.js', - '/resources/chromium/sms_mock.js', - ]; - - await Promise.all(resources.map(path => { - const script = document.createElement('script'); - script.src = path; - script.async = false; - const promise = new Promise((resolve, reject) => { - script.onload = resolve; - script.onerror = reject; - }); - document.head.appendChild(script); - return promise; - })); - - Status.kSuccess = blink.mojom.SmsStatus.kSuccess; - Status.kTimeout = blink.mojom.SmsStatus.kTimeout; - Status.kCancelled = blink.mojom.SmsStatus.kCancelled; -}; - -const Status = {}; - -async function create_sms_provider() { - if (typeof SmsProvider === 'undefined') { - await loadChromiumResources(); - } - if (typeof SmsProvider == 'undefined') { - throw new Error('Mojo testing interface is not available.'); - } - return new SmsProvider(); -} - -function receive() { - throw new Error("expected to be overriden by tests"); -} - -function expect(call) { - return { - async andReturn(callback) { - const mock = await create_sms_provider(); - mock.pushReturnValuesForTesting(call.name, callback); - } - } -} diff --git a/tests/wpt/web-platform-tests/sms/resources/iframe.html b/tests/wpt/web-platform-tests/sms/resources/iframe.html deleted file mode 100644 index 38efb15a748..00000000000 --- a/tests/wpt/web-platform-tests/sms/resources/iframe.html +++ /dev/null @@ -1,25 +0,0 @@ - - diff --git a/tests/wpt/web-platform-tests/sms/sms-iframe.https.html b/tests/wpt/web-platform-tests/sms/sms-iframe.https.html deleted file mode 100644 index 0809f2426d9..00000000000 --- a/tests/wpt/web-platform-tests/sms/sms-iframe.https.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - diff --git a/tests/wpt/web-platform-tests/sms/sms_receiver.idl b/tests/wpt/web-platform-tests/sms/sms_receiver.idl deleted file mode 100644 index ca8cfdd798c..00000000000 --- a/tests/wpt/web-platform-tests/sms/sms_receiver.idl +++ /dev/null @@ -1,24 +0,0 @@ -[SecureContext] -interface mixin NavigatorSMS { - readonly attribute SMSReceiver sms; -}; - -Navigator includes NavigatorSMS; - -[ - SecureContext, - Exposed=(Window,DedicatedWorker)] -interface SMS { - readonly attribute DOMString content; -}; - -dictionary SMSReceiverOptions { - AbortSignal signal; -}; - -[ - SecureContext, - Exposed=Window -] interface SMSReceiver { - Promise receive(optional SMSReceiverOptions options); -}; diff --git a/tests/wpt/web-platform-tests/tools/manifest/item.py b/tests/wpt/web-platform-tests/tools/manifest/item.py index 30dd4572ab6..72802758941 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/item.py +++ b/tests/wpt/web-platform-tests/tools/manifest/item.py @@ -205,7 +205,7 @@ class TestharnessTest(URLManifestItem): if self.jsshell: rv[-1]["jsshell"] = True if self.script_metadata: - rv[-1]["script_metadata"] = self.script_metadata + rv[-1]["script_metadata"] = [(k.decode('utf8'), v.decode('utf8')) for (k,v) in self.script_metadata] return rv diff --git a/tests/wpt/web-platform-tests/tools/manifest/manifest.py b/tests/wpt/web-platform-tests/tools/manifest/manifest.py index 74d80209e64..f79edc84352 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/manifest.py @@ -391,7 +391,7 @@ def write(manifest, manifest_path): dir_name = os.path.dirname(manifest_path) if not os.path.exists(dir_name): os.makedirs(dir_name) - with open(manifest_path, "wb") as f: + with open(manifest_path, "w") as f: # Use ',' instead of the default ', ' separator to prevent trailing # spaces: https://docs.python.org/2/library/json.html#json.dump json.dump(manifest.to_json(caller_owns_obj=True), f, diff --git a/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py b/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py index 580a0ab7884..15dc9151248 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py +++ b/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py @@ -2,7 +2,7 @@ import hashlib import re import os from collections import deque -from six import binary_type, PY3, iteritems +from six import binary_type, iteritems, text_type from six.moves.urllib.parse import urljoin from fnmatch import fnmatch @@ -308,11 +308,7 @@ class SourceFile(object): content = f.read() data = b"".join((b"blob ", b"%d" % len(content), b"\0", content)) - hash_str = hashlib.sha1(data).hexdigest() # type: str - if PY3: - self._hash = hash_str.encode("ascii") - else: - self._hash = hash_str + self._hash = text_type(hashlib.sha1(data).hexdigest()) return self._hash diff --git a/tests/wpt/web-platform-tests/tools/manifest/tests/test_sourcefile.py b/tests/wpt/web-platform-tests/tools/manifest/tests/test_sourcefile.py index 9738906fa2d..6ee6e2b3dff 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/tests/test_sourcefile.py +++ b/tests/wpt/web-platform-tests/tools/manifest/tests/test_sourcefile.py @@ -832,4 +832,4 @@ def test_reftest_fuzzy_multi(fuzzy, expected): def test_hash(): s = SourceFile("/", "foo", "/", contents=b"Hello, World!") - assert b"b45ef6fec89518d314f546fd6c3025367b721684" == s.hash + assert "b45ef6fec89518d314f546fd6c3025367b721684" == s.hash diff --git a/tests/wpt/web-platform-tests/tools/manifest/typedata.py b/tests/wpt/web-platform-tests/tools/manifest/typedata.py index 4ca8b4d595b..13a041e54c3 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/typedata.py +++ b/tests/wpt/web-platform-tests/tools/manifest/typedata.py @@ -256,6 +256,18 @@ class TypeData(TypeDataType): """ json_rv = self._json_data.copy() + def safe_sorter(element): + # type: (Tuple[str,str]) -> Tuple[str,str] + """ key function to sort lists with None values. + + Python3 is more strict typewise. Comparing None and str for example is valid + in python2 but throws an exception in python3. + """ + if element and not element[0]: + return ("", element[1]) + else: + return element + stack = [(self._data, json_rv, tuple())] # type: List[Tuple[Dict[Text, Any], Dict[Text, Any], Tuple[Text, ...]]] while stack: data_node, json_node, par_full_key = stack.pop() @@ -263,7 +275,8 @@ class TypeData(TypeDataType): full_key = par_full_key + (k,) if isinstance(v, set): assert k not in json_node - json_node[k] = [self._hashes.get(full_key)] + [t for t in sorted(test.to_json() for test in v)] + json_node[k] = [self._hashes.get( + full_key)] + [t for t in sorted((test.to_json() for test in v), key=safe_sorter)] else: json_node[k] = json_node.get(k, {}).copy() stack.append((v, json_node[k], full_key)) diff --git a/tests/wpt/web-platform-tests/tools/manifest/vcs.py b/tests/wpt/web-platform-tests/tools/manifest/vcs.py index ce31acbfb66..05afdf39b22 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/vcs.py +++ b/tests/wpt/web-platform-tests/tools/manifest/vcs.py @@ -63,7 +63,7 @@ class GitHasher(object): assert self.git is not None # note that git runs the command with tests_root as the cwd, which may # not be the root of the git repo (e.g., within a browser repo) - cmd = [b"diff-index", b"--relative", b"--no-renames", b"--name-only", b"-z", b"HEAD"] + cmd = ["diff-index", "--relative", "--no-renames", "--name-only", "-z", "HEAD"] data = self.git(*cmd) return set(data.split("\0")) diff --git a/tests/wpt/web-platform-tests/tools/wpt/requirements.txt b/tests/wpt/web-platform-tests/tools/wpt/requirements.txt index b4500579db5..3baefa50ea9 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wpt/requirements.txt @@ -1 +1,2 @@ requests==2.23.0 +mozinfo==1.2.1 # https://bugzilla.mozilla.org/show_bug.cgi?id=1621226 diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py index b3e85fc293c..f897b688ad6 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py +++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_wpt.py @@ -1,5 +1,6 @@ import errno import os +import platform import shutil import socket import subprocess @@ -43,8 +44,9 @@ def get_persistent_manifest_path(): @pytest.fixture(scope="module", autouse=True) def init_manifest(): - if sys.version_info >= (3,): - pytest.xfail(reason="broken on Py3") + # See https://github.com/pypa/virtualenv/issues/1710 + if sys.version_info[0] >= 3 and platform.system() == "Windows": + pytest.xfail(reason="virtualenv activation fails in Windows for python3") with pytest.raises(SystemExit) as excinfo: wpt.main(argv=["manifest", "--no-download", "--path", get_persistent_manifest_path()]) diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt index 6cd14095d9b..c7ddcd75456 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt @@ -1,5 +1,5 @@ html5lib==1.0.1 -mozinfo==1.1.0 +mozinfo==1.2.1 # https://bugzilla.mozilla.org/show_bug.cgi?id=1621226 mozlog==6.0 mozdebug==0.2 # Pillow 7 requires Python 3 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py index e64f5ad8945..5d2bcf075d0 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py @@ -1,5 +1,3 @@ -import sys - from os.path import join, dirname import mock @@ -20,11 +18,7 @@ def test_load_active_product(product): # test passes if it doesn't throw -@all_products("product", marks={ - "firefox": pytest.mark.xfail(sys.platform.startswith('linux') and - sys.version_info >= (3, 8), - reason="mozinfo doesn't support Linux 3.8+") -}) +@all_products("product") def test_load_all_products(product): """test every product either loads or throws ImportError""" try: diff --git a/tests/wpt/web-platform-tests/trusted-types/HTMLScriptElement-in-xhtml-document.tentative.https.xhtml b/tests/wpt/web-platform-tests/trusted-types/HTMLScriptElement-in-xhtml-document.tentative.https.xhtml new file mode 100644 index 00000000000..6cf49f922ae --- /dev/null +++ b/tests/wpt/web-platform-tests/trusted-types/HTMLScriptElement-in-xhtml-document.tentative.https.xhtml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html b/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html new file mode 100644 index 00000000000..406efe8be33 --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html @@ -0,0 +1,113 @@ + + + + + + + + + +
+
+
+ + + + +
+ + diff --git a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states.https.html b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html similarity index 74% rename from tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states.https.html rename to tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html index 98947da2637..0678ff55cef 100644 --- a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states.https.html +++ b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_regular.https.html @@ -15,9 +15,12 @@ const fakeDeviceInitParams = { supportedFeatures: ALL_FEATURES, }; +// Creates a test method that leverages regular hit test API (as opposed to hit +// test for transient input). // |shouldSucceed| - true if the hit test request is expected to succeed, false otherwise // |endSession| - true if the test case should call session.end() prior to requesting hit test -const testFunctionGenerator = function(shouldSucceed, endSession) { +// |expectedError| - expected error name that should be returned in case shouldSucceed is false +const testFunctionGeneratorRegular = function(shouldSucceed, endSession, expectedError) { const testFunction = function(session, fakeDeviceController, t) { session.requestReferenceSpace('viewer').then((viewerRefSpace) => { @@ -39,6 +42,8 @@ const testFunctionGenerator = function(shouldSucceed, endSession) { t.step(() => { assert_false(shouldSucceed, "`requestHitTestSource` failed when it was expected to succeed, error: " + error); + assert_equals(error.name, expectedError, + "`requestHitTestSource` failed with unexpected error name"); }); }); }); @@ -48,17 +53,17 @@ const testFunctionGenerator = function(shouldSucceed, endSession) { }; xr_session_promise_test("Hit test subscription succeeds if the feature was requested", - testFunctionGenerator(/*shouldSucceed=*/true, /*endSession=*/false), + testFunctionGeneratorRegular(/*shouldSucceed=*/true, /*endSession=*/false), fakeDeviceInitParams, 'immersive-ar', { 'requiredFeatures': ['hit-test'] }); xr_session_promise_test("Hit test subscription fails if the feature was not requested", - testFunctionGenerator(/*shouldSucceed=*/false, /*endSession=*/false), + testFunctionGeneratorRegular(/*shouldSucceed=*/false, /*endSession=*/false, "NotSupportedError"), fakeDeviceInitParams, 'immersive-ar', {}); xr_session_promise_test("Hit test subscription fails if the feature was requested but the session already ended", - testFunctionGenerator(/*shouldSucceed=*/false, /*endSession=*/true), + testFunctionGeneratorRegular(/*shouldSucceed=*/false, /*endSession=*/true, "InvalidStateError"), fakeDeviceInitParams, 'immersive-ar', { 'requiredFeatures': ['hit-test'] }); diff --git a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html new file mode 100644 index 00000000000..accd4bbf70f --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_states_transient.https.html @@ -0,0 +1,67 @@ + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html new file mode 100644 index 00000000000..5d8b0322303 --- /dev/null +++ b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html @@ -0,0 +1,173 @@ + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/xhr/cors-expose-star.sub.any.js b/tests/wpt/web-platform-tests/xhr/cors-expose-star.sub.any.js new file mode 100644 index 00000000000..9d88046806c --- /dev/null +++ b/tests/wpt/web-platform-tests/xhr/cors-expose-star.sub.any.js @@ -0,0 +1,52 @@ +// META: script=../fetch/api/resources/utils.js + +const url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + "resources/top.txt", + sharedHeaders = "?pipe=header(Access-Control-Expose-Headers,*)|header(Test,X)|header(*,whoa)|" + +async_test(function() { + const headers = "header(Access-Control-Allow-Origin,*)" + var client = new XMLHttpRequest(); + client.open("GET", url + sharedHeaders + headers); + client.send(); + client.onreadystatechange = this.step_func(function () { + if (this.readyState == this.HEADERS_RECEIVED) { + assert_equals(client.getResponseHeader("test"), "X"); + assert_equals(client.getResponseHeader("set-cookie"), null); + assert_equals(client.getResponseHeader("*"), "whoa"); + this.done(); + } + }); +}, "Basic Access-Control-Expose-Headers: * support") + +async_test(function() { + const origin = location.origin, // assuming an ASCII origin + headers = "header(Access-Control-Allow-Origin," + origin + ")|header(Access-Control-Allow-Credentials,true)" + var client = new XMLHttpRequest(); + client.open("GET", url + sharedHeaders + headers); + client.withCredentials = true; + client.send(); + client.onreadystatechange = this.step_func(function () { + if (this.readyState == this.HEADERS_RECEIVED) { + assert_equals(client.getResponseHeader("content-type"), "text/plain"); // safelisted + assert_equals(client.getResponseHeader("test"), null); + assert_equals(client.getResponseHeader("set-cookie"), null); + assert_equals(client.getResponseHeader("*"), "whoa"); + this.done(); + } + }); +}, "* for credentialed fetches only matches literally") + +async_test(function() { + const headers = "header(Access-Control-Allow-Origin,*)|header(Access-Control-Expose-Headers,set-cookie\\,*)" + var client = new XMLHttpRequest(); + client.open("GET", url + sharedHeaders + headers); + client.send(); + client.onreadystatechange = this.step_func(function () { + if (this.readyState == this.HEADERS_RECEIVED) { + assert_equals(client.getResponseHeader("test"), "X"); + assert_equals(client.getResponseHeader("set-cookie"), null); + assert_equals(client.getResponseHeader("*"), "whoa"); + this.done(); + } + }); +}, "* can be one of several values") diff --git a/tests/wpt/web-platform-tests/xhr/resources/top.txt b/tests/wpt/web-platform-tests/xhr/resources/top.txt new file mode 100644 index 00000000000..83a3157d14d --- /dev/null +++ b/tests/wpt/web-platform-tests/xhr/resources/top.txt @@ -0,0 +1 @@ +top \ No newline at end of file From 8e0cdd334bb05028fe55c6d8fd71f2543e3ce0c8 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Sun, 15 Mar 2020 21:20:11 -0400 Subject: [PATCH 2/2] Delete intermittent failure. --- .../metadata/html/syntax/parsing/html5lib_tests21.html.ini | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 tests/wpt/metadata/html/syntax/parsing/html5lib_tests21.html.ini diff --git a/tests/wpt/metadata/html/syntax/parsing/html5lib_tests21.html.ini b/tests/wpt/metadata/html/syntax/parsing/html5lib_tests21.html.ini deleted file mode 100644 index d0f02e7361d..00000000000 --- a/tests/wpt/metadata/html/syntax/parsing/html5lib_tests21.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[html5lib_tests21.html?run_type=uri] - -[html5lib_tests21.html?run_type=write_single] - expected: CRASH - -[html5lib_tests21.html?run_type=write]