mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Auto merge of #28241 - servo-wpt-sync:wpt_update_05-03-2021, r=jdm
Sync WPT with upstream (05-03-2021) Automated downstream sync of changes from upstream as of 05-03-2021. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
c220d886c2
65 changed files with 620 additions and 460 deletions
|
@ -4,7 +4,7 @@
|
|||
expected: TIMEOUT
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
||||
expected: FAIL
|
||||
|
|
|
@ -86,129 +86,6 @@
|
|||
[background-position length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[background-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -17,3 +17,6 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -309,21 +309,12 @@
|
|||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
[<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;x=" 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
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[cross-origin-objects-on-new-window.html]
|
||||
expected: TIMEOUT
|
|
@ -1,5 +1,4 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -10,7 +9,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-1.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-2.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[form-double-submit-3.html]
|
||||
[<button> should have the same double-submit protection as <input type=submit>]
|
||||
expected: FAIL
|
||||
|
|
@ -1,22 +1,10 @@
|
|||
[select-event.html]
|
||||
[textarea: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: setSelectionRange out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: selectionDirection a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: setSelectionRange out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -35,30 +23,54 @@
|
|||
[input type text: selectionEnd out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionEnd a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type tel: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type tel: selectionEnd out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: selectionStart out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: select() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: selectionStart out of range a second time (must not fire select)]
|
||||
[textarea: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: selectionEnd out of range a second time (must not fire select)]
|
||||
[textarea: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[textarea: selectionStart out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: selectionEnd a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: selectionDirection a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionDirection a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionStart out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type tel: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: select() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: selectionEnd out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: setSelectionRange out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -3,3 +3,6 @@
|
|||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: TIMEOUT
|
||||
|
||||
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -608,3 +608,15 @@
|
|||
[X SNR (40.857403325570765 dB) is not greater than or equal to 65.737. Got 40.857403325570765.]
|
||||
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[15240\]\t-1.5116663102269030e+17\t3.3531737327575684e-1\t1.5116663102269030e+17\t4.5081657877110515e+17\t9.0957000000000003e-5\n\t[15241\]\t4.5846281857315040e-41\t3.9367997646331787e-1\t3.9367997646331787e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 1.5116663102269030e+17 at index of 15240.\n\tMax RelError of 4.5081657877110515e+17 at index of 15240.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (-300.1550327414167 dB) is not greater than or equal to 85.58. Got -300.1550327414167.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 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.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[7189\]\t-1.5847874412465357e+17\t-9.8956179618835449e-1\t1.5847874412465357e+17\t1.6015042692138099e+17\t3.8985999999999999e-3\n\t[7190\]\t-8.8409073650836945e-2\t-9.9664616584777832e-1\t9.0823709219694138e-1\t9.1129341918891205e-1\t3.8985999999999999e-3\n\tMax AbsError of 1.5847874412465357e+17 at index of 7189.\n\tMax RelError of 1.6015042692138099e+17 at index of 7189.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (-300.5653344749286 dB) is not greater than or equal to 65.737. Got -300.5653344749286.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[audiocontext-not-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[frame in navigated remote-site frame]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[user_prompts.py]
|
||||
expected: ERROR
|
||||
[test_accept_and_notify[capabilities0-prompt-\]]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[import-in-moduleworker.html]
|
||||
expected: ERROR
|
||||
[Base URL in module dedicated workers: import]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[sharedworker-in-worker.html]
|
||||
expected: ERROR
|
||||
[Base URL in workers: new SharedWorker()]
|
||||
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
|
||||
|
|
|
@ -17296,13 +17296,6 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"pointerevent_pointerId_scope-manual.html": [
|
||||
"3640cb6f6bba67b51f96c857a4deb811a495845d",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"pointerevent_pointerleave_pen-manual.html": [
|
||||
"d0d8dd3682513fa44659573f02aa3eb9044c5605",
|
||||
[
|
||||
|
@ -128779,6 +128772,84 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"transform-000.html": [
|
||||
"7f8bfa8ca4a33ac9e87a7f7b83b26b791cede0fa",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"transform-001.html": [
|
||||
"37985dd3f0e633566751fe879915038d13b3967f",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"transform-002.html": [
|
||||
"10c62cd45c89c840f81e12ec96d6430eb50bed43",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"transform-003.html": [
|
||||
"1879bab38331cc40457e214878dcdc004db6ff89",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"transform-004.html": [
|
||||
"df7e92ac5d79edcf62dfb66c849990dfd6ec118b",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"transform-005.html": [
|
||||
"83f674f8fd306027b305cf8092c28040ce836461",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"widows-001.html": [
|
||||
"eb453ee64d8cfa1bcee456d614b64a3d67be122e",
|
||||
[
|
||||
|
@ -187171,7 +187242,7 @@
|
|||
]
|
||||
],
|
||||
"flex-aspect-ratio-025.html": [
|
||||
"fa9ce8ebce69f02e6b13d9d2233d1e3b46c7f1ab",
|
||||
"c4ff8110d7bed7079c864ddf192f8242932e588d",
|
||||
[
|
||||
null,
|
||||
[
|
||||
|
@ -187184,7 +187255,7 @@
|
|||
]
|
||||
],
|
||||
"flex-aspect-ratio-026.html": [
|
||||
"1df14468632baa8ffd03d690f7ddaa618acd7bf6",
|
||||
"c4a250818bb7786e2f395922d28e3c7519b4ea3a",
|
||||
[
|
||||
null,
|
||||
[
|
||||
|
@ -187196,6 +187267,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"flex-aspect-ratio-027.html": [
|
||||
"c10f1f3f7048bc891ec8d73a70342a994213b565",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"grid-aspect-ratio-001.html": [
|
||||
"ce91fe4e4e8b2bb7f610fb230a292f59188ff95b",
|
||||
[
|
||||
|
@ -187717,7 +187801,7 @@
|
|||
]
|
||||
],
|
||||
"replaced-element-003.html": [
|
||||
"f1c8dd07e146074cd055cd2bc107b2e0abb5fcc9",
|
||||
"83187fcd459582de54ca1b98c25295e0993d3235",
|
||||
[
|
||||
null,
|
||||
[
|
||||
|
@ -187726,7 +187810,23 @@
|
|||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
{
|
||||
"fuzzy": [
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
0,
|
||||
3
|
||||
],
|
||||
[
|
||||
0,
|
||||
5000
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"replaced-element-004.html": [
|
||||
|
@ -338614,7 +338714,7 @@
|
|||
[]
|
||||
],
|
||||
"reftests.md": [
|
||||
"9f3165ced4c4e754680124a1e8722af15b9893eb",
|
||||
"135fc20074df49a81345c3ebe3849fae52f68cb6",
|
||||
[]
|
||||
],
|
||||
"rendering.md": [
|
||||
|
@ -346690,7 +346790,7 @@
|
|||
],
|
||||
"resources": {
|
||||
"common.js": [
|
||||
"45fd93503c0ede4a07014997b0c0f04095b1cf6a",
|
||||
"932adfd09854377165be745e885e835f8b9ef64c",
|
||||
[]
|
||||
],
|
||||
"dispatcher.js": [
|
||||
|
@ -360650,7 +360750,7 @@
|
|||
[]
|
||||
],
|
||||
"pointerevent_pointerId_scope-iframe.html": [
|
||||
"ab33560b35216ea0976d1c037650122d9336ae39",
|
||||
"c1fa22aa4ce29903815c52b7539310980cfcbc82",
|
||||
[]
|
||||
],
|
||||
"pointerevent_pointercapture-iframe.html": [
|
||||
|
@ -380139,7 +380239,7 @@
|
|||
[]
|
||||
],
|
||||
"fixtures.py": [
|
||||
"7cb91ca62c238eaa7907e283077699f3897f6d2e",
|
||||
"0ecfcdbb2427a997d652e88bb00d7ce8733ffd28",
|
||||
[]
|
||||
],
|
||||
"helpers.py": [
|
||||
|
@ -441603,7 +441703,7 @@
|
|||
]
|
||||
],
|
||||
"aria-element-reflection.tentative.html": [
|
||||
"fc20df6696e975d368b5e18cfad776c4284615fe",
|
||||
"44fc68acfd619dd729380681fe6e137d05a2817b",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -489528,7 +489628,14 @@
|
|||
]
|
||||
],
|
||||
"iframe-load-cookie.tentative.https.html": [
|
||||
"b4520f8b952f33252a236f9b15ff708c07799c84",
|
||||
"c3e3e2f18a90479e7cf596f5e542596ed15d1c08",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"iframe-local-storage.tentative.https.html": [
|
||||
"0ef477c87bf5e56516b9f1b9188ae81efa9674d8",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -522415,6 +522522,15 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"pointerevent_pointerId_scope.html": [
|
||||
"e3651b9d3477d264bba6a56b4de00c566ef32f82",
|
||||
[
|
||||
null,
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"pointerevent_pointercancel_touch.html": [
|
||||
"b09ddd740a6d6775806731c8e069a4674e3b12e3",
|
||||
[
|
||||
|
@ -552230,7 +552346,7 @@
|
|||
]
|
||||
],
|
||||
"mousemove-between.html": [
|
||||
"1ddab541586b3990dec003314887865e0427b539",
|
||||
"f9c422cc9364f793d8cdcb88d1a0379812953aba",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -562545,7 +562661,7 @@
|
|||
]
|
||||
],
|
||||
"image-decoder.any.js": [
|
||||
"f33a60a1f6ca28851a8d85d6ffbbc6c6566140a0",
|
||||
"2c13b72cbd1ad2bc823806675430c67f7507be74",
|
||||
[
|
||||
"webcodecs/image-decoder.any.html",
|
||||
{
|
||||
|
|
|
@ -56,129 +56,6 @@
|
|||
[background-position length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[background-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(mm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(cm) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-width length(in) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-top-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-right-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[border-left-color color(rgba) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(pt) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(pc) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(px) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(em) / events]
|
||||
expected: FAIL
|
||||
|
||||
[padding-bottom length(ex) / events]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -21,3 +21,6 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -309,21 +309,12 @@
|
|||
[fetch(): separate response Content-Type: text/plain ]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
[<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;x=" 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
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[cross-origin-objects-on-new-window.html]
|
||||
expected: TIMEOUT
|
|
@ -1,5 +1,4 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -10,7 +9,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[iframe_sandbox_popups_escaping-1.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-2.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
type: testharness
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[form-double-submit-3.html]
|
||||
[<button> should have the same double-submit protection as <input type=submit>]
|
||||
expected: FAIL
|
||||
|
|
@ -1,22 +1,10 @@
|
|||
[select-event.html]
|
||||
[textarea: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: setSelectionRange out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: selectionDirection a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: setSelectionRange out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -35,30 +23,54 @@
|
|||
[input type text: selectionEnd out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionEnd a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type tel: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type tel: selectionEnd out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: selectionStart a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: selectionStart out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: select() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: selectionStart out of range a second time (must not fire select)]
|
||||
[textarea: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: selectionEnd out of range a second time (must not fire select)]
|
||||
[textarea: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[textarea: selectionStart out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: selectionEnd a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: selectionDirection a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type text: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionDirection a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type search: selectionStart out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type tel: setRangeText() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: select() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: setSelectionRange() a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type url: selectionEnd out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
[input type password: setSelectionRange out of range a second time (must not fire select)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -4,3 +4,6 @@
|
|||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: TIMEOUT
|
||||
|
||||
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -836,3 +836,15 @@
|
|||
[X SNR (40.857403325570765 dB) is not greater than or equal to 65.737. Got 40.857403325570765.]
|
||||
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[15240\]\t-1.5116663102269030e+17\t3.3531737327575684e-1\t1.5116663102269030e+17\t4.5081657877110515e+17\t9.0957000000000003e-5\n\t[15241\]\t4.5846281857315040e-41\t3.9367997646331787e-1\t3.9367997646331787e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 1.5116663102269030e+17 at index of 15240.\n\tMax RelError of 4.5081657877110515e+17 at index of 15240.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (-300.1550327414167 dB) is not greater than or equal to 85.58. Got -300.1550327414167.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 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.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[7189\]\t-1.5847874412465357e+17\t-9.8956179618835449e-1\t1.5847874412465357e+17\t1.6015042692138099e+17\t3.8985999999999999e-3\n\t[7190\]\t-8.8409073650836945e-2\t-9.9664616584777832e-1\t9.0823709219694138e-1\t9.1129341918891205e-1\t3.8985999999999999e-3\n\tMax AbsError of 1.5847874412465357e+17 at index of 7189.\n\tMax RelError of 1.6015042692138099e+17 at index of 7189.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (-300.5653344749286 dB) is not greater than or equal to 65.737. Got -300.5653344749286.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[audiocontext-not-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[frame in navigated remote-site frame]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[user_prompts.py]
|
||||
expected: ERROR
|
||||
[test_accept_and_notify[capabilities0-prompt-\]]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[import-in-moduleworker.html]
|
||||
expected: ERROR
|
||||
[Base URL in module dedicated workers: import]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[sharedworker-in-worker.html]
|
||||
expected: ERROR
|
||||
[Base URL in workers: new SharedWorker()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
.relpos {
|
||||
position: relative;
|
||||
left: -60px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="inline-size:100px; block-size:100px; columns:4; column-fill:auto; column-gap:0; background:red;">
|
||||
<div style="block-size:50px; background:green;"></div>
|
||||
<div style="will-change:transform; transform:translateX(60px);">
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:150px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
.relpos {
|
||||
position: relative;
|
||||
top: -60px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="writing-mode:vertical-lr; inline-size:100px; block-size:100px; columns:4; column-fill:auto; column-gap:0; background:red;">
|
||||
<div style="block-size:50px; background:green;"></div>
|
||||
<div style="will-change:transform; transform:translateY(60px);">
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:150px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
.relpos {
|
||||
position: relative;
|
||||
top: -60px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="writing-mode:vertical-rl; inline-size:100px; block-size:100px; columns:4; column-fill:auto; column-gap:0; background:red;">
|
||||
<div style="block-size:50px; background:green;"></div>
|
||||
<div style="will-change:transform; transform:translateY(60px);">
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:150px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
.relpos {
|
||||
position: relative;
|
||||
left: -60px;
|
||||
top: -50px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="inline-size:100px; block-size:100px; columns:4; column-fill:auto; column-gap:0; background:red;">
|
||||
<div style="block-size:50px; background:green;"></div>
|
||||
<div style="will-change:transform; transform:translate(60px, 50px);">
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:150px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
.relpos {
|
||||
position: relative;
|
||||
left: -60px;
|
||||
top: -50px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="writing-mode:vertical-lr; inline-size:100px; block-size:100px; columns:4; column-fill:auto; column-gap:0; background:red;">
|
||||
<div style="block-size:50px; background:green;"></div>
|
||||
<div style="will-change:transform; transform:translate(60px, 50px);">
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:150px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
.relpos {
|
||||
position: relative;
|
||||
left: -60px;
|
||||
top: -50px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="writing-mode:vertical-rl; inline-size:100px; block-size:100px; columns:4; column-fill:auto; column-gap:0; background:red;">
|
||||
<div style="block-size:50px; background:green;"></div>
|
||||
<div style="will-change:transform; transform:translate(60px, 50px);">
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:100px;"></div>
|
||||
<div class="relpos" style="block-size:150px;"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -14,6 +14,7 @@
|
|||
.item {
|
||||
background: green;
|
||||
padding-top: 15px;
|
||||
padding-left: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
|
@ -49,25 +50,25 @@
|
|||
because its value contains 'auto'. -->
|
||||
<div class="flexContainer" style="width: auto;">
|
||||
<!-- The content-box height 10px is transferred to the main axis,
|
||||
yielding a resolved flex base size of 200px. -->
|
||||
<div class="item" style="min-width:0; height: 25px; aspect-ratio: auto 20/1;"></div>
|
||||
yielding a resolved flex base size of 190px. -->
|
||||
<div class="item" style="min-width:0; height: 25px; aspect-ratio: auto 19/1;"></div>
|
||||
</div>
|
||||
|
||||
<div class="flexContainer">
|
||||
<!-- The content-box height 10px is transferred to the main axis,
|
||||
yielding a resolved min-width:auto of 200px. -->
|
||||
<div class="item" style="height: 25px; aspect-ratio: auto 20/1;"></div>
|
||||
yielding a resolved min-width:auto of 190px. -->
|
||||
<div class="item" style="height: 25px; aspect-ratio: auto 19/1;"></div>
|
||||
</div>
|
||||
|
||||
<div class="flexContainer">
|
||||
<!-- The content-box min-height 10px is transferred to the main axis,
|
||||
yielding a resolved min-width:auto of 200px. -->
|
||||
<div class="item" style="min-height: 25px; aspect-ratio: auto 20/1;"></div>
|
||||
yielding a resolved min-width:auto of 190px. -->
|
||||
<div class="item" style="min-height: 25px; aspect-ratio: auto 19/1;"></div>
|
||||
</div>
|
||||
|
||||
<div class="flexContainer">
|
||||
<!-- The content-box height 10px (clamped by max-height) is transferred
|
||||
to the main axis, yielding a resolved min-width:auto of 200px. -->
|
||||
<div class="item" style="max-height: 25px; height: 100px; aspect-ratio: auto 20/1;"></div>
|
||||
to the main axis, yielding a resolved min-width:auto of 190px. -->
|
||||
<div class="item" style="max-height: 25px; height: 100px; aspect-ratio: auto 19/1;"></div>
|
||||
</div>
|
||||
</html>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
.item {
|
||||
background: green;
|
||||
padding-left: 15px;
|
||||
padding-top: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.item > div {
|
||||
|
@ -53,25 +54,25 @@
|
|||
because its value contains 'auto'. -->
|
||||
<div class="flexContainer" style="height: auto;">
|
||||
<!-- The content-box width 10px is transferred to the main axis,
|
||||
yielding a resolved flex base size of 200px. -->
|
||||
<div class="item" style="min-height:0; width: 25px; aspect-ratio: auto 1/20;"><div></div></div>
|
||||
yielding a resolved flex base size of 190px. -->
|
||||
<div class="item" style="min-height:0; width: 25px; aspect-ratio: auto 1/19;"><div></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flexContainer">
|
||||
<!-- The content-box width 10px is transferred to the main axis,
|
||||
yielding a resolved min-height:auto of 200px. -->
|
||||
<div class="item" style="width: 25px; aspect-ratio: auto 1/20;"><div></div></div>
|
||||
yielding a resolved min-height:auto of 190px. -->
|
||||
<div class="item" style="width: 25px; aspect-ratio: auto 1/19;"><div></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flexContainer">
|
||||
<!-- The content-box min-width 10px is transferred to the main axis,
|
||||
yielding a resolved min-height:auto of 200px. -->
|
||||
<div class="item" style="min-width: 25px; aspect-ratio: auto 1/20;"><div></div></div>
|
||||
yielding a resolved min-height:auto of 190px. -->
|
||||
<div class="item" style="min-width: 25px; aspect-ratio: auto 1/19;"><div></div></div>
|
||||
</div>
|
||||
|
||||
<div class="flexContainer">
|
||||
<!-- The content-box width 10px (clamped by max-width) is transferred to the main axis,
|
||||
yielding a resolved min-height:auto of 200px. -->
|
||||
<div class="item" style="max-width: 25px; width: 100px; aspect-ratio: auto 1/20;"><div></div></div>
|
||||
yielding a resolved min-height:auto of 190px. -->
|
||||
<div class="item" style="max-width: 25px; width: 100px; aspect-ratio: auto 1/19;"><div></div></div>
|
||||
</div>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS aspect-ratio: Row flexbox and transferred min/max-size</title>
|
||||
<link rel="author" title="Google LLC" href="https://www.google.com/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
|
||||
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
|
||||
<div style="display: flex; flex-direction: row;">
|
||||
<div style="background: green; width: 40px; height: 50px;" ></div>
|
||||
<div style="background: green; width: 60px; max-height: 50px; aspect-ratio: 1/1;"></div>
|
||||
</div>
|
||||
<div style="display: flex; flex-direction: row;">
|
||||
<div style="background: green; width: 40px; height: 50px;" ></div>
|
||||
<div style="background: green; width: 60px; height: 60px; max-height: 50px; aspect-ratio: 1/1;"></div>
|
||||
</div>
|
|
@ -3,6 +3,9 @@
|
|||
<link rel="author" title="Google LLC" href="https://www.google.com/">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio">
|
||||
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" />
|
||||
<!-- The pixel values from the video can be slightly different; allow for
|
||||
fuzzy matching. -->
|
||||
<meta name="fuzzy" content="0-3;0-5000">
|
||||
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
|
||||
|
|
|
@ -162,6 +162,22 @@ One meta element is required per reference requiring a unique
|
|||
fuzziness value, but any unprefixed value will automatically be
|
||||
applied to any ref that doesn't have a more specific value.
|
||||
|
||||
### Debugging fuzzy reftests
|
||||
|
||||
When debugging a fuzzy reftest via `wpt run`, it can be useful to know what the
|
||||
allowed and detected differences were. Many of the output logger options will
|
||||
provide this information. For example, by passing `--log-mach=-` for a run of a
|
||||
hypothetical failing test, one might get:
|
||||
|
||||
```
|
||||
0:08.15 TEST_START: /foo/bar.html
|
||||
0:09.70 INFO Found 250 pixels different, maximum difference per channel 6 on page 1
|
||||
0:09.70 INFO Allowed 0-100 pixels different, maximum difference per channel 0-0
|
||||
0:09.70 TEST_END: FAIL, expected PASS - /foo/bar.html ['f83385ed9c9bea168108b8c448366678c7941627']
|
||||
```
|
||||
|
||||
For other logging flags, see the output of `wpt run --help`.
|
||||
|
||||
## Limitations
|
||||
|
||||
In some cases, a test cannot be a reftest. For example, there is no
|
||||
|
|
|
@ -708,4 +708,17 @@
|
|||
}, "Cross-document references and moves.");
|
||||
</script>
|
||||
|
||||
<!-- TODO(chrishall): add additional GC test covering:
|
||||
if an element is in an invalid scope but attached to the document, it's
|
||||
not GC'd;
|
||||
-->
|
||||
|
||||
<!-- TODO(chrishall): add additional GC test covering:
|
||||
if an element is not attached to the document, but is in a tree fragment
|
||||
which is not GC'd because there is a script reference to another element
|
||||
in the tree fragment, and the relationship is valid because it is between
|
||||
two elements in that tree fragment, the relationship is exposed *and* the
|
||||
element is not GC'd
|
||||
-->
|
||||
|
||||
</html>
|
||||
|
|
|
@ -12,31 +12,6 @@ const cookie_key = "coep_credentialless_iframe_load_cookie";
|
|||
const cookie_same_origin = "same_origin";
|
||||
const cookie_cross_origin = "cross_origin";
|
||||
|
||||
// Open a new window with a given |origin|, loaded with COEP:credentialless. The
|
||||
// new document will execute any scripts sent toward the token it returns.
|
||||
const newCredentiallessWindow = (origin) => {
|
||||
const main_document_token = token();
|
||||
const url = origin + executor_path + coep_credentialless +
|
||||
`&uuid=${main_document_token}`;
|
||||
const w = window.open(url);
|
||||
add_completion_callback(() => w.close());
|
||||
return main_document_token;
|
||||
};
|
||||
|
||||
// Create a new iframe, loaded with COEP:credentialless.
|
||||
// The new document will execute any scripts sent toward the token it returns.
|
||||
const newCredentiallessIframe = (parent_token, child_origin) => {
|
||||
const sub_document_token = token();
|
||||
const iframe_url = child_origin + executor_path + coep_credentialless +
|
||||
`&uuid=${sub_document_token}`;
|
||||
send(parent_token, `
|
||||
let iframe = document.createElement("iframe");
|
||||
iframe.src = "${iframe_url}";
|
||||
document.body.appendChild(iframe);
|
||||
`)
|
||||
return sub_document_token;
|
||||
};
|
||||
|
||||
// Fetch a resource, returns the HTTP request cookies.
|
||||
const cookieFromResource = async (document_token, resource_origin) => {
|
||||
const resource_token = token();
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/get-host-info.sub.js"></script>
|
||||
<script src="/common/utils.js"></script>
|
||||
<script src="./resources/common.js"></script>
|
||||
<script src="./resources/dispatcher.js"></script>
|
||||
<script>
|
||||
|
||||
const same_origin = get_host_info().HTTPS_ORIGIN;
|
||||
const cross_origin = get_host_info().HTTPS_REMOTE_ORIGIN;
|
||||
const local_storage_key = "coep_credentialless_iframe_local_storage";
|
||||
const local_storage_same_origin = "same_origin";
|
||||
const local_storage_cross_origin = "cross_origin";
|
||||
|
||||
promise_test_parallel(async test => {
|
||||
// Add an item in the localStorage on same_origin.
|
||||
localStorage.setItem(local_storage_key, local_storage_same_origin);
|
||||
|
||||
// Add an item in the localStorage on cross_origin.
|
||||
{
|
||||
const w_token = token();
|
||||
const w_url = cross_origin + executor_path + `&uuid=${w_token}`;
|
||||
const w = window.open(w_url);
|
||||
const reply_token = token();
|
||||
send(w_token, `
|
||||
localStorage.setItem("${local_storage_key}",
|
||||
"${local_storage_cross_origin}");
|
||||
send("${reply_token}", "done");
|
||||
`);
|
||||
assert_equals(await receive(reply_token), "done");
|
||||
w.close();
|
||||
}
|
||||
|
||||
let credentialless_window = newCredentiallessWindow(same_origin);
|
||||
|
||||
promise_test_parallel(async test => {
|
||||
let iframe = newCredentiallessIframe(credentialless_window, same_origin);
|
||||
let reply_token = token();
|
||||
send(iframe, `
|
||||
let value = localStorage.getItem("${local_storage_key}");
|
||||
send("${reply_token}", value);
|
||||
`)
|
||||
assert_equals(
|
||||
await receive(reply_token),
|
||||
local_storage_same_origin
|
||||
);
|
||||
}, "same_origin iframe can access the localStorage");
|
||||
|
||||
promise_test_parallel(async test => {
|
||||
let iframe = newCredentiallessIframe(credentialless_window, cross_origin);
|
||||
let reply_token = token();
|
||||
send(iframe, `
|
||||
let value = localStorage.getItem("${local_storage_key}");
|
||||
send("${reply_token}", value);
|
||||
`)
|
||||
assert_equals(await receive(reply_token), "")
|
||||
}, "cross_origin iframe can't access the localStorage");
|
||||
|
||||
}, "Setup")
|
||||
|
||||
</script>
|
|
@ -40,3 +40,29 @@ let parseCookies = function(headers_json) {
|
|||
return acc;
|
||||
}, {});
|
||||
}
|
||||
|
||||
// Open a new window with a given |origin|, loaded with COEP:credentialless. The
|
||||
// new document will execute any scripts sent toward the token it returns.
|
||||
const newCredentiallessWindow = (origin) => {
|
||||
const main_document_token = token();
|
||||
const url = origin + executor_path + coep_credentialless +
|
||||
`&uuid=${main_document_token}`;
|
||||
const w = window.open(url);
|
||||
add_completion_callback(() => w.close());
|
||||
return main_document_token;
|
||||
};
|
||||
|
||||
// Create a new iframe, loaded with COEP:credentialless.
|
||||
// The new document will execute any scripts sent toward the token it returns.
|
||||
const newCredentiallessIframe = (parent_token, child_origin) => {
|
||||
const sub_document_token = token();
|
||||
const iframe_url = child_origin + executor_path + coep_credentialless +
|
||||
`&uuid=${sub_document_token}`;
|
||||
send(parent_token, `
|
||||
let iframe = document.createElement("iframe");
|
||||
iframe.src = "${iframe_url}";
|
||||
document.body.appendChild(iframe);
|
||||
`)
|
||||
return sub_document_token;
|
||||
};
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@ http://www.w3.org/wiki/PointerEvents/TestAssertions
|
|||
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/testdriver.js"></script>
|
||||
<script src="/resources/testdriver-actions.js"></script>
|
||||
<script src="/resources/testdriver-vendor.js"></script>
|
||||
<!-- Additional helper script for common checks across event types -->
|
||||
<script type="text/javascript" src="pointerevent_support.js"></script>
|
||||
<script>
|
||||
|
@ -22,8 +25,10 @@ http://www.w3.org/wiki/PointerEvents/TestAssertions
|
|||
add_completion_callback(showPointerTypes);
|
||||
var detected_pointertypes = {};
|
||||
|
||||
function run() {
|
||||
async function run() {
|
||||
var target0 = document.getElementById("target0");
|
||||
var innerframe = document.getElementById("innerframe");
|
||||
var target1 = innerframe.contentWindow.document.getElementsByTagName("div")[0];
|
||||
var pointerover_pointerId = null;
|
||||
var pointerover_pointerType = null;
|
||||
|
||||
|
@ -42,9 +47,11 @@ http://www.w3.org/wiki/PointerEvents/TestAssertions
|
|||
}
|
||||
|
||||
on_event(window, "message", function(event) {
|
||||
var pe_event = JSON.parse(event.data);
|
||||
receivedEventsInnerFrame[pe_event.type] = 1;
|
||||
checkPointerId(pe_event, true);
|
||||
if (event.source != innerframe.contentWindow) {
|
||||
return;
|
||||
}
|
||||
receivedEventsInnerFrame[event.data.type] = 1;
|
||||
checkPointerId(event.data, true);
|
||||
if (Object.keys(receivedEvents).length == eventList.length && Object.keys(receivedEventsInnerFrame).length == eventList.length)
|
||||
test_pointerEvent.done();
|
||||
});
|
||||
|
@ -59,7 +66,17 @@ http://www.w3.org/wiki/PointerEvents/TestAssertions
|
|||
}
|
||||
receivedEvents[event.type] = 1;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
var iframeRect = innerframe.getClientRects()[0];
|
||||
var rect = target1.getClientRects()[0];
|
||||
var center_x = Math.round(iframeRect.left + (rect.left + rect.right) / 2);
|
||||
var center_y = Math.round(iframeRect.top + (rect.top + rect.bottom) / 2);
|
||||
await new test_driver.Actions()
|
||||
.pointerMove(0, 0, {origin: target0})
|
||||
.pointerMove(center_x, center_y)
|
||||
.pointerMove(center_y, center_y + 100)
|
||||
.send();
|
||||
}
|
||||
</script>
|
||||
</head>
|
|
@ -22,7 +22,7 @@ http://www.w3.org/wiki/PointerEvents/TestAssertions
|
|||
'type' : event.type,
|
||||
'pointerType' : event.pointerType
|
||||
};
|
||||
top.postMessage(JSON.stringify(pass_data), "*");
|
||||
top.postMessage(pass_data, "*");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -115,11 +115,17 @@ window.onload = async function() {
|
|||
// Inject mouse inputs.
|
||||
await new test_driver.Actions()
|
||||
.pointerMove(b_rect.right + 10, center_b_y)
|
||||
.pause(50)
|
||||
.pointerMove(0, 0, {origin: b})
|
||||
.pause(50)
|
||||
.pointerMove(b_rect.right + 10, center_b_y)
|
||||
.pause(50)
|
||||
.pointerMove(a_rect.right + 10, center_b_y)
|
||||
.pause(50)
|
||||
.pointerMove(c_rect.right + 10, center_c_y)
|
||||
.pause(50)
|
||||
.pointerMove(0, 0, {origin: c})
|
||||
.pause(50)
|
||||
.pointerMove(c_rect.right + 20, c_rect.bottom + 20)
|
||||
.send();
|
||||
};
|
||||
|
|
|
@ -85,3 +85,18 @@ promise_test(t => {
|
|||
promise_test(t => {
|
||||
return testFourColorsDecode('four-colors.gif', 'image/gif');
|
||||
}, 'Test GIF image decoding.');
|
||||
|
||||
promise_test(t => {
|
||||
return fetch('four-colors.png').then(response => {
|
||||
let decoder = new ImageDecoder({data: response.body, type: 'junk/type'});
|
||||
return promise_rejects_dom(t, 'NotSupportedError', decoder.decode());
|
||||
});
|
||||
}, 'Test invalid mime type rejects decode() requests');
|
||||
|
||||
promise_test(t => {
|
||||
return fetch('four-colors.png').then(response => {
|
||||
let decoder = new ImageDecoder({data: response.body, type: 'junk/type'});
|
||||
return promise_rejects_dom(
|
||||
t, 'NotSupportedError', decoder.decodeMetadata());
|
||||
});
|
||||
}, 'Test invalid mime type rejects decodeMetadata() requests');
|
||||
|
|
|
@ -123,6 +123,21 @@ def configuration():
|
|||
}
|
||||
|
||||
|
||||
async def reset_current_session_if_necessary(caps, request_bidi):
|
||||
global _current_session
|
||||
|
||||
# If there is a session with different capabilities active or the current session
|
||||
# is of different type than the one we would like to create, end it now.
|
||||
if _current_session is not None:
|
||||
is_bidi = isinstance(_current_session, webdriver.BidiSession)
|
||||
if is_bidi != request_bidi or not _current_session.match(caps):
|
||||
if is_bidi:
|
||||
await _current_session.end()
|
||||
else:
|
||||
_current_session.end()
|
||||
_current_session = None
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
async def session(capabilities, configuration, request):
|
||||
"""Create and start a session for a test that does not itself test session creation.
|
||||
|
@ -139,17 +154,7 @@ async def session(capabilities, configuration, request):
|
|||
deep_update(caps, capabilities)
|
||||
caps = {"alwaysMatch": caps}
|
||||
|
||||
is_cur_bidi = isinstance(_current_session, webdriver.BidiSession)
|
||||
# If there is a session with different capabilities active or the current session
|
||||
# is of different type than the one we would like to create, end it now.
|
||||
if _current_session is not None:
|
||||
is_bidi = isinstance(_current_session, webdriver.BidiSession)
|
||||
if is_bidi or caps != _current_session.requested_capabilities:
|
||||
if is_bidi:
|
||||
await _current_session.end()
|
||||
else:
|
||||
_current_session.end()
|
||||
_current_session = None
|
||||
await reset_current_session_if_necessary(caps, False)
|
||||
|
||||
if _current_session is None:
|
||||
_current_session = webdriver.Session(
|
||||
|
@ -188,21 +193,13 @@ async def bidi_session(capabilities, configuration, request):
|
|||
deep_update(caps, capabilities)
|
||||
caps = {"alwaysMatch": caps}
|
||||
|
||||
if _current_session is not None:
|
||||
is_bidi = isinstance(_current_session, webdriver.BidiSession)
|
||||
if not is_bidi or not _current_session.match(caps):
|
||||
if is_bidi:
|
||||
await _current_session.end()
|
||||
else:
|
||||
_current_session.end()
|
||||
_current_session = None
|
||||
await reset_current_session_if_necessary(caps, True)
|
||||
|
||||
if _current_session is None:
|
||||
_current_session = webdriver.BidiSession(
|
||||
configuration["host"],
|
||||
configuration["port"],
|
||||
capabilities=caps)
|
||||
|
||||
try:
|
||||
await _current_session.start()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue