diff options
author | bors-servo <servo-ops@mozilla.com> | 2021-01-21 07:43:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-21 07:43:37 -0500 |
commit | 500cb865bd174f40e8e7d96fd17ddcdef4692ae4 (patch) | |
tree | 701bb4ed87b441187d838994325813997e0db05a | |
parent | 4096fb91697e3282c9f3c392c02ee53914495e0a (diff) | |
parent | 964f9a5544d9dc447e4dd2067f608bb8f8a24451 (diff) | |
download | servo-500cb865bd174f40e8e7d96fd17ddcdef4692ae4.tar.gz servo-500cb865bd174f40e8e7d96fd17ddcdef4692ae4.zip |
Auto merge of #28084 - servo-wpt-sync:wpt_update_21-01-2021, r=servo-wpt-sync
Sync WPT with upstream (21-01-2021)
Automated downstream sync of changes from upstream as of 21-01-2021.
[no-wpt-sync]
r? @servo-wpt-sync
87 files changed, 1553 insertions, 189 deletions
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini deleted file mode 100644 index baa9f1a7541..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-005.html] - [Miss clipped float] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini new file mode 100644 index 00000000000..bd350f9b049 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini @@ -0,0 +1,2 @@ +[image-orientation-img-object-fit.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -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 + diff --git a/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini index cd5eb9f4605..170f1f7650a 100644 --- a/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini +++ b/tests/wpt/metadata-layout-2020/custom-elements/state/tentative/state-pseudo-class.html.ini @@ -14,3 +14,21 @@ [:state() serialization] expected: FAIL + [:--foo in simple cases] + expected: FAIL + + [:--foo serialization] + expected: FAIL + + [:--foo parsing passes] + expected: FAIL + + [:--foo and :host()] + expected: FAIL + + [:--foo and other pseudo classes] + expected: FAIL + + [:--foo and ::part()] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index 4c18a97c4ef..251d31212bd 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -312,12 +312,21 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] + [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;" text/plain] + 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 */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini index b2ffc8abf78..d2df9b78483 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini @@ -56,6 +56,3 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript error] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini new file mode 100644 index 00000000000..75d75b4cda2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_2.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini index 049c6d8e599..f37d61b11a6 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini @@ -147,3 +147,117 @@ [createImageBitmap with CanvasRenderingContext2D image source.] expected: NOTRUN + [createImageBitmap with a vector HTMLImageElement source and a value of 0 int resizeWidth] + expected: FAIL + + [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with a vector SVGImageElement source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with an ImageBitmap source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an ImageData source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement source and a value of 0 in resizeHeight] + expected: FAIL + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with a vector SVGImageElement source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 in resizeHeight] + expected: FAIL + + [createImageBitmap with an ImageBitmap source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an HTMLVideoElement source and a value of 0 int resizeWidth] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector HTMLImageElement source and a value of 0 in resizeHeight] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 int resizeWidth] + expected: FAIL + + [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an ImageData source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value of 0 in resizeHeight] + expected: NOTRUN + diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index 4e69eb752b6..f45aaafe1c5 100644 --- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,16 +1,15 @@ [supported-elements.html] - expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL [Host element with delegatesFocus including no focusable descendants should be skipped] - expected: TIMEOUT + expected: FAIL [Element with tabindex should support autofocus] expected: FAIL [Area element should support autofocus] - expected: NOTRUN + expected: FAIL [Host element with delegatesFocus should support autofocus] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index 42ebcc9d57e..88f4ddd0e9a 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_escaping-1.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index c792a071c3b..0407f0cc2b7 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-2.html] - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index 7a36937927c..f4f994c5d6f 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,4 +1,5 @@ [iframe_sandbox_popups_nonescaping-3.html] + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini index d0075598b7d..1b855cfef21 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/select-event.html.ini @@ -2,75 +2,75 @@ [input type search: setRangeText() a second time (must not fire select)] expected: FAIL - [input type url: selectionEnd out of range a second time (must not fire select)] - expected: FAIL - [textarea: selectionStart out of range a second time (must not fire select)] expected: FAIL [input type url: setRangeText() a second time (must not fire select)] expected: FAIL - [input type url: selectionDirection a second time (must not fire select)] - expected: FAIL - [input type text: selectionStart a second time (must not fire select)] expected: FAIL [textarea: selectionEnd a second time (must not fire select)] expected: FAIL - [input type url: setSelectionRange() a second time (must not fire select)] + [input type url: selectionStart out of range a second time (must not fire select)] + expected: FAIL + + [input type tel: setRangeText() a second time (must not fire select)] expected: FAIL - [input type url: selectionStart out of range a second time (must not fire select)] + [input type search: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type tel: selectionDirection a second time (must not fire select)] + [input type password: selectionEnd a second time (must not fire select)] expected: FAIL - [input type url: select() a second time (must not fire select)] + [input type password: selectionDirection a second time (must not fire select)] expected: FAIL - [input type search: selectionDirection a second time (must not fire select)] + [input type url: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type text: setRangeText() a second time (must not fire select)] + [input type password: select() a second time (must not fire select)] expected: FAIL - [input type tel: select() a second time (must not fire select)] + [input type tel: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type password: setSelectionRange out of range a second time (must not fire select)] + [input type text: selectionEnd a second time (must not fire select)] expected: FAIL - [input type tel: setRangeText() a second time (must not fire select)] + [textarea: selectionDirection a second time (must not fire select)] expected: FAIL - [input type search: setSelectionRange out of range a second time (must not fire select)] + [input type url: selectionEnd a second time (must not fire select)] expected: FAIL - [textarea: setSelectionRange() a second time (must not fire select)] + [input type password: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type search: setSelectionRange() a second time (must not fire select)] + [input type text: setSelectionRange() a second time (must not fire select)] expected: FAIL - [textarea: setRangeText() a second time (must not fire select)] + [input type text: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type password: setRangeText() a second time (must not fire select)] + [input type text: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type password: selectionEnd a second time (must not fire select)] + [input type search: selectionEnd a second time (must not fire select)] expected: FAIL - [input type password: selectionDirection a second time (must not fire select)] + [input type tel: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type url: selectionStart a second time (must not fire select)] + [input type text: selectionDirection a second time (must not fire select)] expected: FAIL - [input type url: setSelectionRange out of range a second time (must not fire select)] + [input type password: selectionStart out of range a second time (must not fire select)] + expected: FAIL + + [input type search: selectionStart a second time (must not fire select)] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini deleted file mode 100644 index 178680e5d14..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[script-onerror-insertion-point-2.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini new file mode 100644 index 00000000000..59a54fe88e4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini @@ -0,0 +1,4 @@ +[module-delayed.html] + [async document.write in a module] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -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 diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index fe43ac30fcc..4a3f76d392d 100644 --- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -557,3 +557,9 @@ [X SNR (-192.20062600601898 dB) is not greater than or equal to 65.737. Got -192.20062600601898.] expected: FAIL + [X SNR (-625.6872986351187 dB) is not greater than or equal to 65.737. Got -625.6872986351187.] + expected: FAIL + + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.8580460955235994e+33\t9.3139332532882690e-1\t2.8580460955235994e+33\t3.0685705145187411e+33\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 2.8580460955235994e+33 at index of 28696.\n\tMax RelError of 3.0685705145187411e+33 at index of 28696.\n] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini @@ -0,0 +1,5 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index e189d02645f..a7c8b42317c 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -152906,6 +152906,45 @@ {} ] ], + "grid-content-distribution-026.html": [ + "b56d6384379141e9deb8dddae9d59a4beaf3a614", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], + "grid-content-distribution-027.html": [ + "f92ed520d0368d905146aae0da6fd66d9a7a082e", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], + "grid-content-distribution-028.html": [ + "216b05a4d6c89dbe888caaeeff45818dec1ca537", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square-only.html", + "==" + ] + ], + {} + ] + ], "grid-content-distribution-with-collapsed-tracks-001.html": [ "ebd169cf5913112ef7c9c1fa02cdb2115ceef605", [ @@ -159172,6 +159211,35 @@ {} ] ], + "image-orientation-img-object-fit.html": [ + "5551eb938455a3f56e2860c9d2af24dde12e1b98", + [ + null, + [ + [ + "/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html", + "==" + ] + ], + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 5 + ], + [ + 0, + 375 + ] + ] + ] + ] + } + ] + ], "image-orientation-list-style-image.html": [ "ac735626dbd1ec8a0743cf480bddc40d85e93149", [ @@ -180895,7 +180963,7 @@ ] ], "intrinsic-size-004.html": [ - "06fe0e58706059e48dc0c6f966aa9e2d4c59dd96", + "fe1a4d7a5deb596600c21eae861999593f115de8", [ null, [ @@ -180972,6 +181040,32 @@ {} ] ], + "intrinsic-size-010.html": [ + "cf128cabd0507beead7e460844ccb346d7c8ac97", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "intrinsic-size-011.html": [ + "49bd5cebfd44c1b138ab5f79863d2d315380b8c1", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "percentage-resolution-001.html": [ "d606bfc65e340f95fbbc355b764a7de5e7aeb6a1", [ @@ -181428,7 +181522,7 @@ ] ], "table-element-001.html": [ - "fd2dcd81dd90c6d82a3652750cea2370979aff7a", + "51daf00957ee4a36ea5564831df4ea365233fa90", [ null, [ @@ -183739,6 +183833,23 @@ {} ] ], + "tentative": { + "paint": { + "background-image-column-collapsed.html": [ + "6e6ae7a82cfd04c09989dcea682744eb79e982a7", + [ + null, + [ + [ + "/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html", + "==" + ] + ], + {} + ] + ] + } + }, "toggle-row-display-property-001.html": [ "08e6635e12c42a4201ca955722227010834883e8", [ @@ -244472,6 +244583,84 @@ ], {} ] + ], + "forced-colors-mode-42.html": [ + "9d4cfadcc0b1c018d3e98bee81b208634f47919f", + [ + null, + [ + [ + "/forced-colors-mode/forced-colors-mode-42-ref.html", + "==" + ] + ], + {} + ] + ], + "forced-colors-mode-43.html": [ + "9b8c164908ea02a0693a4714024751fc7e2c1e46", + [ + null, + [ + [ + "/forced-colors-mode/forced-colors-mode-43-ref.html", + "==" + ] + ], + {} + ] + ], + "forced-colors-mode-44.html": [ + "4526e19550e069cdfd2f8f57bec80b0138360554", + [ + null, + [ + [ + "/forced-colors-mode/forced-colors-mode-44-ref.html", + "==" + ] + ], + {} + ] + ], + "forced-colors-mode-45.html": [ + "e667b8291417cfef3545c71d92f27ee5d35f2eee", + [ + null, + [ + [ + "/forced-colors-mode/forced-colors-mode-45-ref.html", + "==" + ] + ], + {} + ] + ], + "forced-colors-mode-46.html": [ + "6fd50a37156a8f361ec4a7466b7cd4c1d4fbd0ca", + [ + null, + [ + [ + "/forced-colors-mode/forced-colors-mode-46-ref.html", + "==" + ] + ], + {} + ] + ], + "forced-colors-mode-47.html": [ + "b5eb912d6bb1c98533b1834d085edef58e31ef84", + [ + null, + [ + [ + "/forced-colors-mode/forced-colors-mode-47-ref.html", + "==" + ] + ], + {} + ] ] }, "html": { @@ -251707,6 +251896,19 @@ ] }, "scripts": { + "mover-accent-dynamic-change.html": [ + "7cb0d05035ac7958b71afb5d8e6d0dd279847107", + [ + null, + [ + [ + "/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html", + "==" + ] + ], + {} + ] + ], "subsup-legacy-scriptshift-attributes-001.tentative.html": [ "532271dbe049cbc12ced9f751a9099ec2a3bd220", [ @@ -262827,7 +263029,7 @@ ], "security-features": { "README.md": [ - "fb9a2f108f9faf68bb86f0bd9f848dbd28630ca4", + "f957541f75ecc37416895d6bc19d1c229c0f71b8", [] ], "__init__.py": [ @@ -315052,6 +315254,10 @@ "a9e9b3fbe308329defb6ecd6612eb10ff07cba13", [] ], + "image-orientation-img-object-fit-ref.html": [ + "0d84291e8a592395de745f4cec7635de0e381427", + [] + ], "image-orientation-list-style-image-ref.html": [ "8dcef6a243927f927f9d6e42709959f265332db9", [] @@ -320603,6 +320809,12 @@ [] ], "tentative": { + "paint": { + "background-image-column-collapsed-ref.html": [ + "b3b1ce9ff37d19c2d43851399d22f299cb1608cf", + [] + ] + }, "support": { "README": [ "67e87ca8916c94045f6d55238d387d5571fd694a", @@ -337943,7 +338155,7 @@ [] ], "window-tests-enumeration.js": [ - "6b694044640a5ad7fedfd0f221dd6a6881e79a71", + "29bb581bd3dacf465966601466c6923025ba3145", [] ] } @@ -338799,6 +339011,30 @@ "df6de6eda257ecb027b8d861cfe3cb2a5ab3ccce", [] ], + "forced-colors-mode-42-ref.html": [ + "7133c893cea0a1bbd24dace91a5bf7bf342ade44", + [] + ], + "forced-colors-mode-43-ref.html": [ + "0b98661896f6af563d4eeaf525b74bab09e6bdbc", + [] + ], + "forced-colors-mode-44-ref.html": [ + "46398de8829733e8c476298689eb1326dff15a36", + [] + ], + "forced-colors-mode-45-ref.html": [ + "c7d535c5278837fad2216965ec19b2244a392337", + [] + ], + "forced-colors-mode-46-ref.html": [ + "55259f7f7a5cf0fc24324e29ff5097420d88ca45", + [] + ], + "forced-colors-mode-47-ref.html": [ + "827cf86b238a33eb71781936927ba1e94d7f8615", + [] + ], "resources": { "float-image.jpg": [ "ab06d5f94d16e22bb08fad79d6fef662b2a7de5a", @@ -352240,7 +352476,7 @@ [] ], "appmanifest.idl": [ - "8d701371f85e7cc5af9d6c3447d6577b3c746381", + "e3117265450c2920212607575c8c1ba27c36596d", [] ], "audio-output.idl": [ @@ -353459,6 +353695,10 @@ ] }, "scripts": { + "mover-accent-dynamic-change-ref.html": [ + "a4f16aa07f969e43dee4be45c48f7252e5c109ca", + [] + ], "subsup-legacy-scriptshift-attributes-001.tentative-ref.html": [ "c1bf2e46954ee28d260371fb4fb981e9030e3051", [] @@ -363438,7 +363678,7 @@ [] ], "install_chrome.yml": [ - "fd650e80aaad309c8e983274d2b823bba91b1fb1", + "9ccdc49ba0ee1fa4382cf5e06c98a1498938a339", [] ], "install_edge.yml": [ @@ -363446,7 +363686,7 @@ [] ], "install_firefox.yml": [ - "de6d0335f221f6d2215ebdc8ef5d2ee269fdfdf3", + "7b8c7be05fee9bc6d6db9609a21a71b8cc93b26a", [] ], "install_fonts.yml": [ @@ -363458,7 +363698,7 @@ [] ], "install_safari.yml": [ - "6c1b562d411a2aeecc30d3fbc1aed6362f3526e5", + "1636b8e747432d7f0162879e868016df99d7d256", [] ], "pip_install.yml": [ @@ -373378,6 +373618,10 @@ [] ], "resources": { + "cross-origin-no-cors.har": [ + "96d0b4e453eab96d8fa1f9be1f6a880adb0f4c7c", + [] + ], "cross-origin.har": [ "7435393b13b1f640b0a1911e05456833febf7e8e", [] @@ -373427,7 +373671,7 @@ ] }, "generate-test-wbns.sh": [ - "6683cb0dd84ebb059d26f26bdea5c7f4c05e08fc", + "0caef325d1f03846792094e2535c84daf8bf4516", [] ], "location": { @@ -373559,6 +373803,12 @@ "1f9278148313ad4b401a1025b5396a5b9bd60ff3", [] ], + "no-cors": { + "cross-origin.wbn": [ + "b2adba654513322fde9b3a993ede4ea73ad898f3", + [] + ] + }, "path-restriction.wbn": [ "e861469e122afd141bcec8d394a0d4504898208c", [] @@ -406407,7 +406657,7 @@ ] ], "CSS-supports-CSSStyleDeclaration.html": [ - "fd013b95e8af97da3772fc5b9978c0082c57cdb2", + "3a9786c510dedc80cf7a5af143960fbeb7a09371", [ null, {} @@ -418526,7 +418776,7 @@ ], "height-distribution": { "computing-row-measure-0.html": [ - "ba8bf73429ff3a74d3105ad842d15e4d44d403fc", + "ebaab2c359d4ddaf0b8179d35ca58b4868ea9f8d", [ null, {} @@ -430765,7 +431015,7 @@ ] ], "state-pseudo-class.html": [ - "9a810b6b000c31b9521c205b65002e2c6205bccf", + "966dd1c9a79a9f1f2ae910d58afa1f8efa2e1044", [ null, {} @@ -458678,6 +458928,15 @@ } ] ], + "font_access-chooser-selection.tentative.manual.https.html": [ + "73d0e7938efad2b8cb462e67612f9e5505af3693", + [ + null, + { + "testdriver": true + } + ] + ], "font_access-chooser.tentative.manual.https.html": [ "8f623daa0b86c1af6141fee0cf8a8783559f2b16", [ @@ -458765,14 +459024,14 @@ ] ], "forced-colors-mode-40.html": [ - "07316bda24610f87d0735a4835f865d176396d0d", + "481492d72e917a5b235b1aa55818519232ef32c1", [ null, {} ] ], "forced-colors-mode-41.html": [ - "ddb747d08186ede841356867657d8e3941b008a8", + "cf2c527be97458a9b6ccebd62b9ad4d703c90ec9", [ null, {} @@ -466252,7 +466511,7 @@ ] ], "createImageBitmap-invalid-args.html": [ - "3330cfb9189d42e43d79caf9669b5c05d5620379", + "74ca9a853e66591b5f043b3e9ea74346f985f7b5", [ null, {} @@ -503075,7 +503334,7 @@ ] }, "scriptlevel-001.html": [ - "f91635b73879255422f3df613a40eac1df81f80b", + "11ad68d818829e2fe63510560b6d56ff39d833a8", [ null, {} @@ -512703,6 +512962,15 @@ } ] ], + "removed-from-document.html": [ + "2c363a0eec69de8c822415e1c51f796fd5d0cebf", + [ + null, + { + "testdriver": true + } + ] + ], "request-picture-in-picture-twice.html": [ "c1369ee8c3c1df2adf51210ff0031fa2eac14642", [ @@ -530368,7 +530636,7 @@ ] ], "claim-worker-fetch.https.html": [ - "389d001f31e2e9791198029c5e9877de5395e234", + "7cb26c742b97d3d768e01ec09adb1ceeca99dc86", [ null, {} @@ -549582,7 +549850,7 @@ ] ], "subresource-loading-cross-origin.tentative.html": [ - "3991aef2c40ccfa6c82eee09e76e9b42e16c8cf5", + "b0072ddb1f6b19f5571b22ef35892ffd1d6db0a7", [ null, {} diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini deleted file mode 100644 index baa9f1a7541..00000000000 --- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-005.html] - [Miss clipped float] - expected: FAIL - diff --git a/tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini b/tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini new file mode 100644 index 00000000000..bd350f9b049 --- /dev/null +++ b/tests/wpt/metadata/css/css-images/image-orientation/image-orientation-img-object-fit.html.ini @@ -0,0 +1,2 @@ +[image-orientation-img-object-fit.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini deleted file mode 100644 index e38782d8c85..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementFromPoint-001.html] - [CSSOM View - 5 - extensions to the Document interface] - expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -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 + diff --git a/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini b/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini index cd5eb9f4605..170f1f7650a 100644 --- a/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini +++ b/tests/wpt/metadata/custom-elements/state/tentative/state-pseudo-class.html.ini @@ -14,3 +14,21 @@ [:state() serialization] expected: FAIL + [:--foo in simple cases] + expected: FAIL + + [:--foo serialization] + expected: FAIL + + [:--foo parsing passes] + expected: FAIL + + [:--foo and :host()] + expected: FAIL + + [:--foo and other pseudo classes] + expected: FAIL + + [:--foo and ::part()] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index fbacdbf647e..64520b5ad94 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,12 +312,21 @@ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] + [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;" text/plain] + 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 */*] expected: FAIL - [<iframe>: combined response Content-Type: text/html;x=" text/plain] + [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index b2ffc8abf78..d2df9b78483 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -56,6 +56,3 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript error] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini new file mode 100644 index 00000000000..75d75b4cda2 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_2.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini b/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini index 049c6d8e599..f37d61b11a6 100644 --- a/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini +++ b/tests/wpt/metadata/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini @@ -147,3 +147,117 @@ [createImageBitmap with CanvasRenderingContext2D image source.] expected: NOTRUN + [createImageBitmap with a vector HTMLImageElement source and a value of 0 int resizeWidth] + expected: FAIL + + [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with a vector SVGImageElement source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with an ImageBitmap source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with a bitmap HTMLImageElement source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an ImageData source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement source and a value of 0 in resizeHeight] + expected: FAIL + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeWidth] + expected: FAIL + + [createImageBitmap with a vector SVGImageElement source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector HTMLImageElement source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 in resizeHeight] + expected: FAIL + + [createImageBitmap with an ImageBitmap source and a value of 0 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an ImageBitmap source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an HTMLVideoElement source and a value of 0 int resizeWidth] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector HTMLImageElement source and a value of 0 in resizeHeight] + expected: FAIL + + [createImageBitmap with an OffscreenCanvas source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with a bitmap SVGImageElement source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value of 0 int resizeWidth] + expected: FAIL + + [createImageBitmap with an ImageData source and a value between 0 and 1 in resizeHeight] + expected: NOTRUN + + [createImageBitmap with an HTMLVideoElement from a data URL source and a value between 0 and 1 in resizeHeight] + expected: FAIL + + [createImageBitmap with an ImageData source and a value of 0 int resizeWidth] + expected: NOTRUN + + [createImageBitmap with a vector SVGImageElement source and a value between 0 and 1 in resizeWidth] + expected: NOTRUN + + [createImageBitmap with a Blob source and a value of 0 in resizeHeight] + expected: NOTRUN + diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index f4d11768961..6b68e9094e4 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,5 +1,4 @@ [supported-elements.html] - expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL @@ -7,10 +6,10 @@ expected: FAIL [Host element with delegatesFocus including no focusable descendants should be skipped] - expected: TIMEOUT + expected: FAIL [Area element should support autofocus] - expected: NOTRUN + expected: FAIL [Host element with delegatesFocus should support autofocus] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index fc37df7e3fa..2a166bb97b7 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_escaping-1.html] type: testharness - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index 06bbed1fcac..d43f38b40cd 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,6 +1,6 @@ [iframe_sandbox_popups_nonescaping-2.html] type: testharness - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index 7a36937927c..f4f994c5d6f 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,4 +1,5 @@ [iframe_sandbox_popups_nonescaping-3.html] + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini index d0075598b7d..1b855cfef21 100644 --- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/textfieldselection/select-event.html.ini @@ -2,75 +2,75 @@ [input type search: setRangeText() a second time (must not fire select)] expected: FAIL - [input type url: selectionEnd out of range a second time (must not fire select)] - expected: FAIL - [textarea: selectionStart out of range a second time (must not fire select)] expected: FAIL [input type url: setRangeText() a second time (must not fire select)] expected: FAIL - [input type url: selectionDirection a second time (must not fire select)] - expected: FAIL - [input type text: selectionStart a second time (must not fire select)] expected: FAIL [textarea: selectionEnd a second time (must not fire select)] expected: FAIL - [input type url: setSelectionRange() a second time (must not fire select)] + [input type url: selectionStart out of range a second time (must not fire select)] + expected: FAIL + + [input type tel: setRangeText() a second time (must not fire select)] expected: FAIL - [input type url: selectionStart out of range a second time (must not fire select)] + [input type search: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type tel: selectionDirection a second time (must not fire select)] + [input type password: selectionEnd a second time (must not fire select)] expected: FAIL - [input type url: select() a second time (must not fire select)] + [input type password: selectionDirection a second time (must not fire select)] expected: FAIL - [input type search: selectionDirection a second time (must not fire select)] + [input type url: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type text: setRangeText() a second time (must not fire select)] + [input type password: select() a second time (must not fire select)] expected: FAIL - [input type tel: select() a second time (must not fire select)] + [input type tel: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type password: setSelectionRange out of range a second time (must not fire select)] + [input type text: selectionEnd a second time (must not fire select)] expected: FAIL - [input type tel: setRangeText() a second time (must not fire select)] + [textarea: selectionDirection a second time (must not fire select)] expected: FAIL - [input type search: setSelectionRange out of range a second time (must not fire select)] + [input type url: selectionEnd a second time (must not fire select)] expected: FAIL - [textarea: setSelectionRange() a second time (must not fire select)] + [input type password: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type search: setSelectionRange() a second time (must not fire select)] + [input type text: setSelectionRange() a second time (must not fire select)] expected: FAIL - [textarea: setRangeText() a second time (must not fire select)] + [input type text: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type password: setRangeText() a second time (must not fire select)] + [input type text: selectionEnd out of range a second time (must not fire select)] expected: FAIL - [input type password: selectionEnd a second time (must not fire select)] + [input type search: selectionEnd a second time (must not fire select)] expected: FAIL - [input type password: selectionDirection a second time (must not fire select)] + [input type tel: setSelectionRange out of range a second time (must not fire select)] expected: FAIL - [input type url: selectionStart a second time (must not fire select)] + [input type text: selectionDirection a second time (must not fire select)] expected: FAIL - [input type url: setSelectionRange out of range a second time (must not fire select)] + [input type password: selectionStart out of range a second time (must not fire select)] + expected: FAIL + + [input type search: selectionStart a second time (must not fire select)] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini deleted file mode 100644 index 178680e5d14..00000000000 --- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[script-onerror-insertion-point-2.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini new file mode 100644 index 00000000000..59a54fe88e4 --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini @@ -0,0 +1,4 @@ +[module-delayed.html] + [async document.write in a module] + expected: FAIL + diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -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 diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini index 281b74118f8..539ecee17de 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini @@ -785,3 +785,9 @@ [X SNR (-192.20062600601898 dB) is not greater than or equal to 65.737. Got -192.20062600601898.] expected: FAIL + [X SNR (-625.6872986351187 dB) is not greater than or equal to 65.737. Got -625.6872986351187.] + expected: FAIL + + [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t2.8580460955235994e+33\t9.3139332532882690e-1\t2.8580460955235994e+33\t3.0685705145187411e+33\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 2.8580460955235994e+33 at index of 28696.\n\tMax RelError of 3.0685705145187411e+33 at index of 28696.\n] + expected: FAIL + diff --git a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini @@ -0,0 +1,5 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT + diff --git a/tests/wpt/web-platform-tests/common/security-features/README.md b/tests/wpt/web-platform-tests/common/security-features/README.md index fb9a2f108f9..f957541f75e 100644 --- a/tests/wpt/web-platform-tests/common/security-features/README.md +++ b/tests/wpt/web-platform-tests/common/security-features/README.md @@ -278,9 +278,9 @@ The ```excluded_tests``` section have objects with the same format as [Test Expa Taking the spec JSON, the generator follows this algorithm: -* Expand all ```excluded_tests``` to create a blacklist of selections +* Expand all ```excluded_tests``` to create a denylist of selections -* For each `specification` entries: Expand the ```test_expansion``` pattern into selections and check each against the blacklist, if not marked as suppresed, generate the test resources for the selection +* For each `specification` entries: Expand the ```test_expansion``` pattern into selections and check each against the denylist, if not marked as suppresed, generate the test resources for the selection ### SourceContext Resolution diff --git a/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html b/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html index fd013b95e8a..3a9786c510d 100644 --- a/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html +++ b/tests/wpt/web-platform-tests/css/css-conditional/js/CSS-supports-CSSStyleDeclaration.html @@ -612,6 +612,7 @@ const properties = [ "shape-rendering", "size", "speak", + "speak-as", "src", "stop-color", "stop-opacity", diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html new file mode 100644 index 00000000000..b56d6384379 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-026.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-align-content-space-evenly"> +<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="The fallback alignment for 'space-evenly' should be 'center'."> +<p>Test passes if there is a filled green square.</p> +<div style="display: grid; width: 50px; height: 50px; align-content: space-evenly; justify-content: space-evenly;"> + <div style="width: 100px; height: 100px; background: green; position: relative; top: 25px; left: 25px;"></div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html new file mode 100644 index 00000000000..f92ed520d03 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-027.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-align-content-space-around"> +<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="The fallback alignment for 'space-around' should be 'center'."> +<p>Test passes if there is a filled green square.</p> +<div style="display: grid; width: 50px; height: 50px; align-content: space-around; justify-content: space-around;"> + <div style="width: 100px; height: 100px; background: green; position: relative; top: 25px; left: 25px;"></div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html new file mode 100644 index 00000000000..216b05a4d6c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-content-distribution-028.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/css-align-3/#valdef-align-content-space-between"> +<link rel="match" href="../../reference/ref-filled-green-100px-square-only.html"> +<meta name="assert" content="The fallback alignment for 'space-between' should be 'start'."> +<p>Test passes if there is a filled green square.</p> +<div style="display: grid; width: 50px; height: 50px; align-content: space-between; justify-content: space-between;"> + <div style="width: 100px; height: 100px; background: green;"></div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html b/tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html new file mode 100644 index 00000000000..5551eb93845 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/image-orientation/image-orientation-img-object-fit.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: image-orientation: from-image</title> +<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<link rel="match" href="reference/image-orientation-img-object-fit-ref.html"> +<meta name=fuzzy content="0-5;0-375"> +<style> + body { + overflow: hidden; + image-orientation: from-image; + } + img { + position: absolute; + vertical-align: top; + } + .cover { + object-fit: cover; + top: 10px; + } + .contain { + object-fit: contain; + top: 150px; + } + .wide { + width: 100px; + height: 50px; + left: 10px; + } + .tall { + width: 50px; + height: 100px; + left: 150px; + } +</style> +</head> +<body> + <img class="cover wide" src="support/exif-orientation-5-lu.jpg"/> + <img class="cover tall" src="support/exif-orientation-5-lu.jpg"/> + <img class="contain wide" src="support/exif-orientation-5-lu.jpg"/> + <img class="contain tall" src="support/exif-orientation-5-lu.jpg"/> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html b/tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html new file mode 100644 index 00000000000..0d84291e8a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-images/image-orientation/reference/image-orientation-img-object-fit-ref.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Images Module Level 3: image-orientation: from-image</title> +<link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-images-3/#propdef-image-orientation"> +<style> + body { + overflow: hidden; + image-orientation: from-image; + } + img { + position: absolute; + vertical-align: top; + } + .cover { + object-fit: cover; + top: 10px; + } + .contain { + object-fit: contain; + top: 150px; + } + .wide { + width: 100px; + height: 50px; + left: 10px; + } + .tall { + width: 50px; + height: 100px; + left: 150px; + } +</style> +</head> +<body> + <img class="cover wide" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/> + <img class="cover tall" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/> + <img class="contain wide" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/> + <img class="contain tall" src="../support/exif-orientation-5-lu-pre-rotated.jpg"/> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html index 06fe0e58706..fe1a4d7a5de 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-004.html @@ -2,13 +2,11 @@ <title>CSS aspect-ratio: min-content size keyword</title> <link rel="author" title="Google LLC" href="https://www.google.com/"> <link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio"> +<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5032"> <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> -<!-- This is still under discussion in https://github.com/w3c/csswg-drafts/issues/5032 - but this testcase tests the likely outcome. --> - -<div style="height: 100px; width: min-content; aspect-ratio: 1/1; background: green;"></div> - - +<div style="height: 50px; width: min-content; aspect-ratio: 2/1; background: green;"></div> +<!-- min-content in the block axis is treated as auto --> +<div style="height: min-content; width: 100px; aspect-ratio: 2/1; background: green;"></div> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html new file mode 100644 index 00000000000..cf128cabd05 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-010.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<title>CSS aspect-ratio: min-content size keyword together with min-size</title> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio-minimum"> +<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5032"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" /> +<style> +.target { + background: green; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + +<!-- The tests below are based on the discussion: + https://github.com/w3c/csswg-drafts/issues/5032#issuecomment-655637111 --> + +<!-- `min-width:auto` takes the content size into account. + `width: min-content` is resolved as 25px (= 25px * 1), and the content size + is 100px, so the final width should be max(25px, 100px) = 100px. --> +<div class="target" style="height: 25px; width: min-content; min-width: auto; aspect-ratio: 1/1;"> + <div style="width: 100px;"></div> +</div> +<!-- `min-width:min-content` doesn't take the content size into account. + `width:auto` is resolved as 100px (= 25px * 4), and it shouldn't be + floored by the content size (i.e. 150px), so the final width is 100px. --> +<div class= "target" style="height: 25px; width: auto; min-width: min-content; aspect-ratio: 4/1;"> + <div style="width: 150px;"></div> +</div> + +<!-- `min-height:auto` takes the content size into account. + `height: min-content` is resolved as 10px (= 100px / 10), and the content + size is 25px, so the final height should be max(10px, 25px) = 25px. --> +<div class="target" style="height: min-content; min-height: auto; width: 100px; aspect-ratio: 10/1;"> + <div style="height: 25px;"></div> +</div> +<!-- `min-height:min-content` doesn't take content size into account. + `height:auto` is resolved as 25px (= 100px / 4), and it shouldn't be + floored by the content size (i.e. 50px), so the final height is 25px. --> +<div class="target" style="height: auto; min-height: min-content; width: 100px; aspect-ratio: 4/1;"> + <div style="height: 50px;"></div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html new file mode 100644 index 00000000000..49bd5cebfd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/intrinsic-size-011.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<title>CSS aspect-ratio: fit-content size keyword</title> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#aspect-ratio"> +<link rel="help" href="https://drafts.csswg.org/css-sizing-4/#valdef-width-fit-content"> +<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5032"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht" /> +<style> +div { + background: green; + aspect-ratio: 2/1; +} +</style> + +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + +<div style="height: 50px; width: -moz-fit-content; width: fit-content;"></div> +<!-- fit-content in the block axis is treated as auto --> +<div style="height: -moz-fit-content; height: fit-content; width: 100px;"></div> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html index fd2dcd81dd9..51daf00957e 100644 --- a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/table-element-001.html @@ -19,6 +19,7 @@ th, td { <tr> <th style='background: green; width: 100px; aspect-ratio: 1/1;'></th> <td style='background: red; height: 50px; aspect-ratio: 4/1;'></td> + <td style='background: red; height: 50px; min-width: min-content; aspect-ratio: 4/1;'></td> </tr> </table> <!-- aspect-ratio should apply to the table element --> diff --git a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html index ba8bf73429f..ebaab2c359d 100644 --- a/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html +++ b/tests/wpt/web-platform-tests/css/css-tables/height-distribution/computing-row-measure-0.html @@ -54,7 +54,7 @@ [ "Checking intermediate min-content height for span 1 (2)", document.getElementById('two').offsetHeight, - 1 + 10 ], [ "Checking intermediate min-content height for span 1 (3)", diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html new file mode 100644 index 00000000000..b3b1ce9ff37 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed-ref.html @@ -0,0 +1,30 @@ +<!doctype html> +<style> + body { + --peek: LightGreen; + } + .bg { + background-color: var(--peek); + background-image: linear-gradient(90deg, orange 0px, orange 10px, gainsboro 3px, gainsboro 25%, rgba(160,160,160,0.5) 25%, rgba(160,160,160,0.5) 50%, silver 50%, silver 75%, darkgray 75%, darkgray 170px, blue 170px); + background-repeat: no-repeat; + background-size: 50px 200px; + } + main * { + box-sizing: border-box; + } + .td { + width: 50px; + height: 50px; + position:absolute; + } +</style> + +<main> +<div style="position: relative;border: 10px solid transparent; width:210px; height: 210px"> + <div class="td bg" style="top:-5px;left:-5px;height:200px"></div> + <div class="td bg" style="top:-5px;left:45px;height:200px"></div> + <div class="td" style="background:var(--peek); height:100px; left:95px;top:45px"></div> + <div class="td bg" style="top:-5px;left:145px;height:200px;width:100px;background-size: 100px 200px"></div> +</div> + +</main> diff --git a/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html new file mode 100644 index 00000000000..6e6ae7a82cf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/tentative/paint/background-image-column-collapsed.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<title>Table collapsed column background image geometry</title> +<link rel="author" title="Aleks Totic" href="atotic@chromium.org" /> +<link rel="help" href="https://www.w3.org/TR/css-tables-3/#drawing-backgrounds-and-borders" /> +<link rel="match" href="background-image-column-collapsed-ref.html" /> +<style> + body { + --peek: LightGreen; + } + .bg { + background-color: var(--peek); + background-image: linear-gradient(90deg, orange 0px, orange 10px, gainsboro 3px, gainsboro 25%, rgba(160,160,160,0.5) 25%, rgba(160,160,160,0.5) 50%, silver 50%, silver 75%, darkgray 75%, darkgray 170px, blue 170px); + background-repeat: no-repeat; + } + main * { + box-sizing: border-box; + } + main table { + border-spacing: 10px; + border: 10px solid transparent; + padding: 10px; + border-collapse: collapse; + } + main table:hover { + border: 10px solid yellow; + } + main td { + width: 50px; + height: 50px; + padding: 0px; + } +</style> +<body> +<main> + <table> + <col class="bg"> + <col class="bg"> + <col> + <colgroup class="bg" span="2"> + <tr> + <td rowspan=4></td> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td rowspan=2 colspan=2></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td></td> + <td></td> + <td></td> + <td></td> + <td></td> + </tr> + </table> +</main> +</body> diff --git a/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html b/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html index 9a810b6b000..966dd1c9a79 100644 --- a/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html +++ b/tests/wpt/web-platform-tests/custom-elements/state/tentative/state-pseudo-class.html @@ -5,13 +5,13 @@ #state-and-part::part(inner) { opacity: 0; } -#state-and-part::part(inner):state(innerFoo) { +#state-and-part::part(inner):--innerFoo { opacity: 0.5; } -#state-and-part:state(outerFoo)::part(inner) { +#state-and-part:--outerFoo::part(inner) { opacity: 0.25; } -:state( \(escaped\ state ) {} +:--\(escaped\ state {} </style> <body> <script> @@ -37,7 +37,7 @@ class ContainerElement extends HTMLElement { :host { border-style: solid; } -:host(:state(dotted)) { +:host(:--dotted) { border-style: dotted; } </style> @@ -54,36 +54,38 @@ class ContainerElement extends HTMLElement { customElements.define('container-element', ContainerElement); test(() => { - assert_throws_dom('SyntaxError', () => { document.querySelector(':state'); }); - assert_throws_dom('SyntaxError', () => { document.querySelector(':state('); }); - assert_throws_dom('SyntaxError', () => { document.querySelector(':state()'); }); - assert_throws_dom('SyntaxError', () => { document.querySelector(':state(=)'); }); - assert_throws_dom('SyntaxError', () => { document.querySelector(':state(name=value)'); }); - assert_throws_dom('SyntaxError', () => { document.querySelector(':state( foo bar)'); }); - assert_throws_dom('SyntaxError', () => { document.querySelector(':state(16px)'); }); -}, ':state() parsing failures'); + document.querySelector(':--'); + document.querySelector(':--16px'); +}, ':--foo parsing passes'); + +test(() => { + assert_throws_dom('SyntaxError', () => { document.querySelector(':--('); }); + assert_throws_dom('SyntaxError', () => { document.querySelector(':--)'); }); + assert_throws_dom('SyntaxError', () => { document.querySelector(':--='); }); + assert_throws_dom('SyntaxError', () => { document.querySelector(':--name=value'); }); +}, ':--foo parsing failures'); test(() => { assert_equals(document.styleSheets[0].cssRules[1].cssText, - '#state-and-part::part(inner):state(innerFoo) { opacity: 0.5; }'); + '#state-and-part::part(inner):--innerFoo { opacity: 0.5; }'); assert_equals(document.styleSheets[0].cssRules[3].selectorText, - ':state(\\(escaped\\ state)'); -}, ':state() serialization'); + ':--\\(escaped\\ state'); +}, ':--foo serialization'); test(() => { let element = new TestElement(); let states = element.i.states; - assert_false(element.matches(':state(foo)')); - assert_true(element.matches(':not(:state(foo))')); - states.add('foo'); - assert_true(element.matches(':state(foo)')); - assert_true(element.matches(':is(:state(foo))')); + assert_false(element.matches(':--foo')); + assert_true(element.matches(':not(:--foo)')); + states.add('--foo'); + assert_true(element.matches(':--foo')); + assert_true(element.matches(':is(:--foo)')); element.classList.add('c1', 'c2'); - assert_true(element.matches('.c1:state(foo)')); - assert_true(element.matches(':state(foo).c1')); - assert_true(element.matches('.c2:state(foo).c1')); -}, ':state() in simple cases'); + assert_true(element.matches('.c1:--foo')); + assert_true(element.matches(':--foo.c1')); + assert_true(element.matches('.c2:--foo.c1')); +}, ':--foo in simple cases'); test(() => { let element = new TestElement(); @@ -92,10 +94,10 @@ test(() => { element.focus(); let states = element.i.states; - states.value = 'foo'; - assert_true(element.matches(':focus:state(foo)')); - assert_true(element.matches(':state(foo):focus')); -}, ':state() and other pseudo classes'); + states.value = '--foo'; + assert_true(element.matches(':focus:--foo')); + assert_true(element.matches(':--foo:focus')); +}, ':--foo and other pseudo classes'); test(() => { let outer = new ContainerElement(); @@ -104,26 +106,26 @@ test(() => { let inner = outer.innerElement; let innerStates = inner.i.states; - innerStates.add('innerFoo'); + innerStates.add('--innerFoo'); assert_equals(getComputedStyle(inner).opacity, '0.5', - '::part() followed by :state()'); - innerStates.replace('innerFoo', 'innerfoo'); + '::part() followed by :--foo'); + innerStates.replace('--innerFoo', '--innerfoo'); assert_equals(getComputedStyle(inner).opacity, '0', - ':state() matching should be case-sensitive'); - innerStates.remove('innerfoo'); + ':--foo matching should be case-sensitive'); + innerStates.remove('--innerfoo'); - outer.i.states.add('outerFoo'); + outer.i.states.add('--outerFoo'); assert_equals(getComputedStyle(inner).opacity, '0.25', - ':state() followed by ::part()'); -}, ':state() and ::part()'); + ':--foo followed by ::part()'); +}, ':--foo and ::part()'); test(() => { let outer = new ContainerElement(); document.body.appendChild(outer); assert_equals(getComputedStyle(outer).borderStyle, 'solid'); - outer.i.states.toggle('dotted'); + outer.i.states.toggle('--dotted'); assert_equals(getComputedStyle(outer).borderStyle, 'dotted'); -}, ':state() and :host()'); +}, ':--foo and :host()'); </script> </body> diff --git a/tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html b/tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html new file mode 100644 index 00000000000..73d0e7938ef --- /dev/null +++ b/tests/wpt/web-platform-tests/font-access/font_access-chooser-selection.tentative.manual.https.html @@ -0,0 +1,44 @@ +<!doctype html> +<title>Local Font Access: Chooser</title> +<meta charset=utf-8> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="resources/test-expectations.js"></script> + +<script> + (async () => { + await new Promise(resolve => { + window.addEventListener('DOMContentLoaded', resolve); + }); + + // Small delay to give chrome's test automation a chance to actually install + // itself. + await new Promise(resolve => step_timeout(resolve, 100)); + + promise_test(async t => { + await window.test_driver.bless('show a font chooser.<br />Please select all the fonts that shows up.'); + // Arial is considered to be web-safe. + const fonts = await navigator.fonts.showFontChooser({select: ['ArialMT']}); + assert_true(Array.isArray(fonts)); + assert_equals(fonts.length, 1); + + const postscriptName = fonts[0].postscriptName; + assert_equals(typeof postscriptName, "string"); + assert_greater_than(postscriptName.length, 0); + }, 'showFontChooser with selection works'); + + promise_test(async t => { + await window.test_driver.bless('show a font chooser.<br />Please select all the fonts that shows up.'); + const fonts = await navigator.fonts.showFontChooser({select: []}); + assert_true(Array.isArray(fonts)); + assert_greater_than_equal(fonts.length, 1); + + const postscriptName = fonts[0].postscriptName; + assert_equals(typeof postscriptName, "string"); + assert_greater_than(postscriptName.length, 0); + }, 'showFontChooser with empty selection bag works'); + })(); +</script> diff --git a/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js b/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js index 6b694044640..29bb581bd3d 100644 --- a/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js +++ b/tests/wpt/web-platform-tests/font-access/resources/window-tests-enumeration.js @@ -122,7 +122,7 @@ for (const test of non_ascii_input) { fonts.push(f); } assert_equals( - fonts.length, 0, - `There should be no results. Instead got: ${JSON.stringify(fonts)}`); + fonts.length, 0, + `There should be no results. Instead got: ${JSON.stringify(fonts)}`); }, `query(): No match for input: ${JSON.stringify(test)}`); } diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html index 07316bda246..481492d72e9 100644 --- a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-40.html @@ -10,10 +10,14 @@ div { background-color: green; border-color: green; + caret-color: green; color: green; column-rule-color: green; fill: green; + flood-color: green; + lighting-color: green; outline-color: green; + stop-color: green; stroke: green; text-decoration-color: green; -webkit-tap-highlight-color: green; @@ -31,10 +35,14 @@ "border-left-color", "border-right-color", "border-top-color", + "caret-color", "color", "column-rule-color", "fill", + "flood-color", + "lighting-color", "outline-color", + "stop-color", "stroke", "text-decoration-color", "-webkit-tap-highlight-color", diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html index ddb747d0818..cf2c527be97 100644 --- a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-41.html @@ -12,6 +12,7 @@ div { background-color: green; border-color: green; + caret-color: green; color: green; outline-color: green; } @@ -25,6 +26,7 @@ "border-left-color", "border-right-color", "border-top-color", + "caret-color", "color", "outline-color" ]; diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html new file mode 100644 index 00000000000..7133c893cea --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42-ref.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - visited caret-color.</title> +<style> + a { + caret-color: VisitedText; + forced-color-adjust: none; + } + [contenteditable] { + outline: none; + } +</style> +<a id="link" contenteditable href="">link</a> +<script> + window.onload = function() { + document.getElementById("link").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html new file mode 100644 index 00000000000..9d4cfadcc0b --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-42.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - visited caret-color.</title> +<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties"> +<link rel=match href="forced-colors-mode-42-ref.html"> +<style> + a { + caret-color: orange; + } + a:visited { + caret-color: red; + } + [contenteditable] { + outline: none; + } +</style> +<a id="link" contenteditable href="">link</a> +<script> + window.onload = function() { + document.getElementById("link").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html new file mode 100644 index 00000000000..0b98661896f --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43-ref.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - caret-color.</title> +<style> + div { + caret-color: WindowText; + forced-color-adjust: none; + } + [contenteditable] { + outline: none; + } +</style> +<div id="caret" contenteditable>The caret color should be overridden to currentColor</a> +<script> + window.onload = function() { + document.getElementById("caret").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html new file mode 100644 index 00000000000..9b8c164908e --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-43.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - caret-color.</title> +<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties"> +<link rel=match href="forced-colors-mode-43-ref.html"> +<style> + div { + caret-color: red; + } + [contenteditable] { + outline: none; + } +</style> +<div id="caret" contenteditable>The caret color should be overridden to currentColor</a> +<script> + window.onload = function() { + document.getElementById("caret").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html new file mode 100644 index 00000000000..46398de8829 --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44-ref.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - visited caret-color with system color.</title> +<style> + a { + caret-color: GrayText; + forced-color-adjust: none; + } + [contenteditable] { + outline: none; + } +</style> +<a id="link" contenteditable href="">link</a> +<script> + window.onload = function() { + document.getElementById("link").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html new file mode 100644 index 00000000000..4526e19550e --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-44.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - visited caret-color with system color.</title> +<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties"> +<link rel=match href="forced-colors-mode-44-ref.html"> +<style> + a { + caret-color: orange; + } + a:visited { + caret-color: GrayText; + } + [contenteditable] { + outline: none; + } +</style> +<a id="link" contenteditable href="">link</a> +<script> + window.onload = function() { + document.getElementById("link").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html new file mode 100644 index 00000000000..c7d535c5278 --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45-ref.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - caret-color with system color.</title> +<style> + div { + caret-color: GrayText; + forced-color-adjust: none; + } + [contenteditable] { + outline: none; + } +</style> +<div id="caret" contenteditable>The caret color should remain GrayText</a> +<script> + window.onload = function() { + document.getElementById("caret").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html new file mode 100644 index 00000000000..e667b829141 --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-45.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - caret-color with system color.</title> +<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties"> +<link rel=match href="forced-colors-mode-45-ref.html"> +<style> + div { + caret-color: GrayText; + } + [contenteditable] { + outline: none; + } +</style> +<div id="caret" contenteditable>The caret color should remain GrayText</a> +<script> + window.onload = function() { + document.getElementById("caret").focus(); + } +</script> + diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html new file mode 100644 index 00000000000..55259f7f7a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46-ref.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - lighting-color, flood-color, stop-color.</title> +<style> + svg { + forced-color-adjust: none; + height: 100px; + width: 500px; + } +</style> +<svg xmlns="http://www.w3.org/2000/svg"> + <rect x="0" y="0" width="100" height="100" fill="WindowText"/> + <rect x="200" y="0" width="100" height="100" fill="WindowText"/> + <rect x="400" y="0" width="100" height="100" fill="WindowText"/> +</svg> diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html new file mode 100644 index 00000000000..6fd50a37156 --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-46.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - lighting-color, flood-color, stop-color.</title> +<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties"> +<link rel=match href="forced-colors-mode-46-ref.html"> +<style> + /* SVG elements are set to 'forced-color-adjust: none' by default. Set this to + auto instead in order to test that lighting-color, flood-color, stop-color + are properly overridden in forced colors mode. */ + svg { + forced-color-adjust: auto; + height: 100px; + width: 500px; + } +</style> +<svg xmlns="http://www.w3.org/2000/svg"> + <!-- stop-color in forced colors mode --> + <linearGradient id="stop"> + <stop offset="25%" stop-color="orange"/> + <stop offset="75%" stop-color="red"/> + </linearGradient> + <rect x="0" y="0" width="100" height="100" fill="url('#stop')"/> + + <!-- lighting-color in forced colors mode --> + <filter id="lighting" x="0" y="0" width="100%" height="100%"> + <feDiffuseLighting in="SourceGraphic" lighting-color="red"> + <fePointLight x="250" y="50" z="10"/> + </feDiffuseLighting> + </filter> + <rect x="200" y="0" width="100" height="100" style="filter: url(#lighting);"/> + + <!-- flood-color in forced colors mode --> + <filter id="flood" x="0" y="0" width="100%" height="100%"> + <feFlood flood-color="red"/> + </filter> + <rect x="400" y="0" width="100" height="100" style="filter: url(#flood);"/> +</svg> diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html new file mode 100644 index 00000000000..827cf86b238 --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - lighting-color, flood-color, stop-color system colors.</title> +<style> + svg { + forced-color-adjust: none; + height: 100px; + width: 500px; + } +</style> +<svg xmlns="http://www.w3.org/2000/svg"> + <linearGradient id="stop"> + <stop offset="25%" stop-color="GrayText"/> + <stop offset="75%" stop-color="LinkText"/> + </linearGradient> + <rect x="0" y="0" width="100" height="100" fill="url('#stop')"/> + + <filter id="lighting" x="0" y="0" width="100%" height="100%"> + <feDiffuseLighting in="SourceGraphic" lighting-color="LinkText"> + <fePointLight x="250" y="50" z="10"/> + </feDiffuseLighting> + </filter> + <rect x="200" y="0" width="100" height="100" style="filter: url(#lighting);"/> + + <filter id="flood" x="0" y="0" width="100%" height="100%"> + <feFlood flood-color="GrayText"/> + </filter> + <rect x="400" y="0" width="100" height="100" style="filter: url(#flood);"/> +</svg> diff --git a/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html new file mode 100644 index 00000000000..b5eb912d6bb --- /dev/null +++ b/tests/wpt/web-platform-tests/forced-colors-mode/forced-colors-mode-47.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Forced colors mode - lighting-color, flood-color, stop-color system colors.</title> +<link rel="help" href="https://www.w3.org/TR/css-color-adjust-1/#forced-colors-properties"> +<link rel=match href="forced-colors-mode-47-ref.html"> +<style> + /* SVG elements are set to 'forced-color-adjust: none' by default. Set this to + auto instead in order to test that lighting-color, flood-color, stop-color + are properly handled in forced colors mode. */ + svg { + forced-color-adjust: auto; + height: 100px; + width: 500px; + } +</style> +<svg xmlns="http://www.w3.org/2000/svg"> + <!-- stop-color in forced colors mode --> + <linearGradient id="stop"> + <stop offset="25%" stop-color="GrayText"/> + <stop offset="75%" stop-color="LinkText"/> + </linearGradient> + <rect x="0" y="0" width="100" height="100" fill="url('#stop')"/> + + <!-- lighting-color in forced colors mode --> + <filter id="lighting" x="0" y="0" width="100%" height="100%"> + <feDiffuseLighting in="SourceGraphic" lighting-color="LinkText"> + <fePointLight x="250" y="50" z="10"/> + </feDiffuseLighting> + </filter> + <rect x="200" y="0" width="100" height="100" style="filter: url(#lighting);"/> + + <!-- flood-color in forced colors mode --> + <filter id="flood" x="0" y="0" width="100%" height="100%"> + <feFlood flood-color="GrayText"/> + </filter> + <rect x="400" y="0" width="100" height="100" style="filter: url(#flood);"/> +</svg> diff --git a/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html b/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html index 3330cfb9189..74ca9a853e6 100644 --- a/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html +++ b/tests/wpt/web-platform-tests/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html @@ -83,6 +83,50 @@ testCases = [ }); } }, + { + description: 'createImageBitmap with <sourceType> source and ' + + 'a value of 0 int resizeWidth', + promiseTestFunction: + (source, t) => { + return createImageBitmap(source, {resizeWidth:0, resizeHeight:10}) + .catch(e => { + assert_throws_dom("InvalidStateError", () => { throw e }); + }); + } + }, + { + description: 'createImageBitmap with <sourceType> source and ' + + 'a value of 0 in resizeHeight', + promiseTestFunction: + (source, t) => { + return createImageBitmap(source, {resizeWidth:10, resizeHeight:0}) + .catch(e => { + assert_throws_dom("InvalidStateError", () => { throw e }); + }); + } + }, + { + description: 'createImageBitmap with <sourceType> source and ' + + 'a value between 0 and 1 in resizeWidth', + promiseTestFunction: + (source, t) => { + return createImageBitmap(source, {resizeWidth:0.5, resizeHeight:10}) + .catch(e => { + assert_throws_dom("InvalidStateError", () => { throw e }); + }); + } + }, + { + description: 'createImageBitmap with <sourceType> source and ' + + 'a value between 0 and 1 in resizeHeight', + promiseTestFunction: + (source, t) => { + return createImageBitmap(source, {resizeWidth:10, resizeHeight:0.5}) + .catch(e => { + assert_throws_dom("InvalidStateError", () => { throw e }); + }); + } + }, ]; // Generate the test matrix for each sourceType + testCase combo. diff --git a/tests/wpt/web-platform-tests/interfaces/appmanifest.idl b/tests/wpt/web-platform-tests/interfaces/appmanifest.idl index 8d701371f85..e3117265450 100644 --- a/tests/wpt/web-platform-tests/interfaces/appmanifest.idl +++ b/tests/wpt/web-platform-tests/interfaces/appmanifest.idl @@ -8,11 +8,7 @@ dictionary WebAppManifest { DOMString lang; USVString name; USVString short_name; - USVString description; sequence<ManifestImageResource> icons; - sequence<ManifestImageResource> screenshots; - sequence<USVString> categories; - DOMString iarc_rating_id; USVString start_url; DisplayModeType display = "browser"; OrientationLockType orientation; diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html new file mode 100644 index 00000000000..a4f16aa07f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change-ref.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>MathML Reference</title> +<p>The 1's below should have the same size</p> +<math> + <mover accent="true"> + <mn>1</mn> + <mn>1</mn> + </mover> +</math> diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html new file mode 100644 index 00000000000..7cb0d05035a --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/scripts/mover-accent-dynamic-change.html @@ -0,0 +1,16 @@ +<!doctype html> +<title>MathML: Dynamically change accent on mover</title> +<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#displaystyle-and-scriptlevel-in-scripts"> +<link rel="match" href="mover-accent-dynamic-change-ref.html"> +<meta name="assert" content="Test that setting the accent attribute on mover takes effect"> +<p>The 1's below should have the same size</p> +<math> + <mover id="m"> + <mn>1</mn> + <mn>1</mn> + </mover> +</math> +<script> + document.body.offsetTop; + m.setAttribute("accent", "true"); +</script> diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html index f91635b7387..11ad68d8188 100644 --- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/scriptlevel-001.html @@ -89,8 +89,8 @@ element.removeAttribute("accent"); element.setAttribute("accentunder", "TrUe"); assert_approx_equals(fontSize(element.children[0]), fontSizeAtScriptLevelZero, epsilon, "base"); - assert_approx_equals(fontSize(element.children[1]), fontSizeAtScriptLevelZero * .71, epsilon, "over"); - assert_approx_equals(fontSize(element.children[2]), fontSizeAtScriptLevelZero, epsilon, "under"); + assert_approx_equals(fontSize(element.children[1]), fontSizeAtScriptLevelZero, epsilon, "under"); + assert_approx_equals(fontSize(element.children[2]), fontSizeAtScriptLevelZero * .71, epsilon, "over"); }, "checking dynamic/case-insensitive accent/accentunder"); done(); diff --git a/tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html b/tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html new file mode 100644 index 00000000000..2c363a0eec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/picture-in-picture/removed-from-document.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<title>Test Picture-in-Picture when removed from document</title> +<script src="/common/media.js"></script> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="resources/picture-in-picture-helpers.js"></script> +<body></body> +<script> +promise_test(async t => { + const video = await loadVideo(); + document.body.appendChild(video); + video.muted = true; + await video.play(); + await requestPictureInPictureWithTrustedClick(video); + + assert_false(video.paused); + document.body.offsetLeft; + document.body.removeChild(video); + await new Promise(resolve => step_timeout(resolve, 1000)); + assert_false(video.paused); +}, 'Picture-in-Picture video does not pause when removed from document'); +</script> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html index 389d001f31e..7cb26c742b9 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/claim-worker-fetch.https.html @@ -19,6 +19,18 @@ promise_test((t) => { return runTest(t, 'resources/claim-blob-url-worker-fetch-iframe.html'); }, 'fetch() in blob URL Worker should be intercepted after the client is claimed.'); +promise_test((t) => { + return runTest(t, 'resources/nested-blob-url-workers.html'); +}, 'fetch() in nested blob URL Worker created from a blob URL Worker should be intercepted after the client is claimed.'); + +promise_test((t) => { + return runTest(t, 'resources/nested-worker-created-from-blob-url-worker.html'); +}, 'fetch() in nested Worker created from a blob URL Worker should be intercepted after the client is claimed.'); + +promise_test((t) => { + return runTest(t, 'resources/nested-blob-url-worker-created-from-worker.html'); +}, 'fetch() in nested blob URL Worker created from a Worker should be intercepted after the client is claimed.'); + async function runTest(t, iframe_url) { const resource = 'simple.txt'; const scope = 'resources/'; diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml b/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml index fd650e80aaa..9ccdc49ba0e 100644 --- a/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml +++ b/tests/wpt/web-platform-tests/tools/ci/azure/install_chrome.yml @@ -2,8 +2,9 @@ steps: # The conflicting google-chrome and chromedriver casks are first uninstalled. # The raw google-chrome-dev cask URL is used to bypass caching. - script: | - HOMEBREW_NO_AUTO_UPDATE=1 brew cask uninstall google-chrome || true - HOMEBREW_NO_AUTO_UPDATE=1 brew cask uninstall chromedriver || true - HOMEBREW_NO_AUTO_UPDATE=1 brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/google-chrome-dev.rb + HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --cask google-chrome || true + HOMEBREW_NO_AUTO_UPDATE=1 brew uninstall --cask chromedriver || true + curl https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/google-chrome-dev.rb > google-chrome-dev.rb + HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask google-chrome-dev.rb displayName: 'Install Chrome Dev' condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin')) diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml b/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml index de6d0335f22..7b8c7be05fe 100644 --- a/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml +++ b/tests/wpt/web-platform-tests/tools/ci/azure/install_firefox.yml @@ -1,6 +1,8 @@ steps: # This is equivalent to `Homebrew/homebrew-cask-versions/firefox-nightly`, # but the raw URL is used to bypass caching. -- script: HOMEBREW_NO_AUTO_UPDATE=1 brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/firefox-nightly.rb +- script: | + curl https://raw.githubusercontent.com/Homebrew/homebrew-cask-versions/master/Casks/firefox-nightly.rb > firefox-nightly.rb + HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask firefox-nightly.rb displayName: 'Install Firefox Nightly' condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin')) diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml b/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml index 6c1b562d411..1636b8e7474 100644 --- a/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml +++ b/tests/wpt/web-platform-tests/tools/ci/azure/install_safari.yml @@ -8,7 +8,7 @@ steps: condition: eq(variables['safaridriver_diagnose'], true) - ${{ if eq(parameters.channel, 'preview') }}: - script: | - HOMEBREW_NO_AUTO_UPDATE=1 brew cask install tools/ci/azure/safari-technology-preview.rb + HOMEBREW_NO_AUTO_UPDATE=1 brew install --cask tools/ci/azure/safari-technology-preview.rb # Workaround for `sudo safardriver --enable` not working on Catalina: # https://github.com/web-platform-tests/wpt/issues/21751 mkdir -p ~/Library/WebDriver/ diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har b/tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har new file mode 100644 index 00000000000..96d0b4e453e --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/cross-origin-no-cors.har @@ -0,0 +1,48 @@ +{ + "log": { + "entries": [ + { + "request": { + "method": "GET", + "url": "https://web-platform.test:8444/web-bundle/resources/wbn/no-cors/resource.cors.json", + "headers": [] + }, + "response": { + "status": 200, + "headers": [ + { + "name": "Content-type", + "value": "application/json" + }, + { + "name": "Access-Control-Allow-Origin", + "value": "*" + } + ], + "content": { + "text": "{ cors: 1 }" + } + } + }, + { + "request": { + "method": "GET", + "url": "https://web-platform.test:8444/web-bundle/resources/wbn/no-cors/resource.no-cors.json", + "headers": [] + }, + "response": { + "status": 200, + "headers": [ + { + "name": "Content-type", + "value": "application/json" + } + ], + "content": { + "text": "{ no_cors: 1 }" + } + } + } + ] + } +} diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh b/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh index 6683cb0dd84..0caef325d1f 100755 --- a/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh +++ b/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh @@ -76,3 +76,9 @@ gen-bundle \ -har cross-origin.har \ -primaryURL $wpt_test_https_origin/web-bundle/resources/wbn/cors/resource.cors.json \ -o wbn/cors/cross-origin.wbn + +gen-bundle \ + -version b1 \ + -har cross-origin-no-cors.har \ + -primaryURL $wpt_test_https_origin/web-bundle/resources/wbn/no-cors/resource.cors.json \ + -o wbn/no-cors/cross-origin.wbn diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbn b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbn Binary files differnew file mode 100644 index 00000000000..b2adba65451 --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/no-cors/cross-origin.wbn diff --git a/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html b/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html index 3991aef2c40..b0072ddb1f6 100644 --- a/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html +++ b/tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-cross-origin.tentative.html @@ -8,17 +8,17 @@ <script src="/resources/testharnessreport.js"></script> <body> <!-- - This wpt should run on an origin which is different than https://web-platform.test:8444/, + This wpt should run on an origin different from https://web-platform.test:8444/, from where cross-orign WebBundles are served. This test uses the two cross-origin WebBundles: 1. https://web-platform.test:8444/web-bundle/resources/wbn/cors/cross-origin.wbn, which is served with an Access-Control-Allow-Origin response header. - 2. http://web-platform.test:8444/web-bundle/resources/wbn/subreource.wbn, + 2. http://web-platform.test:8444/web-bundle/resources/wbn/no-cors/cross-origin.wbn, which is served *without* an Access-Control-Allow-Origin response header. - `cross-origin.wbn` includes two subresources: + Each `cross-origin.wbn` includes two subresources: a. `resource.cors.json`, which includes an Access-Control-Allow-Origin response header. b. `resource.no-cors.json`, which doesn't include an Access-Control-Allow-Origin response header. --> @@ -34,6 +34,8 @@ "https://web-platform.test:8444/web-bundle/resources/wbn/cors/resource.cors.json" ); assert_true(response.ok); + const text = await response.text(); + assert_equals(text, "{ cors: 1 }"); }, "A subresource which includes an Access-Control-Allow-Origin response header can be fetched"); promise_test(async (t) => { @@ -46,21 +48,46 @@ ); }, "A subresource which does not include an Access-Control-Allow-Origin response header can not be fetched"); - promise_test(async () => { - return addLinkAndWaitForError( - "http://web-platform.test:8444/web-bundle/resources/wbn/subreource.wbn" - ); - }, "A cross-origin WebBundle which does not include an Access-Control-Allow-Origin response header should fire an error event on load"); + promise_test(async (t) => { + const prefix = + "http://web-platform.test:8444/web-bundle/resources/wbn/no-cors/"; + const resources = [ + prefix + "resource.cors.json", + prefix + "resource.no-cors.json", + ] + // Should fire an error event on loading webbundle. + await addLinkAndWaitForError(prefix + "cross-origin.wbn", resources); + // A fetch should fail for any subresource specified in resources attribute. + for (const url of resources) { + await fetchAndWaitForReject(url); + } + }, "A cross-origin WebBundle which does not include an Access-Control-Allow-Origin response header should fire an error event on load, and a fetch should fail for any subresource"); - function addLinkAndWaitForError(url) { + function addLinkAndWaitForError(url, resources) { return new Promise((resolve, reject) => { const link = document.createElement("link"); link.rel = "webbundle"; link.href = url; + for (const resource of resources) { + link.resources.add(resource); + } link.onload = reject; link.onerror = () => resolve(link); document.body.appendChild(link); }); } + + function fetchAndWaitForReject(url) { + return new Promise((resolve, reject) => { + fetch(url) + .then(() => { + reject(); + }) + .catch(() => { + resolve(); + }); + }); + } + </script> </body> diff --git a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini index 8e56bf6514b..9552b14a46c 100644 --- a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini +++ b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini @@ -293,3 +293,6 @@ [WebGL test #41: attachment 4 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,255,0,0] expected: FAIL + [WebGL test #52: attachment 7 should be 0,255,0,255\nat (4, 0) expected: 0,255,0,255 was 0,0,0,0] + expected: FAIL + |