mirror of
https://github.com/servo/servo.git
synced 2025-06-25 01:24:37 +01:00
Update web-platform-tests to revision 08fb3cceabe444c32264fdb44db50672ebea8610
This commit is contained in:
parent
ce9f22a5e4
commit
b74bf3ef9a
152 changed files with 4135 additions and 695 deletions
|
@ -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
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -2,6 +2,3 @@
|
|||
[elementsFromPoint on the root document for points in iframe elements]
|
||||
expected: FAIL
|
||||
|
||||
[elementsFromPoint on inner documents]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -2,6 +2,3 @@
|
|||
[elementsFromPoint on the root document for points in iframe elements]
|
||||
expected: FAIL
|
||||
|
||||
[elementsFromPoint on inner documents]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -113,3 +113,6 @@
|
|||
[aria-description attribute reflects.]
|
||||
expected: FAIL
|
||||
|
||||
[aria-selected attribute reflects.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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")'],
|
||||
});
|
||||
}
|
||||
);
|
|
@ -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>
|
||||
|
|
@ -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>
|
|
@ -0,0 +1 @@
|
|||
Feature-Policy: ch-device-memory *;
|
|
@ -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({}));
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<div style="background: grey;">Test passes if it doesn't crash.</div>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<div style="width: 100px; height: 100px; background-color: green"></div>
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<div style="width: 100px; height: 100px; background-color: green"></div>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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.
|
|
@ -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>
|
|
@ -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.
|
|
@ -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 |
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
|
@ -0,0 +1 @@
|
|||
Cross-Origin-Embedder-Policy: require-corp
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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();
|
||||
|
||||
});
|
||||
|
|
|
@ -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)
|
||||
|
|
8
tests/wpt/web-platform-tests/orientation-event/README.md
Normal file
8
tests/wpt/web-platform-tests/orientation-event/README.md
Normal 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
Loading…
Add table
Add a link
Reference in a new issue