diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 1bdfe665e83..c82dae2db5e 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -13477,6 +13477,12 @@ {} ] ], + "payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html": [ + [ + "/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html", + {} + ] + ], "payment-request/payment-response/payerEmail-attribute-manual.https.html": [ [ "/payment-request/payment-response/payerEmail-attribute-manual.https.html", @@ -123219,6 +123225,18 @@ {} ] ], + "css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html": [ + [ + "/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html", + [ + [ + "/css/css-layout-api/green-square-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-layout-api/constraints-fixed-block-size-percentage-vrl.https.html": [ [ "/css/css-layout-api/constraints-fixed-block-size-percentage-vrl.https.html", @@ -185923,6 +185941,18 @@ {} ] ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html": [ + [ + "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html", + [ + [ + "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering-ref.html", + "==" + ] + ], + {} + ] + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-float.html": [ [ "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-float.html", @@ -185940,7 +185970,7 @@ "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html", [ [ - "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-list-item-ref.html", + "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item-ref.html", "==" ] ], @@ -188723,6 +188753,90 @@ {} ] ], + "svg/pservers/reftests/meshgradient-basic-001.svg": [ + [ + "/svg/pservers/reftests/meshgradient-basic-001.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-basic-001-ref.png", + "==" + ] + ], + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-002.svg": [ + [ + "/svg/pservers/reftests/meshgradient-basic-002.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-basic-002-ref.png", + "==" + ] + ], + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-003.svg": [ + [ + "/svg/pservers/reftests/meshgradient-basic-003.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-basic-003-ref.png", + "==" + ] + ], + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-004.svg": [ + [ + "/svg/pservers/reftests/meshgradient-basic-004.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-basic-004-ref.png", + "==" + ] + ], + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-005.svg": [ + [ + "/svg/pservers/reftests/meshgradient-basic-005.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-basic-005-ref.png", + "==" + ] + ], + {} + ] + ], + "svg/pservers/reftests/meshgradient-bicubic-001.svg": [ + [ + "/svg/pservers/reftests/meshgradient-bicubic-001.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-bicubic-001-ref.png", + "==" + ] + ], + {} + ] + ], + "svg/pservers/reftests/meshgradient-complex-001.svg": [ + [ + "/svg/pservers/reftests/meshgradient-complex-001.svg", + [ + [ + "/svg/pservers/reftests/meshgradient-complex-001-ref.png", + "==" + ] + ], + {} + ] + ], "svg/pservers/reftests/radialgradient-basic-002.svg": [ [ "/svg/pservers/reftests/radialgradient-basic-002.svg", @@ -271457,6 +271571,11 @@ {} ] ], + "css/cssom-view/support/scroll-behavior.js": [ + [ + {} + ] + ], "css/cssom-view/support/square-purple.png": [ [ {} @@ -288682,6 +288801,11 @@ {} ] ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering-ref.html": [ + [ + {} + ] + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-dynamic-update.html": [ [ {} @@ -304377,6 +304501,41 @@ {} ] ], + "svg/pservers/reftests/meshgradient-basic-001-ref.png": [ + [ + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-002-ref.png": [ + [ + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-003-ref.png": [ + [ + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-004-ref.png": [ + [ + {} + ] + ], + "svg/pservers/reftests/meshgradient-basic-005-ref.png": [ + [ + {} + ] + ], + "svg/pservers/reftests/meshgradient-bicubic-001-ref.png": [ + [ + {} + ] + ], + "svg/pservers/reftests/meshgradient-complex-001-ref.png": [ + [ + {} + ] + ], "svg/pservers/reftests/radialgradient-basic-002-ref.svg": [ [ {} @@ -317202,6 +317361,11 @@ {} ] ], + "xhr/resources/headers-www-authenticate.asis": [ + [ + {} + ] + ], "xhr/resources/headers.asis": [ [ {} @@ -325882,12 +326046,6 @@ {} ] ], - "background-fetch/dangling-markup.https.window.js": [ - [ - "/background-fetch/dangling-markup.https.window.html", - {} - ] - ], "background-fetch/fetch.https.window.js": [ [ "/background-fetch/fetch.https.window.html", @@ -331178,6 +331336,12 @@ {} ] ], + "css/css-align/inheritance.html": [ + [ + "/css/css-align/inheritance.html", + {} + ] + ], "css/css-align/self-alignment/parse-align-self-001.html": [ [ "/css/css-align/self-alignment/parse-align-self-001.html", @@ -331984,6 +332148,12 @@ {} ] ], + "css/css-break/inheritance.html": [ + [ + "/css/css-break/inheritance.html", + {} + ] + ], "css/css-cascade/all-prop-initial-xml.html": [ [ "/css/css-cascade/all-prop-initial-xml.html", @@ -332082,6 +332252,12 @@ {} ] ], + "css/css-contain/inheritance.html": [ + [ + "/css/css-contain/inheritance.html", + {} + ] + ], "css/css-counter-styles/idlharness.html": [ [ "/css/css-counter-styles/idlharness.html", @@ -332124,6 +332300,12 @@ {} ] ], + "css/css-display/inheritance.html": [ + [ + "/css/css-display/inheritance.html", + {} + ] + ], "css/css-display/parsing/display-invalid.html": [ [ "/css/css-display/parsing/display-invalid.html", @@ -334430,6 +334612,12 @@ {} ] ], + "css/css-grid/inheritance.html": [ + [ + "/css/css-grid/inheritance.html", + {} + ] + ], "css/css-grid/layout-algorithm/grid-content-distribution-must-account-for-track-sizing-001.html": [ [ "/css/css-grid/layout-algorithm/grid-content-distribution-must-account-for-track-sizing-001.html", @@ -334652,6 +334840,12 @@ {} ] ], + "css/css-lists/inheritance.html": [ + [ + "/css/css-lists/inheritance.html", + {} + ] + ], "css/css-logical/animation-001.html": [ [ "/css/css-logical/animation-001.html", @@ -334772,6 +334966,12 @@ {} ] ], + "css/css-masking/inheritance.html": [ + [ + "/css/css-masking/inheritance.html", + {} + ] + ], "css/css-masking/parsing/clip-invalid.html": [ [ "/css/css-masking/parsing/clip-invalid.html", @@ -335132,12 +335332,42 @@ {} ] ], + "css/css-ruby/inheritance.html": [ + [ + "/css/css-ruby/inheritance.html", + {} + ] + ], "css/css-ruby/line-break-around-ruby-001.html": [ [ "/css/css-ruby/line-break-around-ruby-001.html", {} ] ], + "css/css-ruby/parsing/ruby-align-invalid.html": [ + [ + "/css/css-ruby/parsing/ruby-align-invalid.html", + {} + ] + ], + "css/css-ruby/parsing/ruby-align-valid.html": [ + [ + "/css/css-ruby/parsing/ruby-align-valid.html", + {} + ] + ], + "css/css-ruby/parsing/ruby-position-invalid.html": [ + [ + "/css/css-ruby/parsing/ruby-position-invalid.html", + {} + ] + ], + "css/css-ruby/parsing/ruby-position-valid.html": [ + [ + "/css/css-ruby/parsing/ruby-position-valid.html", + {} + ] + ], "css/css-scoping/host-descendant-invalidation.html": [ [ "/css/css-scoping/host-descendant-invalidation.html", @@ -335432,6 +335662,12 @@ {} ] ], + "css/css-shapes/inheritance.html": [ + [ + "/css/css-shapes/inheritance.html", + {} + ] + ], "css/css-shapes/parsing/shape-image-threshold-invalid.html": [ [ "/css/css-shapes/parsing/shape-image-threshold-invalid.html", @@ -336458,6 +336694,12 @@ {} ] ], + "css/css-tables/width-distribution/computing-column-measure-2.html": [ + [ + "/css/css-tables/width-distribution/computing-column-measure-2.html", + {} + ] + ], "css/css-tables/width-distribution/computing-table-width-0.html": [ [ "/css/css-tables/width-distribution/computing-table-width-0.html", @@ -336518,6 +336760,12 @@ {} ] ], + "css/css-text-decor/inheritance.html": [ + [ + "/css/css-text-decor/inheritance.html", + {} + ] + ], "css/css-text-decor/text-decoration-serialization.tentative.html": [ [ "/css/css-text-decor/text-decoration-serialization.tentative.html", @@ -340618,6 +340866,12 @@ {} ] ], + "css/css-writing-modes/inheritance.html": [ + [ + "/css/css-writing-modes/inheritance.html", + {} + ] + ], "css/css-writing-modes/orthogonal-parent-shrink-to-fit-001.html": [ [ "/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001.html", @@ -341284,12 +341538,76 @@ {} ] ], + "css/cssom-view/scroll-behavior-default-css.html": [ + [ + "/css/cssom-view/scroll-behavior-default-css.html", + { + "timeout": "long" + } + ] + ], + "css/cssom-view/scroll-behavior-element.html": [ + [ + "/css/cssom-view/scroll-behavior-element.html", + { + "timeout": "long" + } + ] + ], + "css/cssom-view/scroll-behavior-main-frame-root.html": [ + [ + "/css/cssom-view/scroll-behavior-main-frame-root.html", + { + "timeout": "long" + } + ] + ], + "css/cssom-view/scroll-behavior-main-frame-window.html": [ + [ + "/css/cssom-view/scroll-behavior-main-frame-window.html", + { + "timeout": "long" + } + ] + ], + "css/cssom-view/scroll-behavior-scrollintoview-nested.html": [ + [ + "/css/cssom-view/scroll-behavior-scrollintoview-nested.html", + { + "timeout": "long" + } + ] + ], + "css/cssom-view/scroll-behavior-smooth-positions.html": [ + [ + "/css/cssom-view/scroll-behavior-smooth-positions.html", + { + "timeout": "long" + } + ] + ], "css/cssom-view/scroll-behavior-smooth.html": [ [ "/css/cssom-view/scroll-behavior-smooth.html", {} ] ], + "css/cssom-view/scroll-behavior-subframe-root.html": [ + [ + "/css/cssom-view/scroll-behavior-subframe-root.html", + { + "timeout": "long" + } + ] + ], + "css/cssom-view/scroll-behavior-subframe-window.html": [ + [ + "/css/cssom-view/scroll-behavior-subframe-window.html", + { + "timeout": "long" + } + ] + ], "css/cssom-view/scroll-no-layout-box.html": [ [ "/css/cssom-view/scroll-no-layout-box.html", @@ -342176,6 +342494,12 @@ {} ] ], + "css/motion/offset-path-serialization.html": [ + [ + "/css/motion/offset-path-serialization.html", + {} + ] + ], "css/motion/offset-supports-calc.html": [ [ "/css/motion/offset-supports-calc.html", @@ -343298,6 +343622,12 @@ {} ] ], + "dom/events/EventListener-addEventListener.sub.window.js": [ + [ + "/dom/events/EventListener-addEventListener.sub.window.html", + {} + ] + ], "dom/events/EventListener-handleEvent.html": [ [ "/dom/events/EventListener-handleEvent.html", @@ -354960,6 +355290,24 @@ {} ] ], + "fetch/api/basic/header-value-combining.any.js": [ + [ + "/fetch/api/basic/header-value-combining.any.html", + {} + ], + [ + "/fetch/api/basic/header-value-combining.any.serviceworker.html", + {} + ], + [ + "/fetch/api/basic/header-value-combining.any.sharedworker.html", + {} + ], + [ + "/fetch/api/basic/header-value-combining.any.worker.html", + {} + ] + ], "fetch/api/basic/header-value-null-byte.any.js": [ [ "/fetch/api/basic/header-value-null-byte.any.html", @@ -355160,6 +355508,24 @@ {} ] ], + "fetch/api/basic/stream-safe-creation.any.js": [ + [ + "/fetch/api/basic/stream-safe-creation.any.html", + {} + ], + [ + "/fetch/api/basic/stream-safe-creation.any.serviceworker.html", + {} + ], + [ + "/fetch/api/basic/stream-safe-creation.any.sharedworker.html", + {} + ], + [ + "/fetch/api/basic/stream-safe-creation.any.worker.html", + {} + ] + ], "fetch/api/basic/text-utf8.html": [ [ "/fetch/api/basic/text-utf8.html", @@ -360006,6 +360372,12 @@ {} ] ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html": [ + [ + "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html", + {} + ] + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-padding.html": [ [ "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-padding.html", @@ -360060,6 +360432,12 @@ {} ] ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html": [ + [ + "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html", + {} + ] + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-sans-fieldset-display.html": [ [ "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-sans-fieldset-display.html", @@ -384760,12 +385138,6 @@ {} ] ], - "payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html": [ - [ - "/payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html", - {} - ] - ], "payment-request/rejects_if_not_active.https.html": [ [ "/payment-request/rejects_if_not_active.https.html", @@ -396488,6 +396860,12 @@ {} ] ], + "shadow-dom/event-dispatch-order.tentative.html": [ + [ + "/shadow-dom/event-dispatch-order.tentative.html", + {} + ] + ], "shadow-dom/event-inside-shadow-tree.html": [ [ "/shadow-dom/event-inside-shadow-tree.html", @@ -398658,6 +399036,12 @@ {} ] ], + "svg/path/property/serialization.svg": [ + [ + "/svg/path/property/serialization.svg", + {} + ] + ], "svg/scripted/text-attrs-dxdy-have-length.svg": [ [ "/svg/scripted/text-attrs-dxdy-have-length.svg", @@ -398694,6 +399078,12 @@ {} ] ], + "svg/shapes/animatedPoints-non-animated.html": [ + [ + "/svg/shapes/animatedPoints-non-animated.html", + {} + ] + ], "svg/shapes/line-getPointAtLength.svg": [ [ "/svg/shapes/line-getPointAtLength.svg", @@ -408778,6 +409168,16 @@ {} ] ], + "xhr/getresponseheader.any.js": [ + [ + "/xhr/getresponseheader.any.html", + {} + ], + [ + "/xhr/getresponseheader.any.worker.html", + {} + ] + ], "xhr/header-user-agent-async.htm": [ [ "/xhr/header-user-agent-async.htm", @@ -440665,12 +441065,8 @@ "0b5b1cb5e94d3f27bebbb5a462bf1e823dfc57b4", "testharness" ], - "background-fetch/dangling-markup.https.window.js": [ - "764257d7d1a8eecfba6735647637055b21dcb94b", - "testharness" - ], "background-fetch/fetch.https.window.js": [ - "70dacd717a0aac009c708c1157dcfe5149a6a069", + "98ecdfa3933c40b909793100b4b9f9cccb35cb86", "testharness" ], "background-fetch/get-ids.https.window.js": [ @@ -440710,7 +441106,7 @@ "support" ], "background-fetch/service_workers/sw.js": [ - "ab2445d18b09735321fc8c85a2eb2382e44cc5f5", + "43d778c08914da6c8ff75acb819676895adbc180", "support" ], "background-fetch/update-ui.https.window.js": [ @@ -524569,6 +524965,10 @@ "71b971d3a8a18cc7cd9710ac00ffe10e4f4111e4", "testharness" ], + "css/css-align/inheritance.html": [ + "7e2fa130be24214fa8c21f58d0f88a744beb6b79", + "testharness" + ], "css/css-align/reference/ttwf-reftest-alignContent-ref.html": [ "a94c1d5e9e85dfe0aec20145b25e55dc5b1a673d", "support" @@ -528669,6 +529069,10 @@ "4d0fc7eccc45e44480b4305632ceac2068c59919", "testharness" ], + "css/css-break/inheritance.html": [ + "e0be119e4002b1d637ebdfc464d87ef88ab83106", + "testharness" + ], "css/css-break/reference/widows-orphans-001-ref.html": [ "06108ac800c19c68841f2a0e8867fb05e868c1ab", "support" @@ -530269,6 +530673,10 @@ "c4a004ff18cad24b0f709fcb6b707d7a79e5572a", "reftest" ], + "css/css-contain/inheritance.html": [ + "07378a29f39db8bdf100aa04c60cb23f556d962b", + "testharness" + ], "css/css-contain/quote-scoping-001.html": [ "8c38e45b1ace138cbb795c77fdece555967e043d", "reftest" @@ -531585,6 +531993,10 @@ "f8d6e85cee2325f3ae51a950a276430d26c04189", "testharness" ], + "css/css-display/inheritance.html": [ + "bfd072651cb6ec82cca7d9be5b6768afbc39fca0", + "testharness" + ], "css/css-display/parsing/display-invalid.html": [ "70516ad4901f684b9d0ecd49a82671172fbc8f14", "testharness" @@ -545613,6 +546025,10 @@ "2e90b460194568752c09ff94fd834deb08606fe4", "reftest" ], + "css/css-grid/inheritance.html": [ + "eee86f70300d4280531235c813589dc3c399c58c", + "testharness" + ], "css/css-grid/layout-algorithm/grid-content-distribution-must-account-for-track-sizing-001.html": [ "c1ae11feee9b84fd7ea123dc396a7a95e70e4733", "testharness" @@ -546373,6 +546789,10 @@ "94a20387442c36b5041e40194aa7ceda405a3274", "reftest" ], + "css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html": [ + "9bd9044991cdde7c113f8fdbd08a2048a77746f9", + "reftest" + ], "css/css-layout-api/constraints-fixed-block-size-percentage-vrl.https.html": [ "8c7a8c5d3ea11ac3a5ac6e4269340baa10e266a5", "reftest" @@ -546753,6 +547173,10 @@ "85c137e675e55a54c4ab3834469ab3d13aa32725", "reftest" ], + "css/css-lists/inheritance.html": [ + "ff1bcdcfb4690df571dc2d5c93df71b55ffad5e6", + "testharness" + ], "css/css-lists/list-style-type-armenian-002.xht": [ "02e06b707f709870b30e810e4b1a4ec330ada296", "visual" @@ -547697,6 +548121,10 @@ "c415eaaa67a2bc9a4b621700049eb0c0b60ec0a3", "testharness" ], + "css/css-masking/inheritance.html": [ + "34f75859ee88833ed39a56bb6c443cd60586e1b5", + "testharness" + ], "css/css-masking/mask-image/mask-image-url-image-hash.html": [ "b1efc90818bec85d5022a9b908a14c2e0c35ff3b", "reftest" @@ -549114,7 +549542,7 @@ "testharness" ], "css/css-overflow/overflow-shorthand-001.html": [ - "d922e902720ae6a38ff9c644ddd63ddfd5e62c37", + "f425636c3bb4297e4e6564d1c2629dc10dde5607", "testharness" ], "css/css-overflow/reference/input-scrollable-region-001-ref.html": [ @@ -550078,7 +550506,7 @@ "testharness" ], "css/css-properties-values-api/registered-properties-inheritance.html": [ - "20275a5c7a1688eac0d88de3c93a5e83b8f5830f", + "057cd8ca7e1290513f77cc9b80856bf4c4faa773", "testharness" ], "css/css-properties-values-api/registered-property-computation.html": [ @@ -552421,10 +552849,30 @@ "b0098caea13c61def740fa706be68efb74b3bd9b", "support" ], + "css/css-ruby/inheritance.html": [ + "9f546c23bb864fc83588d326b7314141401e50dd", + "testharness" + ], "css/css-ruby/line-break-around-ruby-001.html": [ "c631f201e3055d15be10b0b636ec864f77e89e46", "testharness" ], + "css/css-ruby/parsing/ruby-align-invalid.html": [ + "fcb8511d9e1aa6ed4940bf14c5005d393edd66cb", + "testharness" + ], + "css/css-ruby/parsing/ruby-align-valid.html": [ + "23093b2b232a4c7f804e69da8d34ee007c6807e0", + "testharness" + ], + "css/css-ruby/parsing/ruby-position-invalid.html": [ + "907c7deee31153e78f30eedfb645f6905495846f", + "testharness" + ], + "css/css-ruby/parsing/ruby-position-valid.html": [ + "2a21748613787f59ce725cec1e47bf9e0115ada0", + "testharness" + ], "css/css-ruby/ruby-001.xht": [ "80f49f0dbcf3e3a76ba6f740243e19a5f627bfd2", "visual" @@ -552798,11 +553246,11 @@ "testharness" ], "css/css-scrollbars/support/viewport-scrollbar-body-frame.html": [ - "74c02f994e3103daabfaf40a7fb84d3169451d2c", + "8dacffefb62a8d348963a51c67e73887ca9b977b", "support" ], "css/css-scrollbars/support/viewport-scrollbar-frame.html": [ - "95101024b4f27e93eb2c61c52df70845ae5842bf", + "04a4a2fa2d507a0715feaa1e6ba222c85648b77a", "support" ], "css/css-scrollbars/textarea-scrollbar-width-none-ref.html": [ @@ -552822,7 +553270,7 @@ "reftest" ], "css/css-scrollbars/viewport-scrollbar-ref.html": [ - "42463d309b994760c4e91d07fd9e4cb551964617", + "d6df3b49e56d6cfab633dcd5264c79811cfaf0f7", "support" ], "css/css-scrollbars/viewport-scrollbar.html": [ @@ -552885,6 +553333,10 @@ "5e4842d234f6af393a5ee04fa604a63f6db5cae1", "testharness" ], + "css/css-shapes/inheritance.html": [ + "490775dd8ce24721046f89234237d8f7c200623c", + "testharness" + ], "css/css-shapes/parsing/shape-image-threshold-invalid.html": [ "6299e2ecaad8247affa1e54ace4aea276322c114", "testharness" @@ -554961,6 +555413,10 @@ "f032fcd198720ec53f1435a768c6c8146d9433ae", "testharness" ], + "css/css-tables/width-distribution/computing-column-measure-2.html": [ + "b9840187f13306c94d1a4d997359c1b042becb5d", + "testharness" + ], "css/css-tables/width-distribution/computing-table-width-0.html": [ "49bae4b4f7970a580c7a75ea4dfaa2ea1d901c70", "testharness" @@ -555021,6 +555477,10 @@ "51a4fba49fcbf2f7ad13242ceaf39a0f25b59495", "support" ], + "css/css-text-decor/inheritance.html": [ + "17486f1f193d04fadc1ed000121f62cae0b3d530", + "testharness" + ], "css/css-text-decor/line-through-vertical.html": [ "633c5c00392711f1fe1911a07f9cf53c3cd702e9", "reftest" @@ -572733,6 +573193,10 @@ "ffda7d62ba963ed693e14547adce6592a11f5657", "support" ], + "css/css-writing-modes/inheritance.html": [ + "143571c9d9713887b6af761a920b56aa8d8b47a7", + "testharness" + ], "css/css-writing-modes/inline-block-alignment-002-ref.xht": [ "ce478e7499247e6277482b9c16c9dd2b1b76f275", "support" @@ -576949,10 +577413,42 @@ "7bb944c9d59349b3a25ab14981ae34f5ef991bec", "support" ], + "css/cssom-view/scroll-behavior-default-css.html": [ + "8606b1f3ed40b49c693213e02df69d088d93b979", + "testharness" + ], + "css/cssom-view/scroll-behavior-element.html": [ + "9f60ca771121c82237f2be2097d089f582918fe5", + "testharness" + ], + "css/cssom-view/scroll-behavior-main-frame-root.html": [ + "7ef0a4aa0da74a724a851cb1b2f16305712f7b7f", + "testharness" + ], + "css/cssom-view/scroll-behavior-main-frame-window.html": [ + "57b0d913461a3d374afeb204ed164b97e7d82b38", + "testharness" + ], + "css/cssom-view/scroll-behavior-scrollintoview-nested.html": [ + "2a97e0656637d12a2451fecd2985cd3370bb75cf", + "testharness" + ], + "css/cssom-view/scroll-behavior-smooth-positions.html": [ + "19e317d5e4b9e65aca7df6becb35481ad8125bac", + "testharness" + ], "css/cssom-view/scroll-behavior-smooth.html": [ "e1a7a6a1680393541a93552b2e9a9a64945e355e", "testharness" ], + "css/cssom-view/scroll-behavior-subframe-root.html": [ + "32de1b62038e0db017b7416554fbf5e92485d3ea", + "testharness" + ], + "css/cssom-view/scroll-behavior-subframe-window.html": [ + "0a8ed39d1b97d493e9f8ffe0710e711afa491f43", + "testharness" + ], "css/cssom-view/scroll-no-layout-box.html": [ "cc67ce76ed9d432656b37c9c81a20e86d1bafc8d", "testharness" @@ -577121,6 +577617,10 @@ "84141028020b7e8cdf2412acbca3c799ba50a534", "support" ], + "css/cssom-view/support/scroll-behavior.js": [ + "0a0968e025bd8604c0765352d3a2e8b3cc1233aa", + "support" + ], "css/cssom-view/support/square-purple.png": [ "0f522d78728417b0f74b694e2e47cd41c00359d1", "support" @@ -577422,27 +577922,27 @@ "testharness" ], "css/cssom/getComputedStyle-insets-absolute.html": [ - "196f5f26f31f71253aa33b581f7a64ce3604e8da", + "fae0a84a7b4a554b6cc182f48aee98bc7c196ad4", "testharness" ], "css/cssom/getComputedStyle-insets-fixed.html": [ - "e57e774fe6eb27be91fa95d920096ba107512b1b", + "ff80d2fc50464eff7564827fe9922e3274ecd629", "testharness" ], "css/cssom/getComputedStyle-insets-nobox.html": [ - "ca55ace7f4ed42ae25dab7968b347f83a998b958", + "236abf17f9cab8652b350c1168f2c27c1f84a631", "testharness" ], "css/cssom/getComputedStyle-insets-relative.html": [ - "c48f2eb555ee51c464753d980deeac514c84fd29", + "1abfc62c0165a0a47b2e988111723acb55f996ce", "testharness" ], "css/cssom/getComputedStyle-insets-static.html": [ - "854a8e3dba4085ab1fa8fe3c48fde4ef2c27bca6", + "aa7dbee95667a5e3b829b7d3774311da49c01deb", "testharness" ], "css/cssom/getComputedStyle-insets-sticky.html": [ - "10520232d738a6547ee430797c74763649e06224", + "6149acc6d7d0391d7a4d7ece12b9ec9c4b39041d", "testharness" ], "css/cssom/getComputedStyle-pseudo.html": [ @@ -577506,7 +578006,7 @@ "testharness" ], "css/cssom/overflow-serialization.html": [ - "2911c8da3e3ae47af4fd764170fd7439cda56685", + "136b8aba117eb64403700d8c4348db085cede9c8", "testharness" ], "css/cssom/preferred-stylesheet-order.html": [ @@ -577558,7 +578058,7 @@ "testharness" ], "css/cssom/shorthand-values.html": [ - "1e4d93acb26e3f644b103974b910203abf93c56e", + "d8d7f5349a4561cb4d764f366236e88eb3775c8f", "testharness" ], "css/cssom/style-attr-update-across-documents.html": [ @@ -577650,7 +578150,7 @@ "support" ], "css/cssom/support/getComputedStyle-insets.js": [ - "7bd34fe87a2806d3cc79625001c694159743f862", + "beec32e76bc5fcef4640193e321805975c8554b9", "support" ], "css/cssom/support/import-charset.css": [ @@ -578625,6 +579125,10 @@ "6c39e7b8f4cfafe05c07d166eb65570432912b7a", "reftest" ], + "css/motion/offset-path-serialization.html": [ + "1c000919518e4052d1c9546580c9b9cca89883c7", + "testharness" + ], "css/motion/offset-path-string-001.html": [ "79d957d82b8e3c603ed16598f461a805c90681dd", "reftest" @@ -578674,7 +579178,7 @@ "testharness" ], "css/motion/parsing/offset-parsing-valid.html": [ - "b93091b2088987cb402c364e0d3794d847522a16", + "3fe8a5b20d805ae3d330b8c653593b6b0c0e0d9e", "testharness" ], "css/motion/parsing/offset-path-parsing-invalid.html": [ @@ -578682,7 +579186,7 @@ "testharness" ], "css/motion/parsing/offset-path-parsing-valid.html": [ - "bda82928726dc8c3a30207f9871a4883e2db5376", + "0ed360f6e369e5b53ae4ae0b1b535a7ff8e31ca9", "testharness" ], "css/motion/parsing/offset-position-parsing-invalid.html": [ @@ -580682,7 +581186,7 @@ "support" ], "css/support/inheritance-testcommon.js": [ - "50bf4c3ae2ba9490fc30af46849820c81b72b774", + "1a4d2fee89144e4c93d5102d53fdff1cf23553d6", "support" ], "css/support/parsing-testcommon.js": [ @@ -588930,7 +589434,7 @@ "reftest" ], "css/vendor-imports/mozilla/mozilla-central-reftests/values3/calc-text-indent-intrinsic-1-ref.html": [ - "93c8c89978fe0587c290fd46179db3b6c891f71c", + "fa221c015d1f509952c451879a8d819caa5c6528", "support" ], "css/vendor-imports/mozilla/mozilla-central-reftests/values3/calc-text-indent-intrinsic-1.html": [ @@ -590354,7 +590858,7 @@ "support" ], "docs/_running-tests/chrome.md": [ - "dcbc86f745c6c3133d21aada8c03fef74d56202b", + "51472d154377c1e27543980722b74eebac8b515f", "support" ], "docs/_running-tests/chrome_android.md": [ @@ -590689,6 +591193,10 @@ "22792f5c6c7883c97e71c7adec1c2d873cf608b8", "testharness" ], + "dom/events/EventListener-addEventListener.sub.window.js": [ + "b658140eea871f8790e9494ccbb8e8b845fe800e", + "testharness" + ], "dom/events/EventListener-handleEvent.html": [ "b33b030a641dd0d2a4e1319f366e3db975e9dc3f", "testharness" @@ -595653,6 +596161,10 @@ "5701d6d7866b575dc162b27f70a336967c70911f", "testharness" ], + "fetch/api/basic/header-value-combining.any.js": [ + "fd08072ea52214fdd83741d5b7fbef8c572a3f15", + "testharness" + ], "fetch/api/basic/header-value-null-byte.any.js": [ "9c223740c7807b43a6595ba81ef4f5b3c74c60b4", "testharness" @@ -595733,6 +596245,10 @@ "5b11018eb31648f5503eba1b1e71a616e219b375", "testharness" ], + "fetch/api/basic/stream-safe-creation.any.js": [ + "180d338659021fed3d29e08ccea415cc5852fed2", + "testharness" + ], "fetch/api/basic/text-utf8.html": [ "e5c567b9c4531113c12a3c56d0f5d9c1517589a2", "testharness" @@ -597654,7 +598170,7 @@ "support" ], "fullscreen/api/document-exit-fullscreen-active-document.html": [ - "18b0bb6493bd8275a750091b862c7ee5ee770abf", + "8279fae533774fcf6daced99ffc84413a0a9172d", "testharness" ], "fullscreen/api/document-exit-fullscreen-manual.html": [ @@ -606973,6 +607489,10 @@ "7bd2cedb1b6771398c808d1b7c8f68840bfb9b6f", "reftest" ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html": [ + "1c221555c305bd9039558389b3f22ee00d65f8b9", + "testharness" + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-padding.html": [ "61ad4ed4c9445a3c035f85db7ab0928cbb11b91a", "testharness" @@ -607022,11 +607542,11 @@ "testharness" ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins-ref.html": [ - "e0528855df0705fb9c13461f30e7d8c2dd7fbc21", + "f2701d26f3213e02eee9d3592bbeae7da7e7b898", "support" ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins.html": [ - "957eca57350eebb6a773dc784b6f701e5327b02d", + "98cd16c7c147316669eb6c456538f43ae90fbf44", "reftest" ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-none-rendering-ref.html": [ @@ -607041,6 +607561,14 @@ "689454ac493a05b28658edf549d71c6aa1c7be0e", "testharness" ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering-ref.html": [ + "189b195f6154e7afc354726a13f8e79290f6edfb", + "support" + ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html": [ + "ba6610503a6d14cf8d9a7b661cb76f3350317d2c", + "reftest" + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display.html": [ "914547fc6cdde3e464b28eb7cc9737d17305f9af", "testharness" @@ -607070,9 +607598,13 @@ "support" ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html": [ - "c26b50ce662cbea50a69e8e718b9b2b889568f64", + "e9676435725be4aeb9c0d3649af17bafa41294af", "reftest" ], + "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html": [ + "8daf78db999c8c437d311c8bb2f7b36f590ae277", + "testharness" + ], "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-position-relative-ref.html": [ "fd6c11a00566759fbf1e749d49ad396cf1a7ee08", "support" @@ -610714,7 +611246,7 @@ "support" ], "html/semantics/embedded-content/the-img-element/img.complete.html": [ - "ee043a8c94fa4f69b0648d5d31e17f5cc591ec5f", + "42113cdd2ff15255292f1ad705355f732a4f137c", "testharness" ], "html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative.html": [ @@ -617598,7 +618130,7 @@ "support" ], "interfaces/payment-handler.idl": [ - "5648ae33457dcdcd2f0eca90d69fbe1a5fac3d5b", + "b5d79decb06530001cd9d63e6fcba43995d27ba1", "support" ], "interfaces/payment-method-basic-card.idl": [ @@ -619322,7 +619854,7 @@ "testharness" ], "mediacapture-image/ImageCapture-MediaTrackSupportedConstraints.html": [ - "59a54f51d600fa5c8ee1c092afa5a07f6ae2ae3f", + "9ec5261b9dc48ea143c60946d72233a9eb5d7261", "testharness" ], "mediacapture-image/ImageCapture-creation.https.html": [ @@ -619346,15 +619878,15 @@ "testharness" ], "mediacapture-image/MediaStreamTrack-applyConstraints-getSettings.html": [ - "1a1b58e5415f9e04ddeb8d1874448c3b98af35e3", + "4900336549f4a92f449233d24abf97f84f055102", "testharness" ], "mediacapture-image/MediaStreamTrack-applyConstraints-reject.html": [ - "8f08d250fd1a569d84ecd4ce36fe5ffa29f583f7", + "21719636ea870f0cfe8e3b8c8a0c838512c1eb87", "testharness" ], "mediacapture-image/MediaStreamTrack-applyConstraints.html": [ - "8dcff926173266c9e5f14c37ff408832a8a07d7e", + "c87f954c682cb6869040ebc67f6245902cec1267", "testharness" ], "mediacapture-image/MediaStreamTrack-getCapabilities-fast.html": [ @@ -619362,11 +619894,11 @@ "testharness" ], "mediacapture-image/MediaStreamTrack-getCapabilities.html": [ - "eceaf5b1a8665211e42094730619d38143782fdc", + "9e34f2389cc4e446767df2aa4991cb43b8c95c7a", "testharness" ], "mediacapture-image/MediaStreamTrack-getConstraints-fast.html": [ - "5a5ce5f2dad58cb47e8b4215bc563e24b34b3119", + "16f869cf119faa7eaa043ff6d65fa31b2998315b", "testharness" ], "mediacapture-image/MediaStreamTrack-getSettings-fast.html": [ @@ -619374,7 +619906,7 @@ "testharness" ], "mediacapture-image/MediaStreamTrack-getSettings.html": [ - "5e9256eeb740663675ea93d692481556efd97628", + "8535f298bfab2ebca9dd3b37a0cc4f8538623203", "testharness" ], "mediacapture-image/detached-HTMLCanvasElement.html": [ @@ -619470,7 +620002,7 @@ "manual" ], "mediacapture-streams/MediaStream-MediaElement-srcObject.https.html": [ - "63442bea25b34cda8814a22dc1e90a7871b4a0b9", + "2ed96ec386c23c019791c8306d7d81cd4b3af920", "testharness" ], "mediacapture-streams/MediaStream-add-audio-track.https.html": [ @@ -629765,14 +630297,14 @@ "0a8ef6c77e87e68a1b7f9aa28588be4de3da98f0", "manual" ], + "payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html": [ + "c8dd92636c6392b2436c8235340355c4529e12c1", + "manual" + ], "payment-request/payment-response/onpayerdetailchange-attribute.https.html": [ "ed9e6e885b842ae18c5f87f9992d0c9a9cb6401a", "testharness" ], - "payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html": [ - "c8dd92636c6392b2436c8235340355c4529e12c1", - "testharness" - ], "payment-request/payment-response/payerEmail-attribute-manual.https.html": [ "28ce4c28a85c5bdb79f08438edd2086fd6b09c08", "manual" @@ -630178,7 +630710,7 @@ "manual" ], "pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html": [ - "fe2ab0061810dd32fbe73ce71dbc18c54e89ad30", + "d0cf3671743a85e6b76015c1baab4864253148be", "manual" ], "pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html": [ @@ -630210,7 +630742,7 @@ "manual" ], "pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html": [ - "4dbe858db16908698bf7811c31f60fae1365d17f", + "e2b143fe4a57c1585d96ec4ee29aa82ed0ae4dba", "manual" ], "pointerevents/pointerevent_setpointercapture_override_pending_capture_element-manual.html": [ @@ -639414,11 +639946,11 @@ "support" ], "resources/chromium/image_capture.mojom.js": [ - "11123feb87d06d53f8e933aa18fad118ae6c8737", + "bf8dd16ca75d4be1095808138d09a9c400159b86", "support" ], "resources/chromium/mock-imagecapture.js": [ - "878f59eb0095b65cabffe95c5538bcb79fa97b0d", + "329cbc3a761dc5720b7a67ed09ef68aec6a8bc3d", "support" ], "resources/chromium/mojo_bindings.js": [ @@ -639470,7 +640002,7 @@ "support" ], "resources/chromium/web_usb_service.mojom.js": [ - "d0b93a168bf06fe6b1dac3dd58c9e7d6f2a66d13", + "bacad8fa39095760aff4f67654ef6cc8ff723153", "support" ], "resources/chromium/web_usb_service.mojom.js.headers": [ @@ -639486,7 +640018,7 @@ "support" ], "resources/chromium/webusb-test.js": [ - "5f9262655f3fca5ac225e2788723cc4cd05ca916", + "18ee824aafaf45087f4b0aa2d6e90811cb39a751", "support" ], "resources/chromium/webusb-test.js.headers": [ @@ -639522,7 +640054,7 @@ "support" ], "resources/test/conftest.py": [ - "8765bf835dfc241d5cbd15e9697de465d4289bfb", + "5fca1d24c419cc5570eed657532c1ae3d3ddaada", "support" ], "resources/test/harness.html": [ @@ -639702,7 +640234,7 @@ "support" ], "resources/test/tests/functional/worker-dedicated.sub.html": [ - "586326d876119da03413a6473b042885abee7741", + "5573b1d5273fa4e19605c9c9cb638993008b3808", "support" ], "resources/test/tests/functional/worker-error.js": [ @@ -639778,7 +640310,7 @@ "support" ], "resources/test/tests/unit/exceptional-cases.html": [ - "df9e1239a2ec48dd8b489fb7001a5295e334f963", + "1a5335f6c1f7f255388631a10ba561efe07c0afc", "support" ], "resources/test/tests/unit/test-return-restrictions.html": [ @@ -643746,7 +644278,7 @@ "support" ], "service-workers/service-worker/resources/skip-waiting-installed-worker.js": [ - "b48d502b1360663b62063b7b0da0c96cf638992b", + "6f7008bddcdfa044dbedd2e8f2aceb89ec980a71", "support" ], "service-workers/service-worker/resources/skip-waiting-worker.js": [ @@ -644026,7 +644558,7 @@ "testharness" ], "service-workers/service-worker/worker-interception.https.html": [ - "4f14746d917f9e8f41dfca85e1669dde50d568c4", + "bf976a29c48a3810ef4ff20b5c7e8b70dec2b219", "testharness" ], "service-workers/specgen.json": [ @@ -644321,6 +644853,10 @@ "2d6a5e36585b623a89b1e5f4e059d881027a0b94", "testharness" ], + "shadow-dom/event-dispatch-order.tentative.html": [ + "1e88740f53a2dc25d9650e4f54c3011e2b0e9355", + "testharness" + ], "shadow-dom/event-inside-shadow-tree.html": [ "a7405a59560c790c5708a7eaa4e65b6669adc0dd", "testharness" @@ -644390,7 +644926,7 @@ "support" ], "shadow-dom/resources/shadow-dom.js": [ - "3e55684dac1c4fbe1064c6d5d8b8d7ee86224921", + "192ad45413035ae629ba8158a5ceaca171af11fa", "support" ], "shadow-dom/scroll-to-the-fragment-in-shadow-tree.html": [ @@ -648578,7 +649114,7 @@ "support" ], "svg/linking/scripted/a-download-click.svg": [ - "406d0e6ba56681ea3026c74614fe79a83f3aa61e", + "b728603d547582b15ff6b0d32bc39e8021fa2bae", "testharness" ], "svg/linking/scripted/a.rel-getter-01.svg": [ @@ -648786,7 +649322,7 @@ "testharness" ], "svg/path/property/getComputedStyle.svg": [ - "5830191931fb4f7dd0d4e929333248b8d3019e79", + "392c570e3525062886f7d4bda0ab7e006e3e370c", "testharness" ], "svg/path/property/priority-ref.svg": [ @@ -648801,6 +649337,66 @@ "b7f8cd308d7cbcf1aaa4ab686179e456f61c7d6f", "support" ], + "svg/path/property/serialization.svg": [ + "297f8ede687a28a12ced98a4b89051dd9ddf5090", + "testharness" + ], + "svg/pservers/reftests/meshgradient-basic-001-ref.png": [ + "691bff6244cd0abe046536efc0a100329b62d407", + "support" + ], + "svg/pservers/reftests/meshgradient-basic-001.svg": [ + "24290d40d6c37583d86aae4a098293c6cb8a6653", + "reftest" + ], + "svg/pservers/reftests/meshgradient-basic-002-ref.png": [ + "691bff6244cd0abe046536efc0a100329b62d407", + "support" + ], + "svg/pservers/reftests/meshgradient-basic-002.svg": [ + "2391135200207810cc770c961e72f77adb9b22c0", + "reftest" + ], + "svg/pservers/reftests/meshgradient-basic-003-ref.png": [ + "39c36a150fb1c9f98fcbd118a14589885527034b", + "support" + ], + "svg/pservers/reftests/meshgradient-basic-003.svg": [ + "84db2ea1260da1712381a334f9a99646a6418841", + "reftest" + ], + "svg/pservers/reftests/meshgradient-basic-004-ref.png": [ + "39c36a150fb1c9f98fcbd118a14589885527034b", + "support" + ], + "svg/pservers/reftests/meshgradient-basic-004.svg": [ + "c7e750199373bc3229d155fbd2d17f25b457aadf", + "reftest" + ], + "svg/pservers/reftests/meshgradient-basic-005-ref.png": [ + "3cd5164b776717ed1c9d487430682ee4ecd00a84", + "support" + ], + "svg/pservers/reftests/meshgradient-basic-005.svg": [ + "59a6c2500a17588f0c926d625f028a400bda71d8", + "reftest" + ], + "svg/pservers/reftests/meshgradient-bicubic-001-ref.png": [ + "551345d732c4f93e9f220d303f4823b5007d7605", + "support" + ], + "svg/pservers/reftests/meshgradient-bicubic-001.svg": [ + "8c3c219f1829694c002cd4c4026ed00202f51b3f", + "reftest" + ], + "svg/pservers/reftests/meshgradient-complex-001-ref.png": [ + "4ce893b827cabc5e4627060f3e5334c1b829bd30", + "support" + ], + "svg/pservers/reftests/meshgradient-complex-001.svg": [ + "625fae59ea53c96080ce3105e247bda46e7ed4c8", + "reftest" + ], "svg/pservers/reftests/radialgradient-basic-002-ref.svg": [ "26f4f508f35855ffd35baffb1aff129fe1ebf1be", "support" @@ -648873,6 +649469,10 @@ "11086aa198ff053c9d86c4bdaf4650fd2aa5596a", "testharness" ], + "svg/shapes/animatedPoints-non-animated.html": [ + "5c1758908605d71baf9fe87c9b54ccfab5c5e5cd", + "testharness" + ], "svg/shapes/ellipse-01-ref.svg": [ "c4ab1bd03913d56166a0a54a91d3a3c03703eceb", "support" @@ -650238,7 +650838,7 @@ "support" ], "tools/serve/serve.py": [ - "104701caf85ba2250d4c844650025517f0d473b6", + "c4afc691d34d7046ee81b7673bf7d2043b63ed5a", "support" ], "tools/serve/test_functional.py": [ @@ -654226,7 +654826,7 @@ "support" ], "tools/wpt/run.py": [ - "21dc7c8e9777f2c5ff1734b5b9ba5970b2ce978b", + "7e8827b10698d30fb47f1625ccbb5f7a344daafe", "support" ], "tools/wpt/testfiles.py": [ @@ -654514,7 +655114,7 @@ "support" ], "tools/wptrunner/wptrunner/browsers/firefox.py": [ - "04f2ce84a41619a23e29d5436430b11fa2b6d7c5", + "9f7ebfa2ca544616e2feaeb53c8af73220d7271a", "support" ], "tools/wptrunner/wptrunner/browsers/ie.py": [ @@ -659846,7 +660446,7 @@ "wdspec" ], "webdriver/tests/new_session/platform_name.py": [ - "0504f04259d8e289e1581669ba9066a14bb4d529", + "54fe4743bed44e75d6771ede5d4b7bf2f267bb95", "wdspec" ], "webdriver/tests/new_session/response.py": [ @@ -660586,7 +661186,7 @@ "testharness" ], "webrtc/RTCConfiguration-iceServers.html": [ - "6069c25af4accf7334f25f1bd30b687c2022aa6c", + "3f5c367d3ad98186461864b6b0bdecee3a07319e", "testharness" ], "webrtc/RTCConfiguration-iceTransportPolicy.html": [ @@ -666878,7 +667478,7 @@ "testharness" ], "x-frame-options/multiple.sub.html": [ - "f7a28e40ee22be3493c3926e15c40d2e814ad2e4", + "717e9fd25c51ee80f3adf029740d475790b3875e", "testharness" ], "x-frame-options/redirect.sub.html": [ @@ -667294,7 +667894,7 @@ "testharness" ], "xhr/getallresponseheaders.htm": [ - "7b54e9e16f84b00b25e6ce04bfb86b2160e4d11a", + "e5747331a8ce078d9ab6be7e040f9623c8aeb162", "testharness" ], "xhr/getresponseheader-case-insensitive.htm": [ @@ -667325,6 +667925,10 @@ "e3bc2720f12d9e5a6128bc84fbec4ea290a81d1d", "testharness" ], + "xhr/getresponseheader.any.js": [ + "4ff791aeb1635719b948ce7edcf5d1592b87c351", + "testharness" + ], "xhr/header-user-agent-async.htm": [ "8c1d0b663f4bcc35e24619e1f16dca7ec1bccf6a", "testharness" @@ -667757,6 +668361,10 @@ "fe37b1b38e9f8698581affe8d74f176688c11d15", "support" ], + "xhr/resources/headers-www-authenticate.asis": [ + "6f9905ee7a06627efcb244180367b13b65c0d0c4", + "support" + ], "xhr/resources/headers.asis": [ "d25fe52efeb5427b126c3b375b4bb00090836382", "support" diff --git a/tests/wpt/metadata/css/css-text-decor/inheritance.html.ini b/tests/wpt/metadata/css/css-text-decor/inheritance.html.ini new file mode 100644 index 00000000000..63a096a4e92 --- /dev/null +++ b/tests/wpt/metadata/css/css-text-decor/inheritance.html.ini @@ -0,0 +1,49 @@ +[inheritance.html] + [Property text-emphasis-style inherits] + expected: FAIL + + [Property text-emphasis-style has initial value none] + expected: FAIL + + [Property text-decoration-style has initial value solid] + expected: FAIL + + [Property text-underline-position has initial value auto] + expected: FAIL + + [Property text-decoration-line has initial value none] + expected: FAIL + + [Property text-emphasis-color has initial value rgba(2, 3, 4, 0.5)] + expected: FAIL + + [Property text-shadow has initial value none] + expected: FAIL + + [Property text-decoration-color has initial value rgba(2, 3, 4, 0.5)] + expected: FAIL + + [Property text-decoration-line does not inherit] + expected: FAIL + + [Property text-underline-position inherits] + expected: FAIL + + [Property text-emphasis-position inherits] + expected: FAIL + + [Property text-decoration-color does not inherit] + expected: FAIL + + [Property text-emphasis-position has initial value over right] + expected: FAIL + + [Property text-decoration-style does not inherit] + expected: FAIL + + [Property text-shadow inherits] + expected: FAIL + + [Property text-emphasis-color inherits] + expected: FAIL + diff --git a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini index decfd130b16..b07393a05bc 100644 --- a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini +++ b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini @@ -71,6 +71,3 @@ [bottom intermediate] expected: FAIL - [outline-width end] - expected: FAIL - diff --git a/tests/wpt/metadata/css/css-values/calc-integer.html.ini b/tests/wpt/metadata/css/css-values/calc-integer.html.ini deleted file mode 100644 index 4909ec02758..00000000000 --- a/tests/wpt/metadata/css/css-values/calc-integer.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[calc-integer.html] - [Accepts numbers, and rounds] - expected: FAIL - - [Rounds down if fractional part is < 0.5] - expected: FAIL - - [Basic division works] - expected: FAIL - - [Operation between and works] - expected: FAIL - - [Only rounds at the end of the conversion] - expected: FAIL - - [Rounds up if fractional part is >= 0.5] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-default-css.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-default-css.html.ini new file mode 100644 index 00000000000..25fa33a4445 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-default-css.html.ini @@ -0,0 +1,4 @@ +[scroll-behavior-default-css.html] + [Testing default value of scroll-behavior] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-element.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-element.html.ini new file mode 100644 index 00000000000..12d8a3aacc0 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-element.html.ini @@ -0,0 +1,4 @@ +[scroll-behavior-element.html] + [Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-main-frame-root.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-main-frame-root.html.ini new file mode 100644 index 00000000000..3b5eabacdb3 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-main-frame-root.html.ini @@ -0,0 +1,4 @@ +[scroll-behavior-main-frame-root.html] + [Page loaded] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-main-frame-window.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-main-frame-window.html.ini new file mode 100644 index 00000000000..eff693d13c7 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-main-frame-window.html.ini @@ -0,0 +1,4 @@ +[scroll-behavior-main-frame-window.html] + [Page loaded] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-scrollintoview-nested.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-scrollintoview-nested.html.ini new file mode 100644 index 00000000000..0150811ae72 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-scrollintoview-nested.html.ini @@ -0,0 +1,4 @@ +[scroll-behavior-scrollintoview-nested.html] + [scrollIntoView with nested elements with different scroll-behavior] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth-positions.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth-positions.html.ini new file mode 100644 index 00000000000..ccf962d86a1 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth-positions.html.ini @@ -0,0 +1,55 @@ +[scroll-behavior-smooth-positions.html] + [Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollIntoView() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollTo() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scrollIntoView() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollIntoView() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollTo() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollIntoView() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollBy() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollBy() ] + expected: FAIL + + [Scroll positions when aborting a smooth scrolling with an instant scrolling] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollBy() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scroll() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollTo() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scroll() ] + expected: FAIL + + [Scroll positions when aborting a smooth scrolling with another smooth scrolling] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scroll() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scroll() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scrollTo() ] + expected: FAIL + + [Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scrollBy() ] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-root.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-root.html.ini new file mode 100644 index 00000000000..3cc6a9cebd6 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-root.html.ini @@ -0,0 +1,5 @@ +[scroll-behavior-subframe-root.html] + expected: ERROR + [iframe loaded] + expected: NOTRUN + diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini new file mode 100644 index 00000000000..9041673d25e --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini @@ -0,0 +1,5 @@ +[scroll-behavior-subframe-window.html] + expected: ERROR + [iframe loaded] + expected: NOTRUN + diff --git a/tests/wpt/metadata/css/cssom/overflow-serialization.html.ini b/tests/wpt/metadata/css/cssom/overflow-serialization.html.ini new file mode 100644 index 00000000000..3a51b8caa02 --- /dev/null +++ b/tests/wpt/metadata/css/cssom/overflow-serialization.html.ini @@ -0,0 +1,4 @@ +[overflow-serialization.html] + [CSSOM - Overflow shorthand serialization] + expected: FAIL + diff --git a/tests/wpt/metadata/css/cssom/shorthand-values.html.ini b/tests/wpt/metadata/css/cssom/shorthand-values.html.ini index e0b5a48bdb5..427f39aa3e7 100644 --- a/tests/wpt/metadata/css/cssom/shorthand-values.html.ini +++ b/tests/wpt/metadata/css/cssom/shorthand-values.html.ini @@ -29,3 +29,6 @@ [The serialization of list-style-type: circle; list-style-position: inside; list-style-image: initial; should be canonical.] expected: FAIL + [The serialization of overflow-x: scroll; overflow-y: hidden; should be canonical.] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/api/basic/header-value-combining.any.js.ini b/tests/wpt/metadata/fetch/api/basic/header-value-combining.any.js.ini new file mode 100644 index 00000000000..1c41d1fd534 --- /dev/null +++ b/tests/wpt/metadata/fetch/api/basic/header-value-combining.any.js.ini @@ -0,0 +1,23 @@ +[header-value-combining.any.html] + [response.headers.get('foo-test')] + expected: FAIL + + [response.headers.get('www-authenticate')] + expected: FAIL + + +[header-value-combining.any.worker.html] + [response.headers.get('foo-test')] + expected: FAIL + + [response.headers.get('www-authenticate')] + expected: FAIL + + +[header-value-combining.any.serviceworker.html] + expected: TIMEOUT + +[header-value-combining.any.sharedworker.html] + [header-value-combining] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/api/basic/stream-safe-creation.any.js.ini b/tests/wpt/metadata/fetch/api/basic/stream-safe-creation.any.js.ini new file mode 100644 index 00000000000..1aab3419c1c --- /dev/null +++ b/tests/wpt/metadata/fetch/api/basic/stream-safe-creation.any.js.ini @@ -0,0 +1,11 @@ +[stream-safe-creation.any.serviceworker.html] + expected: TIMEOUT + +[stream-safe-creation.any.sharedworker.html] + [stream-safe-creation] + expected: FAIL + + +[stream-safe-creation.any.worker.html] + +[stream-safe-creation.any.html] diff --git a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini index 0d630fb814a..3951cd266d5 100644 --- a/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini +++ b/tests/wpt/metadata/fetch/cross-origin-resource-policy/fetch-in-iframe.html.ini @@ -1,5 +1,4 @@ [fetch-in-iframe.html] - expected: CRASH [Untitled] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini deleted file mode 100644 index dc2e45516de..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_5.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html.ini b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html.ini new file mode 100644 index 00000000000..b638538060a --- /dev/null +++ b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html.ini @@ -0,0 +1,28 @@ +[fieldset-percentage-block-size.html] + [div (writing-mode: vertical-lr)] + expected: FAIL + + [rendered legend (writing-mode: horizontal-tb)] + expected: FAIL + + [second legend (writing-mode: vertical-rl)] + expected: FAIL + + [rendered legend (writing-mode: vertical-lr)] + expected: FAIL + + [second legend (writing-mode: horizontal-tb)] + expected: FAIL + + [rendered legend (writing-mode: vertical-rl)] + expected: FAIL + + [div (writing-mode: horizontal-tb)] + expected: FAIL + + [div (writing-mode: vertical-rl)] + expected: FAIL + + [second legend (writing-mode: vertical-lr)] + expected: FAIL + diff --git a/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html.ini b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html.ini new file mode 100644 index 00000000000..3e2d53e6be7 --- /dev/null +++ b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html.ini @@ -0,0 +1,2 @@ +[legend-display-rendering.html] + expected: FAIL diff --git a/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html.ini b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html.ini deleted file mode 100644 index 84b3539d05c..00000000000 --- a/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[legend-list-item.html] - expected: FAIL diff --git a/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html.ini b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html.ini new file mode 100644 index 00000000000..3d6e3e61f3e --- /dev/null +++ b/tests/wpt/metadata/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html.ini @@ -0,0 +1,13 @@ +[legend-margin-inline.html] + [right] + expected: FAIL + + [center] + expected: FAIL + + [10px] + expected: FAIL + + [left] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 0c03afd7dd8..1de3f8d68b2 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -172,63 +172,3 @@ [XHTML img usemap="http://example.org/#garbage-before-hash-id"] expected: FAIL - [XHTML img usemap="#percent-escape-id-%41"] - expected: FAIL - - [XHTML img usemap="#different-CASE-id"] - expected: FAIL - - [XHTML img usemap="hash-last#"] - expected: FAIL - - [XHTML img usemap="no-hash-id"] - expected: FAIL - - [XHTML img usemap="#no-such-map"] - expected: FAIL - - [XHTML img usemap="#percent-escape-name-%41"] - expected: FAIL - - [XHTML img usemap="#"] - expected: FAIL - - [XHTML img usemap="#different-CASE-name"] - expected: FAIL - - [XHTML img usemap=""] - expected: FAIL - - [XHTML img usemap="no-hash-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="#"] - expected: FAIL - - [HTML (quirks) IMG usemap="no-hash-id"] - expected: FAIL - - [HTML (quirks) IMG usemap="no-hash-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="#no-such-map"] - expected: FAIL - - [HTML (quirks) IMG usemap="hash-last#"] - expected: FAIL - - [HTML (quirks) IMG usemap="#different-CASE-name"] - expected: FAIL - - [HTML (quirks) IMG usemap="#different-CASE-id"] - expected: FAIL - - [HTML (quirks) IMG usemap=""] - expected: FAIL - - [HTML (quirks) IMG usemap="#percent-escape-name-%41"] - expected: FAIL - - [HTML (quirks) IMG usemap="#percent-escape-id-%41"] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini index 5c16d6ab23a..0f1a214d0ee 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini @@ -1,14 +1,33 @@ [viewport-change.html] type: testharness + expected: TIMEOUT [picture: source (max-width:500px) broken image, img valid image, resize to wide] expected: TIMEOUT [picture: source (max-width:500px) valid image, img valid image, resize to wide] - expected: TIMEOUT + expected: FAIL [picture: source (max-width:500px) valid image, img broken image, resize to narrow] expected: TIMEOUT [picture: source (max-width:500px) valid image, img valid image, resize to narrow] - expected: TIMEOUT + expected: FAIL + + [picture: source (max-width:500px) broken image, img valid image, resize to narrow] + expected: FAIL + + [img (srcset 1 cand) valid image, resize to wide] + expected: FAIL + + [picture: same URL in source (max-width:500px) and img, resize to wide] + expected: FAIL + + [img (srcset 1 cand) valid image, resize to narrow] + expected: FAIL + + [picture: source (max-width:500px) valid image, img broken image, resize to wide] + expected: FAIL + + [picture: same URL in source (max-width:500px) and img, resize to narrow] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none.html.ini new file mode 100644 index 00000000000..92e07546781 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none.html.ini @@ -0,0 +1,52 @@ +[parse-a-sizes-attribute-display-none.html] + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + + [ ref sizes="1px" (display:none)] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode.html.ini new file mode 100644 index 00000000000..a0e0184eb46 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode.html.ini @@ -0,0 +1,52 @@ +[parse-a-sizes-attribute-quirks-mode.html] + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + + [ ref sizes="1px" (quirks mode)] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode.html.ini new file mode 100644 index 00000000000..caa0aa5f39e --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode.html.ini @@ -0,0 +1,52 @@ +[parse-a-sizes-attribute-standards-mode.html] + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + + [ ref sizes="1px" (standards mode)] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html.ini new file mode 100644 index 00000000000..c3522eadce0 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html.ini @@ -0,0 +1,52 @@ +[parse-a-sizes-attribute-width-1000px.html] + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + + [ ref sizes="1px" (width:1000px)] + expected: FAIL + diff --git a/tests/wpt/metadata/quirks/unitless-length/quirks.html.ini b/tests/wpt/metadata/quirks/unitless-length/quirks.html.ini deleted file mode 100644 index 2ed601c6ff4..00000000000 --- a/tests/wpt/metadata/quirks/unitless-length/quirks.html.ini +++ /dev/null @@ -1,283 +0,0 @@ -[quirks.html] - [top: -\\31 .5] - expected: FAIL - - [bottom: -1A] - expected: FAIL - - [bottom: -1a] - expected: FAIL - - [top: @1] - expected: FAIL - - [top: "1a"] - expected: FAIL - - [top: @a] - expected: FAIL - - [bottom: "1"] - expected: FAIL - - [bottom: -/**/1] - expected: FAIL - - [top: +/**/1] - expected: FAIL - - [bottom: @1a] - expected: FAIL - - [top: 1\\31 ] - expected: FAIL - - [top: url('1')] - expected: FAIL - - [bottom: -\\31 ] - expected: FAIL - - [top: calc(1)] - expected: FAIL - - [top: \\31 ] - expected: FAIL - - [bottom: +1\\31 ] - expected: FAIL - - [bottom: 1\\31 .5] - expected: FAIL - - [bottom: #0001] - expected: FAIL - - [top: calc(2 * 2px)] - expected: FAIL - - [bottom: 1a] - expected: FAIL - - [bottom: A] - expected: FAIL - - [bottom: #01] - expected: FAIL - - [top: +\\31 .5] - expected: FAIL - - [bottom: #1] - expected: FAIL - - [top: -/**/1] - expected: FAIL - - [bottom: +\\31 .5] - expected: FAIL - - [bottom: \\31 ] - expected: FAIL - - [bottom: calc(1)] - expected: FAIL - - [top: #001] - expected: FAIL - - [top: +\\31 ] - expected: FAIL - - [bottom: +\\31 ] - expected: FAIL - - [top: +1.5] - expected: FAIL - - [top: +1\\31 ] - expected: FAIL - - [bottom: @a] - expected: FAIL - - [bottom: @1] - expected: FAIL - - [top: #1] - expected: FAIL - - [top: 1a] - expected: FAIL - - [bottom: +1a] - expected: FAIL - - [bottom: +1A] - expected: FAIL - - [bottom: "a"] - expected: FAIL - - [top: #00001] - expected: FAIL - - [bottom: -1\\31 .5] - expected: FAIL - - [top: "1"] - expected: FAIL - - [bottom: 1.5] - expected: FAIL - - [bottom: -\\31 .5] - expected: FAIL - - [bottom: url('1')] - expected: FAIL - - [bottom: -1.5] - expected: FAIL - - [top: \\31 .5] - expected: FAIL - - [bottom: "1a"] - expected: FAIL - - [bottom: calc(2 * 2px)] - expected: FAIL - - [bottom: +1\\31 .5] - expected: FAIL - - [bottom: 1\\31 ] - expected: FAIL - - [bottom: +/**/1] - expected: FAIL - - [bottom: #00001] - expected: FAIL - - [top: url(1)] - expected: FAIL - - [bottom: #001] - expected: FAIL - - [top: +1\\31 .5] - expected: FAIL - - [top: -1a] - expected: FAIL - - [top: -1A] - expected: FAIL - - [bottom: url(1)] - expected: FAIL - - [top: a] - expected: FAIL - - [top: A] - expected: FAIL - - [top: #000001] - expected: FAIL - - [top: 1] - expected: FAIL - - [top: 1\\31 .5] - expected: FAIL - - [bottom: a] - expected: FAIL - - [bottom: 1] - expected: FAIL - - [bottom: +1] - expected: FAIL - - [bottom: #000001] - expected: FAIL - - [bottom: +a] - expected: FAIL - - [bottom: +A] - expected: FAIL - - [top: 1.5] - expected: FAIL - - [top: +A] - expected: FAIL - - [top: +a] - expected: FAIL - - [top: +1] - expected: FAIL - - [top: -1.5] - expected: FAIL - - [top: -1\\31 .5] - expected: FAIL - - [top: +1a] - expected: FAIL - - [top: +1A] - expected: FAIL - - [top: @1a] - expected: FAIL - - [bottom: \\31 .5] - expected: FAIL - - [top: "a"] - expected: FAIL - - [top: #01] - expected: FAIL - - [bottom: +1.5] - expected: FAIL - - [bottom: -A] - expected: FAIL - - [bottom: -a] - expected: FAIL - - [bottom: -1\\31 ] - expected: FAIL - - [top: #0001] - expected: FAIL - - [bottom: -1] - expected: FAIL - - [top: -\\31 ] - expected: FAIL - - [top: -A] - expected: FAIL - - [top: -a] - expected: FAIL - - [top: -1] - expected: FAIL - - [top: -1\\31 ] - expected: FAIL - diff --git a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini index d8250b97409..2e55f728d0a 100644 --- a/tests/wpt/metadata/url/urlencoded-parser.any.js.ini +++ b/tests/wpt/metadata/url/urlencoded-parser.any.js.ini @@ -1,36 +1,30 @@ [urlencoded-parser.any.html] + [request.formData() with input: &&&a=b&&&&c=d&] + expected: FAIL + + [request.formData() with input: _charset_=windows-1252&test=%C2x] + expected: FAIL + + [response.formData() with input: a=b&c=d&] + expected: FAIL + + [response.formData() with input: a=b&c=d] + expected: FAIL + + +[urlencoded-parser.any.worker.html] [request.formData() with input: a&b&c] expected: FAIL + [request.formData() with input: _charset_=windows-1252&test=%C2x] + expected: FAIL + + [request.formData() with input: a=b&c=d] + expected: FAIL + [response.formData() with input: a&b&c] expected: FAIL - [request.formData() with input: &&&a=b&&&&c=d&] - expected: FAIL - - [request.formData() with input: a=b&c=d] - expected: FAIL - - [request.formData() with input: a=b&c=d&] - expected: FAIL - - [request.formData() with input: _charset_=windows-1252&test=%C2x] - expected: FAIL - - [response.formData() with input: _charset_=windows-1252&test=%C2x] - expected: FAIL - - -[urlencoded-parser.any.worker.html] - [response.formData() with input: a=b&c=d] - expected: FAIL - - [request.formData() with input: a&b&c] - expected: FAIL - - [request.formData() with input: _charset_=windows-1252&test=%C2x] - expected: FAIL - - [request.formData() with input: a=b&c=d] + [response.formData() with input: a=b&c=d&] expected: FAIL diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index dfc61af48f0..66bd350083b 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,2 +1,73 @@ [realtimeanalyser-fft-scaling.html] - expected: TIMEOUT + [X 2048-point FFT peak position is not equal to 64. Got 0.] + expected: FAIL + + [X 128-point FFT peak position is not equal to 4. Got 0.] + expected: FAIL + + [X 32768-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 64-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 4096-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [< [FFT scaling tests\] 22 out of 22 assertions were failed.] + expected: FAIL + + [X 128-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 8192-point FFT peak position is not equal to 256. Got 0.] + expected: FAIL + + [X 32-point FFT peak value in dBFS is not greater than or equal to -14.43. Got -1000.] + expected: FAIL + + [X 16384-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 256-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 8192-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 1024-point FFT peak position is not equal to 32. Got 0.] + expected: FAIL + + [X 64-point FFT peak position is not equal to 2. Got 0.] + expected: FAIL + + [X 512-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 32-point FFT peak position is not equal to 1. Got 0.] + expected: FAIL + + [X 16384-point FFT peak position is not equal to 512. Got 0.] + expected: FAIL + + [X 1024-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 2048-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000.] + expected: FAIL + + [X 32768-point FFT peak position is not equal to 1024. Got 0.] + expected: FAIL + + [X 4096-point FFT peak position is not equal to 128. Got 0.] + expected: FAIL + + [X 512-point FFT peak position is not equal to 16. Got 0.] + expected: FAIL + + [X 256-point FFT peak position is not equal to 8. Got 0.] + expected: FAIL + + [# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-allpass.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-allpass.html.ini index 6ef6c3f2d0b..54b05fe122a 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-allpass.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-allpass.html.ini @@ -8,3 +8,6 @@ [# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.] expected: FAIL + [X Max error in Allpass filter response is not less than or equal to 3.9337e-8. Got 1.] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass.html.ini index 6270a74e10f..f068070c962 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-highpass.html.ini @@ -8,3 +8,6 @@ [# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.] expected: FAIL + [X Max error in Highpass filter response is not less than or equal to 1.5487e-8. Got 0.6490383096498159.] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-notch.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-notch.html.ini index de2ff5cb0c8..55002bf93c2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-notch.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-notch.html.ini @@ -8,3 +8,6 @@ [# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.] expected: FAIL + [X Max error in Notch filter response is not less than or equal to 1.9669e-8. Got 1.] + expected: FAIL + 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 9d72f08e38e..f806a845a2a 100644 --- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini @@ -1,5 +1,6 @@ [005.html] type: testharness + expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/metadata/xhr/getallresponseheaders.htm.ini b/tests/wpt/metadata/xhr/getallresponseheaders.htm.ini index 76c0afc7312..eb26aa270a5 100644 --- a/tests/wpt/metadata/xhr/getallresponseheaders.htm.ini +++ b/tests/wpt/metadata/xhr/getallresponseheaders.htm.ini @@ -9,3 +9,6 @@ [XMLHttpRequest: getAllResponseHeaders() 2] expected: FAIL + [XMLHttpRequest: getAllResponseHeaders() 3] + expected: FAIL + diff --git a/tests/wpt/metadata/xhr/getresponseheader.any.js.ini b/tests/wpt/metadata/xhr/getresponseheader.any.js.ini new file mode 100644 index 00000000000..ca5668f44a6 --- /dev/null +++ b/tests/wpt/metadata/xhr/getresponseheader.any.js.ini @@ -0,0 +1,15 @@ +[getresponseheader.any.worker.html] + [getResponseHeader('foo-test')] + expected: FAIL + + [getResponseHeader('www-authenticate')] + expected: FAIL + + +[getresponseheader.any.html] + [getResponseHeader('foo-test')] + expected: FAIL + + [getResponseHeader('www-authenticate')] + expected: FAIL + diff --git a/tests/wpt/web-platform-tests/background-fetch/dangling-markup.https.window.js b/tests/wpt/web-platform-tests/background-fetch/dangling-markup.https.window.js deleted file mode 100644 index 764257d7d1a..00000000000 --- a/tests/wpt/web-platform-tests/background-fetch/dangling-markup.https.window.js +++ /dev/null @@ -1,17 +0,0 @@ -// META: script=/service-workers/service-worker/resources/test-helpers.sub.js -// META: script=resources/utils.js -'use strict'; - -// "If request's url's potentially-dangling-markup flag is set, and request's -// url's scheme is an HTTP(S) scheme, then set response to a network error." -// https://github.com/whatwg/fetch/pull/519 -// https://github.com/whatwg/fetch/issues/546 - -// This is not a comprehensive test of dangling markup detection - it is just -// intended to check that detection is enabled. - -backgroundFetchTest((t, bgFetch) => { - return promise_rejects( - t, new TypeError(), - bgFetch.fetch(uniqueId(), 'https://example.com/?\n<')); -}, 'fetch to URL containing \\n and < should reject'); diff --git a/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js b/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js index 70dacd717a0..98ecdfa3933 100644 --- a/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js +++ b/tests/wpt/web-platform-tests/background-fetch/fetch.https.window.js @@ -139,14 +139,12 @@ backgroundFetchTest(async (test, backgroundFetch) => { assert_equals(results.length, 1); assert_equals(eventRegistration.id, registration.id); - assert_equals(eventRegistration.state, 'success'); assert_equals(eventRegistration.failureReason, ''); - for (const result of results) { - assert_true(result.url.includes('resources/feature-name.txt')); - assert_equals(result.status, 200); - assert_equals(result.text, 'Background Fetch'); - } + assert_true(results[0].url.includes('resources/feature-name.txt')); + assert_equals(results[0].status, 200); + assert_equals(results[0].text, 'Background Fetch'); + }, 'Fetches can have requests with a body'); @@ -170,4 +168,26 @@ backgroundFetchTest(async (test, backgroundFetch) => { } assert_false(registration.recordsAvailable); -}, 'recordsAvailable is false after onbackgroundfetchsuccess finishes execution.'); \ No newline at end of file +}, 'recordsAvailable is false after onbackgroundfetchsuccess finishes execution.'); + +backgroundFetchTest(async (test, backgroundFetch) => { + const registrationId = uniqueId(); + const registration = + await backgroundFetch.fetch(registrationId, 'resources/missing-cat.txt'); + + assert_equals(registration.id, registrationId); + assert_equals(registration.result, ''); + assert_equals(registration.failureReason, ''); + + const {type, eventRegistration, results} = await getMessageFromServiceWorker(); + assert_equals(type, 'backgroundfetchfail'); + assert_equals(results.length, 1); + assert_true(results[0].url.includes('resources/missing-cat.txt')); + assert_equals(results[0].status, 404); + assert_equals(results[0].text, ''); + + assert_equals(eventRegistration.id, registration.id); + assert_equals(eventRegistration.result, 'failure'); + assert_equals(eventRegistration.failureReason, 'bad-status'); + +}, 'Using Background Fetch to fetch a non-existent resource should fail.'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js b/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js index ab2445d18b0..43d778c0891 100644 --- a/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js +++ b/tests/wpt/web-platform-tests/background-fetch/service_workers/sw.js @@ -13,12 +13,19 @@ async function getFetchResult(record) { }; } -self.addEventListener('backgroundfetchsuccess', event => { +function handleBackgroundFetchUpdateEvent(event) { event.waitUntil( event.registration.matchAll() - .then(records => Promise.all(records.map(record => getFetchResult(record)))) + .then(records => + Promise.all(records.map(record => getFetchResult(record)))) .then(results => { const registrationCopy = cloneRegistration(event.registration); - sendMessageToDocument({ type: event.type, eventRegistration: registrationCopy, results }) + sendMessageToDocument( + { type: event.type, eventRegistration: registrationCopy, results }) })); -}); +} + +self.addEventListener('backgroundfetchsuccess', handleBackgroundFetchUpdateEvent); +self.addEventListener('backgroundfetchfail', handleBackgroundFetchUpdateEvent); + + diff --git a/tests/wpt/web-platform-tests/css/css-align/inheritance.html b/tests/wpt/web-platform-tests/css/css-align/inheritance.html new file mode 100644 index 00000000000..7e2fa130be2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-align/inheritance.html @@ -0,0 +1,33 @@ + + + + +Inheritance of CSS Box Alignment properties + + + + + + + + +
+
+
+ + + + diff --git a/tests/wpt/web-platform-tests/css/css-break/inheritance.html b/tests/wpt/web-platform-tests/css/css-break/inheritance.html new file mode 100644 index 00000000000..e0be119e400 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/inheritance.html @@ -0,0 +1,26 @@ + + + + +Inheritance of CSS Fragmentation properties + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-contain/inheritance.html b/tests/wpt/web-platform-tests/css/css-contain/inheritance.html new file mode 100644 index 00000000000..07378a29f39 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-contain/inheritance.html @@ -0,0 +1,21 @@ + + + + +Inheritance of CSS contain property + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-display/inheritance.html b/tests/wpt/web-platform-tests/css/css-display/inheritance.html new file mode 100644 index 00000000000..bfd072651cb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-display/inheritance.html @@ -0,0 +1,21 @@ + + + + +Inheritance of CSS display property + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-grid/inheritance.html b/tests/wpt/web-platform-tests/css/css-grid/inheritance.html new file mode 100644 index 00000000000..eee86f70300 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/inheritance.html @@ -0,0 +1,30 @@ + + + + +Inheritance of CSS Grid Layout properties + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html b/tests/wpt/web-platform-tests/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html new file mode 100644 index 00000000000..9bd9044991c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-layout-api/constraints-fixed-block-size-percentage-quirks-mode.https.html @@ -0,0 +1,38 @@ + + + + + + + + +
+
+
+
+
+ + diff --git a/tests/wpt/web-platform-tests/css/css-lists/inheritance.html b/tests/wpt/web-platform-tests/css/css-lists/inheritance.html new file mode 100644 index 00000000000..ff1bcdcfb46 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-lists/inheritance.html @@ -0,0 +1,25 @@ + + + + +Inheritance of CSS Lists properties + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-masking/inheritance.html b/tests/wpt/web-platform-tests/css/css-masking/inheritance.html new file mode 100644 index 00000000000..34f75859ee8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-masking/inheritance.html @@ -0,0 +1,38 @@ + + + + +Inheritance of CSS Masking properties + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overflow-shorthand-001.html b/tests/wpt/web-platform-tests/css/css-overflow/overflow-shorthand-001.html index d922e902720..f425636c3bb 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/overflow-shorthand-001.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/overflow-shorthand-001.html @@ -8,15 +8,15 @@
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html index 20275a5c7a1..057cd8ca7e1 100644 --- a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html +++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html @@ -44,4 +44,17 @@ test(function() { assert_equals(innerComputedStyle.getPropertyValue('--non-inherited-length-2'), '90px'); assert_equals(innerComputedStyle.getPropertyValue('--non-inherited-length-3'), '6px'); }, "Registered properties are correctly inherited (or not) depending on the inherits flag."); + +test(function(){ + CSS.registerProperty({name: '--initial-length-1', syntax: '', initialValue: '0px', inherits: false}); + outer.style = '--initial-length-1: notalength'; + inner.style = '--initial-length-1: inherit'; + assert_equals(getComputedStyle(inner).getPropertyValue('--initial-length-1'), '0px'); +}, "Explicitly inheriting from a parent with an invalid value results in initial value."); + +test(function(){ + CSS.registerProperty({name: '--initial-length-2', syntax: '', initialValue: '0px', inherits: false}); + inner.style = '--initial-length-2: inherit'; + assert_equals(getComputedStyle(inner).getPropertyValue('--initial-length-2'), '0px'); +}, "Explicitly inheriting from a parent with no value results in initial value."); diff --git a/tests/wpt/web-platform-tests/css/css-ruby/inheritance.html b/tests/wpt/web-platform-tests/css/css-ruby/inheritance.html new file mode 100644 index 00000000000..9f546c23bb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/inheritance.html @@ -0,0 +1,22 @@ + + + + +Inheritance of CSS Ruby Layout properties + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-align-invalid.html b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-align-invalid.html new file mode 100644 index 00000000000..fcb8511d9e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-align-invalid.html @@ -0,0 +1,21 @@ + + + + +CSS Ruby Layout: parsing ruby-align with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-align-valid.html b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-align-valid.html new file mode 100644 index 00000000000..23093b2b232 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-align-valid.html @@ -0,0 +1,20 @@ + + + + +CSS Ruby Layout: parsing ruby-align with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-position-invalid.html b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-position-invalid.html new file mode 100644 index 00000000000..907c7deee31 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-position-invalid.html @@ -0,0 +1,22 @@ + + + + +CSS Ruby Layout: parsing ruby-position with invalid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-position-valid.html b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-position-valid.html new file mode 100644 index 00000000000..2a217486137 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ruby/parsing/ruby-position-valid.html @@ -0,0 +1,19 @@ + + + + +CSS Ruby Layout: parsing ruby-position with valid values + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html b/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html index 74c02f994e3..8dacffefb62 100644 --- a/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html +++ b/tests/wpt/web-platform-tests/css/css-scrollbars/support/viewport-scrollbar-body-frame.html @@ -2,8 +2,7 @@ +
+

Width Distribution

+

"Computing column measures"

+

This is testing that the table's auto columns are correctly recalculated after removing and adding a col element. + Spec Text

+ +
+ + + + + + + + + + + + +
100200300
+ + + + + + + + + + + + +
100200300
+ + + + + + + + + + + + +
100200300
+ +
+ diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/inheritance.html b/tests/wpt/web-platform-tests/css/css-text-decor/inheritance.html new file mode 100644 index 00000000000..17486f1f193 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text-decor/inheritance.html @@ -0,0 +1,33 @@ + + + + +Inheritance of CSS Text Decoration properties + + + + + + + + +
+
+
+ + + + diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/inheritance.html b/tests/wpt/web-platform-tests/css/css-writing-modes/inheritance.html new file mode 100644 index 00000000000..143571c9d97 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-writing-modes/inheritance.html @@ -0,0 +1,25 @@ + + + + +Inheritance of CSS Writing Modes properties + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-default-css.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-default-css.html new file mode 100644 index 00000000000..8606b1f3ed4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-default-css.html @@ -0,0 +1,52 @@ + +Testing default value of scroll-behavior + + + + + + + + +
+
+
+
+ +
+
+ diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-element.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-element.html new file mode 100644 index 00000000000..9f60ca77112 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-element.html @@ -0,0 +1,163 @@ + +Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element + + + + + + + + +
+
+
+
+ +
+
+ diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html new file mode 100644 index 00000000000..7ef0a4aa0da --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html @@ -0,0 +1,169 @@ + +Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of the main frame + + + + + + + + +
+
+
+
+
+ diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html new file mode 100644 index 00000000000..57b0d913461 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html @@ -0,0 +1,169 @@ + +Testing scrollOptions' behavior for Element.scroll* on the window of the main frame + + + + + + + + +
+
+
+
+
+ diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html new file mode 100644 index 00000000000..2a97e065663 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html @@ -0,0 +1,88 @@ + +Testing scrollOptions' behavior with scrollIntoView for nested scrolling nodes + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html new file mode 100644 index 00000000000..19e317d5e4b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html @@ -0,0 +1,151 @@ + +Testing scroll positions when scrolling an element with smooth behavior + + + + + + + + +
+
+
+
+ +
+
+ diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html new file mode 100644 index 00000000000..32de1b62038 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html @@ -0,0 +1,170 @@ + +Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe + + + + + + + +
+
+ + diff --git a/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html new file mode 100644 index 00000000000..0a8ed39d1b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html @@ -0,0 +1,171 @@ + +Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe + + + + + + + +
+
+ + diff --git a/tests/wpt/web-platform-tests/css/cssom-view/support/scroll-behavior.js b/tests/wpt/web-platform-tests/css/cssom-view/support/scroll-behavior.js new file mode 100644 index 00000000000..0a0968e025b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/cssom-view/support/scroll-behavior.js @@ -0,0 +1,87 @@ +function observeScrolling(elements, callback) { + if (!Array.isArray(elements)) + elements = [elements]; + var lastChangedFrame = 0; + var lastLeft = new Map(); + var lastTop = new Map(); + elements.forEach((element) => { + lastLeft.set(element, element.scrollLeft); + lastTop.set(element, element.scrollTop); + }); + function tick(frames) { + // We requestAnimationFrame either for 500 frames or until 20 frames with + // no change have been observed. + if (frames >= 500 || frames - lastChangedFrame > 20) { + callback(true); + } else { + var scrollHappened = elements.some((element) => { + return element.scrollLeft != lastLeft.get(element) || element.scrollTop != lastTop.get(element); + }); + if (scrollHappened) { + lastChangedFrame = frames; + elements.forEach((element) => { + lastLeft.set(element, element.scrollLeft); + lastTop.set(element, element.scrollTop); + }); + callback(false); + } + requestAnimationFrame(tick.bind(null, frames + 1)); + } + } + tick(0); +} + +function waitForScrollEnd(elements) { + return new Promise((resolve) => { + observeScrolling(elements, (done) => { + if (done) + resolve(); + }); + }); +} + +function resetScroll(scrollingElement) { + // Try various methods to ensure the element position is reset immediately. + scrollingElement.scrollLeft = 0; + scrollingElement.scrollTop = 0; + scrollingElement.scroll({left: 0, top: 0, behavior: "instant"}); +} + +function resetScrollForWindow(scrollingWindow) { + // Try various methods to ensure the element position is reset immediately. + scrollingWindow.document.scrollingElement.scrollLeft = 0; + scrollingWindow.document.scrollingElement.scrollTop = 0; + scrollingWindow.scroll({left: 0, top: 0, behavior: "instant"}); +} + +function setScrollBehavior(styledElement, className) { + styledElement.classList.remove("autoBehavior", "smoothBehavior"); + styledElement.classList.add(className); +} + +function scrollNode(scrollingElement, scrollFunction, behavior, elementToRevealLeft, elementToRevealTop) { + var args = {}; + if (behavior) + args.behavior = behavior; + switch (scrollFunction) { + case "scrollIntoView": + args.inline = "start"; + args.block = "start"; + elementToReveal.scrollIntoView(args); + break; + default: + args.left = elementToRevealLeft; + args.top = elementToRevealTop; + scrollingElement[scrollFunction](args); + break; + } +} + +function scrollWindow(scrollingWindow, scrollFunction, behavior, elementToRevealLeft, elementToRevealTop) { + var args = {}; + if (behavior) + args.behavior = behavior; + args.left = elementToRevealLeft; + args.top = elementToRevealTop; + scrollingWindow[scrollFunction](args); +} diff --git a/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html b/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html index 196f5f26f31..fae0a84a7b4 100644 --- a/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html +++ b/tests/wpt/web-platform-tests/css/cssom/getComputedStyle-insets-absolute.html @@ -3,7 +3,7 @@ CSSOM: resolved values of the inset properties for absolute positioning - + diff --git a/tests/wpt/web-platform-tests/css/cssom/shorthand-values.html b/tests/wpt/web-platform-tests/css/cssom/shorthand-values.html index 1e4d93acb26..d8d7f5349a4 100644 --- a/tests/wpt/web-platform-tests/css/cssom/shorthand-values.html +++ b/tests/wpt/web-platform-tests/css/cssom/shorthand-values.html @@ -32,7 +32,7 @@ 'border: 1px; border-top-color: red;': 'border-width: 1px; border-top-color: red;', 'border: solid; border-style: dotted': 'border: dotted;', 'border-width: 1px;': 'border-width: 1px;', - 'overflow-x: scroll; overflow-y: hidden;': 'overflow: hidden scroll;', + 'overflow-x: scroll; overflow-y: hidden;': 'overflow: scroll hidden;', 'overflow-x: scroll; overflow-y: scroll;': 'overflow: scroll;', 'outline-width: 2px; outline-style: dotted; outline-color: blue;': 'outline: blue dotted 2px;', 'margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px;': 'margin: 1px 2px 3px 4px;', diff --git a/tests/wpt/web-platform-tests/css/cssom/support/getComputedStyle-insets.js b/tests/wpt/web-platform-tests/css/cssom/support/getComputedStyle-insets.js index 7bd34fe87a2..beec32e76bc 100644 --- a/tests/wpt/web-platform-tests/css/cssom/support/getComputedStyle-insets.js +++ b/tests/wpt/web-platform-tests/css/cssom/support/getComputedStyle-insets.js @@ -89,9 +89,9 @@ function runTestsWithWM(data, testWM, cbWM) { function checkStyle(declarations, expected, msg) { test(function() { - testEl.style.cssText = style + "; " + serialize({...declarations, ...testWM.style}); + testEl.style.cssText = style + "; " + serialize(Object.assign({}, declarations, testWM.style)); if (containingBlockElement) { - containingBlockElement.style.cssText = serialize({...cbWM.style}); + containingBlockElement.style.cssText = serialize(Object.assign({}, cbWM.style)); } const cs = getComputedStyle(testEl); for (let [prop, value] of Object.entries(expected)) { diff --git a/tests/wpt/web-platform-tests/css/motion/offset-path-serialization.html b/tests/wpt/web-platform-tests/css/motion/offset-path-serialization.html new file mode 100644 index 00000000000..1c000919518 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/motion/offset-path-serialization.html @@ -0,0 +1,42 @@ + + + + +Motion Path Module Level 1: path serialization + + + + + + + +
+ + + diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html index b93091b2088..3fe8a5b20d8 100644 --- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html +++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-parsing-valid.html @@ -30,11 +30,11 @@ test_valid_value("offset", "path('M 0 0 H 1') 50px", "path(\"M 0 0 H 1\") 50px") test_valid_value("offset", "path(\"M 0 0 H 1\") auto"); test_valid_value("offset", "path('M 0 0 H 1') reverse 30deg 50px", "path(\"M 0 0 H 1\") 50px reverse 30deg"); test_valid_value("offset", "path(\"M 0 0 H 1\")"); -test_valid_value("offset", "path('m 0 0 h 100') -7rad 8px / auto", "path(\"m 0 0 h 100\") 8px -7rad / auto"); -test_valid_value("offset", "path('m 0 0 h 100') -7rad 8px / left top", "path(\"m 0 0 h 100\") 8px -7rad / left top"); +test_valid_value("offset", "path('m 20 0 h 100') -7rad 8px / auto", "path(\"m 20 0 h 100\") 8px -7rad / auto"); +test_valid_value("offset", "path('m 0 30 v 100') -7rad 8px / left top", "path(\"m 0 30 v 100\") 8px -7rad / left top"); test_valid_value("offset", "path('m 0 0 h 100') -7rad 8px", "path(\"m 0 0 h 100\") 8px -7rad"); -test_valid_value("offset", "path(\"m 0 0 h 100\") 100px 0deg"); -test_valid_value("offset", "path('m 1 2 v 3 Z')", "path(\"m 1 2 v 3 Z\")"); +test_valid_value("offset", "path(\"M 0 0 H 100\") 100px 0deg"); +test_valid_value("offset", "path( 'm 1 2 v 3.00 z')", "path(\"m 1 2 v 3 Z\")"); test_valid_value("offset", "ray(farthest-corner 90deg) 1%", "ray(90deg farthest-corner) 1%"); test_valid_value("offset", "ray(sides 0deg) 50% 90deg auto", "ray(0deg sides) 50% auto 90deg"); test_valid_value("offset", "right bottom / left top"); diff --git a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html index bda82928726..0ed360f6e36 100644 --- a/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html +++ b/tests/wpt/web-platform-tests/css/motion/parsing/offset-path-parsing-valid.html @@ -21,8 +21,13 @@ test_valid_value("offset-path", "ray(270deg farthest-corner contain)"); test_valid_value("offset-path", "ray(-720deg sides)"); test_valid_value("offset-path", "ray(calc(180deg - 45deg) farthest-side)", "ray(calc(135deg) farthest-side)"); -test_valid_value("offset-path", 'path("m 0 0 h -100")'); +test_valid_value("offset-path", 'path("m 20 0 h -100")'); test_valid_value("offset-path", 'path("M 0 0 L 100 100 M 100 200 L 200 200 Z L 300 300 Z")'); +test_valid_value("offset-path", 'path("m 10 20 q 30 60 40 50 q 100 70 90 80")'); +test_valid_value("offset-path", 'path("M 0 0 L 100 100 m 0 100 l 100 0 Z l 160 20 Z")'); +test_valid_value("offset-path", 'path("m 10 20 l 20 30 Z l 50 60 Z m 70 80 l 90 60 Z t 70 120")'); +test_valid_value("offset-path", 'path("m 10 170 h 90 v 30 m 0 0 s 1 2 3 4 z c 9 8 7 6 5 4")', 'path("m 10 170 h 90 v 30 m 0 0 s 1 2 3 4 Z c 9 8 7 6 5 4")'); +test_valid_value("offset-path", 'path("m 10 20 a 10 20 30 1 0 40 50 a 110 120 30 1 1 140 50")'); test_valid_value("offset-path", 'url("http://www.example.com/index.html#polyline1")'); diff --git a/tests/wpt/web-platform-tests/css/support/inheritance-testcommon.js b/tests/wpt/web-platform-tests/css/support/inheritance-testcommon.js index 50bf4c3ae2b..1a4d2fee891 100644 --- a/tests/wpt/web-platform-tests/css/support/inheritance-testcommon.js +++ b/tests/wpt/web-platform-tests/css/support/inheritance-testcommon.js @@ -24,10 +24,10 @@ function assert_inherited(property, initial, other) { assert_equals(getComputedStyle(container)[property], other); assert_equals(getComputedStyle(target)[property], other); target.style[property] = 'initial'; - assert_not_equals(getComputedStyle(container)[property], other); + assert_equals(getComputedStyle(container)[property], other); assert_not_equals(getComputedStyle(target)[property], other); target.style[property] = 'inherit'; - assert_equals(getComputedStyle(container)[property], other); + assert_equals(getComputedStyle(target)[property], other); container.style[property] = ''; target.style[property] = ''; }, 'Property ' + property + ' inherits'); diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/values3/calc-text-indent-intrinsic-1-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/values3/calc-text-indent-intrinsic-1-ref.html index 93c8c89978f..fa221c015d1 100644 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/values3/calc-text-indent-intrinsic-1-ref.html +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/values3/calc-text-indent-intrinsic-1-ref.html @@ -12,9 +12,9 @@ body > div { margin: 0 0 1px 0; background: blue; color: white; height: 5px } -
+
-
+
diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md b/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md index dcbc86f745c..51472d15437 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/chrome.md @@ -2,40 +2,27 @@ layout: page title: Chrome --- -When running Chrome, there are some additional useful command line arguments. +When running Chrome, there are some useful command line arguments. -As with most products, you can use a different binary with `--binary`, e.g., to -run Chrome Dev on Linux: +You can inform `wpt` of the release channel of Chrome using `--channel`. +However, `wpt` currently does not support installing Chrome or finding the +Chrome binary of a specific channel, so you would also need to specify the path +to the Chrome binary with `--binary`. For example, to run Chrome Dev on Linux: ``` -./wpt run --binary `which google-chrome-unstable` chrome +./wpt run --channel dev --binary `which google-chrome-unstable` chrome ``` -Extra arguments to Chrome can be passed with `--binary-args`. +Note: when the channel is "dev", `wpt` will *automatically* enable all +[experimental web platform features][1] +(chrome://flags/#enable-experimental-web-platform-features) by passing +`--enable-experimental-web-platform-features` to Chrome. -To enable all [experimental web platform features](https://www.chromium.org/blink/runtime-enabled-features) (chrome://flags/#enable-experimental-web-platform-features): - -``` -./wpt run --binary-arg=--enable-experimental-web-platform-features chrome fullscreen/ -``` - -To enable a specific [runtime enabled feature](http://dev.chromium.org/blink/runtime-enabled-features): +If you want to enable a specific [runtime enabled feature][1], use +`--binary-arg` to specify the flag(s) that you want to pass to Chrome: ``` ./wpt run --binary-arg=--enable-blink-features=AsyncClipboard chrome clipboard-apis/ ``` -To bypass device selection and use mock media for tests using `getUserMedia`: - -``` -./wpt run --binary-arg=--use-fake-ui-for-media-stream --binary-arg=--use-fake-device-for-media-stream chrome mediacapture-streams/ -``` - -Note: there's an [open issue for doing this using WebDriver](https://github.com/web-platform-tests/wpt/issues/7424). - -Some of the above are most useful in combination, e.g., to run all tests in -Chrome Dev with experimental web platform features enabled: - -``` -./wpt run --binary `which google-chrome-unstable` --binary-arg=--enable-experimental-web-platform-features chrome -``` +[1]: https://www.chromium.org/blink/runtime-enabled-features diff --git a/tests/wpt/web-platform-tests/dom/events/EventListener-addEventListener.sub.window.js b/tests/wpt/web-platform-tests/dom/events/EventListener-addEventListener.sub.window.js new file mode 100644 index 00000000000..b658140eea8 --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/events/EventListener-addEventListener.sub.window.js @@ -0,0 +1,9 @@ +async_test(function(t) { + let crossOriginFrame = document.createElement('iframe'); + crossOriginFrame.src = 'https://{{hosts[alt][]}}/common/blank.html'; + document.body.appendChild(crossOriginFrame); + crossOriginFrame.addEventListener('load', t.step_func_done(function() { + let crossOriginWindow = crossOriginFrame.contentWindow; + window.addEventListener('click', crossOriginWindow); + })); +}, "EventListener.addEventListener doesn't throw when a cross origin object is passed in."); diff --git a/tests/wpt/web-platform-tests/fetch/api/basic/header-value-combining.any.js b/tests/wpt/web-platform-tests/fetch/api/basic/header-value-combining.any.js new file mode 100644 index 00000000000..fd08072ea52 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/basic/header-value-combining.any.js @@ -0,0 +1,11 @@ +// META: global=window,worker + +promise_test(async t => { + const response = await fetch("../../../xhr/resources/headers-basic.asis"); + assert_equals(response.headers.get("foo-test"), "1, 2, 3"); +}, "response.headers.get('foo-test')"); + +promise_test(async t => { + const response = await fetch("../../../xhr/resources/headers-www-authenticate.asis"); + assert_equals(response.headers.get("www-authenticate"), "1, 2, 3, 4"); +}, "response.headers.get('www-authenticate')"); diff --git a/tests/wpt/web-platform-tests/fetch/api/basic/stream-safe-creation.any.js b/tests/wpt/web-platform-tests/fetch/api/basic/stream-safe-creation.any.js new file mode 100644 index 00000000000..180d3386590 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/basic/stream-safe-creation.any.js @@ -0,0 +1,54 @@ +// META: global=worker + +// These tests verify that stream creation is not affected by changes to +// Object.prototype. + +const creationCases = { + fetch: async () => fetch(location.href), + request: () => new Request(location.href, {method: 'POST', body: 'hi'}), + response: () => new Response('bye'), + consumeEmptyResponse: () => new Response().text(), + consumeNonEmptyResponse: () => new Response(new Uint8Array([64])).text(), + consumeEmptyRequest: () => new Request(location.href).text(), + consumeNonEmptyRequest: () => new Request(location.href, + {method: 'POST', body: 'yes'}).arrayBuffer(), +}; + +for (creationCase of Object.keys(creationCases)) { + for (accessorName of ['start', 'type', 'size', 'highWaterMark']) { + promise_test(async t => { + Object.defineProperty(Object.prototype, accessorName, { + get() { throw Error(`Object.prototype.${accessorName} was accessed`); }, + configurable: true + }); + t.add_cleanup(() => { + delete Object.prototype[accessorName]; + return Promise.resolve(); + }); + await creationCases[creationCase](); + }, `throwing Object.prototype.${accessorName} accessor should not affect ` + + `stream creation by '${creationCase}'`); + + promise_test(async t => { + // -1 is a convenient value which is invalid, and should cause the + // constructor to throw, for all four fields. + Object.prototype[accessorName] = -1; + t.add_cleanup(() => { + delete Object.prototype[accessorName]; + return Promise.resolve(); + }); + await creationCases[creationCase](); + }, `Object.prototype.${accessorName} accessor returning invalid value ` + + `should not affect stream creation by '${creationCase}'`); + } + + promise_test(async t => { + Object.prototype.start = controller => controller.error(new Error('start')); + t.add_cleanup(() => { + delete Object.prototype.start; + return Promise.resolve(); + }); + await creationCases[creationCase](); + }, `Object.prototype.start function which errors the stream should not ` + + `affect stream creation by '${creationCase}'`); +} diff --git a/tests/wpt/web-platform-tests/fullscreen/api/document-exit-fullscreen-active-document.html b/tests/wpt/web-platform-tests/fullscreen/api/document-exit-fullscreen-active-document.html index 18b0bb6493b..8279fae5337 100644 --- a/tests/wpt/web-platform-tests/fullscreen/api/document-exit-fullscreen-active-document.html +++ b/tests/wpt/web-platform-tests/fullscreen/api/document-exit-fullscreen-active-document.html @@ -9,11 +9,12 @@ var t = async_test(); onload = t.step_func(() => { var iframe = document.querySelector("iframe"); + var promiseBeforeNav = iframe.contentWindow.Promise; var documentBeforeNav = iframe.contentDocument; iframe.onload = t.step_func(() => { var p = documentBeforeNav.exitFullscreen(); - assert_true(p instanceof Promise, 'exitFullscreen() returns promise'); + assert_true(p instanceof promiseBeforeNav, 'exitFullscreen() returns promise'); // The promise should already be rejected, so its reject callback should be // invoked before a second promise's callback. p.catch(t.step_func_done()); diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html new file mode 100644 index 00000000000..1c221555c30 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html @@ -0,0 +1,45 @@ + +fieldset percentage block size + + + +
+
+ rendered legend + second legend +
div
+
+
+ +
+
+ rendered legend + second legend +
div
+
+
+ +
+
+ rendered legend + second legend +
div
+
+
+ + diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins-ref.html index e0528855df0..f2701d26f32 100644 --- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins-ref.html +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins-ref.html @@ -4,7 +4,7 @@ body { margin: 0; } .fieldset { margin: 2em 1em 1em 1em; border: 1em solid green; } .legend { position: absolute; margin-top: -1em; margin-left: 1em; background: white; height: 1em; } -.inner { margin: 2em 1em 1em 1em; height: 1em; } +.inner { margin: 3em 1em 1em 1em; height: 1em; }

There should be no red.

diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins.html index 957eca57350..98cd16c7c14 100644 --- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins.html +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins.html @@ -4,9 +4,9 @@

There should be no red.

diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering-ref.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering-ref.html new file mode 100644 index 00000000000..189b195f615 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering-ref.html @@ -0,0 +1,34 @@ + +Reference for rendered legend and CSS display rendering + +
tabletable
+
table-row-group
+
table-header-group
+
table-footer-group
+
table-row
+
table-cell
+
table-column-group
+
table-column
+
table-caption
+
flow
+
flow-root
+
run-in
+
inline
+
inline-block
+
inline-tableinline-table
+
rubyruby
+
ruby-base
+
ruby-text
+
ruby-base-container
+
ruby-text-container
+
gridgrid
+
inline-gridinline-grid
+
flexflex
+
inline-flexinline-flex
diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html new file mode 100644 index 00000000000..ba6610503a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html @@ -0,0 +1,119 @@ + +rendered legend and CSS display rendering + + +
+ tabletable +
+ +
+ table-row-group +
+ +
+ table-header-group +
+ +
+ table-footer-group +
+ +
+ table-row +
+ +
+ table-cell +
+ +
+ table-column-group +
+ +
+ table-column +
+ +
+ table-caption +
+ +
+ flow +
+ +
+ flow-root +
+ +
+ run-in +
+ +
+ inline +
+ +
+ inline-block +
+ +
+ inline-tableinline-table +
+ +
+ rubyruby +
+ +
+ ruby-base +
+ +
+ ruby-text +
+ +
+ ruby-base-container +
+ +
+ ruby-text-container +
+ +
+ gridgrid +
+ +
+ inline-gridinline-grid +
+ +
+ flexflex +
+ +
+ inline-flexinline-flex +
+ diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html index c26b50ce662..e9676435725 100644 --- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html @@ -1,6 +1,6 @@ legend and dipslay: list-item - + +
+ left +
+
+ center +
+
+ right +
+
+ 10px +
+ + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html index ee043a8c94f..42113cdd2ff 100644 --- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html @@ -28,7 +28,7 @@ test(function() { assert_true(document.getElementById("imgTestTag2").complete); - }, "img src empty and srset omitted"); + }, "img src and srcset empty"); // test if set to true after img is completely available var t = async_test("async src complete test"); diff --git a/tests/wpt/web-platform-tests/interfaces/payment-handler.idl b/tests/wpt/web-platform-tests/interfaces/payment-handler.idl index 5648ae33457..b5d79decb06 100644 --- a/tests/wpt/web-platform-tests/interfaces/payment-handler.idl +++ b/tests/wpt/web-platform-tests/interfaces/payment-handler.idl @@ -10,7 +10,6 @@ partial interface ServiceWorkerRegistration { [SecureContext, Exposed=(Window,Worker)] interface PaymentManager { [SameObject] readonly attribute PaymentInstruments instruments; - [Exposed=Window] static Promise requestPermission(); attribute DOMString userHint; }; diff --git a/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-MediaTrackSupportedConstraints.html b/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-MediaTrackSupportedConstraints.html index 59a54f51d60..9ec5261b9dc 100644 --- a/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-MediaTrackSupportedConstraints.html +++ b/tests/wpt/web-platform-tests/mediacapture-image/ImageCapture-MediaTrackSupportedConstraints.html @@ -12,6 +12,7 @@ test(function() { assert_true(supported_constraints.focusMode); assert_true(supported_constraints.pointsOfInterest); assert_true(supported_constraints.exposureCompensation); + assert_true(supported_constraints.exposureTime); assert_true(supported_constraints.colorTemperature); assert_true(supported_constraints.iso); assert_true(supported_constraints.brightness); diff --git a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-getSettings.html b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-getSettings.html index 1a1b58e5415..4900336549f 100644 --- a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-getSettings.html +++ b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-getSettings.html @@ -17,13 +17,15 @@ image_capture_test(async t => { context.fillRect(0, 0, 10, 10); const constraints = { advanced : [{ whiteBalanceMode : 'single-shot', - exposureMode : 'continuous', + exposureMode : 'manual', focusMode : 'single-shot', pointsOfInterest : [{x : 0.1, y : 0.2}, {x : 0.3, y : 0.4}], exposureCompensation : 133.77, + // in nano-seconds. + exposureTime : 10000, colorTemperature : 6000, iso : 120.0, @@ -70,6 +72,8 @@ image_capture_test(async t => { assert_equals(constraints.advanced[0].exposureCompensation, settings.exposureCompensation, 'exposureCompensation'); + assert_equals(constraints.advanced[0].exposureTime, + settings.exposureTime, 'exposureTime'); assert_equals(constraints.advanced[0].colorTemperature, settings.colorTemperature, 'colorTemperature'); assert_equals(constraints.advanced[0].iso, settings.iso, 'iso'); @@ -91,4 +95,4 @@ image_capture_test(async t => { }, 'exercises an applyConstraints() - getSettings() cycle'); - + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-reject.html b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-reject.html index 8f08d250fd1..21719636ea8 100644 --- a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-reject.html +++ b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints-reject.html @@ -43,7 +43,7 @@ var makePromiseTest = function(getConstraint) { const constraintGenerators = [ capabilities => ({ whiteBalanceMode: 'manual' }), - capabilities => ({ exposureMode: 'manual' }), + capabilities => ({ exposureMode: 'none' }), capabilities => ({ focusMode: 'continuous' }), capabilities => ({ exposureCompensation: capabilities.exposureCompensation.max + 1 diff --git a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints.html b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints.html index 8dcff926173..c87f954c682 100644 --- a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints.html +++ b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-applyConstraints.html @@ -19,13 +19,14 @@ image_capture_test(async (t, imageCaptureTest) => { context.fillRect(0, 0, 10, 10); const constraints = { advanced : [{ whiteBalanceMode : 'single-shot', - exposureMode : 'continuous', + exposureMode : 'manual', focusMode : 'single-shot', pointsOfInterest : [{x : 0.1, y : 0.2}, {x : 0.3, y : 0.4}], exposureCompensation : 133.77, + exposureTime : 10000, colorTemperature : 6000, iso : 120.0, @@ -90,6 +91,9 @@ image_capture_test(async (t, imageCaptureTest) => { assert_equals(constraintsDict.exposureCompensation, theMock.options().exposureCompensation, 'exposureCompensation'); + assert_equals(constraintsDict.exposureTime, + theMock.options().exposureTime, + 'exposureTime'); assert_equals(constraintsDict.colorTemperature, theMock.options().colorTemperature, 'colorTemperature'); assert_equals(constraintsDict.iso, theMock.options().iso, 'iso'); diff --git a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getCapabilities.html b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getCapabilities.html index eceaf5b1a86..9e34f2389cc 100644 --- a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getCapabilities.html +++ b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getCapabilities.html @@ -78,6 +78,15 @@ image_capture_test(async (t, imageCaptureTest) => { assert_equals(capabilities.exposureCompensation.step, mockCapabilities.exposureCompensation.step); + assert_true(capabilities.exposureTime instanceof + MediaSettingsRange); + assert_equals(capabilities.exposureTime.max, + mockCapabilities.exposureTime.max); + assert_equals(capabilities.exposureTime.min, + mockCapabilities.exposureTime.min); + assert_equals(capabilities.exposureTime.step, + mockCapabilities.exposureTime.step); + assert_true(capabilities.colorTemperature instanceof MediaSettingsRange); assert_equals(capabilities.colorTemperature.max, diff --git a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getConstraints-fast.html b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getConstraints-fast.html index 5a5ce5f2dad..16f869cf119 100644 --- a/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getConstraints-fast.html +++ b/tests/wpt/web-platform-tests/mediacapture-image/MediaStreamTrack-getConstraints-fast.html @@ -7,10 +7,11 @@ 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 similarity index 100% rename from tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html rename to tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html index fe2ab006181..d0cf3671743 100644 --- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html @@ -1,12 +1,12 @@ - Pointer Event: releasePointerCapture DOMException - InvalidPointerId - + Pointer Event: releasePointerCapture DOMException - NotFoundError + - + @@ -15,13 +15,13 @@ @@ -14,7 +14,7 @@ -

Pointer Event: DOMException InvalidPointerId

+

Pointer Event: DOMException NotFoundError

Test Description: - When the setPointerCapture method is invoked, if the provided pointerId value does not match any of the active pointers, a DOMException with the name InvalidPointerId must be thrown. + When the setPointerCapture method is invoked, if the provided pointerId value does not match any of the active pointers, a DOMException with the name NotFoundError must be thrown.


@@ -62,4 +54,4 @@
- \ No newline at end of file + diff --git a/tests/wpt/web-platform-tests/resources/chromium/image_capture.mojom.js b/tests/wpt/web-platform-tests/resources/chromium/image_capture.mojom.js index 11123feb87d..bf8dd16ca75 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/image_capture.mojom.js +++ b/tests/wpt/web-platform-tests/resources/chromium/image_capture.mojom.js @@ -167,6 +167,7 @@ this.torch = false; this.pointsOfInterest = null; this.exposureCompensation = null; + this.exposureTime = null; this.colorTemperature = null; this.iso = null; this.brightness = null; @@ -194,7 +195,7 @@ return err; var kVersionSizes = [ - {version: 0, numBytes: 160} + {version: 0, numBytes: 168} ]; err = messageValidator.validateStructVersion(offset, kVersionSizes); if (err !== validator.validationError.NONE) @@ -249,83 +250,89 @@ return err; - // validate PhotoState.colorTemperature + // validate PhotoState.exposureTime err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 56, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.iso + // validate PhotoState.colorTemperature err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 64, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.brightness + // validate PhotoState.iso err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 72, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.contrast + // validate PhotoState.brightness err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 80, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.saturation + // validate PhotoState.contrast err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 88, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.sharpness + // validate PhotoState.saturation err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 96, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.focusDistance + // validate PhotoState.sharpness err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 104, Range, false); if (err !== validator.validationError.NONE) return err; - // validate PhotoState.zoom + // validate PhotoState.focusDistance err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 112, Range, false); if (err !== validator.validationError.NONE) return err; + // validate PhotoState.zoom + err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 120, Range, false); + if (err !== validator.validationError.NONE) + return err; + + // validate PhotoState.redEyeReduction - err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 120, RedEyeReduction); + err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 128, RedEyeReduction); if (err !== validator.validationError.NONE) return err; // validate PhotoState.height - err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 128, Range, false); - if (err !== validator.validationError.NONE) - return err; - - - // validate PhotoState.width err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 136, Range, false); if (err !== validator.validationError.NONE) return err; + // validate PhotoState.width + err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 144, Range, false); + if (err !== validator.validationError.NONE) + return err; + + // validate PhotoState.fillLightMode - err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 144, 4, new codec.Enum(FillLightMode), false, [0], 0); + err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 152, 4, new codec.Enum(FillLightMode), false, [0], 0); if (err !== validator.validationError.NONE) return err; return validator.validationError.NONE; }; - PhotoState.encodedSize = codec.kStructHeaderSize + 152; + PhotoState.encodedSize = codec.kStructHeaderSize + 160; PhotoState.decode = function(decoder) { var packed; @@ -346,6 +353,7 @@ decoder.skip(1); val.pointsOfInterest = decoder.decodeArrayPointer(new codec.PointerTo(Point2D)); val.exposureCompensation = decoder.decodeStructPointer(Range); + val.exposureTime = decoder.decodeStructPointer(Range); val.colorTemperature = decoder.decodeStructPointer(Range); val.iso = decoder.decodeStructPointer(Range); val.brightness = decoder.decodeStructPointer(Range); @@ -384,6 +392,7 @@ encoder.skip(1); encoder.encodeArrayPointer(new codec.PointerTo(Point2D), val.pointsOfInterest); encoder.encodeStructPointer(Range, val.exposureCompensation); + encoder.encodeStructPointer(Range, val.exposureTime); encoder.encodeStructPointer(Range, val.colorTemperature); encoder.encodeStructPointer(Range, val.iso); encoder.encodeStructPointer(Range, val.brightness); @@ -466,6 +475,7 @@ this.hasExposureMode = false; this.hasFocusMode = false; this.hasExposureCompensation = false; + this.hasExposureTime = false; this.hasColorTemperature = false; this.hasIso = false; this.hasBrightness = false; @@ -486,6 +496,7 @@ this.focusMode = 0; this.pointsOfInterest = null; this.exposureCompensation = 0; + this.exposureTime = 0; this.colorTemperature = 0; this.iso = 0; this.brightness = 0; @@ -512,7 +523,7 @@ return err; var kVersionSizes = [ - {version: 0, numBytes: 128} + {version: 0, numBytes: 136} ]; err = messageValidator.validateStructVersion(offset, kVersionSizes); if (err !== validator.validationError.NONE) @@ -564,11 +575,13 @@ + + // validate PhotoSettings.fillLightMode - err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 96, FillLightMode); + err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 104, FillLightMode); if (err !== validator.validationError.NONE) return err; @@ -581,7 +594,7 @@ return validator.validationError.NONE; }; - PhotoSettings.encodedSize = codec.kStructHeaderSize + 120; + PhotoSettings.encodedSize = codec.kStructHeaderSize + 128; PhotoSettings.decode = function(decoder) { var packed; @@ -593,29 +606,31 @@ val.hasExposureMode = (packed >> 1) & 1 ? true : false; val.hasFocusMode = (packed >> 2) & 1 ? true : false; val.hasExposureCompensation = (packed >> 3) & 1 ? true : false; - val.hasColorTemperature = (packed >> 4) & 1 ? true : false; - val.hasIso = (packed >> 5) & 1 ? true : false; - val.hasBrightness = (packed >> 6) & 1 ? true : false; - val.hasContrast = (packed >> 7) & 1 ? true : false; + val.hasExposureTime = (packed >> 4) & 1 ? true : false; + val.hasColorTemperature = (packed >> 5) & 1 ? true : false; + val.hasIso = (packed >> 6) & 1 ? true : false; + val.hasBrightness = (packed >> 7) & 1 ? true : false; packed = decoder.readUint8(); - val.hasSaturation = (packed >> 0) & 1 ? true : false; - val.hasSharpness = (packed >> 1) & 1 ? true : false; - val.hasFocusDistance = (packed >> 2) & 1 ? true : false; - val.hasZoom = (packed >> 3) & 1 ? true : false; - val.hasTorch = (packed >> 4) & 1 ? true : false; - val.torch = (packed >> 5) & 1 ? true : false; - val.hasFillLightMode = (packed >> 6) & 1 ? true : false; - val.hasWidth = (packed >> 7) & 1 ? true : false; + val.hasContrast = (packed >> 0) & 1 ? true : false; + val.hasSaturation = (packed >> 1) & 1 ? true : false; + val.hasSharpness = (packed >> 2) & 1 ? true : false; + val.hasFocusDistance = (packed >> 3) & 1 ? true : false; + val.hasZoom = (packed >> 4) & 1 ? true : false; + val.hasTorch = (packed >> 5) & 1 ? true : false; + val.torch = (packed >> 6) & 1 ? true : false; + val.hasFillLightMode = (packed >> 7) & 1 ? true : false; packed = decoder.readUint8(); - val.hasHeight = (packed >> 0) & 1 ? true : false; - val.hasRedEyeReduction = (packed >> 1) & 1 ? true : false; - val.redEyeReduction = (packed >> 2) & 1 ? true : false; + val.hasWidth = (packed >> 0) & 1 ? true : false; + val.hasHeight = (packed >> 1) & 1 ? true : false; + val.hasRedEyeReduction = (packed >> 2) & 1 ? true : false; + val.redEyeReduction = (packed >> 3) & 1 ? true : false; decoder.skip(1); val.whiteBalanceMode = decoder.decodeStruct(codec.Int32); val.exposureMode = decoder.decodeStruct(codec.Int32); val.focusMode = decoder.decodeStruct(codec.Int32); val.pointsOfInterest = decoder.decodeArrayPointer(new codec.PointerTo(Point2D)); val.exposureCompensation = decoder.decodeStruct(codec.Double); + val.exposureTime = decoder.decodeStruct(codec.Double); val.colorTemperature = decoder.decodeStruct(codec.Double); val.iso = decoder.decodeStruct(codec.Double); val.brightness = decoder.decodeStruct(codec.Double); @@ -643,25 +658,26 @@ packed |= (val.hasExposureMode & 1) << 1 packed |= (val.hasFocusMode & 1) << 2 packed |= (val.hasExposureCompensation & 1) << 3 - packed |= (val.hasColorTemperature & 1) << 4 - packed |= (val.hasIso & 1) << 5 - packed |= (val.hasBrightness & 1) << 6 - packed |= (val.hasContrast & 1) << 7 + packed |= (val.hasExposureTime & 1) << 4 + packed |= (val.hasColorTemperature & 1) << 5 + packed |= (val.hasIso & 1) << 6 + packed |= (val.hasBrightness & 1) << 7 encoder.writeUint8(packed); packed = 0; - packed |= (val.hasSaturation & 1) << 0 - packed |= (val.hasSharpness & 1) << 1 - packed |= (val.hasFocusDistance & 1) << 2 - packed |= (val.hasZoom & 1) << 3 - packed |= (val.hasTorch & 1) << 4 - packed |= (val.torch & 1) << 5 - packed |= (val.hasFillLightMode & 1) << 6 - packed |= (val.hasWidth & 1) << 7 + packed |= (val.hasContrast & 1) << 0 + packed |= (val.hasSaturation & 1) << 1 + packed |= (val.hasSharpness & 1) << 2 + packed |= (val.hasFocusDistance & 1) << 3 + packed |= (val.hasZoom & 1) << 4 + packed |= (val.hasTorch & 1) << 5 + packed |= (val.torch & 1) << 6 + packed |= (val.hasFillLightMode & 1) << 7 encoder.writeUint8(packed); packed = 0; - packed |= (val.hasHeight & 1) << 0 - packed |= (val.hasRedEyeReduction & 1) << 1 - packed |= (val.redEyeReduction & 1) << 2 + packed |= (val.hasWidth & 1) << 0 + packed |= (val.hasHeight & 1) << 1 + packed |= (val.hasRedEyeReduction & 1) << 2 + packed |= (val.redEyeReduction & 1) << 3 encoder.writeUint8(packed); encoder.skip(1); encoder.encodeStruct(codec.Int32, val.whiteBalanceMode); @@ -669,6 +685,7 @@ encoder.encodeStruct(codec.Int32, val.focusMode); encoder.encodeArrayPointer(new codec.PointerTo(Point2D), val.pointsOfInterest); encoder.encodeStruct(codec.Double, val.exposureCompensation); + encoder.encodeStruct(codec.Double, val.exposureTime); encoder.encodeStruct(codec.Double, val.colorTemperature); encoder.encodeStruct(codec.Double, val.iso); encoder.encodeStruct(codec.Double, val.brightness); diff --git a/tests/wpt/web-platform-tests/resources/chromium/mock-imagecapture.js b/tests/wpt/web-platform-tests/resources/chromium/mock-imagecapture.js index 878f59eb009..329cbc3a761 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/mock-imagecapture.js +++ b/tests/wpt/web-platform-tests/resources/chromium/mock-imagecapture.js @@ -19,10 +19,11 @@ var ImageCaptureTest = (() => { ], currentWhiteBalanceMode: media.mojom.MeteringMode.CONTINUOUS, supportedExposureModes: [ + media.mojom.MeteringMode.MANUAL, media.mojom.MeteringMode.SINGLE_SHOT, media.mojom.MeteringMode.CONTINUOUS ], - currentExposureMode: media.mojom.MeteringMode.SINGLE_SHOT, + currentExposureMode: media.mojom.MeteringMode.MANUAL, supportedFocusModes: [ media.mojom.MeteringMode.MANUAL, media.mojom.MeteringMode.SINGLE_SHOT @@ -39,6 +40,12 @@ var ImageCaptureTest = (() => { current: 33.0, step: 33.0 }, + exposureTime: { + min: 100.0, + max: 100000.0, + current: 1000.0, + step: 100.0 + }, colorTemperature: { min: 2500.0, max: 6500.0, @@ -152,6 +159,10 @@ var ImageCaptureTest = (() => { this.state_.state.exposureCompensation.current = settings.exposureCompensation; } + if (settings.hasExposureTime) { + this.state_.state.exposureTime.current = + settings.exposureTime; + } if (settings.hasWhiteBalanceMode) { this.state_.state.currentWhiteBalanceMode = settings.whiteBalanceMode; diff --git a/tests/wpt/web-platform-tests/resources/chromium/web_usb_service.mojom.js b/tests/wpt/web-platform-tests/resources/chromium/web_usb_service.mojom.js index d0b93a168bf..bacad8fa390 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/web_usb_service.mojom.js +++ b/tests/wpt/web-platform-tests/resources/chromium/web_usb_service.mojom.js @@ -46,25 +46,6 @@ this[field] = fields[field]; } }; - WebUsbService_GetDevices_Params.generate = function(generator_) { - var generated = new WebUsbService_GetDevices_Params; - return generated; - }; - - WebUsbService_GetDevices_Params.prototype.mutate = function(mutator_) { - return this; - }; - WebUsbService_GetDevices_Params.prototype.getHandleDeps = function() { - var handles = []; - return handles; - }; - - WebUsbService_GetDevices_Params.prototype.setHandles = function() { - this.setHandlesInternal_(arguments, 0); - }; - WebUsbService_GetDevices_Params.prototype.setHandlesInternal_ = function(handles, idx) { - return idx; - }; WebUsbService_GetDevices_Params.validate = function(messageValidator, offset) { var err; @@ -112,33 +93,6 @@ this[field] = fields[field]; } }; - WebUsbService_GetDevices_ResponseParams.generate = function(generator_) { - var generated = new WebUsbService_GetDevices_ResponseParams; - generated.results = generator_.generateArray(function() { - return generator_.generateStruct(device.mojom.UsbDeviceInfo, false); - }); - return generated; - }; - - WebUsbService_GetDevices_ResponseParams.prototype.mutate = function(mutator_) { - if (mutator_.chooseMutateField()) { - this.results = mutator_.mutateArray(this.results, function(val) { - return mutator_.mutateStruct(val, device.mojom.UsbDeviceInfo, false); - }); - } - return this; - }; - WebUsbService_GetDevices_ResponseParams.prototype.getHandleDeps = function() { - var handles = []; - return handles; - }; - - WebUsbService_GetDevices_ResponseParams.prototype.setHandles = function() { - this.setHandlesInternal_(arguments, 0); - }; - WebUsbService_GetDevices_ResponseParams.prototype.setHandlesInternal_ = function(handles, idx) { - return idx; - }; WebUsbService_GetDevices_ResponseParams.validate = function(messageValidator, offset) { var err; @@ -195,37 +149,6 @@ this[field] = fields[field]; } }; - WebUsbService_GetDevice_Params.generate = function(generator_) { - var generated = new WebUsbService_GetDevice_Params; - generated.guid = generator_.generateString(false); - generated.deviceRequestd = generator_.generateInterfaceRequest("device.mojom.UsbDevice", false); - return generated; - }; - - WebUsbService_GetDevice_Params.prototype.mutate = function(mutator_) { - if (mutator_.chooseMutateField()) { - this.guid = mutator_.mutateString(this.guid, false); - } - if (mutator_.chooseMutateField()) { - this.deviceRequestd = mutator_.mutateInterfaceRequest(this.deviceRequestd, "device.mojom.UsbDevice", false); - } - return this; - }; - WebUsbService_GetDevice_Params.prototype.getHandleDeps = function() { - var handles = []; - if (this.deviceRequestd !== null) { - Array.prototype.push.apply(handles, ["device.mojom.UsbDeviceRequest"]); - } - return handles; - }; - - WebUsbService_GetDevice_Params.prototype.setHandles = function() { - this.setHandlesInternal_(arguments, 0); - }; - WebUsbService_GetDevice_Params.prototype.setHandlesInternal_ = function(handles, idx) { - this.deviceRequestd = handles[idx++];; - return idx; - }; WebUsbService_GetDevice_Params.validate = function(messageValidator, offset) { var err; @@ -297,33 +220,6 @@ this[field] = fields[field]; } }; - WebUsbService_GetPermission_Params.generate = function(generator_) { - var generated = new WebUsbService_GetPermission_Params; - generated.deviceFilters = generator_.generateArray(function() { - return generator_.generateStruct(device.mojom.UsbDeviceFilter, false); - }); - return generated; - }; - - WebUsbService_GetPermission_Params.prototype.mutate = function(mutator_) { - if (mutator_.chooseMutateField()) { - this.deviceFilters = mutator_.mutateArray(this.deviceFilters, function(val) { - return mutator_.mutateStruct(val, device.mojom.UsbDeviceFilter, false); - }); - } - return this; - }; - WebUsbService_GetPermission_Params.prototype.getHandleDeps = function() { - var handles = []; - return handles; - }; - - WebUsbService_GetPermission_Params.prototype.setHandles = function() { - this.setHandlesInternal_(arguments, 0); - }; - WebUsbService_GetPermission_Params.prototype.setHandlesInternal_ = function(handles, idx) { - return idx; - }; WebUsbService_GetPermission_Params.validate = function(messageValidator, offset) { var err; @@ -379,29 +275,6 @@ this[field] = fields[field]; } }; - WebUsbService_GetPermission_ResponseParams.generate = function(generator_) { - var generated = new WebUsbService_GetPermission_ResponseParams; - generated.result = generator_.generateStruct(device.mojom.UsbDeviceInfo, true); - return generated; - }; - - WebUsbService_GetPermission_ResponseParams.prototype.mutate = function(mutator_) { - if (mutator_.chooseMutateField()) { - this.result = mutator_.mutateStruct(this.result, device.mojom.UsbDeviceInfo, true); - } - return this; - }; - WebUsbService_GetPermission_ResponseParams.prototype.getHandleDeps = function() { - var handles = []; - return handles; - }; - - WebUsbService_GetPermission_ResponseParams.prototype.setHandles = function() { - this.setHandlesInternal_(arguments, 0); - }; - WebUsbService_GetPermission_ResponseParams.prototype.setHandlesInternal_ = function(handles, idx) { - return idx; - }; WebUsbService_GetPermission_ResponseParams.validate = function(messageValidator, offset) { var err; @@ -449,7 +322,7 @@ WebUsbService_SetClient_Params.prototype.initDefaults_ = function() { - this.client = new device_manager$.UsbDeviceManagerClientPtr(); + this.client = new associatedBindings.AssociatedInterfacePtrInfo(); }; WebUsbService_SetClient_Params.prototype.initFields_ = function(fields) { for(var field in fields) { @@ -457,33 +330,6 @@ this[field] = fields[field]; } }; - WebUsbService_SetClient_Params.generate = function(generator_) { - var generated = new WebUsbService_SetClient_Params; - generated.client = generator_.generateInterface("device.mojom.UsbDeviceManagerClient", false); - return generated; - }; - - WebUsbService_SetClient_Params.prototype.mutate = function(mutator_) { - if (mutator_.chooseMutateField()) { - this.client = mutator_.mutateInterface(this.client, "device.mojom.UsbDeviceManagerClient", false); - } - return this; - }; - WebUsbService_SetClient_Params.prototype.getHandleDeps = function() { - var handles = []; - if (this.client !== null) { - Array.prototype.push.apply(handles, ["device.mojom.UsbDeviceManagerClientPtr"]); - } - return handles; - }; - - WebUsbService_SetClient_Params.prototype.setHandles = function() { - this.setHandlesInternal_(arguments, 0); - }; - WebUsbService_SetClient_Params.prototype.setHandlesInternal_ = function(handles, idx) { - this.client = handles[idx++];; - return idx; - }; WebUsbService_SetClient_Params.validate = function(messageValidator, offset) { var err; @@ -500,7 +346,7 @@ // validate WebUsbService_SetClient_Params.client - err = messageValidator.validateInterface(offset + codec.kStructHeaderSize + 0, false); + err = messageValidator.validateAssociatedInterface(offset + codec.kStructHeaderSize + 0, false); if (err !== validator.validationError.NONE) return err; @@ -514,7 +360,7 @@ var val = new WebUsbService_SetClient_Params(); var numberOfBytes = decoder.readUint32(); var version = decoder.readUint32(); - val.client = decoder.decodeStruct(new codec.Interface(device_manager$.UsbDeviceManagerClientPtr)); + val.client = decoder.decodeStruct(codec.AssociatedInterfacePtrInfo); return val; }; @@ -522,7 +368,7 @@ var packed; encoder.writeUint32(WebUsbService_SetClient_Params.encodedSize); encoder.writeUint32(0); - encoder.encodeStruct(new codec.Interface(device_manager$.UsbDeviceManagerClientPtr), val.client); + encoder.encodeStruct(codec.AssociatedInterfacePtrInfo, val.client); }; var kWebUsbService_GetDevices_Name = 0; var kWebUsbService_GetDevice_Name = 1; @@ -620,10 +466,10 @@ WebUsbServiceProxy.prototype.setClient = function(client) { var params_ = new WebUsbService_SetClient_Params(); params_.client = client; - var builder = new codec.MessageV0Builder( + var builder = new codec.MessageV2Builder( kWebUsbService_SetClient_Name, codec.align(WebUsbService_SetClient_Params.encodedSize)); - builder.encodeStruct(WebUsbService_SetClient_Params, params_); + builder.setPayload(WebUsbService_SetClient_Params, params_); var message = builder.finish(); this.receiver_.accept(message); }; @@ -753,25 +599,10 @@ stubClass: WebUsbServiceStub, validateRequest: validateWebUsbServiceRequest, validateResponse: validateWebUsbServiceResponse, - mojomId: 'third_party/blink/public/mojom/usb/web_usb_service.mojom', - fuzzMethods: { - getDevices: { - params: WebUsbService_GetDevices_Params, - }, - getDevice: { - params: WebUsbService_GetDevice_Params, - }, - getPermission: { - params: WebUsbService_GetPermission_Params, - }, - setClient: { - params: WebUsbService_SetClient_Params, - }, - }, }; WebUsbServiceStub.prototype.validator = validateWebUsbServiceRequest; WebUsbServiceProxy.prototype.validator = validateWebUsbServiceResponse; exports.WebUsbService = WebUsbService; exports.WebUsbServicePtr = WebUsbServicePtr; exports.WebUsbServiceAssociatedPtr = WebUsbServiceAssociatedPtr; -})(); \ 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 5f9262655f3..18ee824aafa 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js @@ -397,8 +397,8 @@ class FakeWebUsbService { }); } - setClient(client) { - this.client_ = client; + setClient(clientInfo) { + this.client_ = new device.mojom.UsbDeviceManagerClientAssociatedPtr(clientInfo); } } diff --git a/tests/wpt/web-platform-tests/resources/test/conftest.py b/tests/wpt/web-platform-tests/resources/test/conftest.py index 8765bf835df..5fca1d24c41 100644 --- a/tests/wpt/web-platform-tests/resources/test/conftest.py +++ b/tests/wpt/web-platform-tests/resources/test/conftest.py @@ -29,6 +29,8 @@ def pytest_collect_file(path, parent): def pytest_configure(config): config.driver = webdriver.Firefox(firefox_binary=config.getoption("--binary")) + config.add_cleanup(config.driver.quit) + config.server = WPTServer(WPT_ROOT) config.server.start() # Although the name of the `_create_unverified_context` method suggests @@ -42,7 +44,6 @@ def pytest_configure(config): # https://docs.python.org/2/library/httplib.html#httplib.HTTPSConnection config.ssl_context = ssl._create_unverified_context() config.add_cleanup(config.server.stop) - config.add_cleanup(config.driver.quit) def resolve_uri(context, uri): if uri.startswith('/'): @@ -107,7 +108,14 @@ class HTMLItem(pytest.Item, pytest.Collector): elif self.type == 'unit' and self.expected: raise ValueError('Unit tests must not specify expected report data') - super(HTMLItem, self).__init__(name, parent) + # Ensure that distinct items have distinct fspath attributes. + # This is necessary because pytest has an internal cache keyed on it, + # and only the first test with any given fspath will be run. + # + # This cannot use super(HTMLItem, self).__init__(..) because only the + # Collector constructor takes the fspath argument. + pytest.Item.__init__(self, name, parent) + pytest.Collector.__init__(self, name, parent, fspath=filename) def reportinfo(self): diff --git a/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.sub.html b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.sub.html index 586326d8761..5573b1d5273 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.sub.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/functional/worker-dedicated.sub.html @@ -33,7 +33,7 @@ test(function(t) { { "summarized_status": { "status_string": "ERROR", - "message": "Error in remote https://{{domains[]}}:{{ports[https][0]}}/resources/test/tests/functional/worker-error.js: Error: This failure is expected." + "message": "Error: This failure is expected." }, "summarized_tests": [ { diff --git a/tests/wpt/web-platform-tests/resources/test/tests/unit/exceptional-cases.html b/tests/wpt/web-platform-tests/resources/test/tests/unit/exceptional-cases.html index df9e1239a2e..1a5335f6c1f 100644 --- a/tests/wpt/web-platform-tests/resources/test/tests/unit/exceptional-cases.html +++ b/tests/wpt/web-platform-tests/resources/test/tests/unit/exceptional-cases.html @@ -165,20 +165,6 @@ promise_test(() => { }); }, 'uncaught exception between tests'); -promise_test(() => { - return makeTest( - () => { async_test((t) => setTimeout(t.done.bind(t), 0), 'before'); }, - () => { async_test('pending'); }, - () => { throw new Error('this error is expected'); }, - () => { async_test((t) => setTimeout(t.done.bind(t), 0), 'after'); } - ).then(({harness, tests}) => { - assert_equals(harness, 'ERROR'); - assert_equals(tests.before, 'PASS'); - assert_equals(tests.pending, 'NOTRUN'); - assert_equals(tests.after, 'PASS'); - }); -}, 'uncaught exception between async_tests'); - promise_test(() => { return makeTest( () => { promise_test(() => Promise.resolve(), 'before'); }, diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/skip-waiting-installed-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/skip-waiting-installed-worker.js index b48d502b136..6f7008bddcd 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/skip-waiting-installed-worker.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/skip-waiting-installed-worker.js @@ -21,7 +21,7 @@ self.addEventListener('message', function(event) { if (self.registration.active.state !== 'activating') { port.postMessage( - 'FAITL: Promise should be resolved before ServiceWorker#state is set to activated'); + 'FAIL: Promise should be resolved before ServiceWorker#state is set to activated'); return; } diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/worker-interception.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/worker-interception.https.html index 4f14746d917..bf976a29c48 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/worker-interception.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/worker-interception.https.html @@ -69,25 +69,11 @@ promise_test(function(t) { return wait_for_state(t, r.installing, 'activated'); }) .then(function() { - return new Promise(function(resolve, reject) { - var w = new Worker(worker_url); - w.onmessage = function(e) { - resolve(e.data); - } - - w.onerror = function(e) { - reject(e.message); - } - }); + var w = new Worker(worker_url); + var watcher = new EventWatcher(t, w, ['message', 'error']); + return watcher.wait_for('error'); }) - .then(function(data) { - assert_unreached('intercepted cors response to a same-origin mode ' + - 'worker load should fail'); - service_worker_unregister_and_done(t, scope); - }) - .catch(function(e) { - assert_true(true, 'intercepted cors response to a same-origin mode ' + - 'worker load should fail'); + .then(function() { service_worker_unregister_and_done(t, scope); }); }, 'Verify worker script intercepted by cors response fails'); @@ -102,24 +88,11 @@ promise_test(function(t) { return wait_for_state(t, r.installing, 'activated'); }) .then(function() { - return new Promise(function(resolve, reject) { - var w = new Worker(worker_url); - w.onmessage = function(e) { - resolve(e.data); - } - - w.onerror = function(e) { - reject(e); - return true; - } - }); + var w = new Worker(worker_url); + var watcher = new EventWatcher(t, w, ['message', 'error']); + return watcher.wait_for('error'); }) - .then(function(data) { - assert_unreached('intercepted no-cors worker load should fail'); - service_worker_unregister_and_done(t, scope); - }) - .catch(function(e) { - assert_true(true, 'intercepted no-cors worker load should fail'); + .then(function() { service_worker_unregister_and_done(t, scope); }); }, 'Verify worker script intercepted by no-cors cross-origin response fails'); diff --git a/tests/wpt/web-platform-tests/shadow-dom/event-dispatch-order.tentative.html b/tests/wpt/web-platform-tests/shadow-dom/event-dispatch-order.tentative.html new file mode 100644 index 00000000000..1e88740f53a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/event-dispatch-order.tentative.html @@ -0,0 +1,30 @@ + +Shadow DOM: event dispatch order for capture and non-capture listerns at a shadow host + + + + + + +
+ +
+ diff --git a/tests/wpt/web-platform-tests/shadow-dom/resources/shadow-dom.js b/tests/wpt/web-platform-tests/shadow-dom/resources/shadow-dom.js index 3e55684dac1..192ad454130 100644 --- a/tests/wpt/web-platform-tests/shadow-dom/resources/shadow-dom.js +++ b/tests/wpt/web-platform-tests/shadow-dom/resources/shadow-dom.js @@ -53,7 +53,9 @@ function createTestTree(node) { return ids; } -function dispatchEventWithLog(nodes, target, event) { +// TODO: Refactor this so that only interested results are recorded. +// Callers of this function would not be interested in every results. +function dispatchEventWithLog(nodes, target, event, options) { function labelFor(e) { return e.id || e.tagName; @@ -70,15 +72,40 @@ function dispatchEventWithLog(nodes, target, event) { if (!id) continue; attachedNodes.push(node); - node.addEventListener(event.type, (e) => { + if (options && options.capture) { + // Record [currentTarget, target, relatedTarget, composedPath(), 'capture' | 'non-capture'] + // TODO: Support registering listeners in different orders. + // e.g. Register a non-capture listener at first, then register a capture listener. + node.addEventListener(event.type, (e) => { + log.push([id, + labelFor(e.target), + e.relatedTarget ? labelFor(e.relatedTarget) : null, + e.composedPath().map((n) => { + return labelFor(n); + }), + 'capture']); + }, true); + node.addEventListener(event.type, (e) => { + log.push([id, + labelFor(e.target), + e.relatedTarget ? labelFor(e.relatedTarget) : null, + e.composedPath().map((n) => { + return labelFor(n); + }), + 'non-capture']); + }); + } else { // Record [currentTarget, target, relatedTarget, composedPath()] - log.push([id, - labelFor(e.target), - e.relatedTarget ? labelFor(e.relatedTarget) : null, - e.composedPath().map((n) => { - return labelFor(n); - })]); - }); + node.addEventListener(event.type, (e) => { + log.push([id, + labelFor(e.target), + e.relatedTarget ? labelFor(e.relatedTarget) : null, + e.composedPath().map((n) => { + return labelFor(n); + })] + ); + }); + } } } target.dispatchEvent(event); @@ -122,9 +149,13 @@ function dispatchUAEventWithLog(nodes, target, eventType, callback) { function assert_event_path_equals(actual, expected) { assert_equals(actual.length, expected.length); for (let i = 0; i < actual.length; ++i) { + assert_equals(actual[i].length, expected[i].length); assert_equals(actual[i][0], expected[i][0], 'currentTarget at ' + i + ' should be same'); assert_equals(actual[i][1], expected[i][1], 'target at ' + i + ' should be same'); assert_equals(actual[i][2], expected[i][2], 'relatedTarget at ' + i + ' should be same'); assert_array_equals(actual[i][3], expected[i][3], 'composedPath at ' + i + ' should be same'); + if (actual[i][4]) { + assert_equals(actual[i][4], expected[i][4], 'listener type should be same at ' + i); + } } } diff --git a/tests/wpt/web-platform-tests/svg/linking/scripted/a-download-click.svg b/tests/wpt/web-platform-tests/svg/linking/scripted/a-download-click.svg index 406d0e6ba56..b728603d547 100644 --- a/tests/wpt/web-platform-tests/svg/linking/scripted/a-download-click.svg +++ b/tests/wpt/web-platform-tests/svg/linking/scripted/a-download-click.svg @@ -22,7 +22,7 @@ const link = frame.contentDocument.querySelector("#blob-url"); link.href.baseVal = URL.createObjectURL(blob); - link.click(); + link.dispatchEvent(new Event('click')); t.step_timeout(() => t.done(), 1000); })); @@ -30,4 +30,4 @@ root.appendChild(frame); }, "Clicking on an element with a download attribute must not throw an exception"); ]]> - \ No newline at end of file + diff --git a/tests/wpt/web-platform-tests/svg/path/property/getComputedStyle.svg b/tests/wpt/web-platform-tests/svg/path/property/getComputedStyle.svg index 5830191931f..392c570e352 100644 --- a/tests/wpt/web-platform-tests/svg/path/property/getComputedStyle.svg +++ b/tests/wpt/web-platform-tests/svg/path/property/getComputedStyle.svg @@ -10,7 +10,7 @@ d: path('M 10 3 H 30'); } .g5 { - d: path('M 10 5 H 50'); + d: path('m 10 5 h 40'); } .p6 { d: inherit; diff --git a/tests/wpt/web-platform-tests/svg/path/property/serialization.svg b/tests/wpt/web-platform-tests/svg/path/property/serialization.svg new file mode 100644 index 00000000000..297f8ede687 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/path/property/serialization.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-001-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-001-ref.png new file mode 100644 index 00000000000..691bff6244c Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-001-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-001.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-001.svg new file mode 100644 index 00000000000..24290d40d6c --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-001.svg @@ -0,0 +1,63 @@ + + + Mesh gradient: Single 1x1 patch (userSpaceOnUse). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-002-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-002-ref.png new file mode 100644 index 00000000000..691bff6244c Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-002-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-002.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-002.svg new file mode 100644 index 00000000000..23911352002 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-002.svg @@ -0,0 +1,63 @@ + + + Mesh gradient: Single 1x1 patch (objectBoundingBox) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-003-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-003-ref.png new file mode 100644 index 00000000000..39c36a150fb Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-003-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-003.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-003.svg new file mode 100644 index 00000000000..84db2ea1260 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-003.svg @@ -0,0 +1,103 @@ + + + Mesh gradient: Simple 2x2 patch mesh (userSpaceOnUse). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-004-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-004-ref.png new file mode 100644 index 00000000000..39c36a150fb Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-004-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-004.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-004.svg new file mode 100644 index 00000000000..c7e75019937 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-004.svg @@ -0,0 +1,103 @@ + + + Mesh gradient: Simple 2x2 patch mesh (objectBoundingBox). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-005-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-005-ref.png new file mode 100644 index 00000000000..3cd5164b776 Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-005-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-005.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-005.svg new file mode 100644 index 00000000000..59a6c2500a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-basic-005.svg @@ -0,0 +1,226 @@ + + + Mesh gradient: Star: 10x2 patches. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-bicubic-001-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-bicubic-001-ref.png new file mode 100644 index 00000000000..551345d732c Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-bicubic-001-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-bicubic-001.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-bicubic-001.svg new file mode 100644 index 00000000000..8c3c219f182 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-bicubic-001.svg @@ -0,0 +1,223 @@ + + + Mesh gradient: Coons vs. Bicubic. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-complex-001-ref.png b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-complex-001-ref.png new file mode 100644 index 00000000000..4ce893b827c Binary files /dev/null and b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-complex-001-ref.png differ diff --git a/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-complex-001.svg b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-complex-001.svg new file mode 100644 index 00000000000..625fae59ea5 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/pservers/reftests/meshgradient-complex-001.svg @@ -0,0 +1,89 @@ + + + Mesh gradient: Patch paint order. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/svg/shapes/animatedPoints-non-animated.html b/tests/wpt/web-platform-tests/svg/shapes/animatedPoints-non-animated.html new file mode 100644 index 00000000000..5c175890860 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/shapes/animatedPoints-non-animated.html @@ -0,0 +1,51 @@ + + + + +animatedPoints non-animated + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/tools/serve/serve.py b/tests/wpt/web-platform-tests/tools/serve/serve.py index 104701caf85..c4afc691d34 100644 --- a/tests/wpt/web-platform-tests/tools/serve/serve.py +++ b/tests/wpt/web-platform-tests/tools/serve/serve.py @@ -22,7 +22,6 @@ from localpaths import repo_root from six.moves import reload_module from manifest.sourcefile import read_script_metadata, js_meta_re, parse_variants -from mozlog.structuredlog import StructuredLogger from wptserve import server as wptserve, handlers from wptserve import stash from wptserve import config @@ -630,14 +629,22 @@ class WebSocketDaemon(object): self.server = None +def release_mozlog_lock(): + try: + from mozlog.structuredlog import StructuredLogger + try: + StructuredLogger._lock.release() + except threading.ThreadError: + pass + except ImportError: + pass + + def start_ws_server(host, port, paths, routes, bind_address, config, **kwargs): # Ensure that when we start this in a new process we have the global lock # in the logging module unlocked reload_module(logging) - try: - StructuredLogger._lock.release() - except threading.ThreadError: - pass + release_mozlog_lock() return WebSocketDaemon(host, str(port), repo_root, @@ -651,10 +658,7 @@ def start_wss_server(host, port, paths, routes, bind_address, config, **kwargs): # Ensure that when we start this in a new process we have the global lock # in the logging module unlocked reload_module(logging) - try: - StructuredLogger._lock.release() - except threading.ThreadError: - pass + release_mozlog_lock() return WebSocketDaemon(host, str(port), repo_root, diff --git a/tests/wpt/web-platform-tests/tools/wpt/run.py b/tests/wpt/web-platform-tests/tools/wpt/run.py index 21dc7c8e977..7e8827b1069 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/run.py +++ b/tests/wpt/web-platform-tests/tools/wpt/run.py @@ -221,6 +221,9 @@ Consider installing certutil via your OS package manager or directly.""") channel=kwargs["browser_channel"]) kwargs["prefs_root"] = prefs_root + # Allow WebRTC tests to call getUserMedia. + kwargs["extra_prefs"].append("media.navigator.streams.fake=true") + class Fennec(BrowserSetup): name = "fennec" @@ -255,6 +258,9 @@ class Chrome(BrowserSetup): logger.info("Automatically turning on experimental features for Chrome Dev") kwargs["binary_args"].append("--enable-experimental-web-platform-features") + # Allow WebRTC tests to call getUserMedia. + kwargs["binary_args"] += ["--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream"] + class ChromeAndroid(BrowserSetup): name = "chrome_android" diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py index 04f2ce84a41..9f7ebfa2ca5 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -220,13 +220,15 @@ class FirefoxBrowser(Browser): preferences = self.load_prefs() self.profile = FirefoxProfile(preferences=preferences) - self.profile.set_preferences({"marionette.port": self.marionette_port, - "dom.disable_open_during_load": False, - "network.dns.localDomains": ",".join(self.config.domains_set), - "network.proxy.type": 0, - "places.history.enabled": False, - "dom.send_after_paint_to_content": True, - "network.preload": True}) + self.profile.set_preferences({ + "marionette.port": self.marionette_port, + "network.dns.localDomains": ",".join(self.config.domains_set), + + # TODO: Remove preferences once Firefox 64 is stable (Bug 905404) + "network.proxy.type": 0, + "places.history.enabled": False, + "network.preload": True, + }) if self.e10s: self.profile.set_preferences({"browser.tabs.remote.autostart": True}) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/new_session/platform_name.py b/tests/wpt/web-platform-tests/webdriver/tests/new_session/platform_name.py index 0504f04259d..54fe4743bed 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/new_session/platform_name.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/new_session/platform_name.py @@ -4,7 +4,7 @@ from tests.support import platform_name from tests.support.asserts import assert_success -@pytest.mark.skip_if(platform_name is None, reason="Unsupported platform {}".format(platform_name)) +@pytest.mark.skipif(platform_name is None, reason="Unsupported platform {}".format(platform_name)) def test_corresponds_to_local_system(new_session, add_browser_capabilities): response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}}) value = assert_success(response) diff --git a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html index 6069c25af4a..3f5c367d3ad 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCConfiguration-iceServers.html @@ -53,6 +53,10 @@ assert_equals(pc.getConfiguration().iceServers, undefined); }, 'new RTCPeerConnection() should have default configuration.iceServers of undefined'); + config_test(makePc => { + makePc({}); + }, '{} should succeed'); + config_test(makePc => { assert_throws(new TypeError(), () => makePc({ iceServers: null })); @@ -126,7 +130,7 @@ }, `with 2 stun servers should succeed`); config_test(makePc => { - const pc = new RTCPeerConnection({ iceServers: [{ + const pc = makePc({ iceServers: [{ urls: 'turn:turn.example.org', username: 'user', credential: 'cred' @@ -281,35 +285,49 @@ transport-ext = 1*unreserved */ config_test(makePc => { - assert_throws('SyntaxError', () => + assert_throws(new SyntaxError(), () => + makePc({ iceServers: [{ + urls: '' + }] })); + }, 'with "" url should throw SyntaxError'); + + config_test(makePc => { + assert_throws(new SyntaxError(), () => + makePc({ iceServers: [{ + urls: ['stun:stun1.example.net', ''] + }] })); + }, 'with ["stun:stun1.example.net", ""] url should throw SyntaxError'); + + config_test(makePc => { + assert_throws(new SyntaxError(), () => makePc({ iceServers: [{ urls: 'relative-url' }] })); }, 'with relative url should throw SyntaxError'); config_test(makePc => { - assert_throws('SyntaxError', () => + assert_throws(new SyntaxError(), () => makePc({ iceServers: [{ urls: 'http://example.com' }] })); }, 'with http url should throw SyntaxError'); config_test(makePc => { - assert_throws('SyntaxError', () => + assert_throws(new SyntaxError(), () => makePc({ iceServers: [{ urls: 'turn://example.org/foo?x=y' }] })); }, 'with invalid turn url should throw SyntaxError'); config_test(makePc => { - assert_throws('SyntaxError', () => + assert_throws(new SyntaxError(), () => makePc({ iceServers: [{ urls: 'stun://example.org/foo?x=y' }] })); }, 'with invalid stun url should throw SyntaxError'); config_test(makePc => { - assert_throws('SyntaxError', () => + assert_throws(new SyntaxError(), () => makePc({ iceServers: [{ urls: [] }] })); @@ -471,52 +489,6 @@ }, 'with stun server, credentialType password, and RTCOAuthCredential credential should succeed'); - // credential type validation is ignored when urls is empty and there is no scheme name - config_test(makePc => { - const pc = makePc({ iceServers: [{ - urls: [], - credentialType: 'oauth', - username: 'user', - credential: 'cred' - }] }); - - const { iceServers } = pc.getConfiguration(); - assert_equals(iceServers.length, 1); - const server = iceServers[0]; - - assert_array_equals(server.urls, []); - assert_equals(server.credentialType, 'oauth'); - assert_equals(server.username, 'user'); - assert_equals(server.credential, 'cred'); - - }, 'with empty urls list, credentialType oauth, and string credential should succeed'); - - // credential type validation is ignored when urls is empty and there is no scheme name - config_test(makePc => { - const pc = makePc({ iceServers: [{ - urls: [], - credentialType: 'password', - username: 'user', - credential: { - macKey: '', - accessToken: '' - } - }] }); - - const { iceServers } = pc.getConfiguration(); - assert_equals(iceServers.length, 1); - - const server = iceServers[0]; - assert_array_equals(server.urls, []); - assert_equals(server.credentialType, 'password'); - assert_equals(server.username, 'user'); - - const { credential } = server; - assert_equals(credential.macKey, ''); - assert_equals(credential.accessToken, ''); - - }, 'with empty urls list, credentialType password, and RTCOAuthCredential credential should succeed'); - /* Tested 4.3.2. To set a configuration diff --git a/tests/wpt/web-platform-tests/x-frame-options/multiple.sub.html b/tests/wpt/web-platform-tests/x-frame-options/multiple.sub.html index f7a28e40ee2..717e9fd25c5 100644 --- a/tests/wpt/web-platform-tests/x-frame-options/multiple.sub.html +++ b/tests/wpt/web-platform-tests/x-frame-options/multiple.sub.html @@ -49,29 +49,27 @@ var i = document.createElement('iframe'); i.src = "./support/xfo.py?value=INVALID&value2=SAMEORIGIN"; - assert_no_message_from(i, t); - - i.onload = t.step_func_done(_ => { - assert_equals(i.contentDocument, null); - i.remove(); - }); + wait_for_message_from(i, t) + .then(t.step_func_done(e => { + assert_equals(e.data, "Loaded"); + i.remove(); + })); document.body.appendChild(i); - }, "`XFO: INVALID; XFO: SAMEORIGIN` blocks same-origin framing."); + }, "`XFO: INVALID; XFO: SAMEORIGIN` allows same-origin framing."); async_test(t => { var i = document.createElement('iframe'); i.src = "./support/xfo.py?value=SAMEORIGIN&value2=INVALID"; - assert_no_message_from(i, t); - - i.onload = t.step_func_done(_ => { - assert_equals(i.contentDocument, null); - i.remove(); - }); + wait_for_message_from(i, t) + .then(t.step_func_done(e => { + assert_equals(e.data, "Loaded"); + i.remove(); + })); document.body.appendChild(i); - }, "`XFO: SAMEORIGIN; XFO: INVALID` blocks same-origin framing."); + }, "`XFO: SAMEORIGIN; XFO: INVALID` allows same-origin framing."); async_test(t => { var i = document.createElement('iframe'); diff --git a/tests/wpt/web-platform-tests/xhr/getallresponseheaders.htm b/tests/wpt/web-platform-tests/xhr/getallresponseheaders.htm index 7b54e9e16f8..e5747331a8c 100644 --- a/tests/wpt/web-platform-tests/xhr/getallresponseheaders.htm +++ b/tests/wpt/web-platform-tests/xhr/getallresponseheaders.htm @@ -30,4 +30,14 @@ test(() => { client.send() assert_equals(client.getAllResponseHeaders(), "content-length: 0\r\n") }) + +async_test(t => { + const client = new XMLHttpRequest(); + client.onload = t.step_func_done(() => { + assert_equals(client.getAllResponseHeaders(), "www-authenticate: 1, 2, 3, 4\r\n"); + }); + client.onerror = t.unreached_func("unexpected error"); + client.open("GET", "resources/headers-www-authenticate.asis"); + client.send(); +}); diff --git a/tests/wpt/web-platform-tests/xhr/getresponseheader.any.js b/tests/wpt/web-platform-tests/xhr/getresponseheader.any.js new file mode 100644 index 00000000000..4ff791aeb16 --- /dev/null +++ b/tests/wpt/web-platform-tests/xhr/getresponseheader.any.js @@ -0,0 +1,19 @@ +async_test(t => { + const client = new XMLHttpRequest(); + client.onload = t.step_func_done(() => { + assert_equals(client.getResponseHeader("foo-test"), "1, 2, 3"); + }); + client.onerror = t.unreached_func("unexpected error"); + client.open("GET", "resources/headers-basic.asis"); + client.send(); +}, "getResponseHeader('foo-test')"); + +async_test(t => { + const client = new XMLHttpRequest(); + client.onload = t.step_func_done(() => { + assert_equals(client.getResponseHeader("www-authenticate"), "1, 2, 3, 4"); + }); + client.onerror = t.unreached_func("unexpected error"); + client.open("GET", "resources/headers-www-authenticate.asis"); + client.send(); +}, "getResponseHeader('www-authenticate')"); diff --git a/tests/wpt/web-platform-tests/xhr/resources/headers-www-authenticate.asis b/tests/wpt/web-platform-tests/xhr/resources/headers-www-authenticate.asis new file mode 100644 index 00000000000..6f9905ee7a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/xhr/resources/headers-www-authenticate.asis @@ -0,0 +1,4 @@ +HTTP/1.1 280 HELLO +www-authenticate: 1 +www-authenticate: 2 +www-authenticate: 3, 4 diff --git a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini index a4c57939ad5..ca35ba9e620 100644 --- a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini +++ b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini @@ -5,3 +5,6 @@ [WebGL test #36: could not create image (SVG)] expected: FAIL + [WebGL test #52: could not create image (SVG)] + expected: FAIL +