mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Update web-platform-tests to revision 1a7d6fcf01f28389b557b20951808a8adfef7e2d
This commit is contained in:
parent
cabd254509
commit
7b73751e5d
101 changed files with 1496 additions and 219 deletions
|
@ -4,7 +4,7 @@
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
[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.]
|
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-002.html]
|
|
||||||
[Hit test float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
[flex-minimum-height-flex-items-025.html]
|
||||||
|
[.outer-column-flexbox > div 3]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[.outer-column-flexbox > div 2]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[.outer-column-flexbox > div 1]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[.outer-column-flexbox > div 4]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-026.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-027.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-028.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-030.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-width-flex-items-015.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
||||||
|
[justify-content-006.html]
|
||||||
|
[.middle > div 1]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -2,3 +2,6 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Hit test within unscaled box]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[CaretPosition-001.html]
|
|
||||||
[Element at (400, 100)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[elementsFromPoint-invalid-cases.html]
|
||||||
|
[The root element is the last element returned for otherwise empty queries within the viewport]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -312,27 +312,24 @@
|
||||||
[<iframe>: separate response Content-Type: text/html */*]
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
[<iframe>: separate response Content-Type: text/plain */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,9 +56,6 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
[separate text/javascript ]
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[separate text/javascript; charset=windows-1252 text/javascript]
|
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[image-loads.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -5,3 +5,15 @@
|
||||||
[Test javascript URL string return values in direct and indirect (target) frame contexts. 9]
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 9]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 7]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 6]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 5]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[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]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[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]
|
[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]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[form-double-submit-3.html]
|
||||||
|
[<button> should have the same double-submit protection as <input type=submit>]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -5,18 +5,12 @@
|
||||||
[input type search: setRangeText() a second time (must not fire select)]
|
[input type search: setRangeText() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[textarea: selectionEnd a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[textarea: setSelectionRange() a second time (must not fire select)]
|
[textarea: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: setSelectionRange() a second time (must not fire select)]
|
[input type url: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type password: selectionEnd out of range a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type search: setSelectionRange() a second time (must not fire select)]
|
[input type search: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -29,42 +23,60 @@
|
||||||
[input type text: selectionStart out of range a second time (must not fire select)]
|
[input type text: selectionStart out of range a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type text: selectionStart a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type tel: select() a second time (must not fire select)]
|
[input type tel: select() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: selectionStart a second time (must not fire select)]
|
[input type url: selectionStart a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type password: select() a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type text: setSelectionRange() a second time (must not fire select)]
|
[input type text: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: selectionStart out of range 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: setSelectionRange() a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type text: selectionDirection a second time (must not fire select)]
|
[input type text: selectionDirection a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[textarea: setSelectionRange out of range a second time (must not fire select)]
|
[textarea: setSelectionRange out of range a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type text: setRangeText() a second time (must not fire select)]
|
[input type text: selectionEnd a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type password: selectionDirection a second time (must not fire select)]
|
[input type tel: setRangeText() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: setSelectionRange out of range a second time (must not fire select)]
|
[input type url: selectionEnd out of range a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type url: selectionEnd 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 text: setSelectionRange out of range a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type url: select() a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type password: setRangeText() a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type tel: setSelectionRange out of range 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 url: setRangeText() a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[textarea: selectionEnd out of range a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type tel: selectionStart a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type search: selectionStart a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
[popup-shadow-dom.tentative.html]
|
||||||
|
[anchor references use the DOM tree not the flat tree]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The popup stack is preserved across shadow-inclusive ancestors]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Popups located inside shadow DOM can still be shown]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[anchor references do not cross shadow boundaries]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[module-delayed.html]
|
||||||
|
[async document.write in a module]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -3,6 +3,3 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
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
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[entry.html]
|
[entry.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Start function]
|
[Start function]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
||||||
[Sanity check: this all works as expected synchronously]
|
[Sanity check: this all works as expected synchronously]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[realtimeanalyser-fft-scaling.html]
|
[realtimeanalyser-fft-scaling.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[audiocontext-not-fully-active.html]
|
[audiocontext-not-fully-active.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[frame in navigated remote-site frame]
|
[frame in navigated remote-site frame]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[017.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[origin of the script that invoked the method, about:blank]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[017.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[origin of the script that invoked the method, about:blank]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[018.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, javascript:]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
[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.]
|
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
|
@ -493,6 +493,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"css-tables": {
|
"css-tables": {
|
||||||
|
"absolute-crash.html": [
|
||||||
|
"d45582560760c03163d3dc941e4aca6b0f03c588",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"visibility-collapse-colspan-crash.html": [
|
"visibility-collapse-colspan-crash.html": [
|
||||||
"591fbd9a9941648f1456b41aeee1e23ed660a1ed",
|
"591fbd9a9941648f1456b41aeee1e23ed660a1ed",
|
||||||
[
|
[
|
||||||
|
@ -10845,15 +10852,6 @@
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"css-overscroll-behavior": {
|
|
||||||
"overscroll-behavior-manual.html": [
|
|
||||||
"97f52984a51ae4157ec8ed91ddf4b3b8d405bec6",
|
|
||||||
[
|
|
||||||
null,
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"css-page": {
|
"css-page": {
|
||||||
"forced-page-breaks-002.xht": [
|
"forced-page-breaks-002.xht": [
|
||||||
"971dff0bd1681d5f29f2e3b02e300d4d06ec35a9",
|
"971dff0bd1681d5f29f2e3b02e300d4d06ec35a9",
|
||||||
|
@ -14266,17 +14264,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dom": {
|
|
||||||
"events": {
|
|
||||||
"document-level-wheel-event-listener-passive-by-default-manual.html": [
|
|
||||||
"4fa67528ff748b6a55d13325b908f722fc511cae",
|
|
||||||
[
|
|
||||||
null,
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dpub-aam": {
|
"dpub-aam": {
|
||||||
"doc-abstract-manual.html": [
|
"doc-abstract-manual.html": [
|
||||||
"b67c7fa424b339973957af9e6423e5120334a167",
|
"b67c7fa424b339973957af9e6423e5120334a167",
|
||||||
|
@ -18182,13 +18169,6 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"pointerevent_touch-action-mouse-manual.html": [
|
|
||||||
"fcc8584515c51d60bb01092ffe1f701273c7bb58",
|
|
||||||
[
|
|
||||||
null,
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"pointerevent_touch-action-rotated-divs_touch-manual.html": [
|
"pointerevent_touch-action-rotated-divs_touch-manual.html": [
|
||||||
"1c09b15f1f99eead72a0689ab14a4facb1c61e3f",
|
"1c09b15f1f99eead72a0689ab14a4facb1c61e3f",
|
||||||
[
|
[
|
||||||
|
@ -142111,6 +142091,71 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"flex-minimum-height-flex-items-026.html": [
|
||||||
|
"9f46c953c4a8396c7dcb58012b16235c0b9e5377",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"flex-minimum-height-flex-items-027.html": [
|
||||||
|
"052ff6a5bd89c56b51d76a1782ac87d1a9d1e2c3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"flex-minimum-height-flex-items-028.html": [
|
||||||
|
"45cf76837d345b8e84daec72462f8ae8c42f19b5",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"flex-minimum-height-flex-items-029.html": [
|
||||||
|
"62b77b92fc91f206d96b6208d65bfb3bd524088f",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"flex-minimum-height-flex-items-030.html": [
|
||||||
|
"a3dc56e59e433e64a6f024c5d9ea8264cb658210",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"flex-minimum-width-flex-items-001.xht": [
|
"flex-minimum-width-flex-items-001.xht": [
|
||||||
"cd18483ba414160c46e30bc282dec0c2fcd2f418",
|
"cd18483ba414160c46e30bc282dec0c2fcd2f418",
|
||||||
[
|
[
|
||||||
|
@ -142280,6 +142325,32 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"flex-minimum-width-flex-items-015.html": [
|
||||||
|
"d4020fe75e3ee1e52b07576132f8db2f880ebfcd",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"flex-minimum-width-flex-items-016.html": [
|
||||||
|
"a3f4eb4a85cebf937e5568f7431358af71e388e3",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"flex-order.html": [
|
"flex-order.html": [
|
||||||
"be24b2817e232b7ad7fc936b7b22787591d3d9db",
|
"be24b2817e232b7ad7fc936b7b22787591d3d9db",
|
||||||
[
|
[
|
||||||
|
@ -143554,6 +143625,19 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"flexbox-definite-sizes-006.html": [
|
||||||
|
"4b5aaf8dc443ed986dafc334c79dd3d7627698f8",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square-only.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"flexbox-dyn-resize-001.html": [
|
"flexbox-dyn-resize-001.html": [
|
||||||
"d64c4bdf28ecb783af4f342d515dcf63134602c6",
|
"d64c4bdf28ecb783af4f342d515dcf63134602c6",
|
||||||
[
|
[
|
||||||
|
@ -153874,6 +153958,84 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"replaced-alignment-with-aspect-ratio-004.html": [
|
||||||
|
"437b379332e90ab7ae4a48c17d3f9c7730ba3b98",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"replaced-alignment-with-aspect-ratio-005.html": [
|
||||||
|
"b14c45d0c2d9cb93577b71df90d430aff37734d6",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"replaced-alignment-with-aspect-ratio-006.html": [
|
||||||
|
"ed14e36057948ad5c90f702b6181adba8a72cca7",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"replaced-alignment-with-aspect-ratio-007.html": [
|
||||||
|
"0c841c7654c237dd5cb17f5790cd738a79caef24",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"replaced-alignment-with-aspect-ratio-008.html": [
|
||||||
|
"9227332851a46f597fbe8bb9d12f5d0b45975cfa",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"replaced-alignment-with-aspect-ratio-009.html": [
|
||||||
|
"ff721b8f19b4c2c781fd0c3c69d3e44e541d63a8",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/reference/ref-filled-green-100px-square.xht",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"self-baseline": {
|
"self-baseline": {
|
||||||
"grid-self-baseline-001.html": [
|
"grid-self-baseline-001.html": [
|
||||||
"2473bb5d4fc8adc351af441bf39cffcacc076273",
|
"2473bb5d4fc8adc351af441bf39cffcacc076273",
|
||||||
|
@ -250009,6 +250171,19 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"popup-inside-display-none.tentative.html": [
|
||||||
|
"824e7005e9b4fc2037c1273b0ad526441a7acb0c",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/html/semantics/interactive-elements/the-popup-element/popup-hidden-display-ref.tentative.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"popup-open-display.tentative.html": [
|
"popup-open-display.tentative.html": [
|
||||||
"0f6bd930212e2e9dd210c9af5814af5072706588",
|
"0f6bd930212e2e9dd210c9af5814af5072706588",
|
||||||
[
|
[
|
||||||
|
@ -314706,6 +314881,14 @@
|
||||||
"25b76c3c6f216793a36b1f29287dafd993898c67",
|
"25b76c3c6f216793a36b1f29287dafd993898c67",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
|
"25x50-green.png": [
|
||||||
|
"6ab02fce0fa9b708880d4dbb2dc2b927fd30f59b",
|
||||||
|
[]
|
||||||
|
],
|
||||||
|
"50x50-green.png": [
|
||||||
|
"6c1406b7dfd7c59f413a183c8896b8c2b3395bf5",
|
||||||
|
[]
|
||||||
|
],
|
||||||
"style-change.js": [
|
"style-change.js": [
|
||||||
"766d140d2b239bcc0c11e92481c5ff302d12db5c",
|
"766d140d2b239bcc0c11e92481c5ff302d12db5c",
|
||||||
[]
|
[]
|
||||||
|
@ -353519,7 +353702,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"lint.ignore": [
|
"lint.ignore": [
|
||||||
"0c12d66c04586cf2a807da9b25100fd925e01fa4",
|
"e296376fb69cdef8d293d3b13fb620eb20016553",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"loading": {
|
"loading": {
|
||||||
|
@ -359207,7 +359390,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"setup-worker-service.html": [
|
"setup-worker-service.html": [
|
||||||
"b7a387f47f95d8351572bf74e8f0bc9f1655f4d0",
|
"dd9d9f54e0773e45cdcfa6ffdcaf0cd5d2949cd2",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"single-page-test-fail.html": [
|
"single-page-test-fail.html": [
|
||||||
|
@ -359484,7 +359667,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"testharness.js": [
|
"testharness.js": [
|
||||||
"3623aa4d57e6bdab1fcab1b235646331381df31e",
|
"adfb692ccd9bf202cc5642558c588ab168af7906",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"testharness.js.headers": [
|
"testharness.js.headers": [
|
||||||
|
@ -374564,7 +374747,7 @@
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"utils.js": [
|
"utils.js": [
|
||||||
"940c2c28b962f326fa94f509ddb1468902f5b150",
|
"9b0a022af8ecfe88b3e7ad72aa5c930d336996ae",
|
||||||
[]
|
[]
|
||||||
],
|
],
|
||||||
"vp9.mp4": [
|
"vp9.mp4": [
|
||||||
|
@ -400609,6 +400792,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"worker-data-set-timeout.sub.html": [
|
||||||
|
"ac4b608b08c4ed3867f587847cc699a91cedc5c4",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"worker-eval-blocked.sub.html": [
|
"worker-eval-blocked.sub.html": [
|
||||||
"9a264f2a240bfb89b29aeee7ec39fb1e035b0f52",
|
"9a264f2a240bfb89b29aeee7ec39fb1e035b0f52",
|
||||||
[
|
[
|
||||||
|
@ -407836,6 +408026,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"flex-minimum-height-flex-items-025.html": [
|
||||||
|
"2c1f6fa64c6711b5c4c6dd32d5e2055ff6e47689",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"flex-minimum-size-001.html": [
|
"flex-minimum-size-001.html": [
|
||||||
"c2eea80ca5b79818f6b7a9a36ab1ff64826b5218",
|
"c2eea80ca5b79818f6b7a9a36ab1ff64826b5218",
|
||||||
[
|
[
|
||||||
|
@ -408643,6 +408840,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"justify-content-006.html": [
|
||||||
|
"354763c90ce19d4d41a3b1b2b33db14759b2ab45",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"justify-content_space-between-002.html": [
|
"justify-content_space-between-002.html": [
|
||||||
"fde1a7312408d02fe3843452585de2ee660ae6f7",
|
"fde1a7312408d02fe3843452585de2ee660ae6f7",
|
||||||
[
|
[
|
||||||
|
@ -415019,6 +415223,15 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"overscroll-behavior.html": [
|
||||||
|
"f018d5cd8769bc4cf991d437f137d6153d2e7f93",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"parsing": {
|
"parsing": {
|
||||||
"overscroll-behavior-computed.html": [
|
"overscroll-behavior-computed.html": [
|
||||||
"e7b40d95c576016ca041ca167f876119ce431f08",
|
"e7b40d95c576016ca041ca167f876119ce431f08",
|
||||||
|
@ -418909,7 +419122,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"fixed-layout-2.html": [
|
"fixed-layout-2.html": [
|
||||||
"13a4664249f3a758858e190fa9361ffc6b2ed17b",
|
"dcbabb1ff7460ce563c3f127b9215e7b1211434b",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -432180,6 +432393,15 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"document-level-wheel-event-listener-passive-by-default.html": [
|
||||||
|
"b7224835fa398b3a81415af4ff288899bf53c266",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"event-disabled-dynamic.html": [
|
"event-disabled-dynamic.html": [
|
||||||
"3f995b02f1b421f376dc6037d42c442307503fb2",
|
"3f995b02f1b421f376dc6037d42c442307503fb2",
|
||||||
[
|
[
|
||||||
|
@ -484721,7 +484943,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"canvas-aspect-ratio.html": [
|
"canvas-aspect-ratio.html": [
|
||||||
"f523fd7219b204f1a7ac91805c206563d354e3ba",
|
"91fdc6c86c55595c2484a88a4e026827c3608581",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -491914,6 +492136,13 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"popup-shadow-dom.tentative.html": [
|
||||||
|
"f17bdabac4b2bdd1f2e615e3bf90cf6ee1018059",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"popup-stacking.tentative.html": [
|
"popup-stacking.tentative.html": [
|
||||||
"bcba6f064c033aa25291fa7ff4df4ddb4f63d29d",
|
"bcba6f064c033aa25291fa7ff4df4ddb4f63d29d",
|
||||||
[
|
[
|
||||||
|
@ -508261,7 +508490,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"showPicker-errors.https.window.js": [
|
"showPicker-errors.https.window.js": [
|
||||||
"ecc64dfe66d6dd9611b33c75cd2504d11814eaf7",
|
"2310c323d9f37d317a65e2bb6cdcc001ebfa3568",
|
||||||
[
|
[
|
||||||
"native-file-system/showPicker-errors.https.window.html",
|
"native-file-system/showPicker-errors.https.window.html",
|
||||||
{
|
{
|
||||||
|
@ -514295,6 +514524,15 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"pointerevent_touch-action-mouse.html": [
|
||||||
|
"9eb3839ec073a07cd7e820c363a9e84a2b69996e",
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"pointerevent_touch-action-none-css_touch.html": [
|
"pointerevent_touch-action-none-css_touch.html": [
|
||||||
"2ff161a915c95d1c14916fede40ca76439813cc9",
|
"2ff161a915c95d1c14916fede40ca76439813cc9",
|
||||||
[
|
[
|
||||||
|
@ -553141,7 +553379,7 @@
|
||||||
},
|
},
|
||||||
"the-oscillatornode-interface": {
|
"the-oscillatornode-interface": {
|
||||||
"ctor-oscillator.html": [
|
"ctor-oscillator.html": [
|
||||||
"36bf604b296c63b213d99408ab38937c62a755dc",
|
"bf50195a5b3bf7a9f49186f7892577381ba80c1a",
|
||||||
[
|
[
|
||||||
null,
|
null,
|
||||||
{}
|
{}
|
||||||
|
@ -553816,7 +554054,7 @@
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"video-frame.any.js": [
|
"video-frame.any.js": [
|
||||||
"14cce43baf144aedc57eab1a84dd8517dc2804e0",
|
"b02badc082f3f6627941a1e73e047065c12c95a2",
|
||||||
[
|
[
|
||||||
"webcodecs/video-frame.any.html",
|
"webcodecs/video-frame.any.html",
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-002.html]
|
|
||||||
[Hit test float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[hit-test-floats-005.html]
|
|
||||||
[Miss clipped float]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
[flex-minimum-height-flex-items-025.html]
|
||||||
|
[.outer-column-flexbox > div 3]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[.outer-column-flexbox > div 2]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[.outer-column-flexbox > div 1]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[.outer-column-flexbox > div 4]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-026.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-027.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-028.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-height-flex-items-030.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
||||||
|
[flex-minimum-width-flex-items-015.html]
|
||||||
|
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
||||||
|
[justify-content-006.html]
|
||||||
|
[.middle > div 1]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -2,3 +2,6 @@
|
||||||
[Hit test intersecting scaled box]
|
[Hit test intersecting scaled box]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Hit test within unscaled box]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[CaretPosition-001.html]
|
|
||||||
[Element at (400, 100)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[elementsFromPoint-invalid-cases.html]
|
||||||
|
[The root element is the last element returned for otherwise empty queries within the viewport]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -312,27 +312,24 @@
|
||||||
[<iframe>: separate response Content-Type: text/html */*]
|
[<iframe>: separate response Content-Type: text/html */*]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: */* text/html]
|
[<iframe>: combined response Content-Type: */* text/html]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
[<iframe>: separate response Content-Type: text/plain */*]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -56,9 +56,6 @@
|
||||||
[separate text/javascript x/x]
|
[separate text/javascript x/x]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
[separate text/javascript ]
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[separate text/javascript; charset=windows-1252 text/javascript]
|
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[image-loads.html]
|
|
||||||
expected: TIMEOUT
|
|
|
@ -5,3 +5,15 @@
|
||||||
[Test javascript URL string return values in direct and indirect (target) frame contexts. 9]
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 9]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 7]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 6]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 5]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Test javascript URL string return values in direct and indirect (target) frame contexts. 8]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_1.html]
|
|
||||||
[Multiple history traversals from the same task]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[iframe_sandbox_popups_escaping-1.html]
|
[iframe_sandbox_popups_escaping-1.html]
|
||||||
type: testharness
|
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]
|
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
[iframe_sandbox_popups_escaping-3.html]
|
[iframe_sandbox_popups_escaping-3.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: TIMEOUT
|
|
||||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
[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]
|
[iframe_sandbox_popups_nonescaping-1.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[iframe_sandbox_popups_nonescaping-3.html]
|
[iframe_sandbox_popups_nonescaping-3.html]
|
||||||
expected: TIMEOUT
|
expected: CRASH
|
||||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||||
expected: NOTRUN
|
expected: NOTRUN
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[form-double-submit-3.html]
|
||||||
|
[<button> should have the same double-submit protection as <input type=submit>]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -5,18 +5,12 @@
|
||||||
[input type search: setRangeText() a second time (must not fire select)]
|
[input type search: setRangeText() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[textarea: selectionEnd a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[textarea: setSelectionRange() a second time (must not fire select)]
|
[textarea: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: setSelectionRange() a second time (must not fire select)]
|
[input type url: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type password: selectionEnd out of range a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type search: setSelectionRange() a second time (must not fire select)]
|
[input type search: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -29,42 +23,60 @@
|
||||||
[input type text: selectionStart out of range a second time (must not fire select)]
|
[input type text: selectionStart out of range a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type text: selectionStart a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type tel: select() a second time (must not fire select)]
|
[input type tel: select() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: selectionStart a second time (must not fire select)]
|
[input type url: selectionStart a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type password: select() a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type text: setSelectionRange() a second time (must not fire select)]
|
[input type text: setSelectionRange() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: selectionStart out of range 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: setSelectionRange() a second time (must not fire select)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[input type text: selectionDirection a second time (must not fire select)]
|
[input type text: selectionDirection a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[textarea: setSelectionRange out of range a second time (must not fire select)]
|
[textarea: setSelectionRange out of range a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type text: setRangeText() a second time (must not fire select)]
|
[input type text: selectionEnd a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type password: selectionDirection a second time (must not fire select)]
|
[input type tel: setRangeText() a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[input type url: setSelectionRange out of range a second time (must not fire select)]
|
[input type url: selectionEnd out of range a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type url: selectionEnd 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 text: setSelectionRange out of range a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type url: select() a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type password: setRangeText() a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type tel: setSelectionRange out of range 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 url: setRangeText() a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[textarea: selectionEnd out of range a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type tel: selectionStart a second time (must not fire select)]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[input type search: selectionStart a second time (must not fire select)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
[popup-shadow-dom.tentative.html]
|
||||||
|
[anchor references use the DOM tree not the flat tree]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[The popup stack is preserved across shadow-inclusive ancestors]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[Popups located inside shadow DOM can still be shown]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
[anchor references do not cross shadow boundaries]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
[module-delayed.html]
|
||||||
|
[async document.write in a module]
|
||||||
|
expected: FAIL
|
||||||
|
|
|
@ -4,6 +4,3 @@
|
||||||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||||
expected: TIMEOUT
|
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
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[entry.html]
|
[entry.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Start function]
|
[Start function]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
||||||
[Sanity check: this all works as expected synchronously]
|
[Sanity check: this all works as expected synchronously]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[realtimeanalyser-fft-scaling.html]
|
[realtimeanalyser-fft-scaling.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
[audiocontext-not-fully-active.html]
|
[audiocontext-not-fully-active.html]
|
||||||
expected: TIMEOUT
|
|
||||||
[frame in navigated remote-site frame]
|
[frame in navigated remote-site frame]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[017.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[origin of the script that invoked the method, about:blank]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
[017.html]
|
||||||
|
expected: TIMEOUT
|
||||||
|
[origin of the script that invoked the method, about:blank]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[018.html]
|
|
||||||
expected: TIMEOUT
|
|
||||||
[origin of the script that invoked the method, javascript:]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!-- We add two CSP entries on purpose. The first one does nothing
|
||||||
|
for the purpose of this test, but we want to check that both are
|
||||||
|
inherited -->
|
||||||
|
<meta http-equiv="Content-Security-Policy" content="object-src: 'none'">
|
||||||
|
<meta http-equiv="Content-Security-Policy" content="script-src data: 'self' 'unsafe-inline'; connect-src 'self';">
|
||||||
|
<title>worker-data-set-timeout</title>
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src='../support/testharness-helper.js'></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
fetch('./support/worker-with-script-src-none-set-timeout.js')
|
||||||
|
.then(data => data.text())
|
||||||
|
.then(
|
||||||
|
text => assert_shared_worker_is_loaded(
|
||||||
|
`data:text/javascript,${text}`,
|
||||||
|
"Shared worker with data: url inherits CSP",
|
||||||
|
"setTimeout blocked"));
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,56 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="bookmark" href="https://crbug.com/1033476">
|
||||||
|
<meta name="assert" content="Column flex item's height does not influence its min-height content size suggestion in a varitey of scenarios.">
|
||||||
|
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/check-layout-th.js"></script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.outer-column-flexbox {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100px;
|
||||||
|
margin-bottom: 10px; /* Just for visually spacing things out */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<body onload="checkLayout('.outer-column-flexbox > div');">
|
||||||
|
|
||||||
|
<div id=log></div>
|
||||||
|
|
||||||
|
<p>Test passes if there is a sequence of filled green squares.</p>
|
||||||
|
|
||||||
|
<!-- %height of descendant is not resolved against specified height for purposes of min-content sizing. -->
|
||||||
|
<div class=outer-column-flexbox>
|
||||||
|
<div style="flex-basis: 100px; height: 200px;" data-expected-height=100>
|
||||||
|
<div style="height: 100%; background: green;" data-expected-height=100></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Same as above, but with an orthogonal writing mode flex item. -->
|
||||||
|
<div class=outer-column-flexbox>
|
||||||
|
<div style="flex-basis: 100px; height: 200px; width: 100px; writing-mode: vertical-rl;" data-expected-height=100>
|
||||||
|
<div style="height: 100%; background: green;" data-expected-height=100></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Same as #1 but with a grid child of the flex item. -->
|
||||||
|
<div class=outer-column-flexbox>
|
||||||
|
<div style="flex-basis: 100px; height: 200px;" data-expected-height=100>
|
||||||
|
<div style="display: grid; height: 100%; background: green" data-expected-height=100></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Same as #1 but with a table child of the flex item that has a >0 intrinsic block size. -->
|
||||||
|
<div class=outer-column-flexbox>
|
||||||
|
<div style="flex-basis: 100px; height: 200px;" data-expected-height=100>
|
||||||
|
<table data-expected-height=100 style="height: 100%; width: 100%; background: green">
|
||||||
|
<td>
|
||||||
|
<div style="height: 50px;"></div>
|
||||||
|
</td>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
|
||||||
|
<meta name="assert" content="Child in nested column flexbox's grows to its parent's flex height, not its parent's specified height.">
|
||||||
|
<link href="support/flexbox.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<div class="flexbox column" style="height: 100px;">
|
||||||
|
<!-- min-height: auto resolves to 0 because content-size suggestion is 0. -->
|
||||||
|
<div class="flexbox column" style="flex: 1 0 0px; height: 200px">
|
||||||
|
<!-- min-height: auto resolves to 0 because content-size suggestion is 0. -->
|
||||||
|
<div style="flex: 1 0 0px; width: 100px; background: green;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,34 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-direction-property">
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
|
||||||
|
<meta name="assert" content="Nested flex item shrinks correctly when its parent has a % height that resolves to smaller than the item's flex-basis." />
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.OuterFlexbox {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.InnerFlexbox {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.InnerFlexbox-body {
|
||||||
|
background: green;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="OuterFlexbox">
|
||||||
|
<div class="InnerFlexbox">
|
||||||
|
<div class="InnerFlexbox-body">
|
||||||
|
<div style="height: 200px;">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
|
||||||
|
<meta name="assert" content="Intermediate column flex item's specified min-height is honored.">
|
||||||
|
<link href="support/flexbox.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<div class="flexbox column">
|
||||||
|
<div class="flexbox column" style="flex: 1 0 0px; min-height: 100px">
|
||||||
|
<div style="flex: 1 0 0px; width: 100px; background: green;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
|
||||||
|
<meta name="assert" content="Inner column flexbox doesn't wrap its items because its min-size reported to the outer flexbox accommated the sum of the items' intrinsic block sizes.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<div style="display: flex; flex-direction: column;">
|
||||||
|
<!-- min-height is min(100, 500) = 100 -->
|
||||||
|
<!-- Final height is 100px. -->
|
||||||
|
<div style="display: flex; flex-direction: column; flex-wrap: wrap; flex: 1 0 0px; height: 500px">
|
||||||
|
<!-- min-height is 50 -->
|
||||||
|
<div style="flex: 1 0 0px; width: 100px; background: green;">
|
||||||
|
<div style="height: 50px;"></div>
|
||||||
|
</div>
|
||||||
|
<!-- min-height is 50 -->
|
||||||
|
<div style="flex: 1 0 0px; width: 100px; background: green;">
|
||||||
|
<div style="height: 50px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,23 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-wrap-property" />
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html" />
|
||||||
|
<meta name="assert" content="Inner column flexbox wraps its items when they don't fit in the vertical available space.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<div style="display: flex; flex-direction: column; width: 100px;">
|
||||||
|
<!-- min-height is min(200, 70) = 70 -->
|
||||||
|
<!-- Final height is 70px. Items each have height 100px. They won't both fit, so they need to be wrapped. -->
|
||||||
|
<div style="display: flex; flex-direction: column; flex-wrap: wrap; flex: 1 0 0px; height: 70px">
|
||||||
|
<!-- min-height is 100 -->
|
||||||
|
<div style="flex: 1 0 0px; width: 50px; background: green;">
|
||||||
|
<div style="height: 100px;"></div>
|
||||||
|
</div>
|
||||||
|
<!-- min-height is 100 -->
|
||||||
|
<div style="flex: 1 0 0px; width: 50px; background: green;">
|
||||||
|
<div style="height: 100px;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<!doctype html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#definite-sizes" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
|
||||||
|
<meta name="assert" content="Column flexbox's imposed definite size on row flexbox is honored when resolving percentages in automatic minimum size algorithm.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: flex; flex-direction: column; width: 100px; height: 444px;">
|
||||||
|
<div style="flex-basis: 100px; display: flex; min-height: 0px;">
|
||||||
|
<!-- min-width is min-height transferred through the aspect ratio: 1 x 100% x 100px = 100px -->
|
||||||
|
<img src="support/200x200-green.png" style="min-height: 100%;">
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,13 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="dgrogan@chromium.org" href="mailto:dgrogan@chromium.org" />
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#min-size-auto" />
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
|
||||||
|
<meta name="assert" content="Height of flex item in row flexbox is not ignored when resolving percentages of its descendants to determine content based minimum size suggestion.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<div style="display: flex; width: 0px; height: 20px;">
|
||||||
|
<div style="flex-basis: 50px; height: 100px;">
|
||||||
|
<img src="support/200x200-green.png" style="height: 100%">
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!doctype html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#algo-stretch">
|
||||||
|
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
|
||||||
|
<meta name="assert" content="Item stretches to row flexbox's height when the row flexbox has a definite height but is a child of a column flexbox with an indefinite height." />
|
||||||
|
<p>Test passes if there is a filled green square.</p>
|
||||||
|
|
||||||
|
<div style="display: flex; flex-direction: column;">
|
||||||
|
<div style="height: 100px; display: flex;">
|
||||||
|
<div style="width: 100px; background: green;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#justify-content-property">
|
||||||
|
<meta name="assert" content="Flex item in nested column flexbox is justified properly.">
|
||||||
|
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/check-layout-th.js"></script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.outer {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100px;
|
||||||
|
border: 2px solid black;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.middle {
|
||||||
|
flex: 0 0 50px;
|
||||||
|
min-height: 50px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
Test passes if orange square is in bottom left corner of rectangle.
|
||||||
|
|
||||||
|
<div class="outer">
|
||||||
|
<div class="middle">
|
||||||
|
<div style="width: 30px; height: 30px; background: orange" data-offset-y=20></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
checkLayout('.middle > div');
|
||||||
|
</script>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5713">
|
||||||
|
<meta name="assert" content="If stretch alignment is applied to both axis the aspect-ratio of a replaced element is ignored.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: grid; grid-template: 100px / 100px; width: 100px; height: 100px; background: red;">
|
||||||
|
<img src="support/25x50-green.png" width=25 height=50 style="background: green; align-self: stretch; justify-self: stretch; width: auto; height: auto;"></img>
|
||||||
|
</div>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5713">
|
||||||
|
<meta name="assert" content="If stretch alignment is applied to both axis the aspect-ratio of a replaced element is ignored.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: grid; grid-template: 100px / 100px; width: 100px; height: 100px; background: red;">
|
||||||
|
<img src="support/25x50-green.png" width=25 height=50 style="background: green; align-self: stretch; justify-self: stretch; width: auto; height: auto; writing-mode: vertical-lr;"></img>
|
||||||
|
</div>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5713">
|
||||||
|
<meta name="assert" content="If stretch alignment is applied to both axis the aspect-ratio of a replaced element is ignored, but not when auto margins are present.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: grid; grid-template: 100px / 500px; width: 100px; height: 100px; background: red;">
|
||||||
|
<img src="support/50x50-green.png" width=50 height=50 style="background: green; align-self: stretch; justify-self: stretch; width: auto; height: auto; margin-right: auto;"></img>
|
||||||
|
</div>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5713">
|
||||||
|
<meta name="assert" content="If stretch alignment is applied to both axis the aspect-ratio of a replaced element is ignored, but not when auto margins are present.">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: grid; grid-template: 500px / 100px; width: 100px; height: 100px; background: red;">
|
||||||
|
<img src="support/50x50-green.png" width=50 height=50 style="background: green; align-self: stretch; justify-self: stretch; width: auto; height: auto; margin-bottom: auto;"></img>
|
||||||
|
</div>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5713">
|
||||||
|
<meta name="assert" content="Stretch alignment in one axis should apply aspect-ratio in the other">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: grid; grid-template: 100px / 100px; width: 100px; height: 100px; background: red;">
|
||||||
|
<img src="support/50x50-green.png" width=50 height=50 style="background: green; justify-self: stretch; width: auto; height: auto;"></img>
|
||||||
|
</div>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5713">
|
||||||
|
<meta name="assert" content="Stretch alignment in one axis should apply aspect-ratio in the other">
|
||||||
|
|
||||||
|
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||||
|
|
||||||
|
<div style="display: grid; grid-template: 100px / 100px; width: 100px; height: 100px; background: red;">
|
||||||
|
<img src="support/50x50-green.png" width=50 height=50 style="background: green; align-self: stretch; width: auto; height: auto;"></img>
|
||||||
|
</div>
|
Binary file not shown.
After Width: | Height: | Size: 99 B |
Binary file not shown.
After Width: | Height: | Size: 205 B |
|
@ -1,6 +1,10 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.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>
|
||||||
|
<script src="/css/css-scroll-snap/support/common.js"></script>
|
||||||
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior">
|
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior">
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
@ -57,11 +61,22 @@ setup({explicit_timeout: true});
|
||||||
const container = document.getElementById('container');
|
const container = document.getElementById('container');
|
||||||
const non_scrollable = document.getElementById('non_scrollable');
|
const non_scrollable = document.getElementById('non_scrollable');
|
||||||
const root = document.getElementById('root');
|
const root = document.getElementById('root');
|
||||||
|
const btnDone = document.getElementById('btnDone');
|
||||||
var test = async_test("overscroll-behavior prevents scroll-propagation in the area and direction as specified");
|
var test = async_test("overscroll-behavior prevents scroll-propagation in the area and direction as specified");
|
||||||
var instruction1 = document.getElementById("i1");
|
var instruction1 = document.getElementById("i1");
|
||||||
var instruction2 = document.getElementById("i2");
|
var instruction2 = document.getElementById("i2");
|
||||||
var instruction3 = document.getElementById("i3");
|
var instruction3 = document.getElementById("i3");
|
||||||
var instruction4 = document.getElementById("i4");
|
var instruction4 = document.getElementById("i4");
|
||||||
|
var actions_promise;
|
||||||
|
|
||||||
|
scrollTop = () => container.scrollTop;
|
||||||
|
scrollLeft = () => container.scrollLeft;
|
||||||
|
|
||||||
|
function smoothScrollByXY(xPosition, yPosition, xScrollOffset, yScrollOffset) {
|
||||||
|
return new test_driver.Actions()
|
||||||
|
.scroll(xPosition, yPosition, xScrollOffset, yScrollOffset)
|
||||||
|
.send();
|
||||||
|
}
|
||||||
|
|
||||||
function setUpForRoot(offset) {
|
function setUpForRoot(offset) {
|
||||||
root.scrollTop = offset;
|
root.scrollTop = offset;
|
||||||
|
@ -137,7 +152,9 @@ function verify_non_scrollable_allows_propagation() {
|
||||||
assert_equals(root.scrollLeft, 0);
|
assert_equals(root.scrollLeft, 0);
|
||||||
assert_equals(root.scrollTop, 0);
|
assert_equals(root.scrollTop, 0);
|
||||||
}, "overscroll-behavior on non-scrollable area should not affect scroll propagation.");
|
}, "overscroll-behavior on non-scrollable area should not affect scroll propagation.");
|
||||||
|
actions_promise.then( () => {
|
||||||
test.done();
|
test.done();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var verifyAndSetupForNext = [
|
var verifyAndSetupForNext = [
|
||||||
|
@ -147,7 +164,7 @@ var verifyAndSetupForNext = [
|
||||||
verify_inner_allowed_and_set_nonscrollable_allows_propagation,
|
verify_inner_allowed_and_set_nonscrollable_allows_propagation,
|
||||||
verify_non_scrollable_allows_propagation];
|
verify_non_scrollable_allows_propagation];
|
||||||
|
|
||||||
on_event(document.getElementById("btnDone"), "click", function() {
|
on_event(btnDone, "click", function() {
|
||||||
if (current_test < verifyAndSetupForNext.length)
|
if (current_test < verifyAndSetupForNext.length)
|
||||||
verifyAndSetupForNext[current_test++]();
|
verifyAndSetupForNext[current_test++]();
|
||||||
});
|
});
|
||||||
|
@ -155,4 +172,27 @@ on_event(document.getElementById("btnDone"), "click", function() {
|
||||||
var current_test = 0;
|
var current_test = 0;
|
||||||
verifyAndSetupForNext[current_test++]();
|
verifyAndSetupForNext[current_test++]();
|
||||||
|
|
||||||
|
// Inject scroll actions.
|
||||||
|
const test_cases = [
|
||||||
|
{ x: 200, y: 500, dx: -200, dy: -200 },
|
||||||
|
{ x: 200, y: 500, dx: -200, dy: -200 },
|
||||||
|
{ x: 200, y: 500, dx: -200, dy: -200 },
|
||||||
|
{ x: 200, y: 100, dx: -200, dy: -200 },
|
||||||
|
];
|
||||||
|
|
||||||
|
actions_promise = new Promise( (resolve) => {resolve();} );
|
||||||
|
for (let action of test_cases) {
|
||||||
|
actions_promise = actions_promise.then(() => {
|
||||||
|
return smoothScrollByXY(action.x, action.y, 0, action.dy);
|
||||||
|
}).then(() => {
|
||||||
|
return waitForAnimationEnd(scrollTop);
|
||||||
|
}).then(() => {
|
||||||
|
return smoothScrollByXY(action.x, action.y, action.dx, 0);
|
||||||
|
}).then(() => {
|
||||||
|
return waitForAnimationEnd(scrollLeft);
|
||||||
|
}).then(() => {
|
||||||
|
return test_driver.click(btnDone);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="help" href="https://crbug.com/958381">
|
||||||
|
<table style="position: relative; max-height: 10px;">
|
||||||
|
<caption>caption</caption>
|
||||||
|
<td><div id=target style="position: absolute;"></div></td>
|
||||||
|
</table>
|
||||||
|
<script>
|
||||||
|
document.body.offsetTop;
|
||||||
|
document.getElementById('target').style.top = '10px';
|
||||||
|
</script>
|
|
@ -30,8 +30,8 @@
|
||||||
|
|
||||||
<hr/>
|
<hr/>
|
||||||
<p>This should be a 100px-wide blue square:</p>
|
<p>This should be a 100px-wide blue square:</p>
|
||||||
<p>Table-layout:fixed does not apply to width:min-content/fit-content tables</p>
|
<p>Table-layout:fixed does apply to width:min-content/fit-content tables</p>
|
||||||
<x-table style="table-layout: auto; width: fit-content; border-spacing: 0px">
|
<x-table style="table-layout: fixed; width: fit-content; border-spacing: 0px">
|
||||||
<x-tr>
|
<x-tr>
|
||||||
<x-td style="padding: 0; background: blue; height: 50px;"><div style="width: 100px"></div></x-td>
|
<x-td style="padding: 0; background: blue; height: 50px;"><div style="width: 100px"></div></x-td>
|
||||||
<x-td style="padding: 0"></x-td>
|
<x-td style="padding: 0"></x-td>
|
||||||
|
@ -39,8 +39,8 @@
|
||||||
</x-table>
|
</x-table>
|
||||||
<x-table style="table-layout: fixed; width: min-content; border-spacing: 0px">
|
<x-table style="table-layout: fixed; width: min-content; border-spacing: 0px">
|
||||||
<x-tr>
|
<x-tr>
|
||||||
<x-td style="padding: 0; background: blue; height: 50px;"><div style="width: 100px"></div></x-td>
|
<x-td style="padding: 0; background: blue; height: 50px;width:100px;"><div style="width: 100px"></div></x-td>
|
||||||
<x-td style="padding: 0"></x-td>
|
<x-td style="padding: 0;height:50px"><div style="width: 100px"></div></x-td>
|
||||||
</x-tr>
|
</x-tr>
|
||||||
</x-table>
|
</x-table>
|
||||||
|
|
||||||
|
@ -75,10 +75,10 @@
|
||||||
'fixed'
|
'fixed'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"Table-layout:fixed is not applied when width is min-content",
|
"Table-layout:fixed is applied when width is min-content",
|
||||||
document.querySelector("x-table:nth-of-type(3) > x-tr:first-child > x-td:first-child").offsetWidth,
|
document.querySelector("x-table:nth-of-type(3) > x-tr:first-child > x-td:first-child").offsetWidth,
|
||||||
document.querySelector("x-table:nth-of-type(4) > x-tr:first-child > x-td:first-child").offsetWidth
|
document.querySelector("x-table:nth-of-type(4) > x-tr:first-child > x-td:first-child").offsetWidth
|
||||||
],
|
]
|
||||||
])
|
])
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
<link rel="help" href="https://github.com/WICG/interventions/issues/64">
|
<link rel="help" href="https://github.com/WICG/interventions/issues/64">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.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>
|
||||||
<body onload=runTest()>
|
<body onload=runTest()>
|
||||||
<div>This is a manual test since there is no way to synthesize wheel events.
|
<div>This is a manual test since there is no way to synthesize wheel events.
|
||||||
Scroll by wheel in the middle of the page to run the test.</div>
|
Scroll by wheel in the middle of the page to run the test.</div>
|
||||||
|
@ -35,6 +38,12 @@ function waitFor(condition) {
|
||||||
|
|
||||||
function runTest() {
|
function runTest() {
|
||||||
promise_test (async () => {
|
promise_test (async () => {
|
||||||
|
const pos_x = Math.floor(window.innerWidth / 2);
|
||||||
|
const pos_y = Math.floor(window.innerHeight / 2);
|
||||||
|
const delta_x = 0;
|
||||||
|
const delta_y = 100;
|
||||||
|
await new test_driver.Actions()
|
||||||
|
.scroll(pos_x, pos_y, delta_x, delta_y).send();
|
||||||
await waitFor(()=> { return wheel_arrived; });
|
await waitFor(()=> { return wheel_arrived; });
|
||||||
assert_false(cancelable);
|
assert_false(cancelable);
|
||||||
}, "Wheel events are non-cancelable since the event listener is treated as passive.");
|
}, "Wheel events are non-cancelable since the event listener is treated as passive.");
|
|
@ -10,11 +10,18 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<body>
|
<body>
|
||||||
|
<canvas id="contained" width="250" height="100" style="contain: size;"></canvas>
|
||||||
<script>
|
<script>
|
||||||
function assert_ratio(img, expected) {
|
function assert_ratio(img, expected) {
|
||||||
let epsilon = 0.001;
|
let epsilon = 0.001;
|
||||||
assert_approx_equals(parseInt(getComputedStyle(img).width, 10) / parseInt(getComputedStyle(img).height, 10), expected, epsilon);
|
assert_approx_equals(parseInt(getComputedStyle(img).width, 10) / parseInt(getComputedStyle(img).height, 10), expected, epsilon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
canvas = document.getElementById("contained");
|
||||||
|
assert_ratio(canvas, 2.5);
|
||||||
|
}, "Canvas width and height attributes are used as the surface size with contain:size");
|
||||||
|
|
||||||
// Create and append a new canvas and immediately check the ratio.
|
// Create and append a new canvas and immediately check the ratio.
|
||||||
test(function() {
|
test(function() {
|
||||||
var canvas = document.createElement("canvas");
|
var canvas = document.createElement("canvas");
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<link rel=author title="Mason Freed" href="mailto:masonfreed@chromium.org">
|
||||||
|
<link rel=help href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md">
|
||||||
|
<link rel=match href="popup-hidden-display-ref.tentative.html">
|
||||||
|
|
||||||
|
No popup should be displayed here.<p>
|
||||||
|
|
||||||
|
<div style="display:none">
|
||||||
|
<popup>This content should be hidden</popup>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const popup = document.querySelector('popup');
|
||||||
|
popup.show();
|
||||||
|
if (!popup.open)
|
||||||
|
document.body.appendChild(document.createTextNode('FAIL'));
|
||||||
|
</script>
|
|
@ -0,0 +1,165 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
|
||||||
|
<link rel=help href="https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function ensureShadowDom(host) {
|
||||||
|
host.querySelectorAll('my-element').forEach(host => {
|
||||||
|
if (host.shadowRoot)
|
||||||
|
return; // Declarative Shadow DOM is enabled
|
||||||
|
const template = host.firstElementChild;
|
||||||
|
assert_true(template instanceof HTMLTemplateElement);
|
||||||
|
const shadow = host.attachShadow({mode: 'open'});
|
||||||
|
shadow.appendChild(template.content);
|
||||||
|
template.remove();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function findPopups(root) {
|
||||||
|
let popups = [];
|
||||||
|
if (!root)
|
||||||
|
return popups;
|
||||||
|
if (root instanceof HTMLPopupElement)
|
||||||
|
popups.push(root);
|
||||||
|
popups.push(...findPopups(root.shadowRoot));
|
||||||
|
root.childNodes.forEach(child => {
|
||||||
|
popups.push(...findPopups(child));
|
||||||
|
})
|
||||||
|
return popups;
|
||||||
|
}
|
||||||
|
function getPopupReferences(testId) {
|
||||||
|
const testRoot = document.querySelector(`#${testId}`);
|
||||||
|
assert_true(!!testRoot);
|
||||||
|
ensureShadowDom(testRoot);
|
||||||
|
return findPopups(testRoot);
|
||||||
|
}
|
||||||
|
function popupVisible(popup) {
|
||||||
|
const style = getComputedStyle(popup);
|
||||||
|
return !!(style.display !== "none" && style.visibility !== "hidden" &&
|
||||||
|
(popup.offsetWidth || popup.offsetHeight || popup.getClientRects().length));
|
||||||
|
}
|
||||||
|
function showPopup(testId,popupNum) {
|
||||||
|
getPopupReferences(testId)[popupNum].show();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id=test1>
|
||||||
|
<button onclick='showPopup("test1",0)'>Test1 Popup</button>
|
||||||
|
<my-element>
|
||||||
|
<template shadowroot=open>
|
||||||
|
<popup>
|
||||||
|
<p>This should show, even though it is inside shadow DOM.</p>
|
||||||
|
</popup>
|
||||||
|
</template>
|
||||||
|
</my-element>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
const popup = getPopupReferences('test1')[0];
|
||||||
|
popup.show();
|
||||||
|
assert_true(popup.open);
|
||||||
|
assert_true(popupVisible(popup));
|
||||||
|
}, "Popups located inside shadow DOM can still be shown");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<div id=test2>
|
||||||
|
<button id=t2b1 onclick='showPopup("test2",0)'>Test 2 Popup 1</button>
|
||||||
|
<popup anchor=t2b1 style="top: 400px;">
|
||||||
|
<p>Popup 1</p>
|
||||||
|
<button id=t2b2 onclick='showPopup("test2",1)'>Test 2 Popup 2</button>
|
||||||
|
<my-element>
|
||||||
|
<template shadowroot=open>
|
||||||
|
<popup anchor=t2b2 style="top: 400px;">
|
||||||
|
<p>This popup can never be visible:</p>
|
||||||
|
<p>Hiding this popup will hide *all* open popups,</p>
|
||||||
|
<p>because t2b2 doesn't exist in this context.</p>
|
||||||
|
<p>And since popup 1 is not shown, it is display:none,</p>
|
||||||
|
<p>which means no child content is shown at all.</p>
|
||||||
|
</popup>
|
||||||
|
</template>
|
||||||
|
</my-element>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
const [popup1,popup2] = getPopupReferences('test2');
|
||||||
|
popup1.show();
|
||||||
|
assert_true(popup1.open);
|
||||||
|
assert_true(popupVisible(popup1));
|
||||||
|
popup2.show();
|
||||||
|
assert_false(popup1.open); // P1 was closed by P2
|
||||||
|
assert_true(popup2.open); // P2 thinks it is open
|
||||||
|
assert_false(popupVisible(popup1)); // But neither is visible
|
||||||
|
assert_false(popupVisible(popup2));
|
||||||
|
}, "anchor references do not cross shadow boundaries");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<div id=test3>
|
||||||
|
<my-element>
|
||||||
|
<template shadowroot=open>
|
||||||
|
<button id=t3b1 onclick='showPopup("test3",0)'>Test 3 Popup 1</button>
|
||||||
|
<popup anchor=t3b1>
|
||||||
|
<p>This popup will be hidden when popup2 shows.</p>
|
||||||
|
<slot></slot>
|
||||||
|
</popup>
|
||||||
|
</template>
|
||||||
|
<button id=t3b2 onclick='showPopup("test3",1)'>Test 3 Popup 2</button>
|
||||||
|
</my-element>
|
||||||
|
<popup anchor=t3b2>Popup 2</popup>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
const [popup1,popup2] = getPopupReferences('test3');
|
||||||
|
popup1.show();
|
||||||
|
assert_true(popup1.open);
|
||||||
|
assert_true(popupVisible(popup1));
|
||||||
|
// Showing popup2 will close popup1, since it is not a DOM
|
||||||
|
// tree ancestor of popup2's anchor button.
|
||||||
|
popup2.show();
|
||||||
|
assert_true(popup2.open);
|
||||||
|
assert_true(popupVisible(popup2));
|
||||||
|
assert_false(popup1.open);
|
||||||
|
assert_false(popupVisible(popup1));
|
||||||
|
popup2.hide();
|
||||||
|
}, "anchor references use the DOM tree not the flat tree");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<div id=test4>
|
||||||
|
<button id=t4b1 onclick='showPopup("test4",0)'>Test 4 Popup 1</button>
|
||||||
|
<popup anchor=t4b1>
|
||||||
|
<p>This should not get hidden when popup2 opens.</p>
|
||||||
|
<my-element>
|
||||||
|
<template shadowroot=open>
|
||||||
|
<button id=t4b2 onclick='showPopup("test4",1)'>Test 4 Popup 2</button>
|
||||||
|
<popup anchor=t4b2>
|
||||||
|
<p>This should not hide popup1.</p>
|
||||||
|
</popup>
|
||||||
|
</template>
|
||||||
|
</my-element>
|
||||||
|
</popup>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
test(function() {
|
||||||
|
const [popup1,popup2] = getPopupReferences('test4');
|
||||||
|
popup1.show();
|
||||||
|
popup2.show();
|
||||||
|
// Both 1 and 2 should be open at this point.
|
||||||
|
assert_true(popup1.open);
|
||||||
|
assert_true(popupVisible(popup1));
|
||||||
|
assert_true(popup2.open);
|
||||||
|
assert_true(popupVisible(popup2));
|
||||||
|
// This should hide both of them.
|
||||||
|
popup1.hide();
|
||||||
|
assert_false(popup2.open);
|
||||||
|
assert_false(popupVisible(popup2));
|
||||||
|
}, "The popup stack is preserved across shadow-inclusive ancestors");
|
||||||
|
</script>
|
|
@ -613,6 +613,9 @@ CSS-COLLIDING-SUPPORT-NAME: css/css-backgrounds/support/50x50-green.png
|
||||||
CSS-COLLIDING-SUPPORT-NAME: css/css-grid/grid-items/support/50x50-green.png
|
CSS-COLLIDING-SUPPORT-NAME: css/css-grid/grid-items/support/50x50-green.png
|
||||||
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/support/50x50-green.png
|
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/support/50x50-green.png
|
||||||
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/ui/support/animated.gif
|
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/ui/support/animated.gif
|
||||||
|
CSS-COLLIDING-SUPPORT-NAME: css/css-grid/alignment/support/50x50-green.png
|
||||||
|
CSS-COLLIDING-SUPPORT-NAME: css/css-grid/alignment/support/25x50-green.png
|
||||||
|
CSS-COLLIDING-SUPPORT-NAME: css/css-grid/grid-items/support/25x50-green.png
|
||||||
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/backgrounds/support/animated.gif
|
CSS-COLLIDING-SUPPORT-NAME: css/CSS2/backgrounds/support/animated.gif
|
||||||
CSS-COLLIDING-SUPPORT-NAME: css/css-shapes/shape-outside/shape-image/support/animated.gif
|
CSS-COLLIDING-SUPPORT-NAME: css/css-shapes/shape-outside/shape-image/support/animated.gif
|
||||||
CSS-COLLIDING-SUPPORT-NAME: css/css-display/support/util.js
|
CSS-COLLIDING-SUPPORT-NAME: css/css-display/support/util.js
|
||||||
|
|
|
@ -84,7 +84,7 @@ function define_file_picker_error_tests(showPickerMethod) {
|
||||||
await promise_rejects_js(t, TypeError, self[showPickerMethod]({
|
await promise_rejects_js(t, TypeError, self[showPickerMethod]({
|
||||||
startIn: 'secrets',
|
startIn: 'secrets',
|
||||||
}));
|
}));
|
||||||
}, showPickerMethod + ': unknown common starting directory.');
|
}, showPickerMethod + ': unknown well-known starting directory.');
|
||||||
|
|
||||||
const invalid_extensions = {
|
const invalid_extensions = {
|
||||||
'.extensiontoolong': 'extension length more than 16.',
|
'.extensiontoolong': 'extension length more than 16.',
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
|
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
|
||||||
<script src="/resources/testharness.js"></script>
|
<script src="/resources/testharness.js"></script>
|
||||||
<script src="/resources/testharnessreport.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>
|
||||||
<script src="pointerevent_support.js"></script>
|
<script src="pointerevent_support.js"></script>
|
||||||
<style>
|
<style>
|
||||||
#target0 {
|
#target0 {
|
||||||
|
@ -86,6 +89,7 @@
|
||||||
var target0 = document.getElementById("target0");
|
var target0 = document.getElementById("target0");
|
||||||
|
|
||||||
var test_touchaction = async_test("touch-action attribute test");
|
var test_touchaction = async_test("touch-action attribute test");
|
||||||
|
var actions_promise;
|
||||||
|
|
||||||
xScr0 = target0.scrollLeft;
|
xScr0 = target0.scrollLeft;
|
||||||
yScr0 = target0.scrollTop;
|
yScr0 = target0.scrollTop;
|
||||||
|
@ -111,10 +115,22 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if(xScrollIsReceived && yScrollIsReceived) {
|
if(xScrollIsReceived && yScrollIsReceived) {
|
||||||
|
// Make sure the test finishes after all the input actions are completed.
|
||||||
|
actions_promise.then( () => {
|
||||||
test_touchaction.done();
|
test_touchaction.done();
|
||||||
|
});
|
||||||
updateDescriptionComplete();
|
updateDescriptionComplete();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const posOffsetX = 0;
|
||||||
|
const posOffsetY = 0;
|
||||||
|
const scrollDeltaX = 200;
|
||||||
|
const scrollDeltaY = 200;
|
||||||
|
actions_promise = new test_driver.Actions()
|
||||||
|
.scroll(posOffsetX, posOffsetY, scrollDeltaX, scrollDeltaY,
|
||||||
|
{origin: target0})
|
||||||
|
.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateDescriptionNextStepMouse() {
|
function updateDescriptionNextStepMouse() {
|
|
@ -80,24 +80,6 @@ promise_test(function() {
|
||||||
"\"navigator.serviceWorker exists\""
|
"\"navigator.serviceWorker exists\""
|
||||||
],
|
],
|
||||||
"status": 0
|
"status": 0
|
||||||
},
|
|
||||||
{
|
|
||||||
"assert_name": "assert_true",
|
|
||||||
"test": null,
|
|
||||||
"args": [
|
|
||||||
"true",
|
|
||||||
"\"True is true\""
|
|
||||||
],
|
|
||||||
"status": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"assert_name": "assert_false",
|
|
||||||
"test": "Worker test",
|
|
||||||
"args": [
|
|
||||||
"false",
|
|
||||||
"\"False is false\""
|
|
||||||
],
|
|
||||||
"status": 0
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"type": "complete"
|
"type": "complete"
|
||||||
|
|
|
@ -3570,9 +3570,11 @@ policies and contribution forms [3].
|
||||||
escape_html(test.message ? tests[i].message : " ") +
|
escape_html(test.message ? tests[i].message : " ") +
|
||||||
(tests[i].stack ? "<pre>" +
|
(tests[i].stack ? "<pre>" +
|
||||||
escape_html(tests[i].stack) +
|
escape_html(tests[i].stack) +
|
||||||
"</pre>": "") +
|
"</pre>": "");
|
||||||
"<details><summary>Asserts run</summary>" + get_asserts_output(test) + "</details>"
|
if (!(test instanceof RemoteTest)) {
|
||||||
"</td></tr>";
|
html += "<details><summary>Asserts run</summary>" + get_asserts_output(test) + "</details>"
|
||||||
|
}
|
||||||
|
html += "</td></tr>";
|
||||||
}
|
}
|
||||||
html += "</tbody></table>";
|
html += "</tbody></table>";
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -95,8 +95,14 @@
|
||||||
};
|
};
|
||||||
should(() => {
|
should(() => {
|
||||||
node = new OscillatorNode(context, options);
|
node = new OscillatorNode(context, options);
|
||||||
}, 'new OscillatorNode(, ' + JSON.stringify(options) + ')').notThrow();
|
}, 'new OscillatorNode(c, ' + JSON.stringify(options) + ')').notThrow();
|
||||||
|
|
||||||
|
should(
|
||||||
|
() => {
|
||||||
|
node = new OscillatorNode(context, {periodicWave: null});
|
||||||
|
},
|
||||||
|
'new OscillatorNode(c, {periodicWave: null}')
|
||||||
|
.throw(DOMException, 'TypeError');
|
||||||
task.done();
|
task.done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -124,3 +124,19 @@ function testUnconfiguredCodec(test, codec, codecInput) {
|
||||||
|
|
||||||
return promise_rejects_dom(test, 'InvalidStateError', codec.flush(), 'flush');
|
return promise_rejects_dom(test, 'InvalidStateError', codec.flush(), 'flush');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Verifies a PlaneInit structure matches the actual constructed plane.
|
||||||
|
function verifyPlane(expected, actual) {
|
||||||
|
assert_less_than_equal(expected.stride, actual.stride, 'plane strides');
|
||||||
|
assert_equals(expected.rows, actual.rows, 'plane rows');
|
||||||
|
assert_less_than_equal(
|
||||||
|
expected.stride * expected.rows, actual.length, 'plane size');
|
||||||
|
|
||||||
|
var testBuffer = new Uint8Array(actual.length);
|
||||||
|
actual.readInto(testBuffer);
|
||||||
|
for (var h = 0; h < actual.rows; ++h) {
|
||||||
|
assert_array_equals(
|
||||||
|
expected.src.slice(h * expected.stride, expected.stride),
|
||||||
|
testBuffer.slice(h * actual.stride, expected.stride), 'plane data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue