mirror of
https://github.com/servo/servo.git
synced 2025-08-01 19:50:30 +01:00
Auto merge of #26664 - servo-wpt-sync:wpt_update_26-05-2020, r=servo-wpt-sync
Sync WPT with upstream (26-05-2020) Automated downstream sync of changes from upstream as of 26-05-2020. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
9f0ec12863
57 changed files with 356 additions and 162 deletions
|
@ -4,7 +4,7 @@
|
|||
expected: TIMEOUT
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Fetching a blob URL immediately before revoking it works in an iframe.]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-002.html]
|
||||
[Hit test float]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[mix-blend-mode-animation.html]
|
||||
expected: TIMEOUT
|
|
@ -2,6 +2,3 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,6 +2,3 @@
|
|||
[listeners are called when <iframe> is resized]
|
||||
expected: FAIL
|
||||
|
||||
[listeners are called correct number of times]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
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
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
[webkit-transition-end-event.html]
|
||||
expected: TIMEOUT
|
||||
[dispatchEvent of an transitionend event does not trigger a prefixed event handler or listener]
|
||||
expected: FAIL
|
||||
|
||||
[onwebkittransitionend event handler should trigger for an animation]
|
||||
expected: FAIL
|
||||
|
||||
[onwebkittransitionend event handler should not trigger if an unprefixed listener also exists]
|
||||
expected: FAIL
|
||||
|
||||
[event types for prefixed and unprefixed transitionend event handlers should be named appropriately]
|
||||
expected: FAIL
|
||||
|
||||
[event types for prefixed and unprefixed transitionend event listeners should be named appropriately]
|
||||
expected: TIMEOUT
|
||||
|
||||
[ontransitionend and onwebkittransitionend are not aliases]
|
||||
expected: FAIL
|
||||
|
||||
[webkitTransitionEnd event listener is case sensitive]
|
||||
expected: NOTRUN
|
||||
|
||||
[webkitTransitionEnd event listener should trigger for an animation]
|
||||
expected: FAIL
|
||||
|
||||
[dispatchEvent of a webkitTransitionEnd event does trigger a prefixed event handler or listener]
|
||||
expected: FAIL
|
||||
|
||||
[onwebkittransitionend event handler should not trigger if an unprefixed event handler also exists]
|
||||
expected: FAIL
|
||||
|
|
@ -312,15 +312,6 @@
|
|||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -330,12 +321,15 @@
|
|||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -53,9 +53,6 @@
|
|||
[combined text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
[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%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
[X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,20 +1,16 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: NOTRUN
|
||||
|
||||
[Non-HTMLElement should not support autofocus]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: 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-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
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
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -161978,6 +161978,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"scroll-target-margin-004.html": [
|
||||
"ac87c8684d6a13cf400baea0fb918e4c59db368e",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/css-scroll-snap/scroll-target-001-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"scroll-target-padding-001.html": [
|
||||
"5cd4fddcc53637b6f7e005574398d88c48bed8b1",
|
||||
[
|
||||
|
@ -243032,7 +243045,7 @@
|
|||
},
|
||||
"support": {
|
||||
".azure-pipelines.yml": [
|
||||
"8c39de66f4890b8507aaba8325a7fb7da176bc17",
|
||||
"215f3d8ffd8e2e3ef2d2abdde4e2a6e7b5058fe2",
|
||||
[]
|
||||
],
|
||||
".codecov.yml": [
|
||||
|
@ -343669,7 +343682,7 @@
|
|||
[]
|
||||
],
|
||||
"affected_tests.yml": [
|
||||
"7811ba95917bb3cc6b5d32ecbe9e89529761adc3",
|
||||
"494ff1efa19cc02133370948383e5fb22144d4ff",
|
||||
[]
|
||||
],
|
||||
"checkout.yml": [
|
||||
|
@ -378648,7 +378661,7 @@
|
|||
]
|
||||
],
|
||||
"cookieStore_subscribe_arguments.tentative.https.any.js": [
|
||||
"e3401ca46a4d0cc463ea732bf4ae00308447c792",
|
||||
"c86ea871645e1d9a289a4f8acb0f300d104c8418",
|
||||
[
|
||||
"cookie-store/cookieStore_subscribe_arguments.tentative.https.any.html",
|
||||
{
|
||||
|
@ -404553,7 +404566,7 @@
|
|||
]
|
||||
],
|
||||
"semantics.html": [
|
||||
"51e5c5162841a582d3a7a17b776517c5b0731e41",
|
||||
"262e601b5ddbe62015c883c68396d519167ee4a9",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -405090,7 +405103,7 @@
|
|||
]
|
||||
],
|
||||
"selectors-case-sensitive-001.html": [
|
||||
"d0214078bddff61f6d72fb6e600615d5882c1d21",
|
||||
"68915545430fa9fb5fa65327e38693497cc66ad2",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -410189,7 +410202,7 @@
|
|||
]
|
||||
],
|
||||
"idlharness.window.js": [
|
||||
"f0e5d06658e773fd5f9ebf85511636e74c92dc80",
|
||||
"a3189c3679e97ccd1c1d9672cc7d9f81bcc686f5",
|
||||
[
|
||||
"element-timing/idlharness.window.html",
|
||||
{
|
||||
|
@ -410201,8 +410214,13 @@
|
|||
[
|
||||
"script",
|
||||
"/resources/idlharness.js"
|
||||
],
|
||||
[
|
||||
"timeout",
|
||||
"long"
|
||||
]
|
||||
]
|
||||
],
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
|
@ -423094,10 +423112,12 @@
|
|||
]
|
||||
],
|
||||
"feature-policy-nested-header-policy-allowed-for-all.https.sub.html": [
|
||||
"289fd508444d2716f0889d349e9de331ba596860",
|
||||
"fb62660519032dff1222a69923292f924233be62",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"feature-policy-nested-header-policy-allowed-for-self.https.sub.html": [
|
||||
|
@ -436460,7 +436480,7 @@
|
|||
]
|
||||
],
|
||||
"canvas-createImageBitmap-e_srgb.html": [
|
||||
"a5b2ffa6c966bbaab4783b5a897aef095319b472",
|
||||
"9cad95a87ba552bba2b055e97f048b3589f993a5",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -457908,7 +457928,7 @@
|
|||
]
|
||||
],
|
||||
"dialog-showModal.html": [
|
||||
"16b55b16270b23744529eb70c125e997e6c62c89",
|
||||
"32f308235eb973feb78d682fe21bc33e4279da3e",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -476832,7 +476852,7 @@
|
|||
]
|
||||
],
|
||||
"pointerevent_pointermove_in_pointerlock.html": [
|
||||
"5ad3de354574d4bde5668dfc3dec479fe252a385",
|
||||
"3d8d47af239a052a79845dbdb23ac560a819e2ec",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
@ -550575,7 +550595,7 @@
|
|||
},
|
||||
"print": {
|
||||
"printcmd.py": [
|
||||
"88a6e4732d1e05a32c97ef91043397a9b9cbeccb",
|
||||
"8f3d99af8088ded2db2026b132d7c09ebd654874",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-002.html]
|
||||
[Hit test float]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
[mix-blend-mode-animation.html]
|
||||
expected: TIMEOUT
|
|
@ -2,6 +2,3 @@
|
|||
[Hit test intersecting scaled box]
|
||||
expected: FAIL
|
||||
|
||||
[Hit test within unscaled box]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -2,6 +2,3 @@
|
|||
[listeners are called when <iframe> is resized]
|
||||
expected: FAIL
|
||||
|
||||
[listeners are called correct number of times]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
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,4 +1,5 @@
|
|||
[webkit-transition-end-event.html]
|
||||
expected: TIMEOUT
|
||||
[dispatchEvent of an transitionend event does not trigger a prefixed event handler or listener]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -12,7 +13,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[event types for prefixed and unprefixed transitionend event listeners should be named appropriately]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[ontransitionend and onwebkittransitionend are not aliases]
|
||||
expected: FAIL
|
||||
|
@ -26,3 +27,6 @@
|
|||
[onwebkittransitionend event handler should not trigger if an unprefixed event handler also exists]
|
||||
expected: FAIL
|
||||
|
||||
[webkitTransitionEnd event listener is case sensitive]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -312,15 +312,6 @@
|
|||
[fetch(): separate response Content-Type: text/plain ]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -330,12 +321,15 @@
|
|||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -53,9 +53,6 @@
|
|||
[combined text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 error text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript;charset=windows-1252 text/javascript]
|
||||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
[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%40%23%24%23%25%25%26%5E%26%5E*()()11!%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%20no%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
[X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,20 +1,16 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: NOTRUN
|
||||
|
||||
[Non-HTMLElement should not support autofocus]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: 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-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
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
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -107,11 +107,11 @@ jobs:
|
|||
- template: tools/ci/azure/install_safari.yml
|
||||
- template: tools/ci/azure/update_hosts.yml
|
||||
- template: tools/ci/azure/update_manifest.yml
|
||||
- script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --channel dev chrome infrastructure/
|
||||
- script: ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --channel dev chrome infrastructure/
|
||||
displayName: 'Run tests (Chrome Dev)'
|
||||
- script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --channel nightly firefox infrastructure/
|
||||
- script: ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --channel nightly firefox infrastructure/
|
||||
displayName: 'Run tests (Firefox Nightly)'
|
||||
- script: no_proxy='*' ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --channel preview safari infrastructure/
|
||||
- script: ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --channel preview safari infrastructure/
|
||||
displayName: 'Run tests (Safari Technology Preview)'
|
||||
- template: tools/ci/azure/publish_logs.yml
|
||||
|
||||
|
@ -611,7 +611,7 @@ jobs:
|
|||
- template: tools/ci/azure/update_hosts.yml
|
||||
- template: tools/ci/azure/update_manifest.yml
|
||||
# --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18995 + https://github.com/web-platform-tests/wpt/issues/20887 + https://github.com/web-platform-tests/wpt/issues/22175 + https://github.com/web-platform-tests/wpt/issues/23630
|
||||
- script: no_proxy='*' ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info safari --exclude /pointerevents/pointerevent_pointercapture-not-lost-in-chorded-buttons.html --exclude /pointerevents/pointerevent_pointercapture_in_frame.html --exclude /web-share/share-sharePromise-internal-slot.https.html --exclude /webdriver/tests/perform_actions/pointer_tripleclick.py
|
||||
- script: ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info safari --exclude /pointerevents/pointerevent_pointercapture-not-lost-in-chorded-buttons.html --exclude /pointerevents/pointerevent_pointercapture_in_frame.html --exclude /web-share/share-sharePromise-internal-slot.https.html --exclude /webdriver/tests/perform_actions/pointer_tripleclick.py
|
||||
displayName: 'Run tests'
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish results'
|
||||
|
@ -647,7 +647,7 @@ jobs:
|
|||
- template: tools/ci/azure/update_hosts.yml
|
||||
- template: tools/ci/azure/update_manifest.yml
|
||||
# --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18995 + https://github.com/web-platform-tests/wpt/issues/20887 + https://github.com/web-platform-tests/wpt/issues/23630
|
||||
- script: no_proxy='*' ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info --channel preview safari --exclude /pointerevents/pointerevent_pointercapture_in_frame.html --exclude /web-share/share-sharePromise-internal-slot.https.html --exclude /webdriver/tests/perform_actions/pointer_tripleclick.py
|
||||
- script: ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info --channel preview safari --exclude /pointerevents/pointerevent_pointercapture_in_frame.html --exclude /web-share/share-sharePromise-internal-slot.https.html --exclude /webdriver/tests/perform_actions/pointer_tripleclick.py
|
||||
displayName: 'Run tests'
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish results'
|
||||
|
|
|
@ -64,3 +64,86 @@ promise_test(async testCase => {
|
|||
registration.cookies.subscribe(
|
||||
{ name: 'cookie-name', matchType: 'equals', url: '/wrong/path' }));
|
||||
}, 'cookieStore.subscribe with invalid url path in option');
|
||||
|
||||
promise_test(async testCase => {
|
||||
if (self.GLOBAL.isWindow()) {
|
||||
const registration = await service_worker_unregister_and_register(
|
||||
testCase, 'resources/empty_sw.js',
|
||||
'/cookie-store/resources/does/not/exist');
|
||||
testCase.add_cleanup(() => registration.unregister());
|
||||
|
||||
// Must wait for the service worker to enter the 'activated' state before
|
||||
// subscribing to cookiechange events.
|
||||
await wait_for_state(testCase, registration.installing, 'activated');
|
||||
|
||||
self.registration = registration;
|
||||
} else if (!self.registration.active) {
|
||||
// Must wait for the service worker to enter the 'activated' state before
|
||||
// subscribing to cookiechange events.
|
||||
await new Promise(resolve => {
|
||||
self.addEventListener('activate', event => { resolve(); });
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
const subscriptions = [
|
||||
{ name: 'cookie-name', matchType: 'equals' }
|
||||
];
|
||||
// Call subscribe for same subscription multiple times to verify that it is
|
||||
// idempotent.
|
||||
await self.registration.cookies.subscribe(subscriptions);
|
||||
await self.registration.cookies.subscribe(subscriptions);
|
||||
await self.registration.cookies.subscribe(subscriptions);
|
||||
testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
|
||||
}
|
||||
|
||||
const subscriptions = await registration.cookies.getSubscriptions();
|
||||
assert_equals(subscriptions.length, 1);
|
||||
|
||||
assert_equals(subscriptions[0].name, 'cookie-name');
|
||||
assert_equals(subscriptions[0].matchType, 'equals');
|
||||
assert_equals(subscriptions[0].url, registration.scope);
|
||||
}, 'cookieStore.subscribe is idempotent');
|
||||
|
||||
promise_test(async testCase => {
|
||||
if (self.GLOBAL.isWindow()) {
|
||||
const registration = await service_worker_unregister_and_register(
|
||||
testCase, 'resources/empty_sw.js',
|
||||
'/cookie-store/resources/does/not/exist');
|
||||
testCase.add_cleanup(() => registration.unregister());
|
||||
|
||||
// Must wait for the service worker to enter the 'activated' state before
|
||||
// subscribing to cookiechange events.
|
||||
await wait_for_state(testCase, registration.installing, 'activated');
|
||||
|
||||
self.registration = registration;
|
||||
} else if (!self.registration.active) {
|
||||
// Must wait for the service worker to enter the 'activated' state before
|
||||
// subscribing to cookiechange events.
|
||||
await new Promise(resolve => {
|
||||
self.addEventListener('activate', event => { resolve(); });
|
||||
});
|
||||
}
|
||||
|
||||
{
|
||||
const subscriptions = [
|
||||
{ name: 'cookie-name1', matchType: 'equals' },
|
||||
{ name: 'cookie-name2', matchType: 'equals' }
|
||||
];
|
||||
await self.registration.cookies.subscribe(subscriptions);
|
||||
testCase.add_cleanup(() => registration.cookies.unsubscribe(subscriptions));
|
||||
|
||||
// Call unsubscribe for same subscription multiple times to verify that it
|
||||
// is idempotent.
|
||||
await registration.cookies.unsubscribe([subscriptions[0]]);
|
||||
await registration.cookies.unsubscribe([subscriptions[0]]);
|
||||
await registration.cookies.unsubscribe([subscriptions[0]]);
|
||||
}
|
||||
|
||||
const subscriptions = await registration.cookies.getSubscriptions();
|
||||
assert_equals(subscriptions.length, 1);
|
||||
|
||||
assert_equals(subscriptions[0].name, 'cookie-name2');
|
||||
assert_equals(subscriptions[0].matchType, 'equals');
|
||||
assert_equals(subscriptions[0].url, registration.scope);
|
||||
}, 'CookieStore.unsubscribe is idempotent');
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<title>scroll-margin on elements with 'display: table;'</title>
|
||||
<link rel='author' title='Jan Grosser' href='mailto:jan_firefoxdev@t-online.de'>
|
||||
<link rel='help' href='https://bugzilla.mozilla.org/show_bug.cgi?id=1633192'>
|
||||
<link rel='help' href='https://www.w3.org/TR/css-scroll-snap-1/#scroll-margin'>
|
||||
<link rel='match' href='scroll-target-001-ref.html'>
|
||||
<meta name="flags" content="should">
|
||||
<meta name='assert' content="Test passes if scroll-margin is honored on elements with 'display: table'.">
|
||||
<style type='text/css'>
|
||||
.container {
|
||||
border: solid blue 4px;
|
||||
height: 4em;
|
||||
overflow: auto;
|
||||
|
||||
/* to make failing more obvious */
|
||||
background: 0 1em / 100% 1em linear-gradient(red, red) repeat-x;
|
||||
/* avoid anti-aliasing issues */
|
||||
font: 20px/1 sans-serif;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
.container > div {
|
||||
height: 1em;
|
||||
}
|
||||
#target { scroll-margin: 2em 0 1em; display: table; } /* snap area is exact fit for snapport */
|
||||
#stripe { background: green; } /* color part of the snap area */
|
||||
.fail { color: red; } /* make failing more obvious */
|
||||
|
||||
/* emulate `scrollbar-width: none` for browsers that don't support it yet */
|
||||
::-webkit-scrollbar { display: none; }
|
||||
</style>
|
||||
|
||||
<div id='instructions'>Test passes if there is a green stripe across the second quarter of the box below and no red.</div>
|
||||
|
||||
<div class="container">
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div class="fail">FAIL</div>
|
||||
<div></div>
|
||||
<div id="stripe"></div>
|
||||
<div id="target"></div>
|
||||
<div></div>
|
||||
<div class="fail">FAIL</div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<div></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.getElementById('target').scrollIntoView();
|
||||
</script>
|
|
@ -1,4 +1,5 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Selectors: semantics of case-sensitivity attribute selector</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/selectors/#attribute-case">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
|
@ -122,6 +123,14 @@ var nomatch = [
|
|||
["@namespace x 'A'; [x|foo='' i]", ["a", "foo", ""]],
|
||||
["[foo='bar' i][foo='bar']", ["", "foo", "BAR"]],
|
||||
["[foo='bar' i]", ["", "baz", "BAR"]],
|
||||
["[foo^='é' i]", ["", "foo", "É"]],
|
||||
["[foo$='é' i]", ["", "foo", "É"]],
|
||||
["[foo*='é' i]", ["", "foo", "É"]],
|
||||
["[foo|='é' i]", ["", "foo", "É"]],
|
||||
["[foo^='É' i]", ["", "foo", "é"]],
|
||||
["[foo$='É' i]", ["", "foo", "é"]],
|
||||
["[foo*='É' i]", ["", "foo", "é"]],
|
||||
["[foo|='É' i]", ["", "foo", "é"]],
|
||||
// Case-sensitive matching
|
||||
["[foo='' s]", ["", "foo", "BAR"]],
|
||||
["[foo='\u0000' s] /* \\0 in selector */", ["", "foo", ""]],
|
||||
|
|
|
@ -35,6 +35,6 @@ test(() => {
|
|||
test(() => {
|
||||
let e = document.querySelector('k');
|
||||
assert_equals(e, null);
|
||||
}, '`querySelector` should not use Unicode case-foldering');
|
||||
}, '`querySelector` should not use Unicode case-folding');
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// META: script=/resources/WebIDLParser.js
|
||||
// META: script=/resources/idlharness.js
|
||||
// META: timeout=long
|
||||
|
||||
// https://wicg.github.io/element-timing/
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="timeout" content="long">
|
||||
</head>
|
||||
<body>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
|
@ -59,3 +63,4 @@
|
|||
'Test nested header policy with remote iframe on policy "fullscreen \'none\'"');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -185,25 +185,17 @@ function compareBitmaps(bitmap1, bitmap2)
|
|||
function testImageBitmap(source, colorInfo, sourceType)
|
||||
{
|
||||
return Promise.all([
|
||||
createImageBitmap(source, {colorSpaceConversion: "srgb",
|
||||
resizeWidth: 40, resizeHeight: 40, resizeQuality: "high"}),
|
||||
createImageBitmap(source, {colorSpaceConversion: "srgb",
|
||||
resizeWidth: 40, resizeHeight: 40, resizeQuality: "medium"}),
|
||||
createImageBitmap(source, {colorSpaceConversion: "srgb",
|
||||
resizeWidth: 40, resizeHeight: 40, resizeQuality: "low"}),
|
||||
createImageBitmap(source, {colorSpaceConversion: "srgb",
|
||||
resizeWidth: 40, resizeHeight: 40, resizeQuality: "pixelated"}),
|
||||
createImageBitmap(source, {resizeWidth: 40, resizeHeight: 40, resizeQuality: "high"}),
|
||||
createImageBitmap(source, {resizeWidth: 40, resizeHeight: 40, resizeQuality: "medium"}),
|
||||
createImageBitmap(source, {resizeWidth: 40, resizeHeight: 40, resizeQuality: "low"}),
|
||||
createImageBitmap(source, {resizeWidth: 40, resizeHeight: 40, resizeQuality: "pixelated"}),
|
||||
createImageBitmap(source, 5, 5, 10, 10, {
|
||||
colorSpaceConversion: "srgb",
|
||||
resizeWidth: 20, resizeHeight: 20, resizeQuality: "high"}),
|
||||
createImageBitmap(source, 5, 5, 10, 10, {
|
||||
colorSpaceConversion: "srgb",
|
||||
resizeWidth: 20, resizeHeight: 20, resizeQuality: "medium"}),
|
||||
createImageBitmap(source, 5, 5, 10, 10, {
|
||||
colorSpaceConversion: "srgb",
|
||||
resizeWidth: 20, resizeHeight: 20, resizeQuality: "low"}),
|
||||
createImageBitmap(source, 5, 5, 10, 10, {
|
||||
colorSpaceConversion: "srgb",
|
||||
resizeWidth: 20, resizeHeight: 20, resizeQuality: "pixelated"}),
|
||||
]).then(([noCropHigh, noCropMedium, noCropLow, noCropPixelated, cropHigh,
|
||||
cropMedium, cropLow, cropPixelated]) => {
|
||||
|
@ -490,8 +482,7 @@ promise_test(function() {
|
|||
// ImageBitmap - Opaque e-sRGB
|
||||
promise_test(function() {
|
||||
var testCanvas = initializeTestCanvas('srgb', 'float16');
|
||||
return createImageBitmap(testCanvas, {colorSpaceConversion: "srgb"}
|
||||
).then(testImageBitmapOpaque);
|
||||
return createImageBitmap(testCanvas).then(testImageBitmapOpaque);
|
||||
}, 'createImageBitmap in e-sRGB from an opaque e-sRGB ImageBitmap with resize.');
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -505,8 +496,7 @@ promise_test(function() {
|
|||
// ImageBitmap - Transparent e-sRGB
|
||||
promise_test(function() {
|
||||
var testCanvas = initializeTestCanvasTransparent('srgb', 'float16');
|
||||
return createImageBitmap(testCanvas, {colorSpaceConversion: "srgb"}
|
||||
).then(testImageBitmapTransparent);
|
||||
return createImageBitmap(testCanvas).then(testImageBitmapTransparent);
|
||||
}, 'createImageBitmap in e-sRGB from a transparent e-sRGB ImageBitmap with resize.');
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
d6.showModal();
|
||||
this.add_cleanup(function() { d6.close(); });
|
||||
assert_true(d6.open);
|
||||
assert_equals(document.activeElement, d6);
|
||||
assert_equals(document.activeElement, document.body);
|
||||
}, "opening dialog without focusable children");
|
||||
|
||||
test(function(){
|
||||
|
|
|
@ -27,7 +27,11 @@
|
|||
<script>
|
||||
window.name="outerframe";
|
||||
var test_pointermove = async_test("pointermove event received");
|
||||
PhaseEnum = {
|
||||
var actions_promise1;
|
||||
var actions_promise2;
|
||||
var actions_promise3;
|
||||
var actions_promise4;
|
||||
PhaseEnum = {
|
||||
Start: 0,
|
||||
Lock1: 1,
|
||||
Lock2: 2,
|
||||
|
@ -56,8 +60,10 @@
|
|||
assert_equals(event.view.name, "outerframe", "View attribute of pointermove should be the target frame.");
|
||||
}, "View attribute of pointermove should be the target frame.");
|
||||
document.exitPointerLock();
|
||||
// Click the inner frame target to lock.
|
||||
clickInTarget("mouse", target1);
|
||||
actions_promise3 = actions_promise2.then( () => {
|
||||
// Click the inner frame target to lock.
|
||||
return clickInTarget("mouse", target1);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -68,7 +74,9 @@
|
|||
assert_equals(event.view.name, "innerframe", "View attribute of pointermove should be the target frame.");
|
||||
}, "View attribute of pointermove should be the target frame.");
|
||||
innerframe.contentDocument.exitPointerLock();
|
||||
test_pointermove.done();
|
||||
actions_promise4.then( () => {
|
||||
test_pointermove.done();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -76,10 +84,12 @@
|
|||
if (phase == PhaseEnum.Start) {
|
||||
assert_equals(document.pointerLockElement, target0);
|
||||
phase++;
|
||||
// Send moves in main frame target
|
||||
new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
actions_promise2 = actions_promise1.then( () => {
|
||||
// Send moves in main frame target
|
||||
return new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -87,15 +97,17 @@
|
|||
if (phase == PhaseEnum.Lock1) {
|
||||
assert_equals(innerframe.contentDocument.pointerLockElement, target1);
|
||||
phase++;
|
||||
// Send moves in inner frame target
|
||||
new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
actions_promise4 = actions_promise3.then( () => {
|
||||
// Send moves in inner frame target
|
||||
return new test_driver.Actions()
|
||||
.pointerMove(10, 30, {origin: target0})
|
||||
.send();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Click the outer frame target to lock.
|
||||
clickInTarget("mouse", target0);
|
||||
actions_promise1 = clickInTarget("mouse", target0);
|
||||
}
|
||||
</script>
|
||||
<div id="complete-notice">
|
||||
|
|
|
@ -15,7 +15,7 @@ steps:
|
|||
- template: install_safari.yml
|
||||
- template: update_hosts.yml
|
||||
- template: update_manifest.yml
|
||||
- script: no_proxy='*' ./wpt run --yes --no-pause --no-fail-on-unexpected --no-restart-on-unexpected --affected ${{ parameters.affectedRange }} --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report.json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot.txt --channel preview safari
|
||||
- script: ./wpt run --yes --no-pause --no-fail-on-unexpected --no-restart-on-unexpected --affected ${{ parameters.affectedRange }} --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report.json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot.txt --channel preview safari
|
||||
displayName: 'Run tests'
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish results'
|
||||
|
|
|
@ -25,7 +25,11 @@ def test_no_browsing_context(session, closed_window):
|
|||
def test_html_document(session):
|
||||
session.url = inline("Test")
|
||||
|
||||
response = do_print(session, {})
|
||||
response = do_print(session, {
|
||||
"page": {"width": 10,
|
||||
"height": 20},
|
||||
"shrinkToFit": False
|
||||
})
|
||||
value = assert_success(response)
|
||||
pdf = base64.decodestring(value)
|
||||
# TODO: Test that the output is reasonable
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue