mirror of
https://github.com/servo/servo.git
synced 2025-07-03 21:43:41 +01:00
Auto merge of #27453 - servo-wpt-sync:wpt_update_30-07-2020, r=jdm
Sync WPT with upstream (30-07-2020) Automated downstream sync of changes from upstream as of 30-07-2020. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
2c8889ac47
82 changed files with 482 additions and 155 deletions
|
@ -1,8 +0,0 @@
|
|||
[url-charset.window.html]
|
||||
expected: TIMEOUT
|
||||
[Blob charset should override any auto-detected charset.]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Blob charset should override <meta charset>.]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
[background-image-valid.html]
|
||||
[e.style['background-image'\] = "cross-fade(33% red, 33% white, blue)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['background-image'\] = "cross-fade(blue, linear-gradient(90deg, rgb(2, 0, 36) 0%, rgb(0, 212, 255) 100%))" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['background-image'\] = "cross-fade(50% url(http://www.example.com), 50% url(http://www.example.com))" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
@ -2,3 +2,6 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[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
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[matchMedia-display-none-iframe.html]
|
||||
expected: ERROR
|
|
@ -0,0 +1,34 @@
|
|||
[prefers-contrast.html]
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: low)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast)']
|
||||
expected: FAIL
|
||||
|
||||
[Check boolean context evaluation.]
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: no-preference)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: high)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: forced)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: low)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: forced)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: no-preference)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: high)']
|
||||
expected: FAIL
|
||||
|
|
@ -312,18 +312,9 @@
|
|||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -333,3 +324,12 @@
|
|||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,3 +56,9 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[cross-origin-objects-on-new-window.html]
|
||||
expected: TIMEOUT
|
|
@ -171,6 +171,3 @@
|
|||
[XHTML img usemap="#hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
[iframe_sandbox_anchor_download_block_downloads.sub.tentative.html]
|
||||
[<a download> triggered download in sandbox is blocked before a request is made]
|
||||
expected: FAIL
|
||||
|
||||
[<a download> triggered download in sandbox is blocked.]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
[iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html]
|
||||
expected: TIMEOUT
|
||||
[Navigation resulted download in sandbox is allowed by allow-downloads.]
|
||||
expected: FAIL
|
||||
|
||||
[Navigation resulted download in sandbox from <object> is allowed by allow-downloads.]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-1.html]
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-2.html]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-2.html]
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
[Check that targeting of rel=noopener with a given name reuses an existing window with that name]
|
||||
expected: FAIL
|
||||
|
||||
[Check that rel=noopener with target=_self does a normal load]
|
||||
expected: FAIL
|
||||
|
||||
[Check that rel=noopener with target=_top does a normal load]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[script-onerror-insertion-point-2.html]
|
||||
expected: TIMEOUT
|
|
@ -1,4 +0,0 @@
|
|||
[iframe_005.html]
|
||||
[document.write external script into iframe write back into parent]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[module-static-import-delayed.html]
|
||||
[document.write in an imported 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]
|
||||
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,9 +1,10 @@
|
|||
[promise-job-entry.html]
|
||||
expected: TIMEOUT
|
||||
[Fulfillment handler on fulfilled promise]
|
||||
expected: FAIL
|
||||
|
||||
[Rejection handler on pending-then-rejected promise]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Sanity check: this all works as expected with no promises involved]
|
||||
expected: FAIL
|
||||
|
@ -15,5 +16,5 @@
|
|||
expected: FAIL
|
||||
|
||||
[Fulfillment handler on pending-then-fulfilled promise]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[realtimeanalyser-fft-scaling.html]
|
||||
expected: TIMEOUT
|
||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
|
@ -1,8 +0,0 @@
|
|||
[url-charset.window.html]
|
||||
expected: TIMEOUT
|
||||
[Blob charset should override any auto-detected charset.]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Blob charset should override <meta charset>.]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -135140,6 +135140,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"flex-item-contains-size-layout-001.html": [
|
||||
"fde2a311268737f7cbf749b92f50ea5e7546c463",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"flex-item-vertical-align.html": [
|
||||
"be9b66d07f316a01e8c2d46f60533706e0442856",
|
||||
[
|
||||
|
@ -139863,6 +139876,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"position-relative-percentage-top-003.html": [
|
||||
"0570b246af1ce71f3669ff758d7ee942f48b2c5f",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"scrollbars-auto.html": [
|
||||
"ed1ffb8d93aec7c95eb3c9bbdbb6bd31ae402593",
|
||||
[
|
||||
|
@ -339859,7 +339885,7 @@
|
|||
[]
|
||||
],
|
||||
"image-capture.idl": [
|
||||
"5cd83befe2b2801b093b7f3d3ef463994c94c42e",
|
||||
"f4ad3705f04b972b82672b9c0db66b86e6c8a581",
|
||||
[]
|
||||
],
|
||||
"input-device-capabilities.idl": [
|
||||
|
@ -342150,7 +342176,7 @@
|
|||
[]
|
||||
],
|
||||
"FileSystemWritableFileStream-write.js": [
|
||||
"c49f0f62848d9687847eadada46ffcbb7841790b",
|
||||
"141a9771d2a93201b0484a2f4104795c5364b315",
|
||||
[]
|
||||
],
|
||||
"FileSystemWritableFileStream.js": [
|
||||
|
@ -364390,7 +364416,7 @@
|
|||
[]
|
||||
],
|
||||
"inspect-headers.py": [
|
||||
"e0db9feeab03e80d6610e7d431500645e28e4aad",
|
||||
"36ef17488ce5241f21caf48ac44c877bf86fbae8",
|
||||
[]
|
||||
],
|
||||
"invalid-utf8-html.py": [
|
||||
|
@ -364424,7 +364450,7 @@
|
|||
[]
|
||||
],
|
||||
"redirect.py": [
|
||||
"9d9bb332a7098e5f7a145e38e9a5d4962cba9d2a",
|
||||
"3839b635e022a347a7877e9022d9820d55831588",
|
||||
[]
|
||||
],
|
||||
"requri.py": [
|
||||
|
@ -390108,14 +390134,14 @@
|
|||
]
|
||||
],
|
||||
"background-image-invalid.html": [
|
||||
"7f1bc98ab63907eb8ab71abc1dd1cc214737bac3",
|
||||
"c971811441edb30fce3f62d9f80f2ec326970cc5",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"background-image-valid.html": [
|
||||
"51c67b96ccb52ac09ef6d78e598506317ff784ab",
|
||||
"7632a6b7c6def0e123b9bcfb01a705fd741ebdf9",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -413136,6 +413162,13 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"prefers-contrast.html": [
|
||||
"617e0b97256db36b4b84024251c01e48a1400a79",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"prefers-reduced-data.html": [
|
||||
"4c2668fe78ed0804304e0b7b5699d780b99c789b",
|
||||
[
|
||||
|
@ -464498,7 +464531,7 @@
|
|||
]
|
||||
],
|
||||
"iframe_sandbox_anchor_download_block_downloads.sub.tentative.html": [
|
||||
"abd4d7c5e0d76d04cd678b00a153d5a8f10bddf7",
|
||||
"bf4347c202e9dc2248feb87b2b3ac8df119fdf37",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -464582,7 +464615,7 @@
|
|||
]
|
||||
],
|
||||
"iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html": [
|
||||
"50e28f650c74ca734f63f970e61dfea77e7ab0bd",
|
||||
"6b3b3104ef38a9cbc1596961e62cb7804489dd94",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -464591,7 +464624,7 @@
|
|||
]
|
||||
],
|
||||
"iframe_sandbox_navigation_download_block_downloads.sub.tentative.html": [
|
||||
"9b9246c393ec9b4ee3b9762d6d06ea65ff0ff5d1",
|
||||
"87d1d722d5bf333f5fed669fd657d30970d04a8a",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -479304,7 +479337,7 @@
|
|||
]
|
||||
],
|
||||
"idlharness.window.js": [
|
||||
"b76348b59df51867bea664dc12ba9ec97c9328da",
|
||||
"2977138647b11c5c9a48b779ec2a9f8507221b46",
|
||||
[
|
||||
"mediacapture-image/idlharness.window.html",
|
||||
{
|
||||
|
@ -525081,7 +525114,7 @@
|
|||
]
|
||||
],
|
||||
"split.https.html": [
|
||||
"102771e23a536848f00249166ece10217766a380",
|
||||
"5eb8329517fbefe94682fe791ae81769d03da197",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
[background-image-valid.html]
|
||||
[e.style['background-image'\] = "cross-fade(33% red, 33% white, blue)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['background-image'\] = "cross-fade(blue, linear-gradient(90deg, rgb(2, 0, 36) 0%, rgb(0, 212, 255) 100%))" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['background-image'\] = "cross-fade(50% url(http://www.example.com), 50% url(http://www.example.com))" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[position-relative-percentage-top-003.html]
|
||||
expected: FAIL
|
|
@ -2,3 +2,6 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[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
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[matchMedia-display-none-iframe.html]
|
||||
expected: ERROR
|
|
@ -0,0 +1,34 @@
|
|||
[prefers-contrast.html]
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: low)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast)']
|
||||
expected: FAIL
|
||||
|
||||
[Check boolean context evaluation.]
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: no-preference)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: high)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: forced)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: low)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: forced)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in a CSS stylesheet: '(prefers-contrast: no-preference)']
|
||||
expected: FAIL
|
||||
|
||||
[Should be parseable in JS: '(prefers-contrast: high)']
|
||||
expected: FAIL
|
||||
|
|
@ -312,18 +312,9 @@
|
|||
[fetch(): separate response Content-Type: text/plain ]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -333,3 +324,12 @@
|
|||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,3 +56,9 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[cross-origin-objects-on-new-window.html]
|
||||
expected: TIMEOUT
|
|
@ -172,6 +172,3 @@
|
|||
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
[iframe_sandbox_anchor_download_block_downloads.sub.tentative.html]
|
||||
[<a download> triggered download in sandbox is blocked.]
|
||||
expected: FAIL
|
||||
|
||||
[<a download> triggered download in sandbox is blocked before a request is made]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
[iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html]
|
||||
expected: TIMEOUT
|
||||
[Navigation resulted download in sandbox is allowed by allow-downloads.]
|
||||
expected: FAIL
|
||||
|
||||
[Navigation resulted download in sandbox is blocked.]
|
||||
expected: FAIL
|
||||
|
||||
[Navigation resulted download in sandbox from <object> is allowed by allow-downloads.]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[iframe_sandbox_popups_escaping-1.html]
|
||||
type: testharness
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-2.html]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-2.html]
|
||||
type: testharness
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -6,9 +6,6 @@
|
|||
[Check that targeting of rel=noopener with a given name reuses an existing window with that name]
|
||||
expected: FAIL
|
||||
|
||||
[Check that rel=noopener with target=_self does a normal load]
|
||||
expected: FAIL
|
||||
|
||||
[Check that rel=noopener with target=_top does a normal load]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[077.html]
|
||||
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[script-onerror-insertion-point-2.html]
|
||||
expected: TIMEOUT
|
|
@ -1,4 +0,0 @@
|
|||
[iframe_005.html]
|
||||
[document.write external script into iframe write back into parent]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[module-static-import-delayed.html]
|
||||
[document.write in an imported 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]
|
||||
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,9 +1,10 @@
|
|||
[promise-job-entry.html]
|
||||
expected: TIMEOUT
|
||||
[Fulfillment handler on fulfilled promise]
|
||||
expected: FAIL
|
||||
|
||||
[Rejection handler on pending-then-rejected promise]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Sanity check: this all works as expected with no promises involved]
|
||||
expected: FAIL
|
||||
|
@ -15,5 +16,5 @@
|
|||
expected: FAIL
|
||||
|
||||
[Fulfillment handler on pending-then-fulfilled promise]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[realtimeanalyser-fft-scaling.html]
|
||||
expected: TIMEOUT
|
||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
|
@ -23,6 +23,8 @@ test_invalid_value("background-image", "radial-gradient(ellipse -20px 30px at ce
|
|||
test_invalid_value("background-image", "repeating-radial-gradient(-20% 30% at center, red, blue)");
|
||||
test_invalid_value("background-image", "radial-gradient(20px -30px at center, red, blue)");
|
||||
test_invalid_value("background-image", "repeating-radial-gradient(20px -30px ellipse at center, red, blue)");
|
||||
|
||||
test_invalid_value("background-image", "cross-fade(auto blue, 50% red)");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -17,6 +17,19 @@ test_valid_value("background-image", "none");
|
|||
// Safari removes quotes.
|
||||
test_valid_value("background-image", 'url("http://www.example.com/")', ['url("http://www.example.com/")', 'url(http://www.example.com/)']);
|
||||
test_valid_value("background-image", 'none, url("http://www.example.com/")', ['none, url("http://www.example.com/")', 'none, url(http://www.example.com/)']);
|
||||
|
||||
test_valid_value(
|
||||
"background-image",
|
||||
"cross-fade(50% url(http://www.example.com), 50% url(http://www.example.com))", [
|
||||
"cross-fade(50% url(http://www.example.com), 50% url(http://www.example.com))",
|
||||
'cross-fade(50% url("http://www.example.com"), 50% url("http://www.example.com"))'
|
||||
]);
|
||||
test_valid_value(
|
||||
"background-image",
|
||||
"cross-fade(33% red, 33% white, blue)");
|
||||
test_valid_value(
|
||||
"background-image",
|
||||
"cross-fade(blue, linear-gradient(90deg, rgb(2, 0, 36) 0%, rgb(0, 212, 255) 100%))");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
<!doctype html>
|
||||
<html class=reftest-wait>
|
||||
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||
<link rel="help" href="">
|
||||
<meta name="assert" content="Flex items with contain: layout size are sized properly.">
|
||||
<link rel="bookmark" href="https://crbug.com/1108675">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<style>
|
||||
#flex {
|
||||
display: flex;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
#grid {
|
||||
background-color: green;
|
||||
display: grid;
|
||||
flex: 1;
|
||||
contain: layout size;
|
||||
}
|
||||
.item {
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
#reference-overlapped-red {
|
||||
position: absolute;
|
||||
background-color: red;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
z-index: -1;
|
||||
}
|
||||
</style>
|
||||
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div id="reference-overlapped-red"></div>
|
||||
|
||||
<div id="flex">
|
||||
<div id="grid" data-expected-height=100 data-expected-width=100>
|
||||
<div class="item"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.body.offsetTop;
|
||||
let item = document.querySelector(".item");
|
||||
let cloned = item.cloneNode(true);
|
||||
let parent = item.parentElement;
|
||||
parent.appendChild(cloned);
|
||||
document.documentElement.classList.remove("reftest-wait");
|
||||
</script>
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<meta name="assert" content="This ensures that a relative-positioned great-grandchild (of a flexbox) correctly resolves percentages against its stretched parent.">
|
||||
<link rel="help" href="https://crbug.com/1108508">
|
||||
<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; width: 100px; height: 100px;">
|
||||
<div>
|
||||
<div style="width: 100%; height: 100%;">
|
||||
<div style="width: 100px; height: 100px; background: red;"></div>
|
||||
<div style="width: 100px; height: 100px; background: green; position: relative; top: -100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-contrast" />
|
||||
<script type="text/javascript" src="/resources/testharness.js"></script>
|
||||
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
|
||||
<script>
|
||||
query_should_be_css_parseable("(prefers-contrast)");
|
||||
query_should_be_css_parseable("(prefers-contrast: no-preference)");
|
||||
query_should_be_css_parseable("(prefers-contrast: high)");
|
||||
query_should_be_css_parseable("(prefers-contrast: low)");
|
||||
query_should_be_css_parseable("(prefers-contrast: forced)");
|
||||
|
||||
query_should_not_be_css_parseable("(prefers-contrast: increase)");
|
||||
query_should_not_be_css_parseable("(prefers-contrast: none)");
|
||||
query_should_not_be_css_parseable("(prefers-contrast: forced high)");
|
||||
query_should_not_be_css_parseable("(prefers-contrast: forced low)");
|
||||
query_should_not_be_css_parseable("(prefers-contrast > increase)");
|
||||
query_should_not_be_css_parseable("(prefers-increased-contrast)");
|
||||
query_should_not_be_css_parseable("(prefers-decreased-contrast)");
|
||||
|
||||
query_should_be_js_parseable("(prefers-contrast)");
|
||||
query_should_be_js_parseable("(prefers-contrast: no-preference)");
|
||||
query_should_be_js_parseable("(prefers-contrast: high)");
|
||||
query_should_be_js_parseable("(prefers-contrast: low)");
|
||||
query_should_be_js_parseable("(prefers-contrast: forced)");
|
||||
|
||||
query_should_not_be_js_parseable("(prefers-contrast: increase)");
|
||||
query_should_not_be_js_parseable("(prefers-contrast: none)");
|
||||
query_should_not_be_js_parseable("(prefers-contrast: forced high)");
|
||||
query_should_not_be_js_parseable("(prefers-contrast: forced low)");
|
||||
query_should_not_be_js_parseable("(prefers-contrast > increase)");
|
||||
query_should_not_be_js_parseable("(prefers-increased-contrast)");
|
||||
query_should_not_be_js_parseable("(prefers-decreased-contrast)");
|
||||
|
||||
test(() => {
|
||||
// no-preference is the default and all other values evaluate to
|
||||
// true in the boolean context. If no-preference matches, then
|
||||
// boolean context should be false. If no-preference does not match
|
||||
// then boolean context should be true. Therefore, these two values
|
||||
// should always be each others inverse irrespective of OS level
|
||||
// settings.
|
||||
let booleanContext = window.matchMedia("(prefers-contrast)");
|
||||
let noPref = window.matchMedia("(prefers-contrast: no-preference)");
|
||||
assert_equals(noPref.matches, !booleanContext.matches);
|
||||
}, "Check boolean context evaluation.");
|
||||
</script>
|
|
@ -19,13 +19,32 @@ async_test(t => {
|
|||
iframe.contentWindow.addEventListener(
|
||||
"unload", t.unreached_func("Unexpected navigation."));
|
||||
var anchor = iframe.contentDocument.getElementsByTagName('a')[0];
|
||||
anchor.href = "support/download_stash.py?token=" + token;
|
||||
anchor.href = "support/download_stash.py?token=" + token + "&finish-delay=" + StreamDownloadFinishDelay();
|
||||
anchor.download = null;
|
||||
anchor.click();
|
||||
AssertDownloadFailure(t, token, StreamDownloadFinishDelay() + DownloadVerifyDelay());
|
||||
});
|
||||
|
||||
document.body.appendChild(iframe);
|
||||
}, "<a download> triggered download in sandbox is blocked.");
|
||||
|
||||
async_test(t => {
|
||||
const token = "{{$id:uuid()}}";
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.srcdoc = "<a>Download</a>";
|
||||
iframe.sandbox = "allow-same-origin";
|
||||
iframe.onload = t.step_func(function () {
|
||||
iframe.contentWindow.addEventListener(
|
||||
"unload", t.unreached_func("Unexpected navigation."));
|
||||
var anchor = iframe.contentDocument.getElementsByTagName('a')[0];
|
||||
anchor.href = "support/download_stash.py?token=" + token ;
|
||||
anchor.download = null;
|
||||
anchor.click();
|
||||
AssertDownloadFailure(t, token, DownloadVerifyDelay());
|
||||
});
|
||||
|
||||
document.body.appendChild(iframe);
|
||||
}, "<a download> triggered download in sandbox is blocked.");
|
||||
}, "<a download> triggered download in sandbox is blocked before a request is made");
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -30,5 +30,23 @@ async_test(t => {
|
|||
|
||||
document.body.appendChild(iframe);
|
||||
}, "Navigation resulted download in sandbox is allowed by allow-downloads.");
|
||||
|
||||
async_test(t => {
|
||||
const token = "{{$id:uuid()}}";
|
||||
var iframe = document.createElement("iframe");
|
||||
|
||||
const folder = location.origin+"/html/semantics/embedded-content/the-iframe-element/";
|
||||
const href = `${folder}support/download_stash.py?token=${token}&finish-delay=${StreamDownloadFinishDelay() }`;
|
||||
const objectDoc =`<a href="${href}">download</a>
|
||||
<${"script"}> document.querySelector("a").click(); </${"script"}>`;
|
||||
|
||||
iframe.srcdoc = `<object data='data:text/html,${objectDoc}'></object>`;
|
||||
iframe.sandbox = "allow-same-origin allow-scripts allow-downloads";
|
||||
iframe.addEventListener("load",()=>{
|
||||
AssertDownloadSuccess(t, token, StreamDownloadFinishDelay() + DownloadVerifyDelay());
|
||||
})
|
||||
document.body.appendChild(iframe);
|
||||
}, "Navigation resulted download in sandbox from <object> is allowed by allow-downloads.");
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -29,5 +29,24 @@ async_test(t => {
|
|||
|
||||
document.body.appendChild(iframe);
|
||||
}, "Navigation resulted download in sandbox is blocked.");
|
||||
|
||||
|
||||
async_test(t => {
|
||||
const token = "{{$id:uuid()}}";
|
||||
var iframe = document.createElement("iframe");
|
||||
|
||||
const folder = location.origin+"/html/semantics/embedded-content/the-iframe-element/";
|
||||
const href = `${folder}support/download_stash.py?token=${token}&finish-delay=${StreamDownloadFinishDelay() }`;
|
||||
const objectDoc =`<a href="${href}">download</a>
|
||||
<${"script"}> document.querySelector("a").click(); </${"script"}>`;
|
||||
|
||||
iframe.srcdoc = `<object data='data:text/html,${objectDoc}'></object>`;
|
||||
iframe.sandbox = "allow-same-origin allow-scripts";
|
||||
iframe.addEventListener("load",()=>{
|
||||
AssertDownloadFailure(t, token, StreamDownloadFinishDelay() + DownloadVerifyDelay());
|
||||
})
|
||||
document.body.appendChild(iframe);
|
||||
}, "Navigation resulted download in sandbox from <object> is blocked.");
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -15,11 +15,11 @@ interface ImageCapture {
|
|||
readonly attribute MediaStreamTrack track;
|
||||
};
|
||||
|
||||
[Exposed=Window] interface PhotoCapabilities {
|
||||
readonly attribute RedEyeReduction redEyeReduction;
|
||||
readonly attribute MediaSettingsRange imageHeight;
|
||||
readonly attribute MediaSettingsRange imageWidth;
|
||||
readonly attribute FrozenArray<FillLightMode> fillLightMode;
|
||||
dictionary PhotoCapabilities {
|
||||
RedEyeReduction redEyeReduction;
|
||||
MediaSettingsRange imageHeight;
|
||||
MediaSettingsRange imageWidth;
|
||||
sequence<FillLightMode> fillLightMode;
|
||||
};
|
||||
|
||||
dictionary PhotoSettings {
|
||||
|
@ -29,11 +29,10 @@ dictionary PhotoSettings {
|
|||
boolean redEyeReduction;
|
||||
};
|
||||
|
||||
[Exposed=Window] interface MediaSettingsRange {
|
||||
readonly attribute double max;
|
||||
readonly attribute double min;
|
||||
readonly attribute double step;
|
||||
[Default] object toJSON();
|
||||
dictionary MediaSettingsRange {
|
||||
double max;
|
||||
double min;
|
||||
double step;
|
||||
};
|
||||
|
||||
enum RedEyeReduction {
|
||||
|
|
|
@ -9,10 +9,9 @@
|
|||
idl_test(
|
||||
['image-capture'],
|
||||
['mediacapture-streams', 'html', 'dom'],
|
||||
async idl_array => {
|
||||
idl_array => {
|
||||
idl_array.add_objects({
|
||||
ImageCapture : ['capture'],
|
||||
PhotoCapabilities: ['capabilities'],
|
||||
});
|
||||
|
||||
const canvas = document.createElement('canvas');
|
||||
|
@ -22,6 +21,5 @@ idl_test(
|
|||
context.fillRect(0, 0, 10, 10);
|
||||
const track = canvas.captureStream().getVideoTracks()[0];
|
||||
self.capture = new ImageCapture(track);
|
||||
self.capabilities = await capture.getPhotoCapabilities();
|
||||
}
|
||||
);
|
||||
|
|
|
@ -337,3 +337,18 @@ directory_test(async (t, root) => {
|
|||
t, "SyntaxError", stream.write({type: 'seek'}), 'seek without position');
|
||||
|
||||
}, 'WriteParams: seek missing position param');
|
||||
|
||||
directory_test(async (t, root) => {
|
||||
const source_file =
|
||||
await createFileWithContents(t, 'source_file', 'source data', root);
|
||||
const source_blob = await source_file.getFile();
|
||||
await root.removeEntry(source_file.name);
|
||||
|
||||
const handle = await createEmptyFile(t, 'invalid_blob_test', root);
|
||||
const stream = await handle.createWritable();
|
||||
await promise_rejects_dom(t, "NotFoundError", stream.write(source_blob));
|
||||
await promise_rejects_js(t, TypeError, stream.close());
|
||||
|
||||
assert_equals(await getFileContents(handle), '');
|
||||
assert_equals(await getFileSize(handle), 0);
|
||||
}, 'write() with an invalid blob to an empty file should reject');
|
||||
|
|
|
@ -53,7 +53,7 @@ promise_test(async t => {
|
|||
|
||||
const offer = await caller.createOffer();
|
||||
const sections = SDPUtils.splitSections(offer.sdp);
|
||||
// remove the a=group:BUNDLE from the SDP when signaling.
|
||||
// Remove the a=group:BUNDLE from the SDP when signaling.
|
||||
const bundle = SDPUtils.matchPrefix(sections[0], 'a=group:BUNDLE')[0];
|
||||
sections[0] = sections[0].replace(bundle + '\r\n', '');
|
||||
|
||||
|
@ -68,6 +68,18 @@ promise_test(async t => {
|
|||
const answerVideo = await calleeVideo.createAnswer();
|
||||
const audioSections = SDPUtils.splitSections(answerAudio.sdp);
|
||||
const videoSections = SDPUtils.splitSections(answerVideo.sdp);
|
||||
|
||||
// Remove the fingerprint from the session part of the SDP if present
|
||||
// and move it to the media section.
|
||||
SDPUtils.matchPrefix(audioSections[0], 'a=fingerprint:').forEach(line => {
|
||||
audioSections[0] = audioSections[0].replace(line + '\r\n', '');
|
||||
audioSections[1] += line + '\r\n';
|
||||
});
|
||||
SDPUtils.matchPrefix(videoSections[0], 'a=fingerprint:').forEach(line => {
|
||||
videoSections[0] = videoSections[0].replace(line + '\r\n', '');
|
||||
videoSections[1] += line + '\r\n';
|
||||
});
|
||||
|
||||
const sdp = audioSections[0] + audioSections[1] + videoSections[1];
|
||||
await caller.setRemoteDescription({type: 'answer', sdp});
|
||||
await calleeAudio.setLocalDescription(answerAudio);
|
||||
|
|
|
@ -35,7 +35,7 @@ def get_response(raw_headers, filter_value, filter_name):
|
|||
|
||||
def main(request, response):
|
||||
headers = []
|
||||
if "cors" in request.GET:
|
||||
if b"cors" in request.GET:
|
||||
headers.append((b"Access-Control-Allow-Origin", b"*"))
|
||||
headers.append((b"Access-Control-Allow-Credentials", b"true"))
|
||||
headers.append((b"Access-Control-Allow-Methods", b"GET, POST, PUT, FOO"))
|
||||
|
|
|
@ -13,4 +13,4 @@ def main(request, response):
|
|||
if b"followed" in request.GET:
|
||||
return [(b"Content:Type", b"text/plain")], b"MAGIC HAPPENED"
|
||||
else:
|
||||
return (code, u"WEBSRT MARKETING"), [(b"Location", location)], b"TEST"
|
||||
return (code, b"WEBSRT MARKETING"), [(b"Location", location)], b"TEST"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue