Auto merge of #26084 - servo-wpt-sync:wpt_update_01-04-2020, r=servo-wpt-sync

Sync WPT with upstream (01-04-2020)

Automated downstream sync of changes from upstream as of 01-04-2020.
[no-wpt-sync]
r? @servo-wpt-sync
This commit is contained in:
bors-servo 2020-04-01 21:57:58 -04:00 committed by GitHub
commit 7dcd83f488
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
95 changed files with 1078 additions and 395 deletions

View file

@ -0,0 +1,7 @@
[name-tests.html]
[name0032 - name0032]
expected: FAIL
[name0031 - name0031]
expected: FAIL

View file

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

View file

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

View file

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

View file

@ -0,0 +1,2 @@
[multiline-column-max-height.html]
expected: FAIL

View file

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

View file

@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

@ -1,7 +1,4 @@
[elementsFromPoint-iframes.html]
[elementsFromPoint on inner documents]
expected: FAIL
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

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

View file

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

View file

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

View file

@ -4,17 +4,14 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: TIMEOUT
[Element with tabindex should support autofocus]
expected: TIMEOUT
expected: FAIL
[Area element should support autofocus]
expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: NOTRUN
expected: FAIL

View file

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

View file

@ -0,0 +1,2 @@
[image-loading-lazy-slow-aspect-ratio.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[image-loading-lazy-slow.html]
expected: FAIL

View file

@ -0,0 +1,7 @@
[window-onerror-runtime-error-throw.html]
[correct line number passed to window.onerror]
expected: FAIL
[correct url passed to window.onerror]
expected: FAIL

View file

@ -35,3 +35,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 44042 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 36821.\n\t[36821\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 19404.\n\t[19404\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 40527 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 15080.\n\t[15080\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL

View file

@ -62,3 +62,6 @@
[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.1025573125871170e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5610863715308471e-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 31080.\n]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-5.1014587133360700e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5858893543493963e-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 31080.\n]
expected: FAIL

View file

@ -1,5 +1,4 @@
[005.html]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -259,6 +259,15 @@
]
},
"editing": {
"other": {
"design-mode-textarea-crash.html": [
"d9f01e41653bc07d3e939a968485f0c9c60417d9",
[
null,
{}
]
]
},
"run": {
"first-letter-crossing-engine-boundary-crash.html": [
"be6325fce4894f22f7fa43a488810464f3ebdaee",
@ -117643,19 +117652,6 @@
]
]
},
"background-border-collapsed-gradient.html": [
"73b097cf9a84733126237ea9ef0534b4850536bd",
[
null,
[
[
"/css/css-backgrounds/reference/background-border-collapsed-gradient-ref.html",
"=="
]
],
{}
]
],
"background-clip": {
"clip-rounded-corner.html": [
"3453c5bc8f5e45667ba20a1e6276a08e4b1be714",
@ -121266,12 +121262,12 @@
]
],
"background-size-007.html": [
"23e35eeb3ed953605d428255ef73b8dd67a43115",
"7efbe187118617a0873794a4d26d86317fce729c",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"/css/reference/ref-nothing-below.xht",
"=="
]
],
@ -121305,12 +121301,12 @@
]
],
"background-size-010.html": [
"a1517e01ebc105018cd92f6b6e294d9b0aeea0bc",
"c9ac0d82f68ba2a519de0bb8260e43de4a193287",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"/css/reference/ref-nothing-below.xht",
"=="
]
],
@ -133443,19 +133439,6 @@
{}
]
],
"flexbox-overflow-auto-001.html": [
"ee5a1afffbe04a9adf779fd5e590ed76167a431e",
[
null,
[
[
"/css/css-flexbox/reference/flexbox-overflow-auto-001-ref.html",
"=="
]
],
{}
]
],
"flexbox-with-multi-column-property.html": [
"5b11b0f9fd245a451e289229c4ed3e6e183dd40b",
[
@ -136680,6 +136663,19 @@
{}
]
],
"multiline-column-max-height.html": [
"5a165233f855d10de870d110a2d9ed8c0abc147b",
[
null,
[
[
"/css/css-flexbox/reference/multiline-column-max-height-ref.html",
"=="
]
],
{}
]
],
"negative-margins-001.html": [
"cd14ce0d4ede6f950ea6fd92176cfea662e45170",
[
@ -136734,6 +136730,19 @@
{}
]
],
"overflow-auto-005.html": [
"98e55a90fa428891a3fb7a3460217818e68deda4",
[
null,
[
[
"/css/css-flexbox/reference/overflow-auto-005-ref.html",
"=="
]
],
{}
]
],
"overflow-top-left.html": [
"682199815e03d214941a24b6a167d22ee852ced2",
[
@ -136903,6 +136912,19 @@
{}
]
],
"position-fixed-001.html": [
"a3de19d6d9df95a505c547e48dea3de82af44de5",
[
null,
[
[
"/css/css-flexbox/reference/position-fixed-001-ref.html",
"=="
]
],
{}
]
],
"scrollbars-auto.html": [
"ed1ffb8d93aec7c95eb3c9bbdbb6bd31ae402593",
[
@ -155993,7 +156015,7 @@
]
],
"position-sticky-inline.html": [
"07cde6f3f54e109912aad0528ad9ab0dcbeb3eac",
"3c2becea4e975ce94c556ca4318da9c8196fb1d8",
[
null,
[
@ -156227,7 +156249,7 @@
]
],
"position-sticky-writing-modes.html": [
"da27f50c7fba29d40d408240369da6947d0b9b0c",
"9e0856889d68186273ca3c56ad1b1616793b9b6d",
[
null,
[
@ -228268,6 +228290,32 @@
{}
]
],
"image-loading-lazy-slow-aspect-ratio.html": [
"15df330835f16ad07ef2c350a17e2661db7bdaac",
[
null,
[
[
"/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow-aspect-ratio-ref.html",
"=="
]
],
{}
]
],
"image-loading-lazy-slow.html": [
"15a3056f7ccd9d06483f4c9de5c82843b9f6f004",
[
null,
[
[
"/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow-ref.html",
"=="
]
],
{}
]
],
"image-loading-subpixel-clip.html": [
"594d9bebe4330f871f535f6bd309fa9d84388095",
[
@ -261673,19 +261721,19 @@
],
"domain": {
"domain-attribute-host-with-and-without-leading-period.sub.html.sub.headers": [
"4365b7dfe8a753a39dfdf69f75b63dc17b5f9c1f",
"77d3d8c0c447c99fa556ea58dee090fadf7ad31d",
[]
],
"domain-attribute-host-with-leading-period.sub.html.sub.headers": [
"3813417dbd9e94dc7620d38591e0628459de08c2",
"7de4ae2e6a5093fce5cc4405c0f1b92bf5f0981a",
[]
],
"domain-attribute-matches-host.sub.html.sub.headers": [
"3544e221f76acea7808bc0f0d2e43d74ff4d8ce4",
"8a2329e8c2f7fdd09847ae8a51e543e4b9495c87",
[]
],
"domain-attribute-missing.sub.html.headers": [
"e391056503306f622a7ce2cacfab1f9bac156bb0",
"3ee2833a45297755fc50dfa9848b124cc3c5dd8f",
[]
]
},
@ -263117,7 +263165,7 @@
[]
],
"name0031-expected": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"0cd5a50dd1b4eeda99b236c2716f656c7d1e83a7",
[]
],
"name0031-test": [
@ -263125,7 +263173,7 @@
[]
],
"name0032-expected": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"f4f7f3ff4cd4cf9e5c2528f0c082f4486b84c3b6",
[]
],
"name0032-test": [
@ -282341,10 +282389,6 @@
"2b568109db28719bc2973d350874f0685a630185",
[]
],
"background-border-collapsed-gradient-ref.html": [
"6e09d46cbc5078181661663eb13fbb371b7ac007",
[]
],
"background-clip-002-ref.html": [
"a03d6e202091f4ea0d1a62948b60e4e12ef2ccef",
[]
@ -285123,10 +285167,6 @@
"413b5909fea7c8468db08d23eb7644a8d713a7bc",
[]
],
"flexbox-overflow-auto-001-ref.html": [
"ace792e456c12f40e52ae50d51d05fd6a449a628",
[]
],
"flexbox-with-multi-column-property-ref.html": [
"fbb8fcda3e10a4660b132da37a8894cecec317d0",
[]
@ -285163,14 +285203,26 @@
"b3a18185dcf76920f510188ca591682ab5f011aa",
[]
],
"multiline-column-max-height-ref.html": [
"a9601fde2dff155452c45d6b3d40df0320462009",
[]
],
"negative-margins-001-ref.html": [
"186c5d130c5ea7facc55ff2ac88b1f1f9edf63af",
[]
],
"overflow-auto-005-ref.html": [
"ace792e456c12f40e52ae50d51d05fd6a449a628",
[]
],
"percentage-size-subitems-001-ref.html": [
"b9883c5f2e7af712402ec27ed40f100d974669b6",
[]
],
"position-fixed-001-ref.html": [
"4943f537f747e6bf10c4e6c91ad8ae1fb58b72c6",
[]
],
"ttwf-reftest-flex-align-content-center-ref.html": [
"79e5022be292267549f2b389e2d5abdb4d6d2126",
[]
@ -295663,7 +295715,7 @@
[]
],
"position-sticky-inline-ref.html": [
"4eb6ae7721bd97d61ce062b881ff3ca1b71aff8d",
"ce0539a9e228e5d578f14cf9506afed79994eaf0",
[]
],
"position-sticky-large-top-2-ref.html": [
@ -295735,7 +295787,7 @@
[]
],
"position-sticky-writing-modes-ref.html": [
"b9771acf248e1cfaad4ff93c59f63811ee3f6abb",
"e92fac0e4650ea407af2bee0ad1678defdcb49ee",
[]
],
"resources": {
@ -295743,6 +295795,10 @@
"ee91178ff6fb1c9f6b56008a4ebf008786c5fe88",
[]
],
"ref-rectangle.js": [
"7334c4294ad82aea83765fe5ca69b9636e38f50a",
[]
],
"sticky-util.js": [
"969cededcbe658a8d25c0cf9cabb97d86d965a77",
[]
@ -306988,6 +307044,10 @@
"05c223561c945bf4697d57a55287522965061d10",
[]
],
"ref-nothing-below.xht": [
"c87db8094bd4bbb7ba5f18816730fd40c198149d",
[]
],
"single_square_list_marker.xht": [
"bafbe908ab45203a872da0ded812988a835fe807",
[]
@ -323808,6 +323868,14 @@
"2fb0255609adc25a3394ae3edbd75ce4a43cb06d",
[]
],
"image-loading-lazy-slow-aspect-ratio-ref.html": [
"6de01a9b3bbf19567555af2524f8950abdfb2d81",
[]
],
"image-loading-lazy-slow-ref.html": [
"20fbb9b50e99b8c0505d65618880b6d2130fa909",
[]
],
"image-loading-subpixel-clip-ref.html": [
"f841dba31bd255b17afa8a1c7129b6998294c154",
[]
@ -327492,7 +327560,7 @@
[]
],
"webrtc-stats.idl": [
"aaadda29b8a5318ae7bafb10947b2c9b8a108620",
"65bd92209350045995e5afc35e48c30ccea393aa",
[]
],
"webrtc-svc.idl": [
@ -342872,7 +342940,7 @@
[]
],
"stability.py": [
"c06f7e5e9d6b10b4e619c95a62417e52a596be53",
"3f8989729fde0ee45cf783bc698307e38c844d90",
[]
],
"testdriver-extra.js": [
@ -342947,7 +343015,7 @@
[]
],
"test_stability.py": [
"474056dde6c67bb0aad2100613e6ca3319623962",
"274efb360a68f9f3a83cadd5f012a50f8769727c",
[]
],
"test_testloader.py": [
@ -343072,7 +343140,7 @@
}
},
"wptrunner.py": [
"5ebc43d884dfbed010ef81c7de756d2d0ee8a55f",
"7c3adde72538463c2d9981812fb4f6fb4d53eb6b",
[]
],
"wpttest.py": [
@ -376747,28 +376815,28 @@
],
"domain": {
"domain-attribute-host-with-and-without-leading-period.sub.html": [
"8144b2f6940bec720b02e64e5c6d92d867c7971d",
"7273daa8499f6b37cc959b390cbab77d46665ffb",
[
null,
{}
]
],
"domain-attribute-host-with-leading-period.sub.html": [
"1a020d6e32d914dec275b9d292efd473fda14417",
"5b295e7393fba696bfef438179de15c05a765def",
[
null,
{}
]
],
"domain-attribute-matches-host.sub.html": [
"8244c8f5045f9982b2e8efc7099e1e86a30d290e",
"f790b49d98b91cc8db63ba440b635eb8e165cfac",
[
null,
{}
]
],
"domain-attribute-missing.sub.html": [
"c4ed6ab200bb8a3cceca793cd862bc6f52a26dda",
"9018d15b8eab8a9e39748892bde9aa9c221961ec",
[
null,
{}
@ -381062,6 +381130,13 @@
{}
]
],
"align-self-014.html": [
"945d9d1935f03ea8d37367757edd32f2885f8aaf",
[
null,
{}
]
],
"animation": {
"flex-basis-composition.html": [
"122761e47679945d000623b6ae6fbe6d13cd5fba",
@ -381169,6 +381244,13 @@
{}
]
],
"flex-direction-column-overlap-001.html": [
"4d483a44fc630e46ddbe75ca79d8246eed67a94d",
[
null,
{}
]
],
"flex-factor-less-than-one.html": [
"320ddefc2f458d89677f1ccfb514a7344b5069d6",
[
@ -381239,8 +381321,8 @@
{}
]
],
"flexbox-overflow-auto-002.html": [
"d69b297ef7301cfb46ea725d99aaa0f9dac3e126",
"flex-shorthand-flex-basis-middle.html": [
"284aac275b87b59a2703e3aaaf78e2369d77a95a",
[
null,
{}
@ -381253,6 +381335,13 @@
{}
]
],
"flexitem-no-margin-collapsing.html": [
"fb50075cbdb0306c9308843da191caef5de9ab33",
[
null,
{}
]
],
"flexitem-stretch-image.html": [
"dd0f8d4f76f1f3dbaf67629315c8e39d73f01df3",
[
@ -381843,6 +381932,13 @@
{}
]
],
"layout-with-inline-svg-001.html": [
"c647767a6bd6d920f79f752154d4ea939b35697c",
[
null,
{}
]
],
"max-width-violation.html": [
"ea2779d81c5e4bab26b77337173f64ac0c08f493",
[
@ -381878,6 +381974,27 @@
{}
]
],
"overflow-auto-003.html": [
"29063b79d52f49e0041683be950cc513a6f020e7",
[
null,
{}
]
],
"overflow-auto-004.html": [
"fd96e8b67ee674f3f63595dab54506e1cb79d292",
[
null,
{}
]
],
"overflow-auto-006.html": [
"4fda7effa7204a9edbf0fc15580c8eec252c6b94",
[
null,
{}
]
],
"parsing": {
"flex-basis-computed.html": [
"549c9bf7053fac57c5dd11eedbf0fddebd324ea7",
@ -443225,7 +443342,7 @@
]
],
"window-onerror-runtime-error-throw.html": [
"5d2ef0d29dd99f815f892943d783c5325e4fcdc2",
"4b2bc1f22cb071b5340c0cf3e41345ca8bf9b9d9",
[
null,
{}
@ -463182,7 +463299,7 @@
]
],
"fcp-with-rtl.html": [
"0915b0083da1e3c0dfcdda49e826442c13b50979",
"35a73d490c4df57263f7b115644ad0c97214db48",
[
null,
{}
@ -476441,7 +476558,7 @@
]
],
"generateTestReport.html": [
"f47ea45c9a4112f22af1f6736d271ad85f1f02e4",
"1c6e7dc225726f46f42c5f50e54bd54b46cf9be6",
[
null,
{
@ -533380,21 +533497,21 @@
]
],
"border-image-shorthand-001.htm": [
"7695ccb1a3355a80adf20e3f83121b7eac30904c",
"76ce241e512cd5086317ce6e15fa66bf566d678d",
[
null,
{}
]
],
"border-image-shorthand-002.htm": [
"eaf71595b9a95c1b74362ea682c71470a11d41aa",
"92b7f92f4370a9991514f9641bc454908a6abb71",
[
null,
{}
]
],
"border-image-shorthand-003.htm": [
"40cfc7aed348b89f49be86a32a3ab3c2b226bbe9",
"b65430cfc1ac85b7644220c08124118f83b98f57",
[
null,
{}

View file

@ -0,0 +1,7 @@
[name-tests.html]
[name0032 - name0032]
expected: FAIL
[name0031 - name0031]
expected: FAIL

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,2 @@
[multiline-column-max-height.html]
expected: FAIL

View file

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

View file

@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
[Hit test within unscaled box]
expected: FAIL

View file

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

View file

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

View file

@ -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

View file

@ -1,2 +0,0 @@
[HTMLMediaElement.html]
expected: TIMEOUT

View file

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

View file

@ -11,6 +11,3 @@
[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%20'NosniFF']
expected: FAIL

View file

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

View file

@ -4,17 +4,14 @@
expected: FAIL
[Element with tabindex should support autofocus]
expected: TIMEOUT
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
expected: TIMEOUT
[Area element should support autofocus]
expected: NOTRUN
[Host element with delegatesFocus should support autofocus]
expected: NOTRUN
[Non-HTMLElement should not support autofocus]
expected: NOTRUN
expected: FAIL

View file

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

View file

@ -0,0 +1,2 @@
[image-loading-lazy-slow-aspect-ratio.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[image-loading-lazy-slow.html]
expected: FAIL

View file

@ -0,0 +1,7 @@
[window-onerror-runtime-error-throw.html]
[correct line number passed to window.onerror]
expected: FAIL
[correct url passed to window.onerror]
expected: FAIL

View file

@ -104,3 +104,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 44042 more errors.\n\tMax AbsError of 1.9999977350234985e+0 at index of 36821.\n\t[36821\]\t9.9999773502349854e-1\t-1.0000000000000000e+0\t1.9999977350234985e+0\t1.9999977350234985e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 19404.\n\t[19404\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 40527 more errors.\n\tMax AbsError of 1.9986611604690552e+0 at index of 15080.\n\t[15080\]\t-9.9994289875030518e-1\t9.9871826171875000e-1\t1.9986611604690552e+0\t2.0012262087101997e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL

View file

@ -293,3 +293,6 @@
[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.1025573125871170e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5610863715308471e-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 31080.\n]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t-5.1014587133360700e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5858893543493963e-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 31080.\n]
expected: FAIL

View file

@ -1,5 +1,4 @@
[005.html]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -7,18 +7,19 @@
<body>
<script>
//
// Set-Cookie: a=b; Path=/; Domain=.{{host}}
// Set-Cookie: a=c; Path=/; Domain={{host}}
// Set-Cookie: domain-attribute-host-with-and-without-leading-period=b; Path=/; Domain=.{{host}}
// Set-Cookie: domain-attribute-host-with-and-without-leading-period=c; Path=/; Domain={{host}}
//
const cookieName = "domain-attribute-host-with-and-without-leading-period";
test(t => {
assert_dom_cookie("a", "c", true);
assert_dom_cookie(cookieName, "c", true);
}, "Domain=.{{host}} => Second value available via `document.cookie`");
async_test(t => {
fetch("/cookies/resources/list.py", { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "c");
assert_equals(r[cookieName], "c");
}))
.catch(_ => assert_unreached);
}, "Domain=.{{host}} => Second value sent with same-origin requests.");
@ -27,7 +28,7 @@
fetch(`${SECURE_SUBDOMAIN_ORIGIN}/cookies/resources/list.py`, { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "c");
assert_equals(r[cookieName], "c");
}))
.catch(_ => assert_unreached);
}, "Domain=.{{host}} => Second value sent with subdomain requests.");

View file

@ -1,2 +1,2 @@
Set-Cookie: a=b; Path=/; Domain=.{{host}}
Set-Cookie: a=c; Path=/; Domain={{host}}
Set-Cookie: domain-attribute-host-with-and-without-leading-period=b; Path=/; Domain=.{{host}}
Set-Cookie: domain-attribute-host-with-and-without-leading-period=c; Path=/; Domain={{host}}

View file

@ -7,17 +7,18 @@
<body>
<script>
//
// Set-Cookie: a=b; Path=/; Domain=.{{host}}
// Set-Cookie: domain-attribute-host-with-leading-period=b; Path=/; Domain=.{{host}}
//
const cookieName = "domain-attribute-host-with-leading-period";
test(t => {
assert_dom_cookie("a", "b", true);
assert_dom_cookie(cookieName, "b", true);
}, "Domain=.{{host}} => available via `document.cookie`");
async_test(t => {
fetch("/cookies/resources/list.py", { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "b");
assert_equals(r[cookieName], "b");
}))
.catch(_ => assert_unreached);
}, "Domain=.{{host}} => sent with same-origin requests.");
@ -26,7 +27,7 @@
fetch(`${SECURE_SUBDOMAIN_ORIGIN}/cookies/resources/list.py`, { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "b");
assert_equals(r[cookieName], "b");
}))
.catch(_ => assert_unreached);
}, "Domain=.{{host}} => sent with subdomain requests.");

View file

@ -1 +1 @@
Set-Cookie: a=b; Path=/; Domain=.{{host}}
Set-Cookie: domain-attribute-host-with-leading-period=b; Path=/; Domain=.{{host}}

View file

@ -7,17 +7,18 @@
<body>
<script>
//
// Set-Cookie: a=b; Path=/; Domain={{host}}
// Set-Cookie: domain-attribute-matches-host=b; Path=/; Domain={{host}}
//
const cookieName = "domain-attribute-matches-host";
test(t => {
assert_dom_cookie("a", "b", true);
assert_dom_cookie(cookieName, "b", true);
}, "Domain={{host}} => available via `document.cookie`");
async_test(t => {
fetch("/cookies/resources/list.py", { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "b");
assert_equals(r[cookieName], "b");
}))
.catch(_ => assert_unreached);
}, "Domain={{host}} => sent with same-origin requests.");
@ -26,7 +27,7 @@
fetch(`${SECURE_SUBDOMAIN_ORIGIN}/cookies/resources/list.py`, { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "b");
assert_equals(r[cookieName], "b");
}))
.catch(_ => assert_unreached);
}, "Domain={{host}} => sent with subdomain requests.");

View file

@ -1 +1 @@
Set-Cookie: a=b; Path=/; Domain={{host}}
Set-Cookie: domain-attribute-matches-host=b; Path=/; Domain={{host}}

View file

@ -7,17 +7,18 @@
<body>
<script>
//
// Set-Cookie: a=b; Path=/
// Set-Cookie: domain-attribute-missing=b; Path=/
//
const cookieName = "domain-attribute-missing";
test(t => {
assert_dom_cookie("a", "b", true);
assert_dom_cookie(cookieName, "b", true);
}, "No domain attribute => available via `document.cookie`");
async_test(t => {
fetch("/cookies/resources/list.py", { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], "b");
assert_equals(r[cookieName], "b");
}))
.catch(_ => assert_unreached);
}, "No domain attribute => sent with same-origin requests.");
@ -26,7 +27,7 @@
fetch(`${SECURE_SUBDOMAIN_ORIGIN}/cookies/resources/list.py`, { credentials: "include" })
.then(t.step_func(r => r.json()))
.then(t.step_func_done(r => {
assert_equals(r["a"], undefined);
assert_equals(r[cookieName], undefined);
}))
.catch(_ => assert_unreached);
}, "No domain attribute => not sent with subdomain requests.");

View file

@ -1 +1 @@
Set-Cookie: a=b; Path=/
Set-Cookie: domain-attribute-missing=b; Path=/

View file

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Background Test: There should be no gap between border-collapsed backgrounds</title>
<link rel="author" title="schenney" href="mailto:schenney@chromium.org">
<link rel="help" href="http://www.w3.org/TR/css3-background">
<link rel="match" href="reference/background-border-collapsed-gradient-ref.html">
<style>
div {
background: linear-gradient(to bottom,#222,#666);
float: left;
padding: 32px;
color: white;
border-collapse: collapse;
}
</style>
</head>
<body>
<div style="height:18px;width:11.5625px;"></div>
<div style="height:18px;width:11.4375px;"></div>
</body>
</html>

View file

@ -4,31 +4,22 @@
<meta charset="utf-8">
<title>CSS Backgrounds and Borders Test: background-size - one &lt;length&gt; value at minimum</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 -->
<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 and 2020-03-13 -->
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<link rel="match" href="../reference/ref-nothing-below.xht">
<meta name="flags" content="image">
<meta name="assert" content="Check if 'background-size' is '0px', minimum width of the positioning area in length, then such value is the width of the corresponding image and therefore the background image is not to be displayed.">
<style>
div {
background-image: url(support/60x60-red.png);
background-size: 0px;
height: 100px;
width: 100px;
}
#ref-overlapped-green {
background-color: green;
}
#test-overlapped-red {
background-image: url(support/60x60-red.png);
background-repeat: no-repeat;
background-size: 0px;
bottom: 100px;
position: relative;
}
</style>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="ref-overlapped-green"></div>
<div id="test-overlapped-red"></div>
<p>Test passes if there is nothing below.
<div></div>
</body>
</html>

View file

@ -4,31 +4,22 @@
<meta charset="utf-8">
<title>CSS Backgrounds and Borders Test: background-size - one &lt;percentage&gt; value at minimum</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 -->
<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2012-11-09 and 2020-03-13 -->
<link rel="help" href="http://www.w3.org/TR/css3-background/#the-background-size" title="3.9. Sizing Images: the 'background-size' property">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<link rel="match" href="../reference/ref-nothing-below.xht">
<meta name="flags" content="image">
<meta name="assert" content="Check if 'background-size' is '0%', minimum width of the positioning area in percentage, then such value is the width of the corresponding image and therefore the background image is not to be displayed.">
<style>
div {
background-image: url(support/60x60-red.png);
background-size: 0%;
height: 100px;
width: 100px;
}
#ref-overlapped-green {
background-color: green;
}
#test-overlapped-red {
background-image: url(support/60x60-red.png);
background-repeat: no-repeat;
background-size: 0%;
bottom: 100px;
position: relative;
}
</style>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="ref-overlapped-green"></div>
<div id="test-overlapped-red"></div>
<p>Test passes if there is nothing below.
<div></div>
</body>
</html>

View file

@ -1,19 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Background Test Reference</title>
<link rel="author" title="schenney" href="mailto:schenney@chromium.org">
<style>
div {
background: linear-gradient(to bottom,#222,#666);
float: left;
padding: 32px 64px;
color: white;
border-collapse: collapse;
}
</style>
</head>
<body>
<div style="height:18px;width:23px;"></div>
</body>
</html>

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: align-self: center content with flex-direction: column.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-align/#align-self-property">
<link rel="help" href="https://crbug.com/750553"/>
<meta name="assert" content="This test ensures that no unnecessary horizontal offset is applied to inline content in a 'align-self: center' box, inside of a flexbox with 'flex-direction: column'."/>
<style>
html, body {
margin: 0;
}
body {
display: flex;
flex-direction: column;
}
.content {
align-self: center;
}
.content > div {
width: 400px;
display: inline-block;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.content')">
<div class="content" data-offset-x="0">
<div data-offset-x="0">X</div>
<div>X</div>
<div>X</div>
<div>X</div>
<div>X</div>
</div>
</body>
</html>

View file

@ -0,0 +1,56 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: vertical overlap with flex-direction: column.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://crbug.com/669714"/>
<meta name="assert" content="This test ensures that no unnecessary vertical overlap happens between an inline flex item and a block element inside a nested flexbox with 'flex-direction: column'."/>
<style>
html {
line-height: 1;
font-size: 18px;
}
.flex {
flex: 1;
min-height: 0;
}
.layout-column, .layout-row {
display: flex;
}
.layout-column {
flex-direction: column;
}
#relpos {
position: relative;
top: 1px;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body>
<p>XXX and YYY should be on separate lines and not overlap, i.e. the height of .flex should not be 0.</p>
<div class="layout-column" id="container">
<div class="layout-row">
<div class="layout-column">
<div class="flex" data-expected-height="18">XXX<span id="relpos"></span></div>
<div>YYY</div>
</div>
</div>
</div>
<script>
document.body.offsetHeight;
document.getElementById("relpos").innerText = " ";
checkLayout("#container");
</script>
</body>
</html>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: flex shorthand with 'auto' or 'zero' percentage value</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-property">
<link href="support/flexbox.css" rel="stylesheet">
<meta name="assert" content="This test ensures that setting '%0' or 'auto' to the flex-basis
in the middle of between 'flex-grow' and 'flex-shrink' properties whose value is '1' works properly.">
<style>
.flexbox {
width: 500px;
height: 100px;
background: green;
}
.flexbox > div {
width: 50px;
background: yellow;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.flexbox')">
<div id=log></div>
<div class="flexbox">
<div data-expected-width="50" style="flex: 1 0% 1"></div>
<div data-expected-width="50" style="flex: 1 0% 1"></div>
<div data-expected-width="50" style="flex: 1 0% 1"></div>
</div>
<div class="flexbox">
<div data-expected-width="50" style="flex: 1 auto 1"></div>
<div data-expected-width="50" style="flex: 1 auto 1"></div>
<div data-expected-width="50" style="flex: 1 auto 1"></div>
</div>
</body>
</html>

View file

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

View file

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<title>CSS Flexbox: flex items don't collapse margins</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#item-margins">
<link href="support/flexbox.css" rel="stylesheet">
<meta name="assert" content="This test ensures that flex items don't collapse margins
with their children.">
<style>
.flexbox {
background-color: lightgrey;
}
.flexbox p {
height: 100px;
width: 100px;
margin: 10px;
background-color: blue;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
</head>
<body onload="checkLayout('.flexbox')">
<div id=log></div>
<div class="flexbox" style="position: relative">
<div data-offset-x="0" data-offset-y="0" data-expected-width="120" data-expected-height="120">
<p data-offset-x="10" data-offset-y="10" data-expected-width="100" data-expected-height="100"></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: layout of child SVG elements.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-position/#position-property">
<link rel="help" href="https://crbug.com/633212"/>
<meta name="assert" content="This test ensures that a flexbox and its flex items are properly laid out when containing an empty SVG element in an abspos container."/>
<style>
html, body {
margin: 0;
}
#flexbox {
display: flex;
flex-direction: column;
}
#flexitem {
outline: 1px solid black;
width: 100%;
height: 166px;
position: relative;
background: green;
}
#abspos {
position: absolute;
}
#container {
background: red;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="container">
<div id="flexbox">
<div id="flexitem">
<div id="abspos">
<svg></svg>
</div>
</div>
</div>
</div>
<script>
test(function() {
assert_equals(document.getElementById('flexbox').offsetWidth,
document.getElementById('flexitem').offsetWidth);
}, "sizes");
</script>
</body>
</html>

View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<title>CSS Flexbox: wrapping column flexbox with max-height don't overflow.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-flow-property">
<link rel="match" href="reference/multiline-column-max-height-ref.html">
<meta name="assert" content="This test ensures that the flex line length is limited to max-height in a wrapping column flexbox."/>
<style>
.flex {
display: flex;
flex-flow: column wrap;
max-height: 200px;
background: blue;
color: blue;
}
.item {
flex: 0 0 auto;
line-height: 20px;
}
</style>
There should only be a blue box below, and the word "FAIL" should not be seen.
<div class="flex">
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
<span class="item">FAIL</span>
</div>

View file

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: margin: auto and overflow: auto with nested flexboxes.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#auto-margins">
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#overflow-properties">
<link rel="help" href="https://drafts.csswg.org/css-box-3/#margins">
<link rel="help" href="https://crbug.com/605682">
<meta name="assert" content="This test checks that 'margin: auto' set on the outer box gets properly handled when the inner box uses 'overflow: auto', in a layout with two nested flexboxes." />
<style>
html, body {
margin: 0;
padding: 0;
}
.flexbox {
display: flex;
background: papayawhip;
width: 800px;
}
.flexbox > div {
width: 300px;
height: 300px;
margin: 0 auto;
background: olive;
}
.flexbox > div > div {
overflow-y: auto;
height: 50px;
visibility: hidden;
}
.elm {
height: 10px;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body>
<div id=log></div>
<p>Below there should be a olive square <em>centered</em> inside a papayawhip box.</p>
<div class="flexbox">
<div data-offset-x="250">
<div>
<div id="elm"></div>
</div>
</div>
</div>
<script>
document.body.offsetTop;
document.getElementById("elm").style.height = "800px";
checkLayout('.flexbox');
</script>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: no unnecessary scrollbars with overflow: auto.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#overflow-properties">
<link rel="help" href="https://crbug.com/646288"/>
<meta name="assert" content="This test ensures that no vertical scrollbar is rendered with 'overflow: auto' and 'flex-direction: column' when only horizontal scrolling is needed."/>
<style>
* {
min-width: 0;
min-height: 0;
}
body {
width: 800px;
}
#list-wrapper {
display: flex;
flex-direction: column;
}
#player-list-wrapper {
flex-grow: 1;
overflow: auto;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('#list-wrapper')">
<p>No vertical scrollbar should be rendered for this content.</p>
<div id="list-wrapper" data-expected-width="800">
<div id="player-list-wrapper" data-expected-width="800">
<div data-expected-width="800">http://www.ispeech.org/p/generic/getaudio?text=http%3A%2F%2Fwww.ispeech.org%2Ftext.to.speech%3Flink%3Dhttp%253A%252F%252Fwww.ispeech.org%252Ftext.to.speech%253Fvoice%253Dusenglishfemale%2526action%253Dconvert%2526speed%253D0%2526text%253DType%252520some%252520text%252520and%252520click%252520play%2C&amp;voice=usenglishfemale&amp;speed=0&amp;action=convert</div>
</div>
</div>
</body>
</html>

View file

@ -3,7 +3,7 @@
<title>CSS Flexbox: overflow:auto support.</title>
<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#propdef-overflow">
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#classic-scrollbars">
<link rel="match" href="reference/flexbox-overflow-auto-001-ref.html">
<link rel="match" href="reference/overflow-auto-005-ref.html">
<meta name="assert" content="This test ensures that flexbox with 'overflow: auto' is supported, including in combination with different writing-mode and flex-direction values."/>
<style>
.test-row {

View file

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: Height with overflow: auto.</title>
<link href="support/flexbox.css" rel="stylesheet">
<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-direction-property">
<link rel="help" href="https://www.w3.org/TR/css-overflow-4/#classic-scrollbars">
<meta name="assert" content="This test ensures that flexbox with 'flex-direction: row|row-reverse' and a flex item child with 'overflow: auto' has the proper height."/>
<style>
.flexbox {
border: 5px solid green;
position: relative;
width: 50px;
}
.inline-flexbox {
border: 5px solid green;
position: relative;
height: 50px;
}
.overflow {
border: 1px solid red;
overflow: auto;
min-width: 0;
min-height: 0;
}
.vertical {
writing-mode: vertical-rl;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.flexbox, .inline-flexbox')">
<div id=log></div>
<div class="flexbox to-be-checked" check-height check-accounts-scrollbar>
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse to-be-checked" check-height check-accounts-scrollbar>
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox vertical to-be-checked" check-height check-accounts-scrollbar>
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse vertical to-be-checked" check-height check-accounts-scrollbar>
<div class="overflow"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox to-be-checked" check-height check-accounts-scrollbar>
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse to-be-checked" check-height check-accounts-scrollbar>
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox vertical to-be-checked" check-height>
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="flexbox row-reverse vertical to-be-checked" check-height>
<div class="overflow align-self-baseline"><div style="width: 100px; height: 20px"></div></div>
</div>
<div class="inline-flexbox column to-be-checked" check-width check-accounts-scrollbar>
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse to-be-checked" check-width check-accounts-scrollbar>
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column vertical to-be-checked" check-width check-accounts-scrollbar>
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse vertical to-be-checked" check-width check-accounts-scrollbar>
<div class="overflow"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column to-be-checked" check-width check-accounts-scrollbar>
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse to-be-checked" check-width check-accounts-scrollbar>
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column vertical to-be-checked" check-width>
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<div class="inline-flexbox column-reverse vertical to-be-checked" check-width>
<div class="overflow align-self-baseline"><div style="width: 20px; height: 100px"></div></div>
</div>
<!-- This div is only for measuring scrollbar size -->
<div id="measure" style="height: 100px; width: 100px; display: inline-block; overflow: auto;">
<div style="min-height: 300px;"></div>
</div>
<script>
var measure = document.getElementById('measure');
var scrollbarSize = measure.offsetWidth - measure.clientWidth;
var nodes = document.getElementsByClassName("to-be-checked");
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
// Here, the things contributing height are:
//
// (a) each innermost div contributes an explicit height: 20px value.
// (b) the .overflow div contributes 2px of border (1px top + bottom),
// plus the height of its scrollbar from overflow:auto.
// (c) the .flexbox div contributes 10px of border (5px top + bottom).
//
// So, the total height is 20px + 2px + 10px + scrollbarHeight,
// which simplifies to 32px + scrollbarHeight.
//
// Analogously, the same logic applies for nodes where width is tested.
var size = 32;
if (node.hasAttribute("check-height")) {
var height = node.hasAttribute("check-accounts-scrollbar") ? scrollbarSize : 0;
node.setAttribute("data-expected-height", size + height);
} else {
var width = node.hasAttribute("check-accounts-scrollbar") ? scrollbarSize : 0;
node.setAttribute("data-expected-width", size + width);
}
}
</script>
</body>
</html>

View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<html>
<title>CSS Flexbox: flex-direction: column in fixed-positioned flexboxes.</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
<link rel="help" href="https://drafts.csswg.org/css-position/#position-property">
<link rel="match" href="reference/position-fixed-001-ref.html">
<link rel="help" href="https://crbug.com/604346"/>
<meta name="assert" content="This test ensures that widths are always definite for inner flexboxes that are nested inside fixed-positioned flexboxes using 'flex-direction: column'."/>
<style>
.fixed-pos{
position: fixed;
background: red;
}
.inner {
width: 100%;
background: green;
}
.flexbox {
display: flex;
}
.column {
flex-direction: column;
}
</style>
<body>
<p>You should see no red.</p>
<div class="fixed-pos" >
<div class="flexbox column">
<div class="flexbox">
<div class="inner">
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</div>
</div>
<div class="flexbox">
<div class="inner">
YYYY
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<style>
.flex {
height: 200px;
background: blue;
}
</style>
There should only be a blue box below, and the word "FAIL" should
not be seen.
<div class="flex">
</div>

View file

@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<style>
.fixed-pos{
position: fixed;
background: green;
}
</style>
<body>
<p>You should see no red.</p>
<div class="fixed-pos" >
<div>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</div>
<div>
YYYY
</div>
</div>
</body>
</html>

View file

@ -66,4 +66,4 @@ window.addEventListener('load', function() {
</div>
</div>
<div>You should see three green rectangles above. No red should be visible.</div>
<div>You should see three green rectangles above. No red or blue should be visible.</div>

View file

@ -5,6 +5,9 @@
<meta name="assert" content="This test checks that position:sticky works for inline elements" />
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<script src="resources/ref-rectangle.js"></script>
<style>
.group {
display: inline-block;
@ -60,6 +63,7 @@ window.addEventListener('load', function() {
document.getElementById('scroller1').scrollTop = 50;
document.getElementById('scroller2').scrollTop = 125;
document.getElementById('scroller3').scrollTop = 250;
createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
});
</script>
@ -102,4 +106,4 @@ window.addEventListener('load', function() {
</div>
</div>
<div>You should see three green rectangles above. No red should be visible.</div>
<div>You should see three green rectangles above. No red or blue should be visible.</div>

View file

@ -55,4 +55,4 @@ window.addEventListener('load', function() {
</div>
</div>
<div>You should see two green blocks above. No red should be visible.</div>
<div>You should see two green blocks above. No red or blue should be visible.</div>

View file

@ -5,6 +5,9 @@
<meta name="assert" content="This test checks that position:sticky constraints are independent of the writing mode" />
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<script src="resources/ref-rectangle.js"></script>
<style>
.group {
display: inline-block;
@ -45,6 +48,7 @@ window.addEventListener('load', function() {
document.getElementById('scroller1').scrollLeft = 20;
document.getElementById('scroller2').scrollTop = 50;
document.getElementById('scroller2').scrollLeft = -25;
createIndicatorForStickyElements(document.querySelectorAll('.sticky'));
});
</script>
@ -59,11 +63,11 @@ window.addEventListener('load', function() {
<div class="group">
<div id="scroller2" class="scroller" style="writing-mode: vertical-rl;">
<div class="indicator" style="left: 45px; top: 100px;">XXX</div>
<div class="contents">
<div class="indicator" style="left: 45px; top: 100px;">XXX</div>
<div class="sticky" style="right: 20px;">XXX</div>
</div>
</div>
</div>
<div>You should see two green blocks above. No red should be visible.</div>
<div>You should see two green blocks above. No red or blue should be visible.</div>

View file

@ -0,0 +1,26 @@
/**
* The function positions a new div to exactly the bounding client rect without
* using sticky position. If it's directly under the sticky element it could be
* obscured and not show up when compared to the ref. */
function createIndicatorForStickyElements(sticky_divs) {
sticky_divs.forEach((sticky_div) => {
// The relative position indicator will be able to share the same containing
// block to match the position with the same offset from in flow position
// (offsetTop/offsetLeft)
if (getComputedStyle(sticky_div).position != "sticky")
throw "Provided sticky element does not have position: sticky";
var position_div = document.createElement("div");
position_div.style.left = sticky_div.offsetLeft + "px";
position_div.style.top = sticky_div.offsetTop + "px";
// The absolute position is to ensure that the position_div adds zero size
// to in flow layout
position_div.style.position = "absolute"
var indicator_div = document.createElement("div");
indicator_div.style.width = sticky_div.offsetWidth + "px";
indicator_div.style.height = sticky_div.offsetHeight + "px";
indicator_div.style.backgroundColor = "blue";
indicator_div.style.position = "relative";
position_div.appendChild(indicator_div);
sticky_div.parentNode.insertBefore(position_div, sticky_div);
});
}

View file

@ -0,0 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Reftest Reference</title>
<link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
</head>
<body>
<p>Test passes if there is nothing below.</p>
</body>
</html>

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<script>
onload = function() {
let x2 = document.getElementById("x2");
x2.select();
x2.placeholder = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
document.designMode = "on";
}
</script>
<textarea id="x2" inputmode="text" spellcheck="false" rows="32" readonly="">
<data id="x56" part="part1" accesskey="" translate="no">
Baa1101 11
</data>
</textarea>

View file

@ -0,0 +1,2 @@
<!doctype HTML>
<span style="display: inline-block; width: 100px; height: 50px; border: 1px solid black">

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html style="reftest-wait">
<link rel="match" href="image-loading-lazy-slow-aspect-ratio-ref.html">
<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-img-element">
<script src="/common/reftest-wait.js"></script>
<img id=target loading="lazy" src="resources/image.png"
width="200" height="100" style="width: 100px; height: auto; border: 1px solid black">
<script>
let loaded = false;
target.onload = () => {
if (loaded) return;
loaded = true;
target.src = "";
requestAnimationFrame(() => requestAnimationFrame(() => {
target.src = "resources/image.png?pipe=trickle(d2)";
takeScreenshot();
}));
};
</script>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<span style="display: inline-block; width: 330px; height: 254px; border: 1px solid black"></span>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html style="reftest-wait">
<link rel="match" href="image-loading-lazy-slow-ref.html">
<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-img-element">
<script src="/common/reftest-wait.js"></script>
<img id=target loading="lazy" src="resources/image.png"
width="330" height="254" style="border: 1px solid black">
<script>
let loaded = false;
target.onload = () => {
if (loaded) return;
loaded = true;
target.src = "";
requestAnimationFrame(() => requestAnimationFrame(() => {
target.src = "resources/image.png?pipe=trickle(d2)";
takeScreenshot();
}));
};
</script>

View file

@ -20,6 +20,10 @@
var error_count = 0;
window.onerror = function(msg, url, lineno) {
++error_count;
test(function() {assert_equals(url, window.location.href)},
"correct url passed to window.onerror");
test(function() {assert_equals(lineno, 36)},
"correct line number passed to window.onerror");
};
</script>
<script>

View file

@ -286,7 +286,11 @@ dictionary RTCTransportStats : RTCStats {
};
dictionary RTCSctpTransportStats : RTCStats {
double smoothedRoundTripTime;
double smoothedRoundTripTime;
unsigned long congestionWindow;
unsigned long receiverWindow;
unsigned long mtu;
unsigned long unackData;
};
dictionary RTCIceCandidateStats : RTCStats {

View file

@ -12,7 +12,7 @@
}
</style>
</head>
<body direction="RTL">
<body>
<script src="../resources/utils.js"></script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

View file

@ -29,6 +29,7 @@
observer.observe();
// This should result in a "test" type report being generated and observed.
test_driver.generate_test_report("Test message.");
test_driver.generate_test_report("Test message.")
.catch(test.unreached_func('generate test report failed'));
}, "Generate Test Report");
</script>

View file

@ -5,6 +5,7 @@ import io
import os
from collections import OrderedDict, defaultdict
from datetime import datetime
from six import iteritems
from mozlog import reader
from mozlog.formatters import JSONFormatter
@ -140,10 +141,10 @@ def process_results(log, iterations):
handler = LogHandler()
reader.handle_log(reader.read(log), handler)
results = handler.results
for test_name, test in results.iteritems():
for test_name, test in iteritems(results):
if is_inconsistent(test["status"], iterations):
inconsistent.append((test_name, None, test["status"], []))
for subtest_name, subtest in test["subtests"].iteritems():
for subtest_name, subtest in iteritems(test["subtests"]):
if is_inconsistent(subtest["status"], iterations):
inconsistent.append((test_name, subtest_name, subtest["status"], subtest["messages"]))
@ -208,7 +209,7 @@ def write_results(log, results, iterations, pr_number=None, use_details=False):
"tests" if len(results) > 1
else "test"))
for test_name, test in results.iteritems():
for test_name, test in iteritems(results):
baseurl = "http://w3c-test.org/submissions"
if "https" in os.path.splitext(test_name)[0].split(".")[1:]:
baseurl = "https://w3c-test.org/submissions"
@ -236,7 +237,7 @@ def write_results(log, results, iterations, pr_number=None, use_details=False):
def run_step(logger, iterations, restart_after_iteration, kwargs_extras, **kwargs):
import wptrunner
from . import wptrunner
kwargs = copy.deepcopy(kwargs)
if restart_after_iteration:
@ -278,7 +279,7 @@ def get_steps(logger, repeat_loop, repeat_restart, kwargs_extras):
for kwargs_extra in kwargs_extras:
if kwargs_extra:
flags_string = " with flags %s" % " ".join(
"%s=%s" % item for item in kwargs_extra.iteritems())
"%s=%s" % item for item in iteritems(kwargs_extra))
else:
flags_string = ""

View file

@ -1,6 +1,5 @@
from .. import stability
def test_is_inconsistent():
assert stability.is_inconsistent({"PASS": 10}, 10) is False
assert stability.is_inconsistent({"PASS": 9}, 10) is True
@ -29,3 +28,40 @@ def test_find_slow_status():
"timeout": 100}) == "FAIL"
assert stability.find_slow_status({
"longest_duration": {"SKIP": 0}}) is None
def test_get_steps():
logger = None
steps = stability.get_steps(logger, 0, 0, [])
assert len(steps) == 0
steps = stability.get_steps(logger, 0, 0, [{}])
assert len(steps) == 0
repeat_loop = 1
flag_name = 'flag'
flag_value = 'y'
steps = stability.get_steps(logger, repeat_loop, 0, [
{flag_name: flag_value}])
assert len(steps) == 1
assert steps[0][0] == "Running tests in a loop %d times with flags %s=%s" % (
repeat_loop, flag_name, flag_value)
repeat_loop = 0
repeat_restart = 1
flag_name = 'flag'
flag_value = 'n'
steps = stability.get_steps(logger, repeat_loop, repeat_restart, [
{flag_name: flag_value}])
assert len(steps) == 1
assert steps[0][0] == "Running tests in a loop with restarts %d times with flags %s=%s" % (
repeat_restart, flag_name, flag_value)
repeat_loop = 10
repeat_restart = 5
steps = stability.get_steps(logger, repeat_loop, repeat_restart, [{}])
assert len(steps) == 2
assert steps[0][0] == "Running tests in a loop %d times" % repeat_loop
assert steps[1][0] == (
"Running tests in a loop with restarts %d times" % repeat_restart)

View file

@ -339,7 +339,7 @@ def run_tests(config, test_paths, product, **kwargs):
def check_stability(**kwargs):
import stability
from . import stability
if kwargs["stability"]:
logger.warning("--stability is deprecated; please use --verify instead!")
kwargs['verify_max_time'] = None