Update web-platform-tests to revision cf8a15a334c6eb3b044b3db8a933436c2365819d

This commit is contained in:
WPT Sync Bot 2020-03-28 08:19:23 +00:00
parent 7d66871a9f
commit f4e67a0197
76 changed files with 1744 additions and 114 deletions

View file

@ -0,0 +1,4 @@
[hit-test-floats-002.html]
[Hit test float]
expected: FAIL

View file

@ -0,0 +1,4 @@
[hit-test-anonymous-block.html]
[Hit test beside line of text inside anonymous block]
expected: FAIL

View file

@ -0,0 +1,13 @@
[flex-item-contains-strict.html]
[.inline-flex 5]
expected: FAIL
[.inline-flex 6]
expected: FAIL
[.inline-flex 1]
expected: FAIL
[.inline-flex 2]
expected: FAIL

View file

@ -0,0 +1,13 @@
[flex-minimum-size-002.html]
[.flexbox, .inline-flexbox 1]
expected: FAIL
[.flexbox, .inline-flexbox 6]
expected: FAIL
[.flexbox, .inline-flexbox 5]
expected: FAIL
[.flexbox, .inline-flexbox 4]
expected: FAIL

View file

@ -0,0 +1,4 @@
[flex-outer-flexbox-column-recalculate-height-on-resize-001.html]
[.OuterFlexbox 1]
expected: FAIL

View file

@ -0,0 +1,2 @@
[flexbox-overflow-auto-001.html]
expected: FAIL

View file

@ -0,0 +1,37 @@
[flexbox-overflow-auto-002.html]
[.flexbox, .inline-flexbox 11]
expected: FAIL
[.flexbox, .inline-flexbox 10]
expected: FAIL
[.flexbox, .inline-flexbox 3]
expected: FAIL
[.flexbox, .inline-flexbox 2]
expected: FAIL
[.flexbox, .inline-flexbox 1]
expected: FAIL
[.flexbox, .inline-flexbox 14]
expected: FAIL
[.flexbox, .inline-flexbox 6]
expected: FAIL
[.flexbox, .inline-flexbox 5]
expected: FAIL
[.flexbox, .inline-flexbox 4]
expected: FAIL
[.flexbox, .inline-flexbox 13]
expected: FAIL
[.flexbox, .inline-flexbox 9]
expected: FAIL
[.flexbox, .inline-flexbox 12]
expected: FAIL

View file

@ -1,2 +1,2 @@
[no-transition-from-ua-to-blocking-stylesheet.html]
expected: TIMEOUT
expected: FAIL

View file

@ -2,6 +2,3 @@
[listeners are called when <iframe> is resized]
expected: FAIL
[listeners are called correct number of times]
expected: FAIL

View file

@ -17,6 +17,3 @@
[test the top of layer]
expected: FAIL
[test some point of the element: top left corner]
expected: FAIL

View file

@ -0,0 +1,4 @@
[elementsFromPoint-invalid-cases.html]
[The root element is the last element returned for otherwise empty queries within the viewport]
expected: FAIL

View file

@ -318,18 +318,15 @@
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*]
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL

View file

@ -56,3 +56,6 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL

View file

@ -11,6 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
[Content-Type-Options%3A%20nosniff]
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
expected: FAIL

View file

@ -1,4 +1,4 @@
[traverse_the_history_3.html]
[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +1,4 @@
[traverse_the_history_3.html]
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +1,8 @@
[skip-document-with-fragment.html]
expected: TIMEOUT
[Autofocus elements in iframed documents with URL fragments should be skipped.]
expected: FAIL
[Autofocus elements in top-level browsing context's documents with URI fragments should be skipped.]
expected: TIMEOUT

View file

@ -1,20 +1,16 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: FAIL
[Element with tabindex should support autofocus]
expected: TIMEOUT
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: NOTRUN
expected: FAIL

View file

@ -1,5 +1,4 @@
[iframe_sandbox_popups_nonescaping-3.html]
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
expected: FAIL

View file

@ -26,3 +26,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42288 more errors.\n\tMax AbsError of 1.9999794363975525e+0 at index of 37272.\n\t[37272\]\t9.9997943639755249e-1\t-1.0000000000000000e+0\t1.9999794363975525e+0\t1.9999794363975525e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44035 more errors.\n\tMax AbsError of 1.9962286949157715e+0 at index of 40997.\n\t[40997\]\t9.9879217147827148e-1\t-9.9743652343750000e-1\t1.9962286949157715e+0\t2.0013591321441684e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL

View file

@ -47,3 +47,9 @@
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t9.4118863344192505e-3\t5.6332010030746460e-1\t5.5390821397304535e-1\t9.8329211698769103e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5570226059843051e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31081.\n]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t1.4359352462633979e-7\t5.6332010030746460e-1\t5.6331995671393997e-1\t9.9999974509426426e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5774815635634474e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31081.\n]
expected: FAIL
[X SNR (45.01863990741345 dB) is not greater than or equal to 85.58. Got 45.01863990741345.]
expected: FAIL

View file

@ -0,0 +1,2 @@
[audioworklet-audioparam-iterable.https.html]
expected: ERROR

View file

@ -1,5 +0,0 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -427,6 +427,17 @@
{}
]
]
},
"text": {
"reftests": {
"text-display-contents-crash.html": [
"04b6a7e7cf8c6714f6c51c75ef6355102089428e",
[
null,
{}
]
]
}
}
}
},
@ -131493,6 +131504,19 @@
{}
]
],
"columns-center-with-margins-001.html": [
"c0863127e96e366d2471c4f00bf40f8a03aced4d",
[
null,
[
[
"/css/css-flexbox/reference/columns-center-with-margins-001-ref.html",
"=="
]
],
{}
]
],
"columns-center-with-margins-and-wrap-001.html": [
"7bdc28776b6c4d2671fa4c696920b56f3fa363f4",
[
@ -132886,6 +132910,32 @@
{}
]
],
"flex-minimum-height-flex-items-020.html": [
"dad3b6479685107439fb0bf37ebd21538a7abc6e",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square-only.html",
"=="
]
],
{}
]
],
"flex-minimum-height-flex-items-021.html": [
"ed8d1d425180615aa0f5193f891c1c313438f79c",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square-only.html",
"=="
]
],
{}
]
],
"flex-minimum-width-flex-items-001.xht": [
"cd18483ba414160c46e30bc282dec0c2fcd2f418",
[
@ -133016,6 +133066,45 @@
{}
]
],
"flex-minimum-width-flex-items-011.html": [
"0eb6c5fa49c4d5d4ac331a8ba6f194f53d717451",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square-only.html",
"=="
]
],
{}
]
],
"flex-minimum-width-flex-items-012.html": [
"2ce9129eb1100bcbb94b5849d734af0bdd3c8ee1",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square-only.html",
"=="
]
],
{}
]
],
"flex-minimum-width-flex-items-013.html": [
"6ee9ed10b5663b381f0238096117e8d70ca0347b",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"flex-order.html": [
"be24b2817e232b7ad7fc936b7b22787591d3d9db",
[
@ -133354,6 +133443,19 @@
{}
]
],
"flexbox-overflow-auto-001.html": [
"ee5a1afffbe04a9adf779fd5e590ed76167a431e",
[
null,
[
[
"/css/css-flexbox/reference/flexbox-overflow-auto-001-ref.html",
"=="
]
],
{}
]
],
"flexbox_absolute-atomic.html": [
"dae6b3e43ea71f3795508dd0ca4b243d4510c383",
[
@ -263496,6 +263598,10 @@
[]
],
"support": {
"README.md": [
"cacd959d02629b3f665ee51eb65b8b5a4115a49c",
[]
],
"echoing-nester.html": [
"d4f5899da7894749a51039f9d5bf3b8bfd680570",
[]
@ -263504,6 +263610,14 @@
"476f32688f91cede949edf2a1e650ef573525bd7",
[]
],
"otpcredential-helper.js": [
"d5a7eb8c4715f08031933391b953ac32b43443d1",
[]
],
"otpcredential-iframe.html": [
"37fe6e1cd891b3f1c4500a0c09b0f6d2c603bccf",
[]
],
"passwordcredential-get.html": [
"0ec584d73d1f6d8626efe4c7190e5160fe527286",
[]
@ -284851,6 +284965,10 @@
"d56fe356dcbb6ce87414a2075b5f47c515628016",
[]
],
"columns-center-with-margins-001-ref.html": [
"4c8f69c8a738fd3736408be342d81aa318d33902",
[]
],
"columns-center-with-margins-and-wrap-001-ref.html": [
"415a36f42dec838b3419b80d0d9b5fc2f536808e",
[]
@ -284927,6 +285045,10 @@
"413b5909fea7c8468db08d23eb7644a8d713a7bc",
[]
],
"flexbox-overflow-auto-001-ref.html": [
"ace792e456c12f40e52ae50d51d05fd6a449a628",
[]
],
"flexbox_quirks_body-ref.html": [
"164784fbd30859888b63069d9813eb5a104eb999",
[]
@ -327292,7 +327414,7 @@
[]
],
"webxr.idl": [
"1b005c3cdb39667e55875d31a53f574ac8d388e3",
"5f5320c205598b2c8cec340326686f6589d14984",
[]
],
"worklets.idl": [
@ -327477,7 +327599,7 @@
]
},
"lint.whitelist": [
"65494c70cfbf446011b404b5b657564b2ec61e35",
"7c282eefeabda7c3ce73e40f794123710219cf36",
[]
],
"loading": {
@ -332178,6 +332300,10 @@
"ce2b968391343339a9958100f564fa73d5c01509",
[]
],
"mock-sms-receiver.js": [
"c4aa9a86f2c8a15303f96cc9859b2ec146eb2f58",
[]
],
"mojo_bindings.js": [
"70f6cad5e5f06f4f64a0fd4cdcd693fcea12bb78",
[]
@ -336830,7 +336956,7 @@
[]
],
"safari-technology-preview.rb": [
"1bf9d5df0b3307665bf36c158fb963d2656d202d",
"5f8d6806107d8abd7418ae022e59a1af9da1632f",
[]
],
"system_info.yml": [
@ -344173,7 +344299,7 @@
[]
],
"helpers.js": [
"fbbfc8e00444dce1440fdbe8e28e11c5b064ce3d",
"3819d12769898a3e2462ab06a35e5046d25f14f3",
[]
],
"worklet-recorder.js": [
@ -377214,6 +377340,20 @@
}
]
],
"otpcredential-get-basics.https.html": [
"aca48227ce839afcc805c02b18e3d3dcde50f31e",
[
null,
{}
]
],
"otpcredential-iframe.https.html": [
"8af17b599612e3750f3094270be8e9cd9a109290",
[
null,
{}
]
],
"passwordcredential-framed-get.sub.https.html": [
"d86c6e09c70874f06714c9cde0b63a2cef959f69",
[
@ -380916,6 +381056,13 @@
{}
]
],
"flex-item-contains-strict.html": [
"25849cc64b2f10cf2d319e1a2f750f32d64359b5",
[
null,
{}
]
],
"flex-minimum-height-flex-items-009.html": [
"718386af02069fa1a3fff0ee5aaa10415ef4b23a",
[
@ -380937,6 +381084,27 @@
{}
]
],
"flex-minimum-size-002.html": [
"c2eea80ca5b79818f6b7a9a36ab1ff64826b5218",
[
null,
{}
]
],
"flex-outer-flexbox-column-recalculate-height-on-resize-001.html": [
"0b0b5b4d4e5a9e8011d7fdee87cce9caba5fa241",
[
null,
{}
]
],
"flexbox-overflow-auto-002.html": [
"d69b297ef7301cfb46ea725d99aaa0f9dac3e126",
[
null,
{}
]
],
"flexbox_first-letter.html": [
"dbbb03d524e165de213fe66dbe6598ece5c94b07",
[
@ -381527,6 +381695,13 @@
{}
]
],
"justify-content_space-between-002.html": [
"fde1a7312408d02fe3843452585de2ee660ae6f7",
[
null,
{}
]
],
"order_value.html": [
"ca9af99b939f77835933ccc76de5185b656f5977",
[
@ -381534,6 +381709,13 @@
{}
]
],
"overflow-auto-002.html": [
"2bb04a2604076d0883c1322e60015316f6f34b10",
[
null,
{}
]
],
"parsing": {
"flex-basis-computed.html": [
"549c9bf7053fac57c5dd11eedbf0fddebd324ea7",
@ -462653,13 +462835,6 @@
{}
]
],
"fcp-overflow.html": [
"d7cc34663b7f846055ff5a6ca1d07fc1b4677464",
[
null,
{}
]
],
"fcp-pseudo-element-display.html": [
"50fd626e899940ba2d6d19344df41111feafd6f8",
[
@ -498403,6 +498578,13 @@
{}
]
],
"audioworklet-audioparam-iterable.https.html": [
"9e93f48ab878c5f9208dae7a6d2278cd98ab4529",
[
null,
{}
]
],
"audioworklet-audioparam-size.https.html": [
"9578b268815a89d31457df8cdd7a088e9df13c7c",
[
@ -534522,6 +534704,13 @@
null,
{}
]
],
"replaced-fractional-height-from-aspect-ratio.html": [
"d97c3f133ebec02ce5569e95826ab3237b7559c7",
[
null,
{}
]
]
},
"css-text": {

View file

@ -0,0 +1,4 @@
[hit-test-floats-002.html]
[Hit test float]
expected: FAIL

View file

@ -0,0 +1,4 @@
[hit-test-anonymous-block.html]
[Hit test beside line of text inside anonymous block]
expected: FAIL

View file

@ -0,0 +1,13 @@
[flex-item-contains-strict.html]
[.inline-flex 5]
expected: FAIL
[.inline-flex 6]
expected: FAIL
[.inline-flex 1]
expected: FAIL
[.inline-flex 2]
expected: FAIL

View file

@ -0,0 +1,13 @@
[flex-minimum-size-002.html]
[.flexbox, .inline-flexbox 1]
expected: FAIL
[.flexbox, .inline-flexbox 6]
expected: FAIL
[.flexbox, .inline-flexbox 5]
expected: FAIL
[.flexbox, .inline-flexbox 4]
expected: FAIL

View file

@ -0,0 +1,4 @@
[flex-outer-flexbox-column-recalculate-height-on-resize-001.html]
[.OuterFlexbox 1]
expected: FAIL

View file

@ -0,0 +1,2 @@
[flexbox-overflow-auto-001.html]
expected: FAIL

View file

@ -0,0 +1,37 @@
[flexbox-overflow-auto-002.html]
[.flexbox, .inline-flexbox 11]
expected: FAIL
[.flexbox, .inline-flexbox 10]
expected: FAIL
[.flexbox, .inline-flexbox 3]
expected: FAIL
[.flexbox, .inline-flexbox 2]
expected: FAIL
[.flexbox, .inline-flexbox 1]
expected: FAIL
[.flexbox, .inline-flexbox 14]
expected: FAIL
[.flexbox, .inline-flexbox 6]
expected: FAIL
[.flexbox, .inline-flexbox 5]
expected: FAIL
[.flexbox, .inline-flexbox 4]
expected: FAIL
[.flexbox, .inline-flexbox 13]
expected: FAIL
[.flexbox, .inline-flexbox 9]
expected: FAIL
[.flexbox, .inline-flexbox 12]
expected: FAIL

View file

@ -1,2 +1,2 @@
[no-transition-from-ua-to-blocking-stylesheet.html]
expected: TIMEOUT
expected: FAIL

View file

@ -2,6 +2,3 @@
[listeners are called when <iframe> is resized]
expected: FAIL
[listeners are called correct number of times]
expected: FAIL

View file

@ -21,6 +21,3 @@
[test the top of layer]
expected: FAIL
[test some point of the element: top left corner]
expected: FAIL

View file

@ -0,0 +1,4 @@
[elementsFromPoint-invalid-cases.html]
[The root element is the last element returned for otherwise empty queries within the viewport]
expected: FAIL

View file

@ -318,18 +318,15 @@
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*]
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL

View file

@ -56,3 +56,6 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL

View file

@ -11,6 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
[Content-Type-Options%3A%20nosniff]
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_4.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +1,8 @@
[skip-document-with-fragment.html]
expected: TIMEOUT
[Autofocus elements in iframed documents with URL fragments should be skipped.]
expected: FAIL
[Autofocus elements in top-level browsing context's documents with URI fragments should be skipped.]
expected: TIMEOUT

View file

@ -1,20 +1,16 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
[Element with tabindex should support autofocus]
expected: TIMEOUT
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
expected: FAIL
[Host element with delegatesFocus should support autofocus]
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: NOTRUN
expected: FAIL

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
expected: FAIL

View file

@ -95,3 +95,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42288 more errors.\n\tMax AbsError of 1.9999794363975525e+0 at index of 37272.\n\t[37272\]\t9.9997943639755249e-1\t-1.0000000000000000e+0\t1.9999794363975525e+0\t1.9999794363975525e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44035 more errors.\n\tMax AbsError of 1.9962286949157715e+0 at index of 40997.\n\t[40997\]\t9.9879217147827148e-1\t-9.9743652343750000e-1\t1.9962286949157715e+0\t2.0013591321441684e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL

View file

@ -278,3 +278,9 @@
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t9.4118863344192505e-3\t5.6332010030746460e-1\t5.5390821397304535e-1\t9.8329211698769103e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5570226059843051e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31081.\n]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t1.4359352462633979e-7\t5.6332010030746460e-1\t5.6331995671393997e-1\t9.9999974509426426e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5774815635634474e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31081.\n]
expected: FAIL
[X SNR (45.01863990741345 dB) is not greater than or equal to 85.58. Got 45.01863990741345.]
expected: FAIL

View file

@ -0,0 +1,2 @@
[audioworklet-audioparam-iterable.https.html]
expected: ERROR

View file

@ -1,5 +0,0 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -0,0 +1,78 @@
<!DOCTYPE html>
<link rel="help" href="https://github.com/WICG/WebOTP">
<title>Tests OTPCredential</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/otpcredential-helper.js"></script>
<script>
'use strict';
promise_test(async t => {
await expect(receive).andReturn(async () => {
return {status: Status.kSuccess, otp: "ABC"};
});
let cred = await navigator.credentials.get({otp: {transport: ["sms"]}});
assert_equals(cred.code, "ABC");
}, 'Basic usage');
promise_test(async t => {
await expect(receive).andReturn(async () => {
return {status: Status.kSuccess, otp: "ABC"};
});
await expect(receive).andReturn(async () => {
return {status: Status.kSuccess, otp: "ABC2"};
});
let sms1 = navigator.credentials.get({otp: {transport: ["sms"]}});
let sms2 = navigator.credentials.get({otp: {transport: ["sms"]}});
let cred2= await sms2;
let cred1 = await sms1;
assert_equals(cred1.code, "ABC");
assert_equals(cred2.code, "ABC2");
}, 'Handle multiple requests in different order.');
promise_test(async t => {
await expect(receive).andReturn(async () => {
return {status: Status.kCancelled};
});
await expect(receive).andReturn(async () => {
return {status: Status.kSuccess, otp: "success"};
});
let cancelled_sms = navigator.credentials.get({otp: {transport: ["sms"]}});
let successful_sms = navigator.credentials.get({otp: {transport: ["sms"]}});
let successful_cred = await successful_sms;
assert_equals(successful_cred.code, "success");
try {
await cancelled_sms;
assert_unreached('Expected AbortError to be thrown.');
} catch (error) {
assert_equals(error.name, "AbortError");
}
}, 'Handle multiple requests with success and error.');
promise_test(async t => {
await expect(receive).andReturn(async () => {
return {status: Status.kCancelled};
});
await promise_rejects_dom(t, 'AbortError', navigator.credentials.get(
{otp: {transport: ["sms"]}}));
}, 'Deal with cancelled requests');
promise_test(async t => {
const controller = new AbortController();
const signal = controller.signal;
controller.abort();
await promise_rejects_dom(t, 'AbortError', navigator.credentials.get(
{otp: {transport: ["sms"]}, signal: signal}));
}, 'Should abort request');
</script>

View file

@ -0,0 +1,41 @@
<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<div id=log>
<script>
'use strict';
const host = get_host_info();
const remoteBaseURL =
host.HTTPS_REMOTE_ORIGIN +
window.location.pathname.replace(/\/[^\/]*$/, '/');
const localBaseURL =
host.HTTPS_ORIGIN +
window.location.pathname.replace(/\/[^\/]*$/, '/');
promise_test(async t => {
const messageWatcher = new EventWatcher(t, window, "message");
var iframe = document.createElement("iframe");
iframe.src = localBaseURL + "support/otpcredential-iframe.html";
document.body.appendChild(iframe);
const message = await messageWatcher.wait_for("message");
assert_equals(message.data.result, "Pass");
assert_equals(message.data.code, "ABC123");
}, "Test OTPCredential enabled in same origin iframes");
promise_test(async t => {
const messageWatcher = new EventWatcher(t, window, "message");
var iframe = document.createElement("iframe");
iframe.src = remoteBaseURL + "support/otpcredential-iframe.html"
document.body.appendChild(iframe);
const message = await messageWatcher.wait_for("message");
assert_equals(message.data.result, "Fail");
assert_equals(message.data.errorType, "NotAllowedError");
}, "Test OTPCredential disabled in cross origin iframes");
</script>

View file

@ -0,0 +1,30 @@
# CredentialManagement Testing
## OTPCredential Testing
In this test suite `otpcredential-helper.js` is a testing framework that enables
engines to test OTPCredential by intercepting the connection between the browser
and the underlying operating system and mock its behavior.
Usage:
1. Include `<script src="./support/otpcredential-helper.js"></script>` in your
test
2. Set expectations
```
await expect(receive).andReturn(() => {
// mock behavior
})
```
3. Call `navigator.credentials.get({otp: {transport: ["sms"]}})`
4. Verify results
The mocking API is browser agnostic and is designed such that other engines
could implement it too.
Here are the symbols that are exposed to tests that need to be implemented
per engine:
- function receive(): the main/only function that can be mocked
- function expect(): the main/only function that enables us to mock it
- enum State {kSuccess, kTimeout}: allows you to mock success/failures

View file

@ -0,0 +1,65 @@
'use strict';
// These tests rely on the User Agent providing an implementation of
// the sms retriever.
//
// In Chromium-based browsers this implementation is provided by a polyfill
// in order to reduce the amount of test-only code shipped to users. To enable
// these tests the browser must be run with these options:
// // --enable-blink-features=MojoJS,MojoJSTest
async function loadChromiumResources() {
if (!window.MojoInterfaceInterceptor) {
// Do nothing on non-Chromium-based browsers or when the Mojo bindings are
// not present in the global namespace.
return;
}
const resources = [
'/gen/layout_test_data/mojo/public/js/mojo_bindings_lite.js',
'/gen/mojo/public/mojom/base/time.mojom-lite.js',
'/gen/third_party/blink/public/mojom/sms/sms_receiver.mojom-lite.js',
'/resources/chromium/mock-sms-receiver.js',
];
await Promise.all(resources.map(path => {
const script = document.createElement('script');
script.src = path;
script.async = false;
const promise = new Promise((resolve, reject) => {
script.onload = resolve;
script.onerror = reject;
});
document.head.appendChild(script);
return promise;
}));
Status.kSuccess = blink.mojom.SmsStatus.kSuccess;
Status.kTimeout = blink.mojom.SmsStatus.kTimeout;
Status.kCancelled = blink.mojom.SmsStatus.kCancelled;
};
const Status = {};
async function create_sms_provider() {
if (typeof SmsProvider === 'undefined') {
await loadChromiumResources();
}
if (typeof SmsProvider == 'undefined') {
throw new Error('Mojo testing interface is not available.');
}
return new SmsProvider();
}
function receive() {
throw new Error("expected to be overriden by tests");
}
function expect(call) {
return {
async andReturn(callback) {
const mock = await create_sms_provider();
mock.pushReturnValuesForTesting(call.name, callback);
}
}
}

View file

@ -0,0 +1,35 @@
<!doctype html>
<script src="./otpcredential-helper.js"></script>
<script>
'use strict';
// Loading otpcredential-iframe.html in the test will make an OTPCredentials
// call on load, and trigger a postMessage upon completion.
//
// message {
// string result: "Pass" | "Fail"
// string code: credentials.code
// string errorType: error.name
// }
// Intercept successful calls and return mocked value.
(async function() {
await expect(receive).andReturn(() => {
return Promise.resolve({
status: Status.kSuccess,
otp: "ABC123",
});
});
}());
window.onload = async () => {
try {
const credentials =
await navigator.credentials.get({otp: {transport: ["sms"]}});
window.parent.postMessage({result: "Pass", code: credentials.code}, '*');
} catch (error) {
window.parent.postMessage({result: "Fail", errorType: error.name}, '*');
}
}
</script>

View file

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Flexbox: Change to auto-margin items in column flexbox</title>
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#valdef-flex-direction-column">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#propdef-align-self">
<link rel="match" href="reference/columns-center-with-margins-001-ref.html">
<meta name="assert" content="This test ensures that auto margins for column flows are correctly calculated"/>
<link href="support/flexbox.css" rel="stylesheet">
<style>
.flexbox {
border: 1px solid black;
width: 400px;
height: 200px;
}
.item1 {
margin: 0 auto;
background: lightblue;
}
.item1v {
margin: auto 0;
background: lightblue;
}
.item2 {
background: lime;
}
</style>
</head>
<body>
<p>The test passes if the flex items are properly centered in each column</p>
<div class="flexbox column">
<div class="item1">centeredWithMargins</div>
<div class="item2 align-self-center">centeredWithAlignSelf</div>
</div>
<div style="writing-mode: vertical-lr;">
<div class="flexbox column">
<div class="item1v">centeredWithMargins</div>
<div class="item2 align-self-center">centeredWithAlignSelf</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,56 @@
<!DOCTYPE html>
<title>CSS Flexbox: 'contain' property strict value</title>
<link rel="help" href="https://drafts.csswg.org/css-contain/#contain-property">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#align-items-property">
<meta name="assert" content="This test ensures that the strict value of the 'contain'
property in combination with mixing of 'display' inline-flex value, 'align-items' flex-start
value, column direction works properly.">
<style>
.inline-flex {
display: inline-flex;
outline: solid;
background: red;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.inline-flex')">
<p>Stretched:</p>
<div class="inline-flex" style="display: inline-flex; flex-direction: column;" data-expected-width="0" data-expected-height="0">
<div style="contain: strict;" data-expected-width="0" data-expected-height="0">Column</div>
</div>
<div class="inline-flex" data-expected-width="0" data-expected-height="0">
<div style="contain: strict;" data-expected-width="0" data-expected-height="0">Row</div>
</div>
<div class="inline-flex" style="display: inline-flex; flex-direction: column;" data-expected-width="30" data-expected-height="30">
<div style="contain: strict; width: 30px; height: 30px;" data-expected-width="30" data-expected-height="30">Column</div>
</div>
<div class="inline-flex" style="display: inline-flex;" data-expected-width="30" data-expected-height="30">
<div style="contain: strict; width: 30px; height: 30px;" data-expected-width="30" data-expected-height="30">Row</div>
</div>
<p>Flex-start:</p>
<div class="inline-flex" style="flex-direction: column; align-items: flex-start;" data-expected-width="0" data-expected-height="0">
<div style="contain: strict;" data-expected-width="0" data-expected-height="0">Column</div>
</div>
<div class="inline-flex" style="align-items: flex-start;" data-expected-width="0" data-expected-height="0">
<div style="contain: strict;" data-expected-width="0" data-expected-height="0">Row</div>
</div>
<div class="inline-flex" style="flex-direction: column; align-items: flex-start;" data-expected-width="30" data-expected-height="30">
<div style="contain: strict; width: 30px; height: 30px;" data-expected-width="30" data-expected-height="30">Column</div>
</div>
<div class="inline-flex" style="align-items: flex-start;" data-expected-width="30" data-expected-height="30">
<div style="contain: strict; width: 30px; height: 30px;" data-expected-width="30" data-expected-height="30">Row</div>
</div>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>Flex transferred minimum height</title>
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#transferred-size-suggestion" />
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
<meta name="assert" content="min-height: auto honors transferred size suggestion">
<p>Test passes if there is a filled green square.</p>
<div style="width:100px; height: 50px; background: green;"></div>
<div style="display: flex; flex-direction: column; height: 0px">
<img src="support/300x150-green.png" style="width: 100px">
</div>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>Flex transferred minimum height</title>
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#transferred-size-suggestion" />
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
<meta name="assert" content="min-height: auto honors transferred size suggestion subject to cross axis min/max sizes">
<p>Test passes if there is a filled green square.</p>
<div style="width:100px; height: 50px; background: green;"></div>
<div style="display: flex; flex-direction: column; height: 0px">
<img src="support/300x150-green.png" style="width: 0px; min-width: 100px;">
</div>

View file

@ -0,0 +1,80 @@
<!DOCTYPE html>
<title>CSS Flexbox: flexbox with min-size: auto</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-basis-property">
<link rel="bookmark" href="https://crbug.com/426898">
<link href="support/flexbox.css" rel="stylesheet">
<meta name="assert" content="Flexbox with min-size: auto is handled correctly.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<style>
.flexbox {
width: 10px;
height: 10px;
background-color: grey;
}
.item {
background-color: red;
margin: 5px;
}
.child {
height: 100px;
width: 100px;
background-color: green;
}
.width-20 {
width: 20px;
}
.flex-basis-20 {
flex-basis: 20px;
}
</style>
<body onload="checkLayout('.flexbox, .inline-flexbox');">
<div id=log></div>
<div class="flexbox" data-expected-width="10">
<div class="item" data-expected-width="100">
<div class="child" data-expected-width="100"></div>
</div>
</div>
<div class="flexbox column" data-expected-height="10">
<div class="item" data-expected-height="100">
<div class="child" data-expected-height="100"></div>
</div>
</div>
<div class="inline-flexbox column" data-expected-height="110">
<div class="item flex-basis-20" data-expected-height="100">
<div class="child" data-expected-height="100"></div>
</div>
</div>
<div class="flexbox" data-expected-width="10">
<div class="item width-20" data-expected-width="20">
<div class="child" data-expected-width="100"></div>
</div>
</div>
<div class="flexbox" data-expected-width="10">
<div class="item flex-basis-20" data-expected-width="100">
<div class="child" data-expected-width="100"></div>
</div>
</div>
<div class="inline-flexbox" data-expected-width="110">
<div class="item flex-basis-20" data-expected-width="100">
<div class="child" data-expected-width="100"></div>
</div>
</div>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>Flex transferred minimum width</title>
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#transferred-size-suggestion" />
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
<meta name="assert" content="min-width: auto honors transferred size suggestion">
<p>Test passes if there is a filled green square.</p>
<div style="width:100px; height: 50px; background: green;"></div>
<div style="display: flex; width: 0px"> <!-- width:0 makes items shrink to min-width -->
<img src="support/300x150-green.png" style="height: 50px">
</div>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>Flex transferred minimum width</title>
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#transferred-size-suggestion" />
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
<meta name="assert" content="min-width: auto honors transferred size suggestion subject to cross axis min/max sizes">
<p>Test passes if there is a filled green square.</p>
<div style="width:100px; height: 50px; background: green;"></div>
<div style="display: flex; width: 0px"> <!-- width:0 makes items shrink to min-width -->
<img src="support/300x150-green.png" style="height: 2000px; max-height: 50px">
</div>

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<title>Flex transferred minimum width</title>
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<meta name="assert" content="min-width: auto ignores transferred size suggestion when item has a definite main size">
<style>
#reference-overlapped-red {
position: absolute;
background-color: red;
width: 100px;
height: 100px;
z-index: -1;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="reference-overlapped-red"></div>
<div style="width:100px; height: 75px; background: green;"></div>
<div style="display: flex; width: 0px">
<!--
content size suggestion is 300px.
specified size suggestion is 100px.
transferred size suggestion is 50px, but that is ignored because there is a
specified size. The ignoring is from the spec text that says,
(capitalization added):
In general, the content-based minimum size of a flex item is the smaller of
its content size suggestion and its specified size suggestion. However, if
the box has an aspect ratio AND NO specified size, its content-based
minimum size is the smaller of its content size suggestion and its
transferred size suggestion.
So here the content-based minimum size is min(300, 100) = 100.
-->
<img src="support/300x150-green.png" style="height: 25px; width: 100px;">
</div>

View file

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: height resizing with flex-direction: column</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://crbug.com/527039">
<meta name="assert" content="This test checks that resizing the height of a layout with two nested flexboxes using 'flex-direction: column' correctly recalculates the outer box's height." />
<style>
body,
html {
height: 100%;
}
.OuterFlexbox {
display: flex;
flex-direction: column;
height: 100%;
}
.InnerFlexbox {
display: flex;
flex-direction: column;
max-height: 100%;
outline: 1px blue solid;
}
.InnerFlexbox-body {
flex: 1 1 auto;
overflow-y: hidden;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="update()">
<div class="OuterFlexbox" data-expected-height="250">
<div class="InnerFlexbox" data-expected-height="250">
<div class="InnerFlexbox-body" data-expected-height="250">
<ul>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
<li>Suspendisse eu nunc lectus. Curabitur.</li>
</ul>
</div>
</div>
</div>
<script>
function update() {
document.body.offsetHeight;
document.body.style.height = '50px';
document.body.offsetHeight;
document.body.style.height = '250px';
document.body.offsetHeight;
checkLayout('.OuterFlexbox');
}
</script>
</body>
</html>

View file

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: overflow:auto support.</title>
<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#propdef-overflow">
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#classic-scrollbars">
<link rel="match" href="reference/flexbox-overflow-auto-001-ref.html">
<meta name="assert" content="This test ensures that flexbox with 'overflow: auto' is supported, including in combination with different writing-mode and flex-direction values."/>
<style>
.test-row {
display: flex;
margin-bottom: 5px;
}
.test-row > div {
flex: none;
}
.container {
margin-right: 5px;
border: 5px solid lightgreen;
width: 100px;
}
.horizontal-tb {
writing-mode: horizontal-tb;
}
.vertical-rl {
writing-mode: vertical-rl;
}
.vertical-lr {
writing-mode: vertical-lr;
}
.row {
flex-direction: row;
}
.row-reverse {
flex-direction: row-reverse;
}
.column {
flex-direction: column;
}
.column-reverse {
flex-direction: column-reverse;
}
.flexbox {
border: 0 solid pink;
display: flex;
height: 100px;
width: 100px;
overflow: auto;
}
.flexbox > div {
width: 200px;
height: 200px;
background: radial-gradient(at right 60%, red, yellow, green);
flex: none;
}
</style>
<body>
<p>Scrollbars should work in all the flexboxes.</p>
</body>
<script>
var writingModes = ['horizontal-tb', 'vertical-rl', 'vertical-lr'];
var flexDirections = ['row', 'column', 'row-reverse', 'column-reverse'];
var testContents = '';
writingModes.forEach(function(writingMode) {
testContents += "<div class='test-row'>";
flexDirections.forEach(function(flexDirection) {
var containerClass = 'container ' + writingMode;
var flexboxClass = 'flexbox ' + flexDirection;
testContents +=
"<div class='" + containerClass + "'>" +
"<div class='" + flexboxClass + "'>" +
"<div></div>" +
"</div>" +
"</div>";
});
testContents += "</div>";
});
document.body.innerHTML += testContents;
</script>
</body>
</html>

View file

@ -0,0 +1,101 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: Height with overflow: auto.</title>
<link href="support/flexbox.css" rel="stylesheet">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-direction-property">
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#classic-scrollbars">
<meta name="assert" content="This test ensures that flexbox with 'flex-direction: row|row-reverse' and a flex item child with 'overflow: auto' has the proper height."/>
<style>
.flexbox {
border: 5px solid green;
position: relative;
width: 50px;
}
.inline-flexbox {
border: 5px solid green;
position: relative;
height: 50px;
}
.overflow {
border: 1px solid red;
overflow: auto;
min-width: 0;
min-height: 0;
}
.vertical {
writing-mode: vertical-rl;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.flexbox, .inline-flexbox')">
<div id=log></div>
<div class="flexbox" data-expected-height="47">
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse" data-expected-height="47">
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox vertical" data-expected-height="47">
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse vertical" data-expected-height="47">
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox" data-expected-height="47">
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse" data-expected-height="47">
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox vertical" data-expected-height="32">
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse vertical" data-expected-height="32">
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="inline-flexbox column" data-expected-width="47">
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse" data-expected-width="47">
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column vertical" data-expected-width="47">
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse vertical" data-expected-width="47">
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column" data-expected-width="47">
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse" data-expected-width="47">
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column vertical" data-expected-width="32">
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse vertical" data-expected-width="32">
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<title>CSS Flexbox: justify-content: space-between on the last item of a column</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#justify-content-property">
<link rel="bookmark" href="https://crbug.com/690024">
<meta name="assert" content="This test checks when processing the last item on a column we should not add justify-content space to the row height.">
<style>
.flexbox {
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 500px;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.flexbox')">
<div class="flexbox" data-expected-height="500">
<div>First item</div>
<div>Second item</div>
</div>

View file

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: correct width for non-overflowing content with flex-direction: column</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#overflow-properties">
<link rel="help" href="https://crbug.com/580586">
<meta name="assert" content="This test checks that no unnecessary extra horizontal space is considered for vertical scrollbars for non-overflowing content using flex-direction: column." />
<style>
body {
height: 200vh;
}
section {
height: 400px;
display: flex;
flex-direction: column;
}
.side-menu {
border: 1px solid black;
width: 200px;
display: flex;
flex-direction: column;
}
.box-body {
height: 1000px;
flex: 1 1 0%;
display: flex;
min-height: 0px;
}
.list {
list-style: none;
padding: 0;
overflow: auto;
flex: 1 1 0;
}
li {
height: 20px;
background-color: red;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('section')">
<div id=log></div>
<section>
<div class="box-body">
<div class="side-menu">
<ul class="list">
<li data-expected-width="200">
</li>
</ul>
</div>
<div style="height: 1000px;"></div>
</div>
</section>
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<link href="../support/flexbox.css" rel="stylesheet">
<style>
.flexbox {
border: 1px solid black;
width: 400px;
height: 200px;
}
.item1 {
background: lightblue;
}
.item2 {
background: lime;
}
</style>
</head>
<body>
<p>The test passes if the flex items are properly centered in each column</p>
<div class="flexbox column">
<div class="item1 align-self-center">centeredWithMargins</div>
<div class="item2 align-self-center">centeredWithAlignSelf</div>
</div>
<div style="writing-mode: vertical-lr;">
<div class="flexbox column">
<div class="item1 align-self-center">centeredWithMargins</div>
<div class="item2 align-self-center">centeredWithAlignSelf</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html>
<head>
<style>
.test-row {
display: flex;
margin-bottom: 5px;
}
.test-row > div {
flex: none;
}
.container {
margin-right: 5px;
border: 5px solid lightgreen;
width: 100px;
}
.flexbox {
display: block;
height: 100px;
width: 100px;
overflow: auto;
}
.flexbox > div {
width: 200px;
height: 200px;
background: radial-gradient(at right 60%, red, yellow, green);
}
</style>
</head>
<body>
<p>Scrollbars should work in all the flexboxes.</p>
</body>
<script>
var results = [
'left top', 'left top', 'right top', 'left bottom',
'right top', 'right top', 'right bottom', 'left top',
'left top', 'left top', 'left bottom', 'right top'];
var testContents = '';
for (var i = 0; i < results.length; ++i) {
if (!(i % 4))
testContents += "<div class='test-row'>";
var containerClass = 'container ' + results[i];
testContents +=
"<div class='" + containerClass + "'>" +
"<div class='flexbox'>" +
"<div></div>" +
"</div>" +
"</div>";
if (i % 4 == 3)
testContents += "</div>";
}
document.body.innerHTML += testContents;
Array.prototype.forEach.call(document.querySelectorAll(".right"), function(element) {
element.firstChild.scrollLeft = 1000;
});
Array.prototype.forEach.call(document.querySelectorAll(".bottom"), function(element) {
element.firstChild.scrollTop = 1000;
});
</script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1052370" >
<meta name="assert" content="When determining the size of a replaced element, if it has an aspect ratio of 1/1 then the final height should be exactly equal to its width." />
<script src="../../resources/check-layout.js"></script>
<style>
canvas {
float: left;
background: green;
}
</style>
<div style="position: relative; width: 254px; zoom: 0.8;">
<canvas style="width: 30%;" width="1" height="1"></canvas>
<canvas style="width: 30%;" width="708" height="708"></canvas>
<canvas id="target" style="width: 60%;" width="2" height="1" data-offset-x="0"></canvas>
</div>
<script>
checkLayout('#target');
</script>

View file

@ -258,7 +258,7 @@ interface XRReferenceSpaceEvent : Event {
dictionary XRReferenceSpaceEventInit : EventInit {
required XRReferenceSpace referenceSpace;
XRRigidTransform transform;
XRRigidTransform? transform = null;
};
dictionary XRPermissionDescriptor: PermissionDescriptor {

View file

@ -322,6 +322,7 @@ SET TIMEOUT: acid/acid3/test.html
*: css/tools/w3ctestlib/*
*: resources/webidl2/*
*: tools/*
*: */third_party/*
# Build system virtualenv
*: css/tools/_virtualenv/*
@ -689,7 +690,7 @@ WEB-PLATFORM.TEST:web-bundle/resources/wbn/*.wbn
# https://github.com/web-platform-tests/wpt/issues/16455
# Please consult with ecosystem-infra@chromium.org before adding more.
MISSING DEPENDENCY: idle-detection/interceptor.https.html
MISSING DEPENDENCY: sms/resources/helper.js
MISSING DEPENDENCY: credential-management/support/otpcredential-helper.js
MISSING DEPENDENCY: web-nfc/resources/nfc-helpers.js
MISSING DEPENDENCY: shape-detection/resources/shapedetection-helpers.js
MISSING DEPENDENCY: webxr/resources/webxr_util.js

View file

@ -1,35 +0,0 @@
<!DOCTYPE html>
<head>
<title>Performance Paint Timing Test: FCP with element clipped with overflow</title>
<style>
#main {
width: 100px;
height: 100px;
overflow: hidden;
display: none;
}
/* contentful class is defined in test_fcp script. */
#main.contentful {
display: block;
}
#text {
top: 10000px;
position: relative;
}
</style>
</head>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
<div id="main">
<div id="text">HELLO</div>
</div>
<script>
test_fcp("First contentful paint fires even when element is hidden due to overflow.")
</script>
</body>
</html>

View file

@ -0,0 +1,51 @@
'use strict';
const SmsProvider = (() => {
class MockSmsReceiver {
constructor() {
this.mojoReceiver_ = new blink.mojom.SmsReceiverReceiver(this);
this.interceptor_ =
new MojoInterfaceInterceptor(blink.mojom.SmsReceiver.$interfaceName);
this.interceptor_.oninterfacerequest = (e) => {
this.mojoReceiver_.$.bindHandle(e.handle);
}
this.interceptor_.start();
this.returnValues_ = {};
}
async receive() {
let call = this.returnValues_.receive ?
this.returnValues_.receive.shift() : null;
if (!call)
return;
return call();
}
async abort() {};
pushReturnValuesForTesting(callName, value) {
this.returnValues_[callName] = this.returnValues_[callName] || [];
this.returnValues_[callName].push(value);
return this;
}
}
const mockSmsReceiver = new MockSmsReceiver();
class SmsProviderChromium {
constructor() {
Object.freeze(this); // Make it immutable.
}
pushReturnValuesForTesting(callName, callback) {
mockSmsReceiver.pushReturnValuesForTesting(callName, callback);
}
}
return SmsProviderChromium;
})();

View file

@ -0,0 +1,25 @@
<!doctype html>
<title>Crash with dynamic creation of absolutely positioned element under display: contents in svg:text.</title>
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1611848">
<style>
* {
position: absolute;
}
</style>
<script>
function start () {
const text = document.getElementById('text')
const div = document.createElementNS('http://www.w3.org/1999/xhtml', 'div')
div.style.display = "contents";
const another = document.createElementNS('http://www.w3.org/2000/svg', 'whatevs')
text.appendChild(div);
document.documentElement.getBoundingClientRect();
div.appendChild(another);
}
document.addEventListener('DOMContentLoaded', start)
</script>
<svg>
<text id='text'>

View file

@ -1,10 +1,10 @@
cask 'safari-technology-preview' do
if MacOS.version <= :mojave
version '102,061-84687-20200304-286a8fe8-5a00-41ba-9dba-2c42e047ffb1'
sha256 '2e048fec4a470f5b5d9cffc359ba967bee02cf3cf121e5ea16812077adc5ba60'
version '103,061-90754-20200325-37467264-9c34-454c-be4a-1cb87e93c62c'
sha256 'f2175a2ca69152b6c1067d47b56d464b0ba0c71323a76137b488a8088a25f44c'
else
version '102,061-84666-20200304-c2d165f2-2aec-41b2-86ef-0a9407608e2c'
sha256 'ef9e9ea8990bb63936216fcdf93720b854366d158cad3daf5b812f841f7b5d99'
version '103,061-90752-20200325-cc5192c4-619a-45b4-83b5-70a1bed8c912'
sha256 '846f2c9e7ebcc293f01ea36c8e1184e2d1bfb985eb3a590fc7c730c40e10a4b6'
end
url "https://secure-appldnld.apple.com/STP/#{version.after_comma}/SafariTechnologyPreview.dmg"

View file

@ -216,3 +216,35 @@ function runTest(name)
runTestFunction();
}
// Simpler than audit.js, but still logs the message. Requires
// `setup("explicit_done": true)` if testing code that runs after the "load"
// event.
function equals(a, b, msg) {
test(function() {
assert_equals(a, b);
}, msg);
}
function is_true(a, msg) {
test(function() {
assert_true(a);
}, msg);
}
// This allows writing AudioWorkletProcessor code in the same file as the rest
// of the test, for quick one off AudioWorkletProcessor testing.
function URLFromScriptsElements(ids)
{
var scriptTexts = [];
for (let id of ids) {
const e = document.querySelector("script#"+id)
if (!e) {
throw id+" is not the id of a <script> tag";
}
scriptTexts.push(e.innerText);
}
const blob = new Blob(scriptTexts, {type: "application/javascript"});
return URL.createObjectURL(blob);
}

View file

@ -0,0 +1,205 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>
Test get parameterDescriptor as various iterables
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webaudio/js/helpers.js"></script>
</head>
<body>
<script id="params">
// A series of AudioParamDescriptors, copied one by one into various iterable
// data structures. This is used by both the processor side and the main
// thread side, so is in a different script tag.
const PARAMS = [
{
name: "a control-rate parameter",
defaultValue: 0.5,
minValue: 0,
maxValue: 1,
automationRate: "a-rate",
},
{
name: "你好",
defaultValue: 2.5,
minValue: 0,
maxValue: 7,
automationRate: "a-rate",
},
{
name: "🎶",
defaultValue: 8.5,
minValue: 0,
maxValue: 11115,
automationRate: "k-rate",
},
];
</script>
<script id="processors" type="worklet">
registerProcessor("set",
class SetParamProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
var s = new Set();
s.add(PARAMS[0]);
s.add(PARAMS[1]);
s.add(PARAMS[2]);
return s;
}
constructor() { super(); }
process() {
}
});
registerProcessor("array",
class ArrayParamProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
return PARAMS;
}
constructor() { super(); }
process() { }
});
function* gen() {
yield PARAMS[0];
yield PARAMS[1];
yield PARAMS[2];
}
registerProcessor("generator",
class GeneratorParamProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
return gen();
}
constructor() { super(); }
process() { }
});
// Test a processor that has a get parameterDescriptors, but it returns
// something that is not iterable.
try {
registerProcessor("invalid",
class InvalidParamProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
return 4;
}
constructor() { super(); }
process() { }
});
throw "This should not have been reached.";
} catch (e) {
// unclear how to signal success here, but we can signal failure in the
// developer console
if (e.name != "TypeError") {
throw "This should be TypeError";
}
}
// Test a processor that has a get parameterDescriptors, with a duplicate
// param name something that is not iterable.
try {
registerProcessor("duplicate-param-name",
class DuplicateParamProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
var p = {
name: "a",
defaultValue: 1,
minValue: 0,
maxValue: 1,
automationRate: "k-rate",
};
return [p,p];
}
constructor() { super(); }
process() { }
});
throw "This should not have been reached.";
} catch (e) {
// unclear how to signal success here, but we can signal failure in the
// developer console
if (e.name != "NotSupportedError") {
throw "This should be NotSupportedError";
}
}
// Test a processor that has a no get parameterDescriptors.
try {
registerProcessor("no-params",
class NoParamProcessor extends AudioWorkletProcessor {
constructor() { super(); }
process() { }
});
} catch (e) {
throw "Construction should have worked.";
}
</script>
<script>
setup({ explicit_done: true });
// Mangle the PARAMS object into a map that has the same shape as what an
// AudioWorkletNode.parameter property would
var PARAMS_MAP = new Map();
for (var param of PARAMS) {
var o = param;
var name = o.name;
delete o.name;
PARAMS_MAP.set(name, o);
}
// This compares `lhs` and `rhs`, that are two maplike with the same shape
// as PARAMS_MAP.
function compare(testname, lhs, rhs) {
equals(lhs.size, rhs.size, "Map match in size for " + testname);
var i = 0;
for (var [k, v] of lhs) {
is_true(rhs.has(k), testname + ": " + k + " exists in both maps");
var vrhs = rhs.get(k);
["defaultValue", "minValue", "maxValue", "automationRate"].forEach(
paramKey => {
equals(
v[paramKey],
vrhs[paramKey],
`Values for ${k}.${paramKey} match for ${testname}`
);
}
);
}
}
var ac = new AudioContext();
var url = URLFromScriptsElements(["params", "processors"]);
ac.audioWorklet
.addModule(url)
.then(() => {
["set", "array", "generator"].forEach(iterable => {
test(() => {
var node = new AudioWorkletNode(ac, iterable);
compare(iterable, node.parameters, PARAMS_MAP);
}, `Creating an AudioWorkletNode with a ${iterable} for
parameter descriptor worked`);
});
})
.then(function() {
test(function() {
assert_throws_dom("InvalidStateError", function() {
new AudioWorkletNode(ac, "invalid");
});
}, `Attempting to create an AudioWorkletNode with an non
iterable for parameter descriptor should not work`);
})
.then(function() {
test(() => {
new AudioWorkletNode(ac, "no-params");
}, `Attempting to create an AudioWorkletNode from a processor
that does not have a parameterDescriptors getter should work`);
})
.then(function() {
test(function() {
assert_throws_dom("InvalidStateError", function() {
new AudioWorkletNode(ac, "duplicate-param-name");
});
}, `Attempting to create an AudioWorkletNode with two parameter
descriptor with the same name should not work`);
}).then(function() {
done();
});
</script>
</body>
</html>