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:
bors-servo 2020-07-30 11:28:45 -04:00 committed by GitHub
commit 2c8889ac47
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
82 changed files with 482 additions and 155 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,4 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

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

View file

@ -1,2 +0,0 @@
[matchMedia-display-none-iframe.html]
expected: ERROR

View file

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

View file

@ -312,18 +312,9 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN expected: NOTRUN
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<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;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain] [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL expected: FAIL
@ -333,3 +324,12 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk] [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL 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

View file

@ -56,3 +56,9 @@
[separate text/javascript x/x] [separate text/javascript x/x]
expected: FAIL expected: FAIL
[separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL
[separate text/javascript error]
expected: FAIL

View file

@ -11,6 +11,3 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!] [X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL expected: FAIL
[X-Content-Type-Options%3A%20%2Cnosniff]
expected: FAIL

View file

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

View file

@ -1,2 +0,0 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -171,6 +171,3 @@
[XHTML img usemap="#hash-id"] [XHTML img usemap="#hash-id"]
expected: FAIL expected: FAIL
[HTML (standards) IMG usemap="no-hash-name"]
expected: FAIL

View file

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

View file

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

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-1.html] [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] [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL expected: FAIL

View file

@ -1,5 +1,5 @@
[iframe_sandbox_popups_escaping-2.html] [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] [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL expected: TIMEOUT

View file

@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html] [iframe_sandbox_popups_nonescaping-1.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

View file

@ -1,5 +1,4 @@
[iframe_sandbox_popups_nonescaping-2.html] [iframe_sandbox_popups_nonescaping-2.html]
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: FAIL

View file

@ -1,5 +1,4 @@
[iframe_sandbox_popups_nonescaping-3.html] [iframe_sandbox_popups_nonescaping-3.html]
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: FAIL

View file

@ -2,9 +2,6 @@
[Check that targeting of rel=noopener with a given name reuses an existing window with that name] [Check that targeting of rel=noopener with a given name reuses an existing window with that name]
expected: FAIL 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] [Check that rel=noopener with target=_top does a normal load]
expected: FAIL expected: FAIL

View file

@ -1,4 +0,0 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -0,0 +1,2 @@
[script-onerror-insertion-point-2.html]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[iframe_005.html]
[document.write external script into iframe write back into parent]
expected: FAIL

View file

@ -0,0 +1,4 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

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

View file

@ -1,9 +1,10 @@
[promise-job-entry.html] [promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise] [Fulfillment handler on fulfilled promise]
expected: FAIL expected: FAIL
[Rejection handler on pending-then-rejected promise] [Rejection handler on pending-then-rejected promise]
expected: FAIL expected: TIMEOUT
[Sanity check: this all works as expected with no promises involved] [Sanity check: this all works as expected with no promises involved]
expected: FAIL expected: FAIL
@ -15,5 +16,5 @@
expected: FAIL expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise] [Fulfillment handler on pending-then-fulfilled promise]
expected: FAIL expected: TIMEOUT

View file

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

View file

@ -1,5 +0,0 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,2 +0,0 @@
[Worker-constructor.html]
expected: ERROR

View file

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

View file

@ -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": [ "flex-item-vertical-align.html": [
"be9b66d07f316a01e8c2d46f60533706e0442856", "be9b66d07f316a01e8c2d46f60533706e0442856",
[ [
@ -139863,6 +139876,19 @@
{} {}
] ]
], ],
"position-relative-percentage-top-003.html": [
"0570b246af1ce71f3669ff758d7ee942f48b2c5f",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"scrollbars-auto.html": [ "scrollbars-auto.html": [
"ed1ffb8d93aec7c95eb3c9bbdbb6bd31ae402593", "ed1ffb8d93aec7c95eb3c9bbdbb6bd31ae402593",
[ [
@ -339859,7 +339885,7 @@
[] []
], ],
"image-capture.idl": [ "image-capture.idl": [
"5cd83befe2b2801b093b7f3d3ef463994c94c42e", "f4ad3705f04b972b82672b9c0db66b86e6c8a581",
[] []
], ],
"input-device-capabilities.idl": [ "input-device-capabilities.idl": [
@ -342150,7 +342176,7 @@
[] []
], ],
"FileSystemWritableFileStream-write.js": [ "FileSystemWritableFileStream-write.js": [
"c49f0f62848d9687847eadada46ffcbb7841790b", "141a9771d2a93201b0484a2f4104795c5364b315",
[] []
], ],
"FileSystemWritableFileStream.js": [ "FileSystemWritableFileStream.js": [
@ -364390,7 +364416,7 @@
[] []
], ],
"inspect-headers.py": [ "inspect-headers.py": [
"e0db9feeab03e80d6610e7d431500645e28e4aad", "36ef17488ce5241f21caf48ac44c877bf86fbae8",
[] []
], ],
"invalid-utf8-html.py": [ "invalid-utf8-html.py": [
@ -364424,7 +364450,7 @@
[] []
], ],
"redirect.py": [ "redirect.py": [
"9d9bb332a7098e5f7a145e38e9a5d4962cba9d2a", "3839b635e022a347a7877e9022d9820d55831588",
[] []
], ],
"requri.py": [ "requri.py": [
@ -390108,14 +390134,14 @@
] ]
], ],
"background-image-invalid.html": [ "background-image-invalid.html": [
"7f1bc98ab63907eb8ab71abc1dd1cc214737bac3", "c971811441edb30fce3f62d9f80f2ec326970cc5",
[ [
null, null,
{} {}
] ]
], ],
"background-image-valid.html": [ "background-image-valid.html": [
"51c67b96ccb52ac09ef6d78e598506317ff784ab", "7632a6b7c6def0e123b9bcfb01a705fd741ebdf9",
[ [
null, null,
{} {}
@ -413136,6 +413162,13 @@
{} {}
] ]
], ],
"prefers-contrast.html": [
"617e0b97256db36b4b84024251c01e48a1400a79",
[
null,
{}
]
],
"prefers-reduced-data.html": [ "prefers-reduced-data.html": [
"4c2668fe78ed0804304e0b7b5699d780b99c789b", "4c2668fe78ed0804304e0b7b5699d780b99c789b",
[ [
@ -464498,7 +464531,7 @@
] ]
], ],
"iframe_sandbox_anchor_download_block_downloads.sub.tentative.html": [ "iframe_sandbox_anchor_download_block_downloads.sub.tentative.html": [
"abd4d7c5e0d76d04cd678b00a153d5a8f10bddf7", "bf4347c202e9dc2248feb87b2b3ac8df119fdf37",
[ [
null, null,
{} {}
@ -464582,7 +464615,7 @@
] ]
], ],
"iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html": [ "iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html": [
"50e28f650c74ca734f63f970e61dfea77e7ab0bd", "6b3b3104ef38a9cbc1596961e62cb7804489dd94",
[ [
null, null,
{ {
@ -464591,7 +464624,7 @@
] ]
], ],
"iframe_sandbox_navigation_download_block_downloads.sub.tentative.html": [ "iframe_sandbox_navigation_download_block_downloads.sub.tentative.html": [
"9b9246c393ec9b4ee3b9762d6d06ea65ff0ff5d1", "87d1d722d5bf333f5fed669fd657d30970d04a8a",
[ [
null, null,
{} {}
@ -479304,7 +479337,7 @@
] ]
], ],
"idlharness.window.js": [ "idlharness.window.js": [
"b76348b59df51867bea664dc12ba9ec97c9328da", "2977138647b11c5c9a48b779ec2a9f8507221b46",
[ [
"mediacapture-image/idlharness.window.html", "mediacapture-image/idlharness.window.html",
{ {
@ -525081,7 +525114,7 @@
] ]
], ],
"split.https.html": [ "split.https.html": [
"102771e23a536848f00249166ece10217766a380", "5eb8329517fbefe94682fe791ae81769d03da197",
[ [
null, null,
{} {}

View file

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

View file

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

View file

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

View file

@ -0,0 +1,2 @@
[position-relative-percentage-top-003.html]
expected: FAIL

View file

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

View file

@ -0,0 +1,4 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

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

View file

@ -1,2 +0,0 @@
[matchMedia-display-none-iframe.html]
expected: ERROR

View file

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

View file

@ -312,18 +312,9 @@
[fetch(): separate response Content-Type: text/plain ] [fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN expected: NOTRUN
[<iframe>: combined response Content-Type: */* text/html]
expected: FAIL
[<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;x=" text/plain]
expected: FAIL
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" \\" text/plain] [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL expected: FAIL
@ -333,3 +324,12 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk] [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL 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

View file

@ -56,3 +56,9 @@
[separate text/javascript x/x] [separate text/javascript x/x]
expected: FAIL expected: FAIL
[separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL
[separate text/javascript error]
expected: FAIL

View file

@ -11,6 +11,3 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!] [X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL expected: FAIL
[X-Content-Type-Options%3A%20%2Cnosniff]
expected: FAIL

View file

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

View file

@ -1,2 +0,0 @@
[cross-origin-objects-on-new-window.html]
expected: TIMEOUT

View file

@ -172,6 +172,3 @@
[XHTML img usemap="http://example.org/#garbage-before-hash-id"] [XHTML img usemap="http://example.org/#garbage-before-hash-id"]
expected: FAIL expected: FAIL
[HTML (standards) IMG usemap="no-hash-name"]
expected: FAIL

View file

@ -1,3 +1,7 @@
[iframe_sandbox_anchor_download_block_downloads.sub.tentative.html] [iframe_sandbox_anchor_download_block_downloads.sub.tentative.html]
[<a download> triggered download in sandbox is blocked.] [<a download> triggered download in sandbox is blocked.]
expected: FAIL expected: FAIL
[<a download> triggered download in sandbox is blocked before a request is made]
expected: FAIL

View file

@ -1,6 +1,11 @@
[iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html] [iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html]
expected: TIMEOUT
[Navigation resulted download in sandbox is allowed by allow-downloads.] [Navigation resulted download in sandbox is allowed by allow-downloads.]
expected: FAIL expected: FAIL
[Navigation resulted download in sandbox is blocked.] [Navigation resulted download in sandbox is blocked.]
expected: FAIL expected: FAIL
[Navigation resulted download in sandbox from <object> is allowed by allow-downloads.]
expected: TIMEOUT

View file

@ -1,5 +1,6 @@
[iframe_sandbox_popups_escaping-1.html] [iframe_sandbox_popups_escaping-1.html]
type: testharness type: testharness
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: FAIL expected: FAIL

View file

@ -1,5 +1,5 @@
[iframe_sandbox_popups_escaping-2.html] [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] [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL expected: TIMEOUT

View file

@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-1.html] [iframe_sandbox_popups_nonescaping-1.html]
type: testharness type: testharness
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

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-2.html] [iframe_sandbox_popups_nonescaping-2.html]
type: testharness type: testharness
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: FAIL

View file

@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html] [iframe_sandbox_popups_nonescaping-3.html]
type: testharness type: testharness
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: FAIL

View file

@ -6,9 +6,6 @@
[Check that targeting of rel=noopener with a given name reuses an existing window with that name] [Check that targeting of rel=noopener with a given name reuses an existing window with that name]
expected: FAIL 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] [Check that rel=noopener with target=_top does a normal load]
expected: FAIL expected: FAIL

View file

@ -1,4 +0,0 @@
[077.html]
[ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
expected: FAIL

View file

@ -0,0 +1,2 @@
[script-onerror-insertion-point-2.html]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[iframe_005.html]
[document.write external script into iframe write back into parent]
expected: FAIL

View file

@ -0,0 +1,4 @@
[module-static-import-delayed.html]
[document.write in an imported module]
expected: FAIL

View file

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

View file

@ -1,9 +1,10 @@
[promise-job-entry.html] [promise-job-entry.html]
expected: TIMEOUT
[Fulfillment handler on fulfilled promise] [Fulfillment handler on fulfilled promise]
expected: FAIL expected: FAIL
[Rejection handler on pending-then-rejected promise] [Rejection handler on pending-then-rejected promise]
expected: FAIL expected: TIMEOUT
[Sanity check: this all works as expected with no promises involved] [Sanity check: this all works as expected with no promises involved]
expected: FAIL expected: FAIL
@ -15,5 +16,5 @@
expected: FAIL expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise] [Fulfillment handler on pending-then-fulfilled promise]
expected: FAIL expected: TIMEOUT

View file

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

View file

@ -1,5 +0,0 @@
[018.html]
expected: TIMEOUT
[origin of the script that invoked the method, javascript:]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,2 +0,0 @@
[Worker-constructor.html]
expected: ERROR

View file

@ -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", "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", "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", "repeating-radial-gradient(20px -30px ellipse at center, red, blue)");
test_invalid_value("background-image", "cross-fade(auto blue, 50% red)");
</script> </script>
</body> </body>
</html> </html>

View file

@ -17,6 +17,19 @@ test_valid_value("background-image", "none");
// Safari removes quotes. // 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", '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", '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> </script>
</body> </body>
</html> </html>

View file

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

View file

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

View file

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

View file

@ -10,6 +10,24 @@
<script> <script>
"use strict"; "use strict";
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 + "&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 => { async_test(t => {
const token = "{{$id:uuid()}}"; const token = "{{$id:uuid()}}";
var iframe = document.createElement("iframe"); var iframe = document.createElement("iframe");
@ -26,6 +44,7 @@ async_test(t => {
}); });
document.body.appendChild(iframe); 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> </script>
</body> </body>

View file

@ -30,5 +30,23 @@ async_test(t => {
document.body.appendChild(iframe); document.body.appendChild(iframe);
}, "Navigation resulted download in sandbox is allowed by allow-downloads."); }, "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> </script>
</body> </body>

View file

@ -29,5 +29,24 @@ async_test(t => {
document.body.appendChild(iframe); document.body.appendChild(iframe);
}, "Navigation resulted download in sandbox is blocked."); }, "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> </script>
</body> </body>

View file

@ -15,11 +15,11 @@ interface ImageCapture {
readonly attribute MediaStreamTrack track; readonly attribute MediaStreamTrack track;
}; };
[Exposed=Window] interface PhotoCapabilities { dictionary PhotoCapabilities {
readonly attribute RedEyeReduction redEyeReduction; RedEyeReduction redEyeReduction;
readonly attribute MediaSettingsRange imageHeight; MediaSettingsRange imageHeight;
readonly attribute MediaSettingsRange imageWidth; MediaSettingsRange imageWidth;
readonly attribute FrozenArray<FillLightMode> fillLightMode; sequence<FillLightMode> fillLightMode;
}; };
dictionary PhotoSettings { dictionary PhotoSettings {
@ -29,11 +29,10 @@ dictionary PhotoSettings {
boolean redEyeReduction; boolean redEyeReduction;
}; };
[Exposed=Window] interface MediaSettingsRange { dictionary MediaSettingsRange {
readonly attribute double max; double max;
readonly attribute double min; double min;
readonly attribute double step; double step;
[Default] object toJSON();
}; };
enum RedEyeReduction { enum RedEyeReduction {

View file

@ -9,10 +9,9 @@
idl_test( idl_test(
['image-capture'], ['image-capture'],
['mediacapture-streams', 'html', 'dom'], ['mediacapture-streams', 'html', 'dom'],
async idl_array => { idl_array => {
idl_array.add_objects({ idl_array.add_objects({
ImageCapture : ['capture'], ImageCapture : ['capture'],
PhotoCapabilities: ['capabilities'],
}); });
const canvas = document.createElement('canvas'); const canvas = document.createElement('canvas');
@ -22,6 +21,5 @@ idl_test(
context.fillRect(0, 0, 10, 10); context.fillRect(0, 0, 10, 10);
const track = canvas.captureStream().getVideoTracks()[0]; const track = canvas.captureStream().getVideoTracks()[0];
self.capture = new ImageCapture(track); self.capture = new ImageCapture(track);
self.capabilities = await capture.getPhotoCapabilities();
} }
); );

View file

@ -337,3 +337,18 @@ directory_test(async (t, root) => {
t, "SyntaxError", stream.write({type: 'seek'}), 'seek without position'); t, "SyntaxError", stream.write({type: 'seek'}), 'seek without position');
}, 'WriteParams: seek missing position param'); }, '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');

View file

@ -53,7 +53,7 @@ promise_test(async t => {
const offer = await caller.createOffer(); const offer = await caller.createOffer();
const sections = SDPUtils.splitSections(offer.sdp); 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]; const bundle = SDPUtils.matchPrefix(sections[0], 'a=group:BUNDLE')[0];
sections[0] = sections[0].replace(bundle + '\r\n', ''); sections[0] = sections[0].replace(bundle + '\r\n', '');
@ -68,6 +68,18 @@ promise_test(async t => {
const answerVideo = await calleeVideo.createAnswer(); const answerVideo = await calleeVideo.createAnswer();
const audioSections = SDPUtils.splitSections(answerAudio.sdp); const audioSections = SDPUtils.splitSections(answerAudio.sdp);
const videoSections = SDPUtils.splitSections(answerVideo.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]; const sdp = audioSections[0] + audioSections[1] + videoSections[1];
await caller.setRemoteDescription({type: 'answer', sdp}); await caller.setRemoteDescription({type: 'answer', sdp});
await calleeAudio.setLocalDescription(answerAudio); await calleeAudio.setLocalDescription(answerAudio);

View file

@ -35,7 +35,7 @@ def get_response(raw_headers, filter_value, filter_name):
def main(request, response): def main(request, response):
headers = [] 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-Origin", b"*"))
headers.append((b"Access-Control-Allow-Credentials", b"true")) headers.append((b"Access-Control-Allow-Credentials", b"true"))
headers.append((b"Access-Control-Allow-Methods", b"GET, POST, PUT, FOO")) headers.append((b"Access-Control-Allow-Methods", b"GET, POST, PUT, FOO"))

View file

@ -13,4 +13,4 @@ def main(request, response):
if b"followed" in request.GET: if b"followed" in request.GET:
return [(b"Content:Type", b"text/plain")], b"MAGIC HAPPENED" return [(b"Content:Type", b"text/plain")], b"MAGIC HAPPENED"
else: else:
return (code, u"WEBSRT MARKETING"), [(b"Location", location)], b"TEST" return (code, b"WEBSRT MARKETING"), [(b"Location", location)], b"TEST"