Update web-platform-tests to revision 08fb3cceabe444c32264fdb44db50672ebea8610

This commit is contained in:
WPT Sync Bot 2020-04-15 08:23:34 +00:00
parent ce9f22a5e4
commit b74bf3ef9a
152 changed files with 4135 additions and 695 deletions

View file

@ -4,7 +4,7 @@
expected: TIMEOUT
[Opening a blob URL in a new window immediately before revoking it works.]
expected: TIMEOUT
expected: FAIL
[Fetching a blob URL immediately before revoking it works in an iframe.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-005.html]
[Miss clipped float]
expected: FAIL

View file

@ -2,6 +2,3 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
[elementsFromPoint on inner documents]
expected: FAIL

View file

@ -0,0 +1,118 @@
[aria-attribute-reflection.tentative.html]
[aria-relevant attribute reflects.]
expected: FAIL
[aria-required attribute reflects.]
expected: FAIL
[aria-busy attribute reflects.]
expected: FAIL
[aria-current attribute reflects.]
expected: FAIL
[aria-valuetext attribute reflects.]
expected: FAIL
[aria-atomic attribute reflects.]
expected: FAIL
[aria-description attribute reflects.]
expected: FAIL
[aria-label attribute reflects.]
expected: FAIL
[aria-setsize attribute reflects.]
expected: FAIL
[aria-rowcount attribute reflects.]
expected: FAIL
[aria-valuemax attribute reflects.]
expected: FAIL
[role attribute reflects.]
expected: FAIL
[aria-sort attribute reflects.]
expected: FAIL
[aria-placeholder attribute reflects.]
expected: FAIL
[aria-live attribute reflects.]
expected: FAIL
[aria-valuenow attribute reflects.]
expected: FAIL
[aria-colcount attribute reflects.]
expected: FAIL
[aria-selected attribute reflects.]
expected: FAIL
[aria-checked attribute reflects.]
expected: FAIL
[aria-rowspan attribute reflects.]
expected: FAIL
[aria-pressed attribute reflects.]
expected: FAIL
[aria-hidden attribute reflects.]
expected: FAIL
[aria-multiselectable attribute reflects.]
expected: FAIL
[aria-autocomplete attribute reflects.]
expected: FAIL
[aria-posinset attribute reflects.]
expected: FAIL
[aria-rowindex attribute reflects.]
expected: FAIL
[aria-valuemin attribute reflects.]
expected: FAIL
[aria-level attribute reflects.]
expected: FAIL
[aria-disabled attribute reflects.]
expected: FAIL
[aria-orientation attribute reflects.]
expected: FAIL
[aria-colspan attribute reflects.]
expected: FAIL
[aria-colindex attribute reflects.]
expected: FAIL
[aria-roledescription attribute reflects.]
expected: FAIL
[aria-haspopup attribute reflects.]
expected: FAIL
[aria-readonly attribute reflects.]
expected: FAIL
[aria-expanded attribute reflects.]
expected: FAIL
[aria-modal attribute reflects.]
expected: FAIL
[aria-keyshortcuts attribute reflects.]
expected: FAIL
[aria-multiline attribute reflects.]
expected: FAIL

View file

@ -312,21 +312,12 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" text/plain]
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL

View file

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

View file

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

View file

@ -0,0 +1,4 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_5.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,5 +1,4 @@
[iframe_sandbox_popups_nonescaping-2.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
expected: FAIL

View file

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

View file

@ -77,3 +77,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 44059 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 17285.\n\t[17285\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+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
[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 44054 more errors.\n\tMax AbsError of 1.9961981773376465e+0 at index of 18538.\n\t[18538\]\t-9.9879217147827148e-1\t9.9740600585937500e-1\t1.9961981773376465e+0\t2.0013897706758867e+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

@ -128,3 +128,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\]\t5.6092996914003379e-10\t5.6332010030746460e-1\t5.6332009974653463e-1\t9.9999999900424297e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5875709125065861e-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 (-397.6865329305962 dB) is not greater than or equal to 85.58. Got -397.6865329305962.]
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\]\t-1.1377083450655894e+22\t5.6332010030746460e-1\t1.1377083450655894e+22\t2.0196480552435802e+22\t9.0957000000000003e-5\n\t[31081\]\t4.5654303967702540e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 1.1377083450655894e+22 at index of 31080.\n\tMax RelError of 2.0196480552435802e+22 at index of 31080.\n]
expected: FAIL

View file

@ -0,0 +1,16 @@
[k-rate-audiobuffersource-connections.html]
[< [detune\] 1 out of 11 assertions were failed.]
expected: FAIL
[X k-rate playbackRate AudioParam with input does not equal [0,0.0005000000237487257,0.0010000000474974513,0.001500000013038516,0.0020000000949949026,0.0024999999441206455,0.003000000026077032,0.0035000001080334187,0.004000000189989805,0.0044999998062849045,0.004999999888241291,0.005499999970197678,0.006000000052154064,0.006500000134110451,0.007000000216066837,0.007499999832361937...\] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[129\]\t6.4531765878200531e-2\t6.4499996602535248e-2\t3.1769275665283203e-5\t4.9254693548362878e-4\t0.0000000000000000e+0\n\t[130\]\t6.5063528716564178e-2\t6.4999997615814209e-2\t6.3531100749969482e-5\t9.7740158585040695e-4\t0.0000000000000000e+0\n\t[131\]\t6.5595299005508423e-2\t6.5499998629093170e-2\t9.5300376415252686e-5\t1.4549676093111102e-3\t0.0000000000000000e+0\n\t[132\]\t6.6127061843872070e-2\t6.5999999642372131e-2\t1.2706220149993896e-4\t1.9251848816430111e-3\t0.0000000000000000e+0\n\t[133\]\t6.6658832132816315e-2\t6.6500000655651093e-2\t1.5883147716522217e-4\t2.3884432420937856e-3\t0.0000000000000000e+0\n\t...and 1392 more errors.\n\tMax AbsError of 9.9942302703857422e-1 at index of 1525.\n\t[1525\]\t0.0000000000000000e+0\t9.9942302703857422e-1\t9.9942302703857422e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n\tMax RelError of 1.0000000000000000e+0 at index of 1492.\n\t[1492\]\t0.0000000000000000e+0\t9.7164100408554077e-1\t9.7164100408554077e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n]
expected: FAIL
[# AUDIT TASK RUNNER FINISHED: 2 out of 2 tasks were failed.]
expected: FAIL
[X k-rate detune AudioParam with input does not equal [0,0.0002500000118743628,0.0005000000237487257,0.000750000006519258,0.0010000000474974513,0.0012499999720603228,0.001500000013038516,0.0017500000540167093,0.0020000000949949026,0.0022499999031424522,0.0024999999441206455,0.002749999985098839,0.003000000026077032,0.0032500000670552254,0.0035000001080334187,0.003750000149011612...\] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[129\]\t3.2273016870021820e-2\t3.2250002026557922e-2\t2.3014843463897705e-5\t7.1363851217574957e-4\t0.0000000000000000e+0\n\t[130\]\t3.2546032220125198e-2\t3.2499998807907104e-2\t4.6033412218093872e-5\t1.4164127355873672e-3\t0.0000000000000000e+0\n\t[131\]\t3.2819051295518875e-2\t3.2749999314546585e-2\t6.9051980972290039e-5\t2.1084574783981503e-3\t0.0000000000000000e+0\n\t[132\]\t3.3092070370912552e-2\t3.2999999821186066e-2\t9.2070549726486206e-5\t2.7900166734963656e-3\t0.0000000000000000e+0\n\t[133\]\t3.3365085721015930e-2\t3.3250000327825546e-2\t1.1508539319038391e-4\t3.4612147986679484e-3\t0.0000000000000000e+0\n\t...and 1866 more errors.\n\tMax AbsError of 9.9793279170989990e-1 at index of 1999.\n\t[1999\]\t0.0000000000000000e+0\t9.9793279170989990e-1\t9.9793279170989990e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n\tMax RelError of 1.0000000000000000e+0 at index of 1963.\n\t[1963\]\t0.0000000000000000e+0\t9.6400356292724609e-1\t9.6400356292724609e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n]
expected: FAIL
[< [playbackRate\] 1 out of 11 assertions were failed.]
expected: FAIL

View file

@ -0,0 +1,28 @@
[k-rate-delay-connections.html]
[X refNode.delayTime.automationRate = 'k-rate' incorrectly threw TypeError: "refNode is undefined".]
expected: FAIL
[# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.]
expected: FAIL
[X refNode.delayTime.linearRampToValueAtTime(1.125, 1) incorrectly threw TypeError: "refNode is undefined".]
expected: FAIL
[X testNode.delayTime.automationRate = 'k-rate' incorrectly threw TypeError: "testNode is undefined".]
expected: FAIL
[X refNode.delayTime.setValueAtTime(0, 0) incorrectly threw TypeError: "refNode is undefined".]
expected: FAIL
[X testNode = new DelayNode(context) incorrectly threw ReferenceError: "DelayNode is not defined".]
expected: FAIL
[X testMod.connect(testNode.delayTime) incorrectly threw TypeError: "testNode is undefined".]
expected: FAIL
[X refNode = new DelayNode(context) incorrectly threw ReferenceError: "DelayNode is not defined".]
expected: FAIL
[Executing "delayTime"]
expected: FAIL

View file

@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
expected: TIMEOUT
expected: FAIL
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,4 @@
[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL

View file

@ -1,4 +0,0 @@
[hit-test-floats-005.html]
[Miss clipped float]
expected: FAIL

View file

@ -2,6 +2,3 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
[elementsFromPoint on inner documents]
expected: FAIL

View file

@ -113,3 +113,6 @@
[aria-description attribute reflects.]
expected: FAIL
[aria-selected attribute reflects.]
expected: FAIL

View file

@ -312,21 +312,12 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" text/plain]
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL

View file

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

View file

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

View file

@ -0,0 +1,4 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_5.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,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-2.html]
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
expected: FAIL

View file

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

View file

@ -146,3 +146,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 44059 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 17285.\n\t[17285\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+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
[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 44054 more errors.\n\tMax AbsError of 1.9961981773376465e+0 at index of 18538.\n\t[18538\]\t-9.9879217147827148e-1\t9.9740600585937500e-1\t1.9961981773376465e+0\t2.0013897706758867e+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

@ -359,3 +359,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\]\t5.6092996914003379e-10\t5.6332010030746460e-1\t5.6332009974653463e-1\t9.9999999900424297e-1\t9.0957000000000003e-5\n\t[31081\]\t4.5875709125065861e-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 (-397.6865329305962 dB) is not greater than or equal to 85.58. Got -397.6865329305962.]
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\]\t-1.1377083450655894e+22\t5.6332010030746460e-1\t1.1377083450655894e+22\t2.0196480552435802e+22\t9.0957000000000003e-5\n\t[31081\]\t4.5654303967702540e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 1.1377083450655894e+22 at index of 31080.\n\tMax RelError of 2.0196480552435802e+22 at index of 31080.\n]
expected: FAIL

View file

@ -0,0 +1,16 @@
[k-rate-audiobuffersource-connections.html]
[< [detune\] 1 out of 11 assertions were failed.]
expected: FAIL
[X k-rate playbackRate AudioParam with input does not equal [0,0.0005000000237487257,0.0010000000474974513,0.001500000013038516,0.0020000000949949026,0.0024999999441206455,0.003000000026077032,0.0035000001080334187,0.004000000189989805,0.0044999998062849045,0.004999999888241291,0.005499999970197678,0.006000000052154064,0.006500000134110451,0.007000000216066837,0.007499999832361937...\] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[129\]\t6.4531765878200531e-2\t6.4499996602535248e-2\t3.1769275665283203e-5\t4.9254693548362878e-4\t0.0000000000000000e+0\n\t[130\]\t6.5063528716564178e-2\t6.4999997615814209e-2\t6.3531100749969482e-5\t9.7740158585040695e-4\t0.0000000000000000e+0\n\t[131\]\t6.5595299005508423e-2\t6.5499998629093170e-2\t9.5300376415252686e-5\t1.4549676093111102e-3\t0.0000000000000000e+0\n\t[132\]\t6.6127061843872070e-2\t6.5999999642372131e-2\t1.2706220149993896e-4\t1.9251848816430111e-3\t0.0000000000000000e+0\n\t[133\]\t6.6658832132816315e-2\t6.6500000655651093e-2\t1.5883147716522217e-4\t2.3884432420937856e-3\t0.0000000000000000e+0\n\t...and 1392 more errors.\n\tMax AbsError of 9.9942302703857422e-1 at index of 1525.\n\t[1525\]\t0.0000000000000000e+0\t9.9942302703857422e-1\t9.9942302703857422e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n\tMax RelError of 1.0000000000000000e+0 at index of 1492.\n\t[1492\]\t0.0000000000000000e+0\t9.7164100408554077e-1\t9.7164100408554077e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n]
expected: FAIL
[# AUDIT TASK RUNNER FINISHED: 2 out of 2 tasks were failed.]
expected: FAIL
[X k-rate detune AudioParam with input does not equal [0,0.0002500000118743628,0.0005000000237487257,0.000750000006519258,0.0010000000474974513,0.0012499999720603228,0.001500000013038516,0.0017500000540167093,0.0020000000949949026,0.0022499999031424522,0.0024999999441206455,0.002749999985098839,0.003000000026077032,0.0032500000670552254,0.0035000001080334187,0.003750000149011612...\] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[129\]\t3.2273016870021820e-2\t3.2250002026557922e-2\t2.3014843463897705e-5\t7.1363851217574957e-4\t0.0000000000000000e+0\n\t[130\]\t3.2546032220125198e-2\t3.2499998807907104e-2\t4.6033412218093872e-5\t1.4164127355873672e-3\t0.0000000000000000e+0\n\t[131\]\t3.2819051295518875e-2\t3.2749999314546585e-2\t6.9051980972290039e-5\t2.1084574783981503e-3\t0.0000000000000000e+0\n\t[132\]\t3.3092070370912552e-2\t3.2999999821186066e-2\t9.2070549726486206e-5\t2.7900166734963656e-3\t0.0000000000000000e+0\n\t[133\]\t3.3365085721015930e-2\t3.3250000327825546e-2\t1.1508539319038391e-4\t3.4612147986679484e-3\t0.0000000000000000e+0\n\t...and 1866 more errors.\n\tMax AbsError of 9.9793279170989990e-1 at index of 1999.\n\t[1999\]\t0.0000000000000000e+0\t9.9793279170989990e-1\t9.9793279170989990e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n\tMax RelError of 1.0000000000000000e+0 at index of 1963.\n\t[1963\]\t0.0000000000000000e+0\t9.6400356292724609e-1\t9.6400356292724609e-1\t1.0000000000000000e+0\t0.0000000000000000e+0\n]
expected: FAIL
[< [playbackRate\] 1 out of 11 assertions were failed.]
expected: FAIL

View file

@ -0,0 +1,28 @@
[k-rate-delay-connections.html]
[X refNode.delayTime.automationRate = 'k-rate' incorrectly threw TypeError: "refNode is undefined".]
expected: FAIL
[# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.]
expected: FAIL
[X refNode.delayTime.linearRampToValueAtTime(1.125, 1) incorrectly threw TypeError: "refNode is undefined".]
expected: FAIL
[X testNode.delayTime.automationRate = 'k-rate' incorrectly threw TypeError: "testNode is undefined".]
expected: FAIL
[X refNode.delayTime.setValueAtTime(0, 0) incorrectly threw TypeError: "refNode is undefined".]
expected: FAIL
[X testNode = new DelayNode(context) incorrectly threw ReferenceError: "DelayNode is not defined".]
expected: FAIL
[X testMod.connect(testNode.delayTime) incorrectly threw TypeError: "testNode is undefined".]
expected: FAIL
[X refNode = new DelayNode(context) incorrectly threw ReferenceError: "DelayNode is not defined".]
expected: FAIL
[Executing "delayTime"]
expected: FAIL

View file

@ -1,17 +0,0 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// https://w3c.github.io/manifest/
'use strict';
idl_test(
['appmanifest'],
['html', 'dom'],
idl_array => {
idl_array.add_objects({
Window: ['window'],
BeforeInstallPromptEvent: ['new BeforeInstallPromptEvent("type")'],
});
}
);

View file

@ -0,0 +1,19 @@
<!doctype html>
<meta name="timeout" content="long">
<title>Accept-CH Persistence test</title>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script src="resources/accept-ch-test.js"></script>
<script>
run_test({ name: "cross origin subresources authorized by FP gets it own resources",
initial_url: echo,
accept_url: accept,
expect_url: "resources/feature-policy-with-cross-origin-subresource.html",
type: "navigation" });
</script>
</body>
</html>

View file

@ -0,0 +1,25 @@
<html>
<body>
<script src="/common/get-host-info.sub.js"></script>
<script>
// This test checks if browser attaches the device-memory client hint in the
// HTTP request headers --- while requesting it from 3P context after
// settings feature policy to allow it; with Accept-CH coming from a sticky
// source.
// echo-client-hints-received.py sets the response headers depending on the set
// of client hints it receives in the request headers.
fetch(get_host_info()["HTTPS_REMOTE_ORIGIN"] + "/client-hints/accept-ch-stickiness/resources/echo-client-hints-received.py").then(r => {
if(r.status == 200 && r.headers.has("device-memory-received")) {
window.top.opener.postMessage('PASS', '*');
}
else {
window.top.opener.postMessage('FAIL', '*');
}
});
</script>
</body>
</html>

View file

@ -22,8 +22,8 @@ contentIndexTest(async (t, index) => {
await expectTypeError(index.add(createDescription({iconUrl: '/non-existent-icon.png'})));
await expectTypeError(index.add(createDescription({iconUrl: '/images/broken.png'})));
await expectTypeError(index.add(createDescription({launchUrl: 'https://other-domain.com/'})));
await expectTypeError(index.add(createDescription({launchUrl: '/different-scope'})));
await expectTypeError(index.add(createDescription({url: 'https://other-domain.com/'})));
await expectTypeError(index.add(createDescription({url: '/different-scope'})));
await index.add(createDescription({}));

View file

@ -14,8 +14,8 @@ async function expectTypeError(promise) {
function createDescription({id = 'id', title = 'title', description = 'description',
category = 'homepage', iconUrl = '/images/green-256x256.png',
launchUrl = scope, includeIcons = true}) {
return {id, title, description, category, icons: includeIcons ? [{src: iconUrl}] : [], launchUrl};
url = scope, includeIcons = true}) {
return {id, title, description, category, icons: includeIcons ? [{src: iconUrl}] : [], url};
}
// Creates a Promise test for |func| given the |description|. The |func| will be

View file

@ -80,7 +80,26 @@
wait_for_error_from_frame(i, t);
document.body.appendChild(i);
}, "<iframe src='javascript:...'>'s inherits policy.");
}, "<iframe src='javascript:...'>'s inherits policy (static <img> is blocked)");
// Same as the previous javascript-URL test, but instead of loading the <img>
// from the new document, this one is created from the initial empty document,
// while evaluating the javascript-url.
// See https://crbug.com/1064676
async_test(t => {
let url = `javascript:
let img = document.createElement('img');
img.onload = () => window.top.postMessage('load', '*');
img.onerror = () => window.top.postMessage('error', '*');
img.src = '{{location[server]}}/images/red-16x16.png';
document.body.appendChild(img);
`;
var i = document.createElement('iframe');
i.src = encodeURI(url.replace(/\n/g, ""));
wait_for_error_from_frame(i, t);
document.body.appendChild(i);
}, "<iframe src='javascript:...'>'s inherits policy (dynamically inserted <img> is blocked)");
async_test(t => {
var i = document.createElement('iframe');

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<title>CSS Flexbox: Crash for flex box with relpos with scrollable with abspos</title>
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@opera.com">
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#flex-container">
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#scrollable-overflow">
<link rel="issue" href="https://crbug.com/498969">
<meta name="assert" content="Check that crash doesn't happen in flex box with descendents that include relpos, overflow:auto scrollbars, and abspos.">
<div style="display:flex;">
<div>
<div style="position:relative; width:5em;">
<div style="overflow:auto;">
<div>xxxxxxxxxxxxxxxxxxxxxx</div>
<div style="position:absolute;"></div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Flexbox: Correct cross size of Table with 'align-self: stretch'</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#algo-stretch">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<meta name="assert" content="This test ensures that flexbox computes a correct cross size of a <table> flex item with align-self: stretch.">
<style>
.container {
display: flex;
flex-direction: column;
height: 100px;
width: 50px;
}
.first {
flex: 1 1 auto;
background-color: blue;
}
.test {
flex: 0 0 auto;
background-color: green;
display: flex;
}
td {
padding: 23px;
}
</style>
</head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.test')">
<div id=log></div>
<div class="container">
<div class="first">
</div>
<!-- This wrapper div is a row flexbox. It should get a height of 50px, matching the height
of the inner table. In particular, it should not be 0 on the basis that tables don't
have an intrinsic block-size. -->
<div class="test" data-expected-height=50>
<table>
<tr><td></td></tr>
</table>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,70 @@
<!DOCTYPE html>
<title>CSS Grid: empty grid without explicit tracks.</title>
<link rel="author" title="Sergio Villar" href="mailto:svillar@igalia.com"/>
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos"/>
<link rel="issue" href="https://crrev.com/562167"/>
<meta name="assert" content="Test ensures that the grids with no in-flow items are actually empty."/>
<link href="/css/support/grid.css" rel="stylesheet"/>
<link href="/css/support/width-keyword-classes.css" rel="stylesheet"/>
<link href="/fonts/ahem.css" rel="stylesheet" type="text/css"/>
<style>
.gridWithAbsolutePositionedItem {
/* Ensures that the grid container is the containing block of the absolutely positioned grid children. */
position: relative;
}
.grid {
grid-auto-columns: 200px;
grid-auto-rows: 200px;
}
.item {
position: absolute;
font: 10px/1 Ahem;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<script>
function addRemoveItem()
{
var gridItem = document.createElement("div");
gridItem.style.width = "100px";
gridItem.style.height = "100px";
gridItem.style.backgroundColor = "red";
var gridElement = document.getElementById("dynamicGrid");
gridElement.appendChild(gridItem);
gridElement.removeChild(gridItem);
}
setup({ explicit_done: true });
function doTest() {
addRemoveItem();
checkLayout(".grid");
}
</script>
<body onload="document.fonts.ready.then(() => { doTest(); })">
<div class="grid min-content" data-expected-width="0" data-expected-height="0"></div>
<div class="grid min-content gridWithAbsolutePositionedItem" data-expected-width="0" data-expected-height="0">
<div class="item" data-expected-width="40" data-expected-height="10">XXXX</div>
</div>
<div id="dynamicGrid" class="grid min-content" data-expected-width="0" data-expected-height="0"></div>
<div class="grid min-content" style="grid-template-rows: 100px;" data-expected-width="0" data-expected-height="100"></div>
<div class="grid min-content" style="grid-template-rows: auto;" data-expected-width="0" data-expected-height="0"></div>
<div class="grid min-content" style="grid-template-rows: 1fr;" data-expected-width="0" data-expected-height="0"></div>
<div class="grid min-content" style="grid-template-columns: 100px;" data-expected-width="100" data-expected-height="0"></div>
<div class="grid min-content" style="grid-template-columns: auto;" data-expected-width="0" data-expected-height="0"></div>
<div class="grid min-content" style="grid-template-columns: 1fr;" data-expected-width="0" data-expected-height="0"></div>
</body>

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<title>CSS Grid Layout Test: Positioned grid items</title>
<link rel="author" title="Manuel Rego" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid/#abspos" title="9. Absolute Positioning">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=402504">
<meta name="assert" content="Checks that positioned grid items (absolute or fixed) do not cause a crash."/>
<link rel="stylesheet" href="/css/support/grid.css">
<body>
<div class="grid">
<div style="position: absolute;"></div>
<div style="position: fixed;"></div>
</div>
</body>
</html>

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<title>CSS Grid: anonynous grid items.</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-items">
<link rel="match" href="reference/anonymous-grid-items-001-ref.html">
<meta name="assert" content="This test ensures that anonymous grid items are supported."/>
<body>
<div>The test passes if it has the same output than the reference.</div>
<div style="display: grid;">
anonymous item
</div>
</body>
</html>

View file

@ -0,0 +1,176 @@
<!DOCTYPE html>
<title>CSS Grid: grid size with explicit grid-template-areas.</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"/>
<link rel="help" href="https://drafts.csswg.org/css-grid/#grid-definition"/>
<link rel="issue" href="https://crrev.com/603160"/>
<meta name="assert" content="Test ensures that the explicit grid size is set by the maximum of the grid-template-columns|rows properties and grid-template-areas."/>
<link href="/css/support/grid.css" rel="stylesheet"/>
<style>
.grid {
grid-auto-columns: 10px;
grid-auto-rows: 10px;
position: relative;
}
.oneColumnOneRow {
grid-template-columns: 50px;
grid-template-rows: 50px;
}
.twoColumnsOneRow {
grid-template-columns: 50px 50px;
grid-template-rows: 50px;
}
.oneColumnTwoRows {
grid-template-columns: 50px;
grid-template-rows: 50px 50px;
}
.twoColumnsTwoRows {
grid-template-columns: 50px 50px;
grid-template-rows: 50px 50px;
}
.oneColumnOneRowAreas {
grid-template-areas: "a";
}
.twoColumnsOneRowAreas {
grid-template-areas: "a b";
}
.oneColumnTwoRowsAreas {
grid-template-areas: "a"
"b";
}
.twoColumnsTwoRowsAreas {
grid-template-areas: "a b"
"c d";
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.grid')">
<div id="log"></div>
<div class="grid">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
</div>
<div class="grid oneColumnOneRow">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
</div>
<div class="grid oneColumnOneRowAreas">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
</div>
<div class="grid oneColumnTwoRows">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="50">
</div>
</div>
<div class="grid oneColumnTwoRowsAreas">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="10" data-expected-width="10" data-expected-height="10">
</div>
</div>
<div class="grid twoColumnsOneRow">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
</div>
<div class="grid twoColumnsOneRowAreas">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
<div class="autoRowAutoColumn"
data-offset-x="10" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
</div>
<div class="grid twoColumnsTwoRows">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="50" data-expected-width="50" data-expected-height="50">
</div>
</div>
<div class="grid twoColumnsTwoRowsAreas">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
<div class="autoRowAutoColumn"
data-offset-x="10" data-offset-y="0" data-expected-width="10" data-expected-height="10">
</div>
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="10" data-expected-width="10" data-expected-height="10">
</div>
<div class="autoRowAutoColumn"
data-offset-x="10" data-offset-y="10" data-expected-width="10" data-expected-height="10">
</div>
</div>
<div class="grid oneColumnOneRow twoColumnsTwoRowsAreas">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="0" data-expected-width="10" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="10">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="50" data-expected-width="10" data-expected-height="10">
</div>
</div>
<div class="grid twoColumnsTwoRows oneColumnOneRowAreas">
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="0" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="0" data-offset-y="50" data-expected-width="50" data-expected-height="50">
</div>
<div class="autoRowAutoColumn"
data-offset-x="50" data-offset-y="50" data-expected-width="50" data-expected-height="50">
</div>
</div>
</body>

View file

@ -0,0 +1,159 @@
<!DOCTYPE html>
<html>
<title>CSS Grid Layout Test: Auto repeat tracks, grid-template-columns and minmax sizes.</title>
<link rel="author" title="Julien Chaffraix" href="mailto:jchaffraix@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizes">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#fr-unit">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=235258">
<link rel="stylesheet" href="/fonts/ahem.css">
<link rel="stylesheet" href="/css/support/grid.css">
<meta name="assert" content="Test that resolving auto tracks on grid items inside containers using minmax() with grid-template-columns works properly." />
<style>
.gridMaxMaxContent {
grid-template-columns: minmax(10px, max-content) minmax(10px, 1fr);
grid-template-rows: 50px;
}
.gridMinMinContent {
grid-template-columns: minmax(10px, 1fr) minmax(min-content, 50px);
grid-template-rows: 50px;
}
.gridWithIntrinsicSizeBiggerThanFlex {
grid-template-columns: minmax(min-content, 0.5fr) minmax(18px, 2fr);
grid-template-rows: 50px;
}
.gridShrinkBelowItemsIntrinsicSize {
grid-template-columns: minmax(0px, 1fr) minmax(0px, 2fr);
grid-template-rows: 50px;
}
.gridWithNonFlexingItems {
grid-template-columns: 40px minmax(min-content, 1fr) auto minmax(20px, 2fr);
grid-template-rows: 50px;
}
.firstRowThirdColumn {
grid-column: 3;
grid-row: 1;
}
.firstRowFourthColumn {
grid-column: 4;
grid-row: 1;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<script type="text/javascript">
setup({ explicit_done: true });
</script>
<body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
<div class="constrainedContainer">
<div class="grid gridMaxMaxContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="10" data-expected-height="50">XXXXX</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="10" data-expected-height="50"></div>
</div>
</div>
<!-- Allow the extra logical space distribution to occur. -->
<div style="width: 40px; height: 10px">
<div class="grid gridMaxMaxContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="30" data-expected-height="50">XXXXX</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="10" data-expected-height="50"></div>
</div>
</div>
<div style="width: 110px; height: 10px;">
<div class="grid gridMaxMaxContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="60" data-expected-height="50"></div>
</div>
</div>
<div class="constrainedContainer">
<div class="grid gridMinMinContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="10" data-expected-height="50">XX XX</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="20" data-expected-height="50">XX XX</div>
</div>
</div>
<!-- Allow the extra logical space distribution to occur. -->
<div style="width: 40px; height: 10px">
<div class="grid gridMinMinContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="10" data-expected-height="50">XX XX</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="30" data-expected-height="50">XX XX</div>
</div>
</div>
<div style="width: 110px; height: 10px;">
<div class="grid gridMinMinContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="60" data-expected-height="50">XX XX</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="50" data-expected-height="50">XX XX</div>
</div>
</div>
<div style="width: 220px; height: 10px;">
<div class="grid gridWithIntrinsicSizeBiggerThanFlex">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="200" data-expected-height="50">
<div style="display: inline-block; width: 200px;"></div>
</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="20" data-expected-height="50"></div>
</div>
</div>
<div style="width: 120px; height: 10px;">
<div class="grid gridShrinkBelowItemsIntrinsicSize">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="40" data-expected-height="50">
<div style="display: inline-block; width: 200px;"></div>
</div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="80" data-expected-height="50">XXXXXXXXXX</div>
</div>
</div>
<!-- No space available for the <flex> -->
<div style="width: 220px; height: 10px;">
<div class="grid gridWithNonFlexingItems">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="40" data-expected-height="50"></div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="100" data-expected-height="50">
<div style="display: inline-block; width: 100px;"></div>
</div>
<div class="sizedToGridArea firstRowThirdColumn" data-expected-width="100" data-expected-height="50">XXXXXXXXXX XXXXXXXXX</div>
<div class="sizedToGridArea firstRowFourthColumn" data-expected-width="20" data-expected-height="50"></div>
</div>
</div>
<!-- The second track should be sized after the min-content as the <flex> value should be too small. -->
<div style="width: 380px; height: 10px;">
<div class="grid gridWithNonFlexingItems">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="40" data-expected-height="50"></div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="100" data-expected-height="50">
<div style="display: inline-block; width: 100px;"></div>
</div>
<div class="sizedToGridArea firstRowThirdColumn" data-expected-width="200" data-expected-height="50">XXXXXXXXXX XXXXXXXXX</div>
<div class="sizedToGridArea firstRowFourthColumn" data-expected-width="40" data-expected-height="50"></div>
</div>
</div>
<div style="width: 400px; height: 10px;">
<div class="grid gridWithNonFlexingItems">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="40" data-expected-height="50"></div>
<div class="sizedToGridArea firstRowSecondColumn" data-expected-width="100" data-expected-height="50">
<div style="display: inline-block; width: 100px;"></div>
</div>
<div class="sizedToGridArea firstRowThirdColumn" data-expected-width="200" data-expected-height="50">XXXXXXXXXX XXXXXXXXX</div>
<div class="sizedToGridArea firstRowFourthColumn" data-expected-width="60" data-expected-height="50"></div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<title>CSS Grid Layout Test: Auto repeat tracks, grid-template-rows and minmax sizes.</title>
<link rel="author" title="Julien Chaffraix" href="mailto:jchaffraix@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#track-sizes">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#fr-unit">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=235258">
<link rel="stylesheet" href="/fonts/ahem.css">
<link rel="stylesheet" href="/css/support/grid.css">
<meta name="assert" content="Test that resolving auto tracks on grid items inside containers using minmax() with grid-template-rows works properly." />
<style>
.gridMaxMaxContent {
grid-template-columns: 50px;
grid-template-rows: minmax(10px, max-content) minmax(10px, 1fr);
}
.gridMinMinContent {
grid-template-columns: 50px;
grid-template-rows: minmax(10px, 1fr) minmax(min-content, 50px);
}
.gridWithIntrinsicSizeBiggerThanFlex {
grid-template-columns: 50px;
grid-template-rows: minmax(min-content, 0.5fr) minmax(18px, 2fr);
}
.gridShrinkBelowItemsIntrinsicSize {
grid-template-columns: 50px;
grid-template-rows: minmax(0px, 1fr) minmax(0px, 2fr);
}
.gridWithNonFlexingItems {
grid-template-columns: 50px;
grid-template-rows: 40px minmax(min-content, 1fr) auto minmax(20px, 2fr);
}
.thirdRowFirstColumn {
grid-column: 1;
grid-row: 3;
}
.fourthRowFirstColumn {
grid-column: 1;
grid-row: 4;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<script type="text/javascript">
setup({ explicit_done: true });
</script>
<body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
<p>Test that resolving auto tracks on grid items works properly.</p>
<div class="constrainedContainer">
<div class="grid gridMaxMaxContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="10"></div>
</div>
</div>
<!-- Allow the extra logical space distribution to occur. -->
<div style="width: 10px; height: 40px">
<div class="grid gridMaxMaxContent" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="30"></div>
</div>
</div>
<div style="width: 10px; height: 40px">
<div class="grid gridMaxMaxContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="10"></div>
</div>
</div>
<div style="width: 10px; height: 110px;">
<div class="grid gridMaxMaxContent" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="100"></div>
</div>
</div>
<div style="width: 10px; height: 110px;">
<div class="grid gridMaxMaxContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="10"></div>
</div>
</div>
<div class="constrainedContainer">
<div class="grid gridMinMinContent" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX XXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="20">XXXXX XXXX</div>
</div>
</div>
<div class="constrainedContainer">
<div class="grid gridMinMinContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="20">XXXXX XXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX XXXX</div>
</div>
</div>
<!-- Allow the extra logical space distribution to occur. -->
<div style="width: 10px; height: 40px">
<div class="grid gridMinMinContent" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX XXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="30">XXXXX XXXX</div>
</div>
</div>
<div class="grid gridMinMinContent" style="height: 40px">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="10">XXXXX XXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="30">XXXXX XXXX</div>
</div>
<div style="width: 10px; height: 110px;">
<div class="grid gridMinMinContent" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX XXXX</div>
</div>
</div>
<div style="width: 10px; height: 110px;">
<div class="grid gridMinMinContent">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="20">XXXXX XXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX XXXX</div>
</div>
</div>
<div style="width: 10px; height: 60px;">
<div class="grid gridWithIntrinsicSizeBiggerThanFlex" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="20"></div>
</div>
</div>
<!-- We normalize fraction flex factors to 1, so we don't keep exact proportions with >1 factors. -->
<div style="width: 10px; height: 60px;">
<div class="grid gridWithIntrinsicSizeBiggerThanFlex">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="80"></div>
</div>
</div>
<div style="width: 10px; height: 60px;">
<div class="grid gridShrinkBelowItemsIntrinsicSize" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="20">XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</div>
</div>
<div style="width: 10px; height: 60px;">
<div class="grid gridShrinkBelowItemsIntrinsicSize">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="50">XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="100">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</div>
</div>
<!-- No space available for the <flex> -->
<div style="width: 10px; height: 100px;">
<div class="grid gridWithNonFlexingItems" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea thirdRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea fourthRowFirstColumn" data-expected-width="50" data-expected-height="20"></div>
</div>
</div>
<div style="width: 10px; height: 100px;">
<div class="grid gridWithNonFlexingItems">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea thirdRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea fourthRowFirstColumn" data-expected-width="50" data-expected-height="80"></div>
</div>
</div>
<!-- The second track should be sized after the min-content as the <flex> value should be too small. -->
<div style="width: 10px; height: 180px;">
<div class="grid gridWithNonFlexingItems" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea thirdRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea fourthRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
</div>
</div>
<div style="width: 10px; height: 180px;">
<div class="grid gridWithNonFlexingItems">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea thirdRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea fourthRowFirstColumn" data-expected-width="50" data-expected-height="80"></div>
</div>
</div>
<div style="width: 10px; height: 400px;">
<div class="grid gridWithNonFlexingItems" style="height: 100%">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="100">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea thirdRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea fourthRowFirstColumn" data-expected-width="50" data-expected-height="200"></div>
</div>
</div>
<div style="width: 10px; height: 400px;">
<div class="grid gridWithNonFlexingItems">
<div class="sizedToGridArea firstRowFirstColumn" data-expected-width="50" data-expected-height="40"></div>
<div class="sizedToGridArea secondRowFirstColumn" data-expected-width="50" data-expected-height="40">XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea thirdRowFirstColumn" data-expected-width="50" data-expected-height="60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
<div class="sizedToGridArea fourthRowFirstColumn" data-expected-width="50" data-expected-height="80"></div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>CSS Grid Layout Test: Insert script as grid item</title>
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-item">
<link rel="stylesheet" href="/css/support/grid.css"/>
<link rel="match" href="../reference/grid-item-script-001-ref.html">
<meta name="assert" content="This test ensures that inserting a script element as grid item doesn't crash.">
<div class="grid">
<script>
var grid = document.getElementsByClassName("grid")[0];
grid.offsetTop;
grid.innerHTML = "Test passes if it doesn't crash.";
</script>
</div>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>
<title>CSS Grid: column-* properties are ignored.</title>
<link rel="author" title="Sunil Ratnu" href="mailto:sunil.ratnu@samsung.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-model">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/1364">
<link rel="match" href="reference/column-property-should-not-apply-on-grid-container-001-ref.html">
<meta name="assert" content="This test ensures the column-* properties (in the Multicol module) have no effect on a grid container."/>
<link href="/css/support/grid.css" rel="stylesheet"/>
<style>
.grid, .inline-grid
{
width: 20em;
column-count: 2;
column-gap: 100px;
font-kerning: none;
}
</style>
<body>
<div class='grid'>
AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC DDDDDDDDDD
</div>
<div class='inline-grid'>
AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC DDDDDDDDDD
</div>
</body>
</html>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<title>CSS Grid: width of grid container with scrollbar.</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#overflow">
<meta name="assert" content="This test ensures that a grid container scrollbar is computed properly during intrinsic width calculation."/>
<link href="/css/support/grid.css" rel="stylesheet"/>
<link href="/css/support/width-keyword-classes.css" rel="stylesheet"/>
<style>
.grid {
overflow-y: scroll;
grid-template-columns: repeat(4, 50px);
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.grid')">
<div class="grid min-content" data-expected-client-width="200">
item
</div>
<div class="grid max-content" data-expected-client-width="200">
item
</div>
</body>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<link href="/css/support/grid.css" rel="stylesheet">
<style>
.grid, .inline-grid
{
width: 20em;
font-kerning: none;
}
</style>
<body>
<div class='grid'>
AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC DDDDDDDDDD
</div>
<div class='inline-grid'>
AAAAAAAAAA BBBBBBBBBB CCCCCCCCCC DDDDDDDDDD
</div>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<title>CSS Grid: grid items using 'auto' margins.</title>
<link rel="author" title="Javier Fernendez" href="mailto:jfernandez@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid/#auto-margins">
<link rel="help" href="https://drafts.csswg.org/css-grid/#layout-algorithm">
<link rel="match" href="references/auto-margins-ignored-during-track-sizing-001-ref.html">
<meta name="assert" content="This test ensures that 'auto' margin is treated as 0px during the tracks sizing algorithm."/>
<style>
body { overflow: hidden; }
.grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.margin-center {
margin-top: 10px;
margin-left: auto;
margin-right: auto;
}
.i1 { background: magenta; }
.i2 { background: cyan; }
.i3 { background: yellow; }
.i4 { background: lime; }
</style>
<p>This test pass if the 3 items in the first row have the same size filling the whole viewport's width and the item in the second row is centered in the first column.<p>
<div class="grid">
<div class="i1">
In a few questions, you will get an expert-designed investment portfolio to fit your financial needs.
</div>
<div class="i2">
Open and fund your account with 10,000 or more and we will put your money to work.
</div>
<div class="i3">
We will take it from here, monitoring your portfolio daily to help keep it on track.
</div>
<div class="i4 margin-center">Learn More</a>
</div>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<style>
body { overflow: hidden; }
.grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.margin { margin-top: 10px; }
.center { justify-self: center; }
.i1 { background: magenta; }
.i2 { background: cyan; }
.i3 { background: yellow; }
.i4 { background: lime; }
</style>
<p>This test pass if the 3 items in the first row have the same size filling the whole viewport's width and the item in the second row is centered in the first column.<p>
<div class="grid">
<div class="i1">
In a few questions, you will get an expert-designed investment portfolio to fit your financial needs.
</div>
<div class="i2">
Open and fund your account with 10,000 or more and we will put your money to work.
</div>
<div class="i3">
We will take it from here, monitoring your portfolio daily to help keep it on track.
</div>
<div class="i4 margin center">Learn More</a>
</div>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-grid/#grid-placement-slot">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-template-columns">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-auto-rows">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-template-areas">
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#propdef-grid-column">
<link rel="help" href="https://crbug.com/733577">
<link rel="match" href="../reference/grid-template-areas-must-keep-named-columns-order-001-ref.html">
<meta name="assert" content="A grid item located in a named line will be placed in the first one associated to that name"/>
<style>
.grid {
display: inline-grid;
background: grey;
grid-template-columns: [col] 50px [col] 50px [col] 50px [col] 50px;
grid-auto-rows: 50px;
grid-template-areas: "A . . .";
}
.grid > :nth-child(1) { background: magenta; }
.grid > :nth-child(2) { background: blue; }
.grid > :nth-child(3) { background: yellow; }
.grid > :nth-child(4) { background: green; }
.grid > :nth-child(5) { background: black; }
</style>
<p>This test passes if the black item is positioned in the first column of the second row, since the spec states that we must select the first one among several equally named grid lines.</p>
<div class="grid">
<div></div>
<div></div>
<div></div>
<div></div>
<div style="grid-column: col"></div>
</div>

View file

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<body>
<div>The test passes if it has the same output than the reference.</div>
<div>
<div>anonymous item</div>
</div>
</body>
</html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<div style="background: grey;">Test passes if it doesn't crash.</div>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<style>
.grid {
display: inline-grid;
background: grey;
grid-template-columns: 50px 50px 50px 50px;
grid-template-rows: 50px 50px;
}
.grid > :nth-child(1) { background: magenta; }
.grid > :nth-child(2) { background: blue; }
.grid > :nth-child(3) { background: yellow; }
.grid > :nth-child(4) { background: green; }
.grid > :nth-child(5) { background: black; }
</style>
<p>This test passes if the black item is positioned in the first column of the second row, since the spec states that we must select the first one among several equally named grid lines.</p>
<div class="grid">
<div style="grid-row: 1; grid-column: 1"></div>
<div style="grid-row: 1; grid-column: 2"></div>
<div style="grid-row: 1; grid-column: 3"></div>
<div style="grid-row: 1; grid-column: 4"></div>
<div style="grid-row: 2; grid-column: 1"></div>
</div>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<title>CSS Masking: Test clip-path property with svg clipPath element in column</title>
<link rel="author" title="Fredrik Söderquist" href="mailto:fs@opera.com">
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
<link rel="issue" href="https://bugs.chromium.org/p/chromium/issues/detail?id=626097">
<link rel="match" href="reference/clip-path-columns-shape-002-ref.html">
<meta name="assert" content="This test ensures that clip-path property works correctly in column layout when SVG <clipPath> elements with clipPathUnits='userSpaceOnUse' is referenced.">
<style>
body { margin: 0; }
.clipped {
background-color: green;
border: 5px solid red;
-webkit-clip-path: url(#c);
clip-path: url(#c);
}
</style>
<div style="columns: 2; column-gap: 0; width: 200px; height: 100px">
<div style="height: 100px"></div>
<div style="height: 90px" class="clipped"></div>
</div>
<svg>
<clipPath id="c" clipPathUnits="userSpaceOnUse">
<rect x="5" y="5" width="90" height="90"/>
</clipPath>
</svg>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html class="reftest-wait">
<title>CSS Masking: SVG clipPath dynamically updated.</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
<link rel="match" href="reference/reference-mutated-ref.html">
<meta name="assert" content="Test ensures that SVG clipPath updates properly when dynamically changed."/>
<script src="/common/reftest-wait.js"></script>
<script src="/common/rendering-utils.js"></script>
<style>
#target {
width: 100px;
height: 100px;
background-color: green;
clip-path: url(#clip);
}
</style>
<div id="target"></div>
<svg height="0" width="0">
<defs>
<clipPath id="clip" clipPathUnits="objectBoundingBox">
<circle cx="0.5" cy="0.5" r="0.25"></circle>
</clipPath>
</defs>
</svg>
<script>
waitForAtLeastOneFrame().then(function() {
document.querySelector('circle').setAttribute('r', 1);
takeScreenshot();
});
</script>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<title>CSS Masking: fragment of non valid URL as clip.</title>
<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#the-clip-path">
<link rel="match" href="reference/reference-nonexisting-existing-local-ref.html">
<meta name="assert" content="Test ensures that only local URLs with a valid fragment result in a valid clip."/>
<style>
#target {
width: 100px;
height: 100px;
background-color: green;
clip-path: url(notexisting.svg#c);
}
</style>
<div style="background-color: red; width: 100px">
<div id="target"></div>
</div>
<svg>
<clipPath id="c" clipPathUnits="objectBoundingBox">
<circle cx="0.5" cy="0.5" r="0.5"/>
</clipPath>
</svg>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html>
<body style="margin: 0">
<div style="width: 90px; height: 90px; margin-left: 105px; margin-top: 5px; background-color: green"></div>
</body>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<div style="width: 100px; height: 100px; background-color: green"></div>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<div style="width: 100px; height: 100px; background-color: green"></div>

View file

@ -0,0 +1,13 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test Reference</title>
<style>
div {
border: 1px solid green;
background: green;
margin-top: 100px;
width: 100px;
height: 100px;
}
</style>
<div></div>

View file

@ -0,0 +1,29 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test: will-change: backdrop-filter should generate a containing block for absolute positioned elements.</title>
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=960953">
<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
<link rel="match" href="will-change-abspos-cb-003-ref.html">
<style>
.container {
border: 1px solid green;
background: red;
width: 100px;
height: 100px;
margin-top: 100px;
will-change: backdrop-filter;
}
.abspos {
position: absolute;
top: 0;
left: 0;
background: green;
height: 100px;
width: 100px;
}
</style>
<div class="container">
<div class="abspos"></div>
</div>

View file

@ -0,0 +1,13 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test Reference</title>
<style>
div {
border: 1px solid green;
background: green;
margin-top: 100px;
width: 100px;
height: 100px;
}
</style>
<div></div>

View file

@ -0,0 +1,29 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test: will-change: backdrop-filter should generate a containing block for fixed positioned elements.</title>
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=960953">
<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
<link rel="match" href="will-change-fixedpos-cb-004-ref.html">
<style>
.container {
border: 1px solid green;
background: red;
width: 100px;
height: 100px;
margin-top: 100px;
will-change: backdrop-filter;
}
.fixedpos {
position: fixed;
top: 0;
left: 0;
background: green;
height: 100px;
width: 100px;
}
</style>
<div class="container">
<div class="fixedpos"></div>
</div>

View file

@ -0,0 +1,12 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test Reference</title>
<style>
div {
background: green;
margin-left: 100px;
width: 100px;
height: 100px;
}
</style>
<div></div>

View file

@ -0,0 +1,27 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test: will-change: backdrop-filter on an inline should generate a containing block for fixed positioned elements.</title>
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=960953">
<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
<link rel="match" href="will-change-fixedpos-cb-005-ref.html">
<style>
.inline {
margin-left: 100px;
will-change: backdrop-filter;
}
.fixedpos {
position: fixed;
top: 0;
left: 0;
background: green;
height: 100px;
width: 100px;
}
</style>
<span class="inline">
<!-- "FAIL" should be hidden by the green box and should not be visible. -->
FAIL
<div class="fixedpos"></div>
</span>

View file

@ -0,0 +1,31 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test Reference</title>
<style>
body {
margin: 0;
}
.hidden {
width: 100px;
height: 100px;
margin-left: 100px;
margin-top: 200px;
}
.fixedpos {
position: fixed;
top: 100px;
left: 100px;
background: green;
height: 100px;
width: 100px;
}
.spacer {
height: 2000px;
}
</style>
<div class="hidden"></div>
<div class="fixedpos"></div>
<div class="spacer"></div>
<script>
window.onload = function() { window.scrollTo(0, 100); };
</script>

View file

@ -0,0 +1,41 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test: will-change: backdrop-filter on the root should not generate a containing block for fixed positioned elements.</title>
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=960953">
<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
<link rel="match" href="will-change-fixedpos-cb-006-ref.html">
<style>
html {
will-change: backdrop-filter;
}
body {
margin: 0;
}
.hidden {
width: 100px;
height: 100px;
background: red;
margin-left: 100px;
margin-top: 200px;
}
.fixedpos {
position: fixed;
top: 100px;
left: 100px;
background: green;
height: 100px;
width: 100px;
}
.spacer {
height: 2000px;
}
</style>
<!-- This object should be fully hidden by the fixed position object. -->
<div class="hidden"></div>
<div class="fixedpos"></div>
<div class="spacer"></div>
<script>
window.onload = function() { window.scrollTo(0, 100); };
</script>

View file

@ -0,0 +1,11 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test Reference</title>
<style>
div {
background: green;
width: 100px;
height: 100px;
}
</style>
<div></div>

View file

@ -0,0 +1,36 @@
<!doctype html>
<meta charset="utf-8">
<title>CSS Test: will-change: backdrop-filter should create a stacking context.</title>
<link rel="author" title="Philip Rogers" href="mailto:pdr@chromium.org">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=960953">
<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
<link rel="match" href="will-change-stacking-context-002-ref.html">
<style>
.indicator {
position: absolute;
background-color: green;
z-index: 1;
}
.willchange {
will-change: backdrop-filter;
z-index: 0;
}
.child {
position: relative;
background-color: red;
z-index: 2;
}
.box {
width: 100px;
height: 100px;
}
</style>
<div class="indicator box"></div>
<div class="willchange box">
<!-- Because will-change: backdrop-filter creates a stacking context, this
child remains on bottom even though it has a higher z-index than the
indicator box. -->
<div class="child box"></div>
</div>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<title>CSS filter : Clipping on descendant of filter element</title>
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#funcdef-filter-opacity">
<link rel="help" href="https://crbug.com/734116">
<link rel="help" href="https://crbug.com/747511">
<link rel="match" href="reference/clip-under-filter-003-ref.html">
<meta name="assert" content="This test ensures that overflow clip correctly applies to children in the presence of a filter on the same element"/>
<div style="position:relative; width:100px; height:100px; border:5px dashed black; background:green; overflow:hidden; filter:opacity(1);">
<div style="margin-left:-5px; margin-top:-5px; width:100px; height:100px; border:5px solid red;"></div>
</div>
This test verifies overflow clip correctly applies to children in the presence of a filter on the same element.<br/>
It succeeds if a green box with dashed black border is shown. No red border should be visible.

View file

@ -0,0 +1,51 @@
<title>CSS Filters: filtered parent with composited or transformed child</title>
<link rel="author" title="Stephen White" href="mailto:senorblanco@chromium.org">
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#FilterProperty">
<link rel="help" href="https://drafts.fxtf.org/filter-effects/#feComponentTransferElement">
<link rel="issue" href="https://bugs.chromium.org/p/chromium/issues/detail?id=618642">
<link rel="issue" href="https://bugs.chromium.org/p/chromium/issues/detail?id=620394">
<link rel="match" href="reference/filter-region-transformed-composited-child-001-ref.html">
<meta name="assert" content="This test ensures that filtered parent works correctly with composited or transformed children.">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="0" height="0">
<defs>
<filter id="filter" x="25%" y="0%" width="50%" height="100%">
<feComponentTransfer>
<feFuncR type="linear" intercept="0" slope="1"/>
<feFuncG type="linear" intercept="0" slope="0"/>
<feFuncB type="linear" intercept="0" slope="0"/>
<feFuncA type="linear" intercept="0" slope="1"/>
</feComponentTransfer>
</filter>
</defs>
</svg>
<style>
div {
position: absolute;
}
.filtered {
filter: url(#filter);
}
.child {
background-color: gray;
width: 50px;
height: 50px;
position: absolute;
will-change: transform;
}
.p1 {
left: 50px;
top: 50px;
}
.c1 {
transform: translate(0px, 25px);
}
.p2 {
left: 150px;
top: 50px;
}
.c2 {
transform: translate(0px, -25px);
}
</style>
<div class="filtered p1"><div class="child c1"></div></div>
<div class="filtered p2"><div class="child c2"></div></div>

View file

@ -0,0 +1,5 @@
<!DOCTYPE html>
<div style="width:100px; height:100px; border:5px dashed black; background:green;">
</div>
This test verifies overflow clip correctly applies to children in the presence of a filter on the same element.<br/>
It succeeds if a green box with dashed black border is shown. No red border should be visible.

View file

@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="0" height="0">
<defs>
<filter id="filter" x="25%" y="0%" width="50%" height="100%">
<feComponentTransfer>
<feFuncR type="linear" intercept="0" slope="1"/>
<feFuncG type="linear" intercept="0" slope="0"/>
<feFuncB type="linear" intercept="0" slope="0"/>
<feFuncA type="linear" intercept="0" slope="1"/>
</feComponentTransfer>
</filter>
</defs>
</svg>
<style>
div {
position: absolute;
filter: url(#filter);
background-color: gray;
width: 50px;
height: 50px;
will-change: transform;
}
.p1 {
left: 50px;
top: 50px;
transform: translate(0px, 25px);
}
.p2 {
left: 150px;
top: 50px;
transform: translate(0px, -25px);
}
</style>
<div class="p1"></div>
<div class="p2"></div>

After

Width:  |  Height:  |  Size: 833 B

View file

@ -360,13 +360,24 @@ test(function(t) {
}, "aria-rowspan attribute reflects.");
</script>
<div id="selected" aria-selected="true"></div>
<script>
test(function(t) {
var element = document.getElementById("selected");
assert_equals(element.ariaSelected, "true");
element.ariaSelected = "false";
assert_equals(element.getAttribute("aria-selected"), "false");
}, "aria-selected attribute reflects.");
</script>
<div id="setsize" aria-setsize="10"></div>
<script>
test(function(t) {
var element = document.getElementById("setsize");
assert_equals(element.ariaSelected, "10");
element.ariaSelected = "11";
assert_equals(element.ariaSetSize, "10");
element.ariaSetSize = "11";
assert_equals(element.getAttribute("aria-setsize"), "11");
}, "aria-setsize attribute reflects.");
</script>

View file

@ -100,29 +100,3 @@ function verifyGeoSensorReading(pattern, {latitude, longitude, altitude,
function verifyProximitySensorReading(pattern, {distance, max, near, timestamp}, isNull) {
return verifySensorReading(pattern, [distance, max, near], timestamp, isNull);
}
// A "sliding window" that iterates over |data| and returns one item at a
// time, advancing and wrapping around as needed. |data| must be an array of
// arrays.
class RingBuffer {
constructor(data) {
this.bufferPosition_ = 0;
// Validate |data|'s format and deep-copy every element.
this.data_ = Array.from(data, element => {
if (!Array.isArray(element)) {
throw new TypeError('Every |data| element must be an array.');
}
return Array.from(element);
})
}
next() {
const value = this.data_[this.bufferPosition_];
this.bufferPosition_ = (this.bufferPosition_ + 1) % this.data_.length;
return { done: false, value: value };
}
[Symbol.iterator]() {
return this;
}
}

View file

@ -0,0 +1,19 @@
<!doctype html>
<meta charset=utf-8>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<div id=log></div>
<script>
async_test(t => {
const frame = document.body.appendChild(document.createElement("iframe"));
t.add_cleanup(() => frame.remove());
frame.src = get_host_info().HTTP_NOTSAMESITE_ORIGIN + new URL("resources/iframe.html", location).pathname;
window.onmessage = t.step_func_done(({ data }) => {
assert_equals(data, "success");
});
frame.onload = t.step_func(() => {
frame.contentWindow.postMessage("parent.postMessage('success', '*');", "*");
});
}, "COEP requires a secure context");
</script>

View file

@ -0,0 +1 @@
Cross-Origin-Embedder-Policy: require-corp

View file

@ -16,7 +16,7 @@ promise_test(t => {
`;
}
function dataWorkerIncrementerTest(name, origin = "null") {
function blobWorkerIncrementerTest(name, origin = "null") {
return `
promise_test(t => {
const worker = new Worker(URL.createObjectURL(new Blob([\`
@ -71,7 +71,7 @@ importScripts("${url.href}resources/test-incrementer.js");
${httpWorkerIncrementerTest("blob worker")}
${dataWorkerIncrementerTest("blob worker", self.location.origin)}
${blobWorkerIncrementerTest("blob worker", self.location.origin)}
${propertyTests("blob worker")}
@ -87,7 +87,7 @@ const frameScript = `
<script>
${httpWorkerIncrementerTest("blob frame")}
${dataWorkerIncrementerTest("blob frame", self.location.origin)}
${blobWorkerIncrementerTest("blob frame", self.location.origin)}
${propertyTests("blob frame")}
<\/script>
@ -99,11 +99,11 @@ frame.style = "display:none";
fetch_tests_from_window(frame.contentWindow);
const dataWorkerScript = `
importScripts("${url.origin}/resources/testharness.js");
importScripts("${url.origin}/resources/testharness.js?pipe=header(Cross-Origin-Resource-Policy,cross-origin)");
// Cannot use httpWorkerIncrementerTest() here as the HTTP URL is not same origin.
${dataWorkerIncrementerTest("data worker")}
${blobWorkerIncrementerTest("data worker")}
${propertyTests("data worker")}
@ -114,11 +114,11 @@ fetch_tests_from_worker(new Worker(`data:,${dataWorkerScript}`));
const dataFrameScript = `
<!doctype html>
<script src=${url.origin}/resources/testharness.js><\/script>
<script src=${url.origin}/resources/testharness.js?pipe=header(Cross-Origin-Resource-Policy,cross-origin)><\/script>
<script>
// Cannot use httpWorkerIncrementerTest() here as the HTTP URL is not same origin.
${dataWorkerIncrementerTest("data frame")}
${blobWorkerIncrementerTest("data frame")}
${propertyTests("data frame")}
<\/script>

View file

@ -3,26 +3,6 @@
// (https://github.com/tidoust/reffy-reports)
// Source: Web App Manifest (https://w3c.github.io/manifest/)
[Exposed=Window]
interface BeforeInstallPromptEvent : Event {
constructor(DOMString type, optional EventInit eventInitDict = {});
Promise<PromptResponseObject> prompt();
};
dictionary PromptResponseObject {
AppBannerPromptOutcome userChoice;
};
enum AppBannerPromptOutcome {
"accepted",
"dismissed"
};
partial interface Window {
attribute EventHandler onappinstalled;
attribute EventHandler onbeforeinstallprompt;
};
dictionary WebAppManifest {
TextDirectionType dir = "auto";
DOMString lang;

View file

@ -1,7 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: HTMLVideoElement.requestVideoFrameCallback() (https://wicg.github.io/video-raf/)
// Source: HTMLVideoElement.requestVideoFrameCallback() (https://wicg.github.io/video-rvfc/)
dictionary VideoFrameMetadata {
required DOMHighResTimeStamp presentationTime;

View file

@ -300,6 +300,7 @@ SET TIMEOUT: html/cross-origin-embedder-policy/resources/navigate-require-corp.s
SET TIMEOUT: html/cross-origin-embedder-policy/resources/navigate-require-corp-same-site.sub.html
SET TIMEOUT: html/dom/documents/dom-tree-accessors/Document.currentScript.html
SET TIMEOUT: html/webappapis/timers/*
SET TIMEOUT: orientation-event/resources/orientation-event-helpers.js
SET TIMEOUT: portals/history/resources/portal-harness.js
SET TIMEOUT: resources/chromium/*
SET TIMEOUT: resources/test/tests/functional/add_cleanup.html
@ -703,6 +704,7 @@ MISSING DEPENDENCY: shape-detection/resources/shapedetection-helpers.js
MISSING DEPENDENCY: webxr/resources/webxr_util.js
MISSING DEPENDENCY: contacts/resources/helpers.js
MISSING DEPENDENCY: generic-sensor/resources/generic-sensor-helpers.js
MISSING DEPENDENCY: orientation-event/resources/orientation-event-helpers.js
# Tests that are false positives for using Ahem as a system font
AHEM SYSTEM FONT: acid/acid3/test.html

View file

@ -20,10 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '100em';
offscreenCanvas.height = '100em';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 100, "offscreenCanvas.height", "100");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '100em'; });
t.done();
});

View file

@ -16,10 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '100em';
offscreenCanvas.height = '100em';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 100, "offscreenCanvas.height", "100");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '100em'; });
t.done();
});

View file

@ -20,10 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '#!?';
offscreenCanvas.height = '#!?';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '#!?'; });
t.done();
});

View file

@ -16,10 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '#!?';
offscreenCanvas.height = '#!?';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '#!?'; });
t.done();
});

View file

@ -20,10 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '-100';
offscreenCanvas.height = '-100';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '-100'; });
t.done();
});

View file

@ -16,10 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '-100';
offscreenCanvas.height = '-100';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '-100'; });
t.done();
});

View file

@ -20,10 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '100%';
offscreenCanvas.height = '100%';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 100, "offscreenCanvas.height", "100");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '100%'; });
t.done();
});

View file

@ -16,10 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '100%';
offscreenCanvas.height = '100%';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 100, "offscreenCanvas.height", "100");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '100%'; });
t.done();
});

View file

@ -20,10 +20,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '100#!?';
offscreenCanvas.height = '100#!?';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 100, "offscreenCanvas.height", "100");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '100#!?'; });
t.done();
});

View file

@ -16,10 +16,7 @@ t.step(function() {
var offscreenCanvas = new OffscreenCanvas(100, 50);
var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '100#!?';
offscreenCanvas.height = '100#!?';
_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
_assertSame(offscreenCanvas.height, 100, "offscreenCanvas.height", "100");
assert_throws_js(TypeError, function() { offscreenCanvas.width = '100#!?'; });
t.done();
});

View file

@ -9783,15 +9783,15 @@
("space", " 100", 100),
("whitespace", "\t\f100", 100),
("plus", "+100", 100),
("minus", "-100", None),
("minus", "-100", "exception"),
("octal", "0100", 100),
("hex", "0x100", 0x100),
("exp", "100e1", 100e1),
("decimal", "100.999", 100),
("percent", "100%", 100),
("em", "100em", 100),
("junk", "#!?", None),
("trailingjunk", "100#!?", 100),
("percent", "100%", "exception"),
("em", "100em", "exception"),
("junk", "#!?", "exception"),
("trailingjunk", "100#!?", "exception"),
]
def gen(name, string, exp, code):
testing = ["size.nonnegativeinteger"]
@ -9800,6 +9800,9 @@
code += "offscreenCanvas.width = '%s';\noffscreenCanvas.height = '%s';\n" % (string, string)
code += "@assert offscreenCanvas.width === 100;\n@assert offscreenCanvas.height === 50;\n"
expected = None
elif exp == "exception":
code += "@assert throws TypeError offscreenCanvas.width = '%s';\n" % string
expected = None
else:
code += "offscreenCanvas.width = '%s';\noffscreenCanvas.height = '%s';\n" % (string, string)
code += "@assert offscreenCanvas.width === %s;\n@assert offscreenCanvas.height === %s;\n" % (exp, exp)

View file

@ -0,0 +1,8 @@
The `resources/orientation-event-helpers.js` tests depend on the implementation of
the `GenericSensorTest` interface which is defined in [README.md](../generic-sensor/README.md).
The Chromium implementation of the `GenericSensorTest` interface is located in
[generic_sensor_mocks.js](../resources/chromium/generic_sensor_mocks.js).
Other browser vendors should provide their own implementations of
the `GenericSensorTest` interface.

Some files were not shown because too many files have changed in this diff Show more