mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision ee35e5ccfe4ffeb108e603a05d1ea44f19275e04
This commit is contained in:
parent
c3ecf2ecef
commit
6a6caaf929
64 changed files with 743 additions and 139 deletions
|
@ -0,0 +1,17 @@
|
|||
[url-in-tags-revoke.window.html]
|
||||
expected: TIMEOUT
|
||||
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
||||
expected: FAIL
|
||||
|
||||
[Fetching a blob URL immediately before revoking it works in an iframe navigation.]
|
||||
expected: FAIL
|
||||
|
||||
[Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-004.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -1,25 +1,58 @@
|
|||
[background-image-computed.sub.html]
|
||||
[Property background-image value 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
[Property background-image value 'conic-gradient(at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)']
|
||||
[Property background-image value 'conic-gradient(from 45deg at 10px 10px, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)']
|
||||
[Property background-image value 'radial-gradient(at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'none']
|
||||
[Property background-image value 'radial-gradient(farthest-side, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'url("http://web-platform.test/")']
|
||||
[Property background-image value 'radial-gradient(farthest-corner at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'linear-gradient(to left bottom, red, blue)']
|
||||
[Property background-image value 'radial-gradient(farthest-corner at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'none, url("http://web-platform.test/")']
|
||||
[Property background-image value 'radial-gradient(at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)']
|
||||
[Property background-image value 'conic-gradient(from 0deg, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(farthest-corner, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg at 10px 10px, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
[flex-aspect-ratio-img-column-011.html]
|
||||
[.flexbox 10]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 5]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 7]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 2]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 8]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[intrinsic-min-width-applies-with-fixed-width.html]
|
||||
[flex-minimum-width-flex-items-014.html]
|
||||
[body > div 3]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
[no-transition-from-ua-to-blocking-stylesheet.html]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[CaretPosition-001.html]
|
||||
[Element at (400, 100)]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -17,3 +17,6 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[elementsFromPoint-invalid-cases.html]
|
||||
[The root element is the last element returned for otherwise empty queries within the viewport]
|
||||
expected: FAIL
|
||||
|
|
@ -312,21 +312,27 @@
|
|||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
[Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_2.html]
|
||||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,8 +1,4 @@
|
|||
[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,16 +1,20 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Non-HTMLElement should not support autofocus]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -29,3 +29,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 44035 more errors.\n\tMax AbsError of 1.9962286949157715e+0 at index of 40997.\n\t[40997\]\t9.9879217147827148e-1\t-9.9743652343750000e-1\t1.9962286949157715e+0\t2.0013591321441684e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
[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 42278 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 31225.\n\t[31225\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -53,3 +53,9 @@
|
|||
[X SNR (45.01863990741345 dB) is not greater than or equal to 85.58. Got 45.01863990741345.]
|
||||
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.4361239664140157e-7\t5.6332010030746460e-1\t5.6332024391986124e-1\t1.0000002549392371e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5816854589564219e-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.0000002549392371e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (45.01863788337742 dB) is not greater than or equal to 85.58. Got 45.01863788337742.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -285147,6 +285147,10 @@
|
|||
"25b76c3c6f216793a36b1f29287dafd993898c67",
|
||||
[]
|
||||
],
|
||||
"10x10-green.png": [
|
||||
"8c39b0d02d342bbf1edd2ebbcc2ff4ff8b032e10",
|
||||
[]
|
||||
],
|
||||
"1x1-green.png": [
|
||||
"b98ca0ba0a03c580ac339e4a3653539cfa8edc71",
|
||||
[]
|
||||
|
@ -314268,6 +314272,10 @@
|
|||
"08a0ecaded8c5af917be1ae1287d455483205e45",
|
||||
[]
|
||||
],
|
||||
"feature-policy-screen-wakelock.html": [
|
||||
"7d3dab45af1d57c805f14cfdbed142ddb2415eba",
|
||||
[]
|
||||
],
|
||||
"feature-policy-serial-worker.html": [
|
||||
"9e6a7d02ba2b8eef1fcc12d8049af830688e6946",
|
||||
[]
|
||||
|
@ -314292,10 +314300,6 @@
|
|||
"99d47c6f3929bd61f7dfdefb1c5488c396abc172",
|
||||
[]
|
||||
],
|
||||
"feature-policy-wakelock.html": [
|
||||
"7d3dab45af1d57c805f14cfdbed142ddb2415eba",
|
||||
[]
|
||||
],
|
||||
"feature-policy-webvr.html": [
|
||||
"64a152bf1ce784099562d9dfc11683b0b0d227e4",
|
||||
[]
|
||||
|
@ -327238,7 +327242,7 @@
|
|||
[]
|
||||
],
|
||||
"resize-observer.idl": [
|
||||
"60d55a19bae8b156a99b1ad8a88089297ad409e4",
|
||||
"f20b719d11e76cf92997a56061d0091895453f52",
|
||||
[]
|
||||
],
|
||||
"resource-timing.idl": [
|
||||
|
@ -343944,15 +343948,15 @@
|
|||
]
|
||||
},
|
||||
"wakelock-disabled-by-feature-policy.https.sub.html.headers": [
|
||||
"1d3769ec794b353e8c614e64ce2c1b0b1010e528",
|
||||
"5d910ce6df801980a26fb191589201f614ed02af",
|
||||
[]
|
||||
],
|
||||
"wakelock-enabled-by-feature-policy.https.sub.html.headers": [
|
||||
"34b7437443cd9998c423260d05202be05d7b5d38",
|
||||
"7810751f8051c14818b290aa9ea7edab04bca3e9",
|
||||
[]
|
||||
],
|
||||
"wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html.headers": [
|
||||
"6f05d23550e2b0c967fac5b436a5e3336222ffe2",
|
||||
"6bc94277cf9a4610c33274bd5b984e41d389622a",
|
||||
[]
|
||||
]
|
||||
},
|
||||
|
@ -379396,7 +379400,7 @@
|
|||
]
|
||||
],
|
||||
"background-image-computed.sub.html": [
|
||||
"ff2f34a2c661fcfc246f939b65ca81cf29c850a3",
|
||||
"8ee18e20d1210394a18fa6794cf7ffab630db17d",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -381021,6 +381025,13 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"flex-aspect-ratio-img-column-011.html": [
|
||||
"66cb0e015f6618eb7cc3daee99f29ddbf7ed4729",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"flex-basis-009.html": [
|
||||
"3e2026958fdd899349126ebe4778fb62a692d631",
|
||||
[
|
||||
|
@ -381091,6 +381102,13 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"flex-minimum-width-flex-items-014.html": [
|
||||
"080169b52d7fdf39cbf6ff970c3100480e46d2a3",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"flex-outer-flexbox-column-recalculate-height-on-resize-001.html": [
|
||||
"0b0b5b4d4e5a9e8011d7fdee87cce9caba5fa241",
|
||||
[
|
||||
|
@ -381681,13 +381699,6 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"intrinsic-min-width-applies-with-fixed-width.html": [
|
||||
"080169b52d7fdf39cbf6ff970c3100480e46d2a3",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"intrinsic-width-orthogonal-writing-mode.html": [
|
||||
"79ce88a64c266f5ec02702d510668c642c0f91cb",
|
||||
[
|
||||
|
@ -381702,6 +381713,13 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"max-width-violation.html": [
|
||||
"ea2779d81c5e4bab26b77337173f64ac0c08f493",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"order_value.html": [
|
||||
"ca9af99b939f77835933ccc76de5185b656f5977",
|
||||
[
|
||||
|
@ -385475,7 +385493,7 @@
|
|||
]
|
||||
],
|
||||
"gradient-position-valid.html": [
|
||||
"9857496fe4407fb0b9b4d6fe32ef9ed982c9cc88",
|
||||
"d2e3ff072b0d9f1982411c935110b22d80893b18",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -493583,28 +493601,28 @@
|
|||
]
|
||||
],
|
||||
"wakelock-disabled-by-feature-policy.https.sub.html": [
|
||||
"3c902cc91952a3ee849ffc19a3ccc1e25098b107",
|
||||
"821ec62885d61b214f766b4c8e173f8b67855f38",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html": [
|
||||
"f28a96141c8994125b04c29e440743d2e7837544",
|
||||
"2b2e0c94cc744ff6c19f70397e4383fa2d809cff",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"wakelock-enabled-by-feature-policy-attribute.https.sub.html": [
|
||||
"5587a85d4b027d360c35103f99bb6e6afe31f18a",
|
||||
"b8ab3b0301798bc7ceaed025e89b0a36dfa5b58c",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"wakelock-enabled-by-feature-policy.https.sub.html": [
|
||||
"d0f5a15c84bf83dfdaf801e8709d1d7c37f6d91a",
|
||||
"376359e888d6191b9eb1241373b3d411bb5bd2d0",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -493613,7 +493631,7 @@
|
|||
]
|
||||
],
|
||||
"wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html": [
|
||||
"73f343867e62c46c4f6e5a4458a384ef652bafd1",
|
||||
"a2d3725857be76f33b33257c0c3373edb68396be",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -493679,7 +493697,7 @@
|
|||
]
|
||||
],
|
||||
"wakelock-supported-by-feature-policy.html": [
|
||||
"d6289fff43c8717ac6e9ace59713e6fd70bd249d",
|
||||
"e7f9c8cb283c20d72c6d936398b9c352a2a0b88a",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -501727,6 +501745,15 @@
|
|||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"RTCRtpSynchronizationSource-captureTimestamp.html": [
|
||||
"0902118a456e6f072d4a9b0791a4f2ea86a54e72",
|
||||
[
|
||||
null,
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"webrtc-identity": {
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-004.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
[background-image-computed.sub.html]
|
||||
[Property background-image value 'conic-gradient(at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg at 10px 10px, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(farthest-side, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(farthest-corner at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(farthest-corner at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(farthest-corner, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg at center, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(from 0deg at 10px 10px, red, blue)']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))']
|
||||
expected: FAIL
|
||||
|
||||
[Property background-image value 'conic-gradient(at 50%, red, blue)']
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
[flex-aspect-ratio-img-column-011.html]
|
||||
[.flexbox 10]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 5]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 7]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 2]
|
||||
expected: FAIL
|
||||
|
||||
[.flexbox 8]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
[flex-minimum-width-flex-items-014.html]
|
||||
[body > div 3]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 6]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 5]
|
||||
expected: FAIL
|
||||
|
||||
[body > div 4]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
[no-transition-from-ua-to-blocking-stylesheet.html]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[CaretPosition-001.html]
|
||||
[Element at (400, 100)]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
||||
|
|
@ -21,3 +21,6 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[elementsFromPoint-invalid-cases.html]
|
||||
[The root element is the last element returned for otherwise empty queries within the viewport]
|
||||
expected: FAIL
|
||||
|
|
@ -312,21 +312,27 @@
|
|||
[fetch(): separate response Content-Type: text/plain ]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
[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]
|
||||
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
[Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_2.html]
|
||||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,8 +1,4 @@
|
|||
[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,16 +1,20 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Non-HTMLElement should not support autofocus]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -98,3 +98,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 44035 more errors.\n\tMax AbsError of 1.9962286949157715e+0 at index of 40997.\n\t[40997\]\t9.9879217147827148e-1\t-9.9743652343750000e-1\t1.9962286949157715e+0\t2.0013591321441684e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
[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 42278 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 31225.\n\t[31225\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -284,3 +284,9 @@
|
|||
[X SNR (45.01863990741345 dB) is not greater than or equal to 85.58. Got 45.01863990741345.]
|
||||
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.4361239664140157e-7\t5.6332010030746460e-1\t5.6332024391986124e-1\t1.0000002549392371e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5816854589564219e-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.0000002549392371e+0 at index of 31080.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (45.01863788337742 dB) is not greater than or equal to 85.58. Got 45.01863788337742.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -26,10 +26,34 @@ test_computed_value("background-image", 'none, url("http://{{host}}/")');
|
|||
|
||||
test_computed_value('background-image', 'linear-gradient(to left bottom, red, blue)', 'linear-gradient(to left bottom, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
|
||||
test_computed_value('background-image', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(at center, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(at 50%, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(farthest-side, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(farthest-side at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(farthest-corner, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(farthest-corner at center, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(farthest-corner at 50%, red, blue)', 'radial-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(farthest-corner at 10px 10px, red, blue)', 'radial-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
|
||||
test_computed_value('background-image', 'radial-gradient(10px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(circle calc(-0.5em + 10px) at calc(-1em + 10px) calc(-2em + 10px), red, blue)', 'radial-gradient(0px at -30px -70px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(ellipse calc(-0.5em + 10px) calc(0.5em + 10px) at 20px 30px, red, blue)', 'radial-gradient(0px 30px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'radial-gradient(ellipse calc(0.5em + 10px) calc(-0.5em + 10px) at 20px 30px, red, blue)', 'radial-gradient(30px 0px at 20px 30px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
|
||||
test_computed_value('background-image', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(at center, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(at 50%, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 0deg, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 0deg at center, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 0deg at 50%, red, blue)', 'conic-gradient(rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 0deg at 10px 10px, red, blue)', 'conic-gradient(at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 45deg at center, red, blue)', 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 45deg at 50%, red, blue)', 'conic-gradient(from 45deg, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
test_computed_value('background-image', 'conic-gradient(from 45deg at 10px 10px, red, blue)', 'conic-gradient(from 45deg at 10px 10px, rgb(255, 0, 0), rgb(0, 0, 255))');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,77 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Flexbox: images' aspect ratio in flex box with flex-direction: column for min-size: auto</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-containers">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#replaced-intrinsic">
|
||||
<link rel="help" href="https://crbug.com/581535">
|
||||
<link rel="help" href="https://crbug.com/581361">
|
||||
<link href="support/flexbox.css" rel="stylesheet">
|
||||
<meta name="assert" content="Images maintain aspect ratio in flex box with column direction with min-size: auto.">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
|
||||
<body onload="checkLayout('.flexbox')">
|
||||
<div id=log></div>
|
||||
|
||||
<div class="flexbox" style="width: 10px;" data-expected-width="10">
|
||||
<!-- should use content width, clamped by converted max-height, as minimum width. -->
|
||||
<img src="support/100x100-green.png" style="max-height: 5px;"
|
||||
data-expected-width="5" data-expected-height="5">
|
||||
</div>
|
||||
|
||||
<div class="flexbox" style="width: 10px;" data-expected-width="10">
|
||||
<!-- should use min(specified, content width) = 10px as minimum width,
|
||||
which the image will shrink to due to default flex-shrink. -->
|
||||
<img src="support/10x10-green.png" style="width: 100px;" data-expected-width="10">
|
||||
</div>
|
||||
|
||||
<div class="flexbox" style="width: 10px;" data-expected-width="10">
|
||||
<!-- should use content width, clamped by converted min-height, as minimum width. -->
|
||||
<img src="support/100x100-green.png" style="max-height: 5px;"
|
||||
data-expected-width="5" data-expected-height="5">
|
||||
</div>
|
||||
|
||||
<div class="flexbox" style="width: 10px;" data-expected-width="10">
|
||||
<!-- should use content width, clamped by converted min-height, as minimum width. -->
|
||||
<img src="support/100x100-green.png" style="max-height: 5px; min-height: 10px;"
|
||||
data-expected-width="10" data-expected-height="10">
|
||||
</div>
|
||||
|
||||
<div class="flexbox" style="width: 10px;" data-expected-width="10">
|
||||
<!-- should use min(transferred, content width) = 10px as minimum width,
|
||||
which the image will shrink to due to default flex-shrink. -->
|
||||
<img src="support/10x10-green.png" style="height: 100px;" data-expected-width="10">
|
||||
</div>
|
||||
|
||||
<div class="flexbox column" style="height: 10px;" data-expected-height="10">
|
||||
<!-- should use content height, clamped by converted max-width, as minimum height. -->
|
||||
<img src="support/100x100-green.png" style="max-width: 5px;"
|
||||
data-expected-width="5" data-expected-height="5">
|
||||
</div>
|
||||
|
||||
<div class="flexbox column" style="height: 10px;" data-expected-height="10">
|
||||
<!-- should use min(specified, content height) = 10px as minimum height,
|
||||
which the image will shrink to due to default flex-shrink. -->
|
||||
<img src="support/10x10-green.png" style="height: 100px;" data-expected-height="10">
|
||||
</div>
|
||||
|
||||
<div class="flexbox" style="height: 10px;" data-expected-height="10">
|
||||
<!-- should use content height, clamped by converted min-height, as minimum height. -->
|
||||
<img src="support/100x100-green.png" style="max-height: 5px;"
|
||||
data-expected-height="5" data-expected-height="5">
|
||||
</div>
|
||||
|
||||
<div class="flexbox" style="height: 10px;" data-expected-height="10">
|
||||
<!-- should use content height, clamped by converted min-width, as minimum height. -->
|
||||
<img src="support/100x100-green.png" style="max-width: 5px; min-width: 10px;"
|
||||
data-expected-height="10" data-expected-width="10">
|
||||
</div>
|
||||
|
||||
<div class="flexbox column" style="height: 10px;" data-expected-height="10">
|
||||
<!-- should use min(transferred, content height) = 10px as minimum height,
|
||||
which the image will shrink to due to default flex-shrink. -->
|
||||
<img src="support/10x10-green.png" style="width: 100px;" data-expected-height="10">
|
||||
</div>
|
|
@ -0,0 +1,66 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Flexbox: max-width of inflexible items</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#resolve-flexible-lengths">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flexibility">
|
||||
<link rel="bookmark" href="https://crbug.com/617956">
|
||||
<meta name="assert" content="Inflexible items (flex factor 0 or flex basis violating the min/max size constraint) take max-width into account.">
|
||||
<style>
|
||||
.columns {
|
||||
display: flex;
|
||||
width: 800px;
|
||||
}
|
||||
|
||||
.columns > div {
|
||||
background: #aaa;
|
||||
}
|
||||
|
||||
.column1 {
|
||||
width: 800px;
|
||||
overflow: auto;
|
||||
max-width: 150px;
|
||||
}
|
||||
|
||||
.column2 {
|
||||
flex: 0.8 0 0;
|
||||
}
|
||||
|
||||
.red {
|
||||
position: absolute;
|
||||
width: 510px;
|
||||
background: red !important;
|
||||
height: 10px;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.abspos {
|
||||
position: absolute;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
|
||||
<body onload="checkLayout('.columns')">
|
||||
<div id=log></div>
|
||||
|
||||
<p>You should see no red</p>
|
||||
<div class="columns">
|
||||
<div class="red"></div>
|
||||
<div class="column1" data-expected-width="150">
|
||||
Column 1
|
||||
</div>
|
||||
<div class="column2" data-expected-width="520">
|
||||
Column 2
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>This second part is just to ensure we don't assert</p>
|
||||
<div class="columns">
|
||||
<div class="column1 abspos" data-expected-width="150">
|
||||
Column 1
|
||||
</div>
|
||||
<div class="column2" data-expected-width="640">
|
||||
Column 2
|
||||
</div>
|
||||
</div>
|
Binary file not shown.
After Width: | Height: | Size: 74 B |
|
@ -13,6 +13,7 @@
|
|||
<body>
|
||||
<script>
|
||||
// Where two values are shown, the first serialization is being used by Blink/Firefox/WebKit and the second by Edge.
|
||||
// Where three values are shown, the first is used by Blink/Webkit, the second by Edge and the third by Firefox.
|
||||
|
||||
test_valid_value("background-image", "radial-gradient(at 10%, red, blue)", ["radial-gradient(at 10% center, red, blue)", "radial-gradient(at 10%, red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at 20% 30px, red, blue)");
|
||||
|
@ -20,10 +21,10 @@ test_valid_value("background-image", "radial-gradient(at 30px center, red, blue)
|
|||
test_valid_value("background-image", "radial-gradient(at 40px top, red, blue)");
|
||||
test_valid_value("background-image", "radial-gradient(at bottom 10% right 20%, red, blue)", "radial-gradient(at right 20% bottom 10%, red, blue)");
|
||||
test_valid_value("background-image", "radial-gradient(at bottom right, red, blue)", "radial-gradient(at right bottom, red, blue)");
|
||||
test_valid_value("background-image", "radial-gradient(at center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)", "radial-gradient(red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at center 50px, red, blue)");
|
||||
test_valid_value("background-image", "radial-gradient(at center bottom, red, blue)", ["radial-gradient(at center bottom, red, blue)", "radial-gradient(at bottom, red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at center center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at center center, red, blue)", ["radial-gradient(at center center, red, blue)", "radial-gradient(at center, red, blue)", "radial-gradient(red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at center left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at left, red, blue)", ["radial-gradient(at left center, red, blue)", "radial-gradient(at left, red, blue)"]);
|
||||
test_valid_value("background-image", "radial-gradient(at left bottom, red, blue)");
|
||||
|
|
|
@ -39,5 +39,5 @@ interface ResizeObservation {
|
|||
constructor(Element target);
|
||||
readonly attribute Element target;
|
||||
readonly attribute ResizeObserverBoxOptions observedBox;
|
||||
readonly attribute sequence<ResizeObserverSize> lastReportedSizes;
|
||||
readonly attribute FrozenArray<ResizeObserverSize> lastReportedSizes;
|
||||
};
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
"use strict";
|
||||
|
||||
const same_origin_src =
|
||||
"/feature-policy/resources/feature-policy-wakelock.html";
|
||||
"/feature-policy/resources/feature-policy-screen-wakelock.html";
|
||||
const cross_origin_src =
|
||||
"https://{{domains[www]}}:{{ports[https][0]}}" + same_origin_src;
|
||||
|
||||
promise_test(t => {
|
||||
return promise_rejects_dom(t, "NotAllowedError", navigator.wakeLock.request("screen"));
|
||||
}, 'Feature-Policy header {"wake-lock" : []} disallows the top-level document.');
|
||||
}, 'Feature-Policy header {"screen-wake-lock" : []} disallows the top-level document.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -22,7 +22,7 @@
|
|||
same_origin_src,
|
||||
expect_feature_unavailable_default
|
||||
);
|
||||
}, 'Feature-Policy header {"wake-lock" : []} disallows same-origin iframes.');
|
||||
}, 'Feature-Policy header {"screen-wake-lock" : []} disallows same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -31,6 +31,6 @@
|
|||
cross_origin_src,
|
||||
expect_feature_unavailable_default
|
||||
);
|
||||
}, 'Feature-Policy header {"wake-lock" : []} disallows cross-origin iframes.');
|
||||
}, 'Feature-Policy header {"screen-wake-lock" : []} disallows cross-origin iframes.');
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Feature-Policy: wake-lock 'none'
|
||||
Feature-Policy: screen-wake-lock 'none'
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<script>
|
||||
"use strict";
|
||||
|
||||
const relative_path = "/feature-policy/resources/feature-policy-wakelock.html";
|
||||
const relative_path = "/feature-policy/resources/feature-policy-screen-wakelock.html";
|
||||
const base_src = "/feature-policy/resources/redirect-on-load.html#";
|
||||
const same_origin_src = base_src + relative_path;
|
||||
const cross_origin_src =
|
||||
|
@ -18,9 +18,9 @@
|
|||
t,
|
||||
same_origin_src,
|
||||
expect_feature_available_default,
|
||||
"wake-lock"
|
||||
"screen-wake-lock"
|
||||
);
|
||||
}, 'Feature-Policy allow="wake-lock" allows same-origin relocation');
|
||||
}, 'Feature-Policy allow="screen-wake-lock" allows same-origin relocation');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -28,9 +28,9 @@
|
|||
t,
|
||||
cross_origin_src,
|
||||
expect_feature_unavailable_default,
|
||||
"wake-lock"
|
||||
"screen-wake-lock"
|
||||
);
|
||||
}, 'Feature-Policy allow="wake-lock" disallows cross-origin relocation');
|
||||
}, 'Feature-Policy allow="screen-wake-lock" disallows cross-origin relocation');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"use strict";
|
||||
|
||||
const same_origin_src =
|
||||
"/feature-policy/resources/feature-policy-wakelock.html";
|
||||
"/feature-policy/resources/feature-policy-screen-wakelock.html";
|
||||
const cross_origin_src =
|
||||
"https://{{domains[www]}}:{{ports[https][0]}}" + same_origin_src;
|
||||
|
||||
|
@ -17,9 +17,9 @@
|
|||
t,
|
||||
same_origin_src,
|
||||
expect_feature_available_default,
|
||||
"wake-lock"
|
||||
"screen-wake-lock"
|
||||
);
|
||||
}, 'Feature policy "wake-lock" can be enabled in same-origin iframe using allow="wake-lock" attribute');
|
||||
}, 'Feature policy "screen-wake-lock" can be enabled in same-origin iframe using allow="screen-wake-lock" attribute');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -27,8 +27,8 @@
|
|||
t,
|
||||
cross_origin_src,
|
||||
expect_feature_available_default,
|
||||
"wake-lock"
|
||||
"screen-wake-lock"
|
||||
);
|
||||
}, 'Feature policy "wake-lock" can be enabled in cross-origin iframe using allow="wake-lock" attribute');
|
||||
}, 'Feature policy "screen-wake-lock" can be enabled in cross-origin iframe using allow="screen-wake-lock" attribute');
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"use strict";
|
||||
|
||||
const same_origin_src =
|
||||
"/feature-policy/resources/feature-policy-wakelock.html";
|
||||
"/feature-policy/resources/feature-policy-screen-wakelock.html";
|
||||
const cross_origin_src =
|
||||
"https://{{domains[www]}}:{{ports[https][0]}}" + same_origin_src;
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
|||
await test_driver.set_permission(
|
||||
{ name: 'wake-lock', type: 'screen' }, 'granted', false);
|
||||
await navigator.wakeLock.request('screen').then(lock => lock.release());
|
||||
}, 'Feature-Policy header {"wake-lock" : ["*"]} allows the top-level document.');
|
||||
}, 'Feature-Policy header {"screen-wake-lock" : ["*"]} allows the top-level document.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -26,7 +26,7 @@
|
|||
same_origin_src,
|
||||
expect_feature_available_default
|
||||
);
|
||||
}, 'Feature-Policy header {"wake-lock" : ["*"]} allows same-origin iframes.');
|
||||
}, 'Feature-Policy header {"screen-wake-lock" : ["*"]} allows same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -35,7 +35,7 @@
|
|||
cross_origin_src,
|
||||
expect_feature_available_default
|
||||
);
|
||||
}, 'Feature-Policy header {"wake-lock" : ["*"]} allows cross-origin iframes.');
|
||||
}, 'Feature-Policy header {"screen-wake-lock" : ["*"]} allows cross-origin iframes.');
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Feature-Policy: wake-lock *
|
||||
Feature-Policy: screen-wake-lock *
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"use strict";
|
||||
|
||||
const same_origin_src =
|
||||
"/feature-policy/resources/feature-policy-wakelock.html";
|
||||
"/feature-policy/resources/feature-policy-screen-wakelock.html";
|
||||
const cross_origin_src =
|
||||
"https://{{domains[www]}}:{{ports[https][0]}}" + same_origin_src;
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
|||
await test_driver.set_permission(
|
||||
{ name: 'wake-lock', type: 'screen' }, 'granted', false);
|
||||
await navigator.wakeLock.request('screen').then(lock => lock.release());
|
||||
}, 'Feature-Policy header wake-lock "self" allows the top-level document.');
|
||||
}, 'Feature-Policy header screen-wake-lock "self" allows the top-level document.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -27,7 +27,7 @@
|
|||
same_origin_src,
|
||||
expect_feature_available_default
|
||||
);
|
||||
}, 'Feature-Policy header wake-lock "self" allows same-origin iframes.');
|
||||
}, 'Feature-Policy header screen-wake-lock "self" allows same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
|
@ -36,6 +36,6 @@
|
|||
cross_origin_src,
|
||||
expect_feature_unavailable_default
|
||||
);
|
||||
}, 'Feature-Policy header wake-lock "self" disallows cross-origin iframes.');
|
||||
}, 'Feature-Policy header screen-wake-lock "self" disallows cross-origin iframes.');
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Feature-Policy: wake-lock 'self'
|
||||
Feature-Policy: screen-wake-lock 'self'
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
test(() => {
|
||||
assert_in_array('wake-lock', document.featurePolicy.features());
|
||||
}, 'document.featurePolicy.features should advertise wake-lock.');
|
||||
assert_in_array('screen-wake-lock', document.featurePolicy.features());
|
||||
}, 'document.featurePolicy.features should advertise screen-wake-lock.');
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,222 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<!-- This file contains a test that waits for 2 seconds. -->
|
||||
<meta name="timeout" content="long">
|
||||
<title>captureTimestamp attribute in RTCRtpSynchronizationSource</title>
|
||||
<div><video id="remote" width="124" height="124" autoplay></video></div>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/webrtc/RTCPeerConnection-helper.js"></script>
|
||||
<script src="/webrtc/RTCStats-helper.js"></script>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
var kAbsCaptureTime =
|
||||
'http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time';
|
||||
|
||||
function addHeaderExtensionToSdp(sdp, uri) {
|
||||
const extmap = new RegExp('a=extmap:(\\d+)');
|
||||
let sdpLines = sdp.split('\r\n');
|
||||
|
||||
// This assumes at most one audio m= section and one video m= section.
|
||||
// If more are present, only the first section of each kind is munged.
|
||||
for (const section of ['audio', 'video']) {
|
||||
let found_section = false;
|
||||
let maxId = undefined;
|
||||
let maxIdLine = undefined;
|
||||
let extmapAllowMixed = false;
|
||||
|
||||
// find the largest header extension id for section.
|
||||
for (let i = 0; i < sdpLines.length; ++i) {
|
||||
if (!found_section) {
|
||||
if (sdpLines[i].startsWith('m=' + section)) {
|
||||
found_section = true;
|
||||
}
|
||||
continue;
|
||||
} else {
|
||||
if (sdpLines[i].startsWith('m=')) {
|
||||
// end of section
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (sdpLines[i] === 'a=extmap-allow-mixed') {
|
||||
extmapAllowMixed = true;
|
||||
}
|
||||
let result = sdpLines[i].match(extmap);
|
||||
if (result && result.length === 2) {
|
||||
if (maxId == undefined || result[1] > maxId) {
|
||||
maxId = parseInt(result[1]);
|
||||
maxIdLine = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (maxId == 14 && !extmapAllowMixed) {
|
||||
// Reaching the limit of one byte header extension. Adding two byte header
|
||||
// extension support.
|
||||
sdpLines.splice(maxIdLine + 1, 0, 'a=extmap-allow-mixed');
|
||||
}
|
||||
if (maxIdLine !== undefined) {
|
||||
sdpLines.splice(maxIdLine + 1, 0,
|
||||
'a=extmap:' + (maxId + 1).toString() + ' ' + uri);
|
||||
}
|
||||
}
|
||||
return sdpLines.join('\r\n');
|
||||
}
|
||||
|
||||
// TODO(crbug.com/1051821): Use RTP header extension API instead of munging
|
||||
// when the RTP header extension API is implemented.
|
||||
async function addAbsCaptureTimeAndExchangeOffer(caller, callee) {
|
||||
let offer = await caller.createOffer();
|
||||
|
||||
// Absolute capture time header extension may not be offered by default,
|
||||
// in such case, munge the SDP.
|
||||
offer.sdp = addHeaderExtensionToSdp(offer.sdp, kAbsCaptureTime);
|
||||
|
||||
await caller.setLocalDescription(offer);
|
||||
return callee.setRemoteDescription(offer);
|
||||
}
|
||||
|
||||
// TODO(crbug.com/1051821): Use RTP header extension API instead of munging
|
||||
// when the RTP header extension API is implemented.
|
||||
async function checkAbsCaptureTimeAndExchangeAnswer(caller, callee,
|
||||
absCaptureTimeAnswered) {
|
||||
let answer = await callee.createAnswer();
|
||||
|
||||
const extmap = new RegExp('a=extmap:\\d+ ' + kAbsCaptureTime + '\r\n', 'g');
|
||||
if (answer.sdp.match(extmap) == null) {
|
||||
// We expect that absolute capture time RTP header extension is answered.
|
||||
// But if not, there is no need to proceed with the test.
|
||||
assert_precondition(!absCaptureTimeAnswered, 'Absolute capture time RTP ' +
|
||||
'header extension is not answered');
|
||||
} else {
|
||||
if (!absCaptureTimeAnswered) {
|
||||
// We expect that absolute capture time RTP header extension is not
|
||||
// answered, but it is, then we munge the answer to remove it.
|
||||
answer.sdp = answer.sdp.replace(extmap, '');
|
||||
}
|
||||
}
|
||||
|
||||
await callee.setLocalDescription(answer);
|
||||
return caller.setRemoteDescription(answer);
|
||||
}
|
||||
|
||||
async function exchangeOfferAndListenToOntrack(t, caller, callee,
|
||||
absCaptureTimeOffered) {
|
||||
const ontrackPromise = addEventListenerPromise(t, callee, 'track');
|
||||
// Absolute capture time header extension is expected not offered by default,
|
||||
// and thus munging is needed to enable it.
|
||||
await absCaptureTimeOffered
|
||||
? addAbsCaptureTimeAndExchangeOffer(caller, callee)
|
||||
: exchangeOffer(caller, callee);
|
||||
return ontrackPromise;
|
||||
}
|
||||
|
||||
async function initiateSingleTrackCall(t, cap, absCaptureTimeOffered,
|
||||
absCaptureTimeAnswered) {
|
||||
const caller = new RTCPeerConnection();
|
||||
t.add_cleanup(() => caller.close());
|
||||
const callee = new RTCPeerConnection();
|
||||
t.add_cleanup(() => callee.close());
|
||||
|
||||
const stream = await getNoiseStream(cap);
|
||||
stream.getTracks().forEach(track => {
|
||||
caller.addTrack(track, stream);
|
||||
t.add_cleanup(() => track.stop());
|
||||
});
|
||||
|
||||
// TODO(crbug.com/988432): `getSynchronizationSources() on the audio side
|
||||
// needs a hardware sink for the returned dictionary entries to get updated.
|
||||
const remoteVideo = document.getElementById('remote');
|
||||
|
||||
callee.ontrack = e => {
|
||||
remoteVideo.srcObject = e.streams[0];
|
||||
}
|
||||
|
||||
exchangeIceCandidates(caller, callee);
|
||||
|
||||
await exchangeOfferAndListenToOntrack(t, caller, callee,
|
||||
absCaptureTimeOffered);
|
||||
|
||||
// Exchange answer and check whether the absolute capture time RTP header
|
||||
// extension is answered.
|
||||
await checkAbsCaptureTimeAndExchangeAnswer(caller, callee,
|
||||
absCaptureTimeAnswered);
|
||||
|
||||
return [caller, callee];
|
||||
}
|
||||
|
||||
function listenForCaptureTimestamp(t, receiver) {
|
||||
return new Promise((resolve) => {
|
||||
function listen() {
|
||||
const ssrcs = receiver.getSynchronizationSources();
|
||||
assert_true(ssrcs != undefined);
|
||||
if (ssrcs.length > 0) {
|
||||
assert_equals(ssrcs.length, 1);
|
||||
if (ssrcs[0].captureTimestamp != undefined) {
|
||||
resolve(ssrcs[0].captureTimestamp);
|
||||
return;
|
||||
}
|
||||
}
|
||||
t.step_timeout(listen, 0);
|
||||
};
|
||||
listen();
|
||||
});
|
||||
}
|
||||
|
||||
// This test only passes if the implementation is sending the absolute capture
|
||||
// timestamp header extension.
|
||||
for (const kind of ['audio', 'video']) {
|
||||
promise_test(async t => {
|
||||
const [caller, callee] = await initiateSingleTrackCall(
|
||||
t, {[kind]: true}, false, false);
|
||||
const receiver = callee.getReceivers()[0];
|
||||
|
||||
for (const ssrc of await listenForSSRCs(t, receiver)) {
|
||||
assert_equals(typeof ssrc.captureTimestamp, 'undefined');
|
||||
}
|
||||
}, '[' + kind + '] getSynchronizationSources() should not contain ' +
|
||||
'captureTimestamp if absolute capture time RTP header extension is not ' +
|
||||
'offered');
|
||||
|
||||
promise_test(async t => {
|
||||
const [caller, callee] = await initiateSingleTrackCall(
|
||||
t, {[kind]: true}, false, false);
|
||||
const receiver = callee.getReceivers()[0];
|
||||
|
||||
for (const ssrc of await listenForSSRCs(t, receiver)) {
|
||||
assert_equals(typeof ssrc.captureTimestamp, 'undefined');
|
||||
}
|
||||
}, '[' + kind + '] getSynchronizationSources() should not contain ' +
|
||||
'captureTimestamp if absolute capture time RTP header extension is ' +
|
||||
'offered, but not answered');
|
||||
|
||||
promise_test(async t => {
|
||||
const [caller, callee] = await initiateSingleTrackCall(
|
||||
t, {[kind]: true}, true, true);
|
||||
const receiver = callee.getReceivers()[0];
|
||||
await listenForCaptureTimestamp(t, receiver);
|
||||
}, '[' + kind + '] getSynchronizationSources() should contain ' +
|
||||
'captureTimestamp if absolute capture time RTP header extension is ' +
|
||||
'negotiated');
|
||||
}
|
||||
|
||||
promise_test(async t => {
|
||||
const [caller, callee] = await initiateSingleTrackCall(
|
||||
t, {audio: true, video: true}, true, true);
|
||||
const receivers = callee.getReceivers();
|
||||
assert_equals(receivers.length, 2);
|
||||
|
||||
let captureTimestamps = [undefined, undefined];
|
||||
const t0 = performance.now();
|
||||
for (let i = 0; i < 2; ++i) {
|
||||
captureTimestamps[i] = await listenForCaptureTimestamp(t, receivers[i]);
|
||||
}
|
||||
const t1 = performance.now();
|
||||
assert_less_than(Math.abs(captureTimestamps[0] - captureTimestamps[1]),
|
||||
t1 - t0);
|
||||
}, 'Audio and video RTCRtpSynchronizationSource.captureTimestamp are ' +
|
||||
'comparable');
|
||||
|
||||
</script>
|
|
@ -1,4 +1,5 @@
|
|||
[two-unreferenced-varyings.html]
|
||||
expected: TIMEOUT
|
||||
[WebGL test #2: getError expected: NO_ERROR. Was INVALID_OPERATION : Draw with transform feedback should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue