diff --git a/tests/wpt/metadata-layout-2020/FileAPI/idlharness.html.ini b/tests/wpt/metadata-layout-2020/FileAPI/idlharness.html.ini index 1b0b6b3e655..7c9625a78d8 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/idlharness.html.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/idlharness.html.ini @@ -5,12 +5,21 @@ [Blob interface: operation stream()] expected: FAIL - [idl_test setup] - expected: FAIL - [Blob interface: operation arrayBuffer()] expected: FAIL [FileReader interface: operation readAsBinaryString(Blob)] expected: FAIL + [FileReader interface: calling readAsBinaryString(Blob) on new FileReader() with too few arguments must throw TypeError] + expected: FAIL + + [FileReader interface: new FileReader() must inherit property "readAsBinaryString(Blob)" with the proper type] + expected: FAIL + + [Blob interface: new Blob(["TEST"\]) must inherit property "stream()" with the proper type] + expected: FAIL + + [Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "stream()" with the proper type] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/FileAPI/idlharness.worker.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/idlharness.worker.js.ini index ecae4702306..c7298b20ed2 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/idlharness.worker.js.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/idlharness.worker.js.ini @@ -5,12 +5,21 @@ [Blob interface: operation stream()] expected: FAIL - [idl_test setup] - expected: FAIL - [Blob interface: operation arrayBuffer()] expected: FAIL [FileReader interface: operation readAsBinaryString(Blob)] expected: FAIL + [FileReader interface: calling readAsBinaryString(Blob) on new FileReader() with too few arguments must throw TypeError] + expected: FAIL + + [FileReader interface: new FileReader() must inherit property "readAsBinaryString(Blob)" with the proper type] + expected: FAIL + + [Blob interface: new Blob(["TEST"\]) must inherit property "stream()" with the proper type] + expected: FAIL + + [Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "stream()" with the proper type] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini index 76b44d9e9cf..3605e8f3fc9 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -4,7 +4,7 @@ expected: TIMEOUT [Opening a blob URL in a new window immediately before revoking it works.] - expected: FAIL + expected: TIMEOUT [Fetching a blob URL immediately before revoking it works in an iframe.] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - 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/css-flexbox/flex-direction-column-reverse.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-direction-column-reverse.html.ini new file mode 100644 index 00000000000..d8263bc1d5c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-direction-column-reverse.html.ini @@ -0,0 +1,2 @@ +[flex-direction-column-reverse.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-direction-column.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-direction-column.html.ini new file mode 100644 index 00000000000..9bbe4d0fee3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-direction-column.html.ini @@ -0,0 +1,2 @@ +[flex-direction-column.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-area-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-area-001.html.ini new file mode 100644 index 00000000000..78e4433fc14 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-area-001.html.ini @@ -0,0 +1,2 @@ +[overflow-area-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/multiple-position-color-stop-conic-2.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/multiple-position-color-stop-conic-2.html.ini new file mode 100644 index 00000000000..d7e733501db --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/multiple-position-color-stop-conic-2.html.ini @@ -0,0 +1,2 @@ +[multiple-position-color-stop-conic-2.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/repeating-conic-gradient.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/repeating-conic-gradient.html.ini new file mode 100644 index 00000000000..b9063d8ee48 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/repeating-conic-gradient.html.ini @@ -0,0 +1,2 @@ +[repeating-conic-gradient.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/tiled-conic-gradients.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/tiled-conic-gradients.html.ini new file mode 100644 index 00000000000..e2b676b1315 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/tiled-conic-gradients.html.ini @@ -0,0 +1,2 @@ +[tiled-conic-gradients.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini new file mode 100644 index 00000000000..404c8d7f587 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini @@ -0,0 +1,718 @@ +[properties-value-inherit-001.html] + [top length(pt) / events] + expected: FAIL + + [border-right-width length(mm) / events] + expected: FAIL + + [background-position length(pt) / values] + expected: FAIL + + [width length(pt) / events] + expected: FAIL + + [background-position length(pt) / events] + expected: FAIL + + [border-bottom-width length(pc) / events] + expected: FAIL + + [height length(ex) / events] + expected: FAIL + + [padding-bottom length(mm) / events] + expected: FAIL + + [border-top-width length(px) / events] + expected: FAIL + + [border-top-width length(pt) / events] + expected: FAIL + + [padding-top length(em) / events] + expected: FAIL + + [outline-width length(pc) / events] + expected: FAIL + + [max-width length(in) / events] + expected: FAIL + + [margin-top length(cm) / events] + expected: FAIL + + [margin-right length(pt) / events] + expected: FAIL + + [right length(ex) / events] + expected: FAIL + + [vertical-align length(px) / events] + expected: FAIL + + [max-height length(em) / events] + expected: FAIL + + [width length(ex) / events] + expected: FAIL + + [border-bottom-color color(rgba) / events] + expected: FAIL + + [width percentage(%) / events] + expected: FAIL + + [background-position length(px) / values] + expected: FAIL + + [margin-top length(ex) / events] + expected: FAIL + + [border-top-width length(in) / events] + expected: FAIL + + [right length(em) / events] + expected: FAIL + + [top length(ex) / events] + expected: FAIL + + [padding-left length(px) / events] + expected: FAIL + + [margin-top length(em) / events] + expected: FAIL + + [left length(em) / events] + expected: FAIL + + [margin-left length(px) / events] + expected: FAIL + + [background-position length(cm) / events] + expected: FAIL + + [max-height percentage(%) / events] + expected: FAIL + + [bottom length(ex) / events] + expected: FAIL + + [padding-left length(mm) / events] + expected: FAIL + + [right length(mm) / events] + expected: FAIL + + [margin-top length(pc) / events] + expected: FAIL + + [background-position length(mm) / values] + expected: FAIL + + [border-left-width length(pt) / events] + expected: FAIL + + [outline-offset length(mm) / events] + expected: FAIL + + [vertical-align length(in) / events] + expected: FAIL + + [border-bottom-width length(pt) / events] + expected: FAIL + + [border-bottom-width length(in) / events] + expected: FAIL + + [margin-bottom length(pc) / events] + expected: FAIL + + [border-left-width length(mm) / events] + expected: FAIL + + [height length(em) / events] + expected: FAIL + + [background-position length(in) / events] + expected: FAIL + + [height length(cm) / events] + expected: FAIL + + [padding-top length(in) / events] + expected: FAIL + + [max-width length(ex) / events] + expected: FAIL + + [padding-top length(px) / events] + expected: FAIL + + [border-top-width length(pc) / events] + expected: FAIL + + [top length(cm) / events] + expected: FAIL + + [left length(ex) / events] + expected: FAIL + + [min-width length(ex) / events] + expected: FAIL + + [left length(pc) / events] + expected: FAIL + + [vertical-align length(em) / events] + expected: FAIL + + [left length(in) / events] + expected: FAIL + + [left length(px) / events] + expected: FAIL + + [border-bottom-width length(mm) / events] + expected: FAIL + + [min-width length(cm) / events] + expected: FAIL + + [vertical-align length(cm) / events] + expected: FAIL + + [padding-bottom length(px) / events] + expected: FAIL + + [max-width percentage(%) / events] + expected: FAIL + + [outline-offset length(cm) / events] + expected: FAIL + + [top length(in) / events] + expected: FAIL + + [border-left-color color(rgba) / events] + expected: FAIL + + [margin-left length(mm) / events] + expected: FAIL + + [margin-top length(pt) / events] + expected: FAIL + + [min-height length(cm) / events] + expected: FAIL + + [max-height length(cm) / events] + expected: FAIL + + [width length(mm) / events] + expected: FAIL + + [width length(pc) / events] + expected: FAIL + + [background-position length(em) / events] + expected: FAIL + + [vertical-align length(mm) / events] + expected: FAIL + + [height length(px) / events] + expected: FAIL + + [right percentage(%) / events] + expected: FAIL + + [border-top-color color(rgba) / events] + expected: FAIL + + [outline-offset length(em) / events] + expected: FAIL + + [z-index integer(integer) / events] + expected: FAIL + + [padding-right length(px) / events] + expected: FAIL + + [vertical-align length(ex) / events] + expected: FAIL + + [outline-width length(em) / events] + expected: FAIL + + [width length(cm) / events] + expected: FAIL + + [margin-right length(ex) / events] + expected: FAIL + + [border-right-width length(cm) / events] + expected: FAIL + + [margin-right length(em) / events] + expected: FAIL + + [border-left-width length(ex) / events] + expected: FAIL + + [min-width length(mm) / events] + expected: FAIL + + [margin-right length(pc) / events] + expected: FAIL + + [margin-left length(pt) / events] + expected: FAIL + + [border-right-width length(pc) / events] + expected: FAIL + + [height length(in) / events] + expected: FAIL + + [border-left-width length(in) / events] + expected: FAIL + + [min-height length(ex) / events] + expected: FAIL + + [bottom length(em) / events] + expected: FAIL + + [border-right-color color(rgba) / events] + expected: FAIL + + [right length(in) / events] + expected: FAIL + + [padding-top length(pt) / events] + expected: FAIL + + [min-width length(em) / events] + expected: FAIL + + [border-right-width length(pt) / events] + expected: FAIL + + [opacity number[0,1\](zero-to-one) / events] + expected: FAIL + + [padding-bottom length(cm) / events] + expected: FAIL + + [margin-right length(in) / events] + expected: FAIL + + [margin-top length(px) / events] + expected: FAIL + + [padding-top length(ex) / events] + expected: FAIL + + [margin-left length(ex) / events] + expected: FAIL + + [top length(px) / events] + expected: FAIL + + [bottom length(cm) / events] + expected: FAIL + + [border-bottom-width length(px) / events] + expected: FAIL + + [margin-bottom length(ex) / events] + expected: FAIL + + [max-width length(mm) / events] + expected: FAIL + + [height percentage(%) / events] + expected: FAIL + + [border-right-width length(px) / events] + expected: FAIL + + [border-top-width length(mm) / events] + expected: FAIL + + [border-left-width length(em) / events] + expected: FAIL + + [max-width length(pc) / events] + expected: FAIL + + [visibility visibility(keyword) / values] + expected: FAIL + + [padding-bottom length(em) / events] + expected: FAIL + + [min-width length(pt) / events] + expected: FAIL + + [outline-width length(cm) / events] + expected: FAIL + + [border-right-width length(in) / events] + expected: FAIL + + [bottom length(in) / events] + expected: FAIL + + [padding-right length(mm) / events] + expected: FAIL + + [border-left-width length(px) / events] + expected: FAIL + + [left length(cm) / events] + expected: FAIL + + [background-position length(ex) / values] + expected: FAIL + + [margin-right length(px) / events] + expected: FAIL + + [clip rectangle(rectangle) / events] + expected: FAIL + + [margin-left length(cm) / events] + expected: FAIL + + [background-color color(rgba) / events] + expected: FAIL + + [min-width length(in) / events] + expected: FAIL + + [padding-right length(cm) / events] + expected: FAIL + + [width length(em) / events] + expected: FAIL + + [background-position length(cm) / values] + expected: FAIL + + [margin-left length(em) / events] + expected: FAIL + + [margin-right length(cm) / events] + expected: FAIL + + [border-bottom-width length(cm) / events] + expected: FAIL + + [bottom length(pc) / events] + expected: FAIL + + [top percentage(%) / events] + expected: FAIL + + [padding-left length(pt) / events] + expected: FAIL + + [min-width percentage(%) / events] + expected: FAIL + + [right length(px) / events] + expected: FAIL + + [padding-right length(in) / events] + expected: FAIL + + [left length(mm) / events] + expected: FAIL + + [bottom length(px) / events] + expected: FAIL + + [padding-left length(pc) / events] + expected: FAIL + + [outline-width length(ex) / events] + expected: FAIL + + [padding-left length(cm) / events] + expected: FAIL + + [left length(pt) / events] + expected: FAIL + + [outline-width length(mm) / events] + expected: FAIL + + [padding-left length(ex) / events] + expected: FAIL + + [margin-bottom length(cm) / events] + expected: FAIL + + [max-width length(pt) / events] + expected: FAIL + + [border-right-width length(em) / events] + expected: FAIL + + [margin-left length(in) / events] + expected: FAIL + + [top length(em) / events] + expected: FAIL + + [padding-right length(pt) / events] + expected: FAIL + + [padding-top length(pc) / events] + expected: FAIL + + [border-top-width length(ex) / events] + expected: FAIL + + [min-height length(pt) / events] + expected: FAIL + + [width length(in) / events] + expected: FAIL + + [min-width length(pc) / events] + expected: FAIL + + [margin-bottom length(mm) / events] + expected: FAIL + + [height length(pc) / events] + expected: FAIL + + [background-position length(ex) / events] + expected: FAIL + + [max-width length(px) / events] + expected: FAIL + + [bottom length(pt) / events] + expected: FAIL + + [padding-right length(ex) / events] + expected: FAIL + + [border-top-width length(em) / events] + expected: FAIL + + [max-height length(pt) / events] + expected: FAIL + + [vertical-align percentage(%) / events] + expected: FAIL + + [margin-left length(pc) / events] + expected: FAIL + + [min-height percentage(%) / events] + expected: FAIL + + [padding-bottom length(ex) / events] + expected: FAIL + + [padding-left length(em) / events] + expected: FAIL + + [bottom percentage(%) / events] + expected: FAIL + + [min-height length(pc) / events] + expected: FAIL + + [border-left-width length(pc) / events] + expected: FAIL + + [margin-bottom length(in) / events] + expected: FAIL + + [outline-width length(pt) / events] + expected: FAIL + + [margin-bottom length(em) / events] + expected: FAIL + + [top length(mm) / events] + expected: FAIL + + [outline-color color(rgba) / events] + expected: FAIL + + [background-position length(pc) / events] + expected: FAIL + + [bottom length(mm) / events] + expected: FAIL + + [padding-top length(mm) / events] + expected: FAIL + + [border-right-width length(ex) / events] + expected: FAIL + + [border-top-width length(cm) / events] + expected: FAIL + + [outline-width length(in) / events] + expected: FAIL + + [right length(pt) / events] + expected: FAIL + + [width length(px) / events] + expected: FAIL + + [height length(pt) / events] + expected: FAIL + + [background-position length(in) / values] + expected: FAIL + + [padding-left length(in) / events] + expected: FAIL + + [min-height length(em) / events] + expected: FAIL + + [left percentage(%) / events] + expected: FAIL + + [padding-bottom length(pc) / events] + expected: FAIL + + [max-height length(ex) / events] + expected: FAIL + + [border-left-width length(cm) / events] + expected: FAIL + + [outline-offset length(ex) / events] + expected: FAIL + + [max-height length(pc) / events] + expected: FAIL + + [padding-right length(pc) / events] + expected: FAIL + + [top length(pc) / events] + expected: FAIL + + [vertical-align length(pc) / events] + expected: FAIL + + [min-height length(px) / events] + expected: FAIL + + [margin-right length(mm) / events] + expected: FAIL + + [max-height length(mm) / events] + expected: FAIL + + [background-position length(pc) / values] + expected: FAIL + + [right length(pc) / events] + expected: FAIL + + [background-position percentage(%) / values] + expected: FAIL + + [vertical-align length(pt) / events] + expected: FAIL + + [padding-top length(cm) / events] + expected: FAIL + + [right length(cm) / events] + expected: FAIL + + [outline-offset length(pt) / events] + expected: FAIL + + [background-position length(mm) / events] + expected: FAIL + + [min-height length(in) / events] + expected: FAIL + + [max-width length(cm) / events] + expected: FAIL + + [border-bottom-width length(ex) / events] + expected: FAIL + + [max-height length(px) / events] + expected: FAIL + + [min-width length(px) / events] + expected: FAIL + + [outline-offset length(px) / events] + expected: FAIL + + [margin-top length(in) / events] + expected: FAIL + + [background-position length(em) / values] + expected: FAIL + + [outline-offset length(in) / events] + expected: FAIL + + [margin-bottom length(pt) / events] + expected: FAIL + + [max-width length(em) / events] + expected: FAIL + + [padding-bottom length(pt) / events] + expected: FAIL + + [min-height length(mm) / events] + expected: FAIL + + [padding-bottom length(in) / events] + expected: FAIL + + [margin-bottom length(px) / events] + expected: FAIL + + [max-height length(in) / events] + expected: FAIL + + [outline-width length(px) / events] + expected: FAIL + + [background-position percentage(%) / events] + expected: FAIL + + [padding-right length(em) / events] + expected: FAIL + + [height length(mm) / events] + expected: FAIL + + [margin-top length(mm) / events] + expected: FAIL + + [background-position length(px) / events] + expected: FAIL + + [outline-offset length(pc) / events] + expected: FAIL + + [border-bottom-width length(em) / events] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/appearance-revert-001.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/appearance-revert-001.tentative.html.ini new file mode 100644 index 00000000000..361163aff2a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-ui/appearance-revert-001.tentative.html.ini @@ -0,0 +1,2 @@ +[appearance-revert-001.tentative.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/outline-028.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/outline-028.html.ini new file mode 100644 index 00000000000..f203a983826 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-ui/outline-028.html.ini @@ -0,0 +1,2 @@ +[outline-028.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini index 628b1fab770..c884dc82eab 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini @@ -2,3 +2,6 @@ [listeners are called when + diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html new file mode 100644 index 00000000000..39b8e363986 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html @@ -0,0 +1,30 @@ + + + + + +
abc
+
def
+ diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html deleted file mode 100644 index 0c7a411a728..00000000000 --- a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-009.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - -

Test passes if there is a filled green square.

-
- - -
- - diff --git a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html b/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html deleted file mode 100644 index 04c154e8fcd..00000000000 --- a/tests/wpt/web-platform-tests/css/css-sizing/intrinsic-percent-replaced-dynamic-010.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - -

Test passes if there is a filled green square.

-
- -
- -
-
-
- diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-revert-001.tentative.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-revert-001.tentative.html new file mode 100644 index 00000000000..eb94e6feedf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-revert-001.tentative.html @@ -0,0 +1,24 @@ + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-revert-ref.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-revert-ref.html new file mode 100644 index 00000000000..26aa6e87198 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-revert-ref.html @@ -0,0 +1,15 @@ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-024.html b/tests/wpt/web-platform-tests/css/css-ui/outline-024.html new file mode 100644 index 00000000000..38742d8203d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-024.html @@ -0,0 +1,13 @@ + + +CSS Basic User Interface: outline with padding + + + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
XX
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-025.html b/tests/wpt/web-platform-tests/css/css-ui/outline-025.html new file mode 100644 index 00000000000..dc679054e15 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-025.html @@ -0,0 +1,13 @@ + + +CSS Basic User Interface: outline with padding + + + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
XX
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-026.html b/tests/wpt/web-platform-tests/css/css-ui/outline-026.html new file mode 100644 index 00000000000..94aa415e74f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-026.html @@ -0,0 +1,13 @@ + + +CSS Basic User Interface: outline with padding + + + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+ XX +
diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-027.html b/tests/wpt/web-platform-tests/css/css-ui/outline-027.html new file mode 100644 index 00000000000..e5ffc7527f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-027.html @@ -0,0 +1,171 @@ + + +CSS Basic User Interface: outline with padding + + + + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-028.html b/tests/wpt/web-platform-tests/css/css-ui/outline-028.html new file mode 100644 index 00000000000..416947d16d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-028.html @@ -0,0 +1,165 @@ + + +CSS Basic User Interface: outline with floatted descendants + + + + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
X
+ X +
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/outline-with-padding-001.html b/tests/wpt/web-platform-tests/css/css-ui/outline-with-padding-001.html new file mode 100644 index 00000000000..716491ca25e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/outline-with-padding-001.html @@ -0,0 +1,30 @@ + +Outline with padding + + + + + + + +
+ + + Previous + + +
+ +
+ + Previous + +
+ diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-024-ref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-024-ref.html new file mode 100644 index 00000000000..553b4493d33 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-024-ref.html @@ -0,0 +1,11 @@ + + +CSS Basic User Interface: Reference test for outline with padding + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
XX
+
+ diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-027-ref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-027-ref.html new file mode 100644 index 00000000000..ba84ec101b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-027-ref.html @@ -0,0 +1,160 @@ + + +CSS Basic User Interface: Reference test for outline with padding + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
XX
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-028-ref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-028-ref.html new file mode 100644 index 00000000000..c0f7b134ff3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-028-ref.html @@ -0,0 +1,136 @@ + + +CSS Basic User Interface: Reference test for outline with floatted descendants + + + + +

Test passes if the outline is wrapping all the green boxes.

+
+
+
+ XX +
+
+
XX
+
+
+
X
X +
+
+
X
+
+
+ XX +
+
+
X
X +
+
+
X
+
+
+
+
+
+
+
+
+ XX +
+
+
XX
+
+
+
X
X +
+
+
+
+
+
+ XX +
+
+
X
X +
+
+
+
+
+
+
+
+
+
+
+
+ XX +
+
+
XX
+
+
+
X
X +
+
+
X
+
+
+
X
+
+
+
X
X +
+
+
X
+
+
+
X
+
+
+
+
+ XX +
+
+
XX
+
+
+
X
X +
+
+
X
+
+
+
X
+
+
+
X
X +
+
+
X
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-ui/reference/outline-with-padding-001-ref.html b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-with-padding-001-ref.html new file mode 100644 index 00000000000..62b0c41757d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/reference/outline-with-padding-001-ref.html @@ -0,0 +1,24 @@ + + + +
+ + Previous + +
+ +
+ Previous +
+ diff --git a/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html b/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html index d4c9a59782d..8d58e83eb72 100644 --- a/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html +++ b/tests/wpt/web-platform-tests/css/css-values/ch-pseudo-recalc-on-font-load.html @@ -2,7 +2,7 @@ Length unit 'ch' used in pseudo elements should be recalculated after loading a web font - + diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-clip-rounded-clip-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-clip-rounded-clip-ref.html new file mode 100644 index 00000000000..bdadb35fff9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-clip-rounded-clip-ref.html @@ -0,0 +1,2 @@ + +
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-clip-rounded-clip.html b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-clip-rounded-clip.html new file mode 100644 index 00000000000..ab1a31d740c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/backdrop-filter-clip-rounded-clip.html @@ -0,0 +1,18 @@ + +backdrop-filter under overflow clip under border-radius overflow clip + + +
+
+ +
+ +
+
+
+ +
+
+ +
+ diff --git a/tests/wpt/web-platform-tests/editing/data/insertlinebreak.js b/tests/wpt/web-platform-tests/editing/data/insertlinebreak.js index a37483eddb0..540b1b1e411 100644 --- a/tests/wpt/web-platform-tests/editing/data/insertlinebreak.js +++ b/tests/wpt/web-platform-tests/editing/data/insertlinebreak.js @@ -470,6 +470,11 @@ var browserTests = [ "foo
{}
bar", [true], {"insertlinebreak":[false,false,"",false,false,""]}], +["foo{}bar", + [["insertlinebreak",""]], + "foo
{}bar", + [true], + {"insertlinebreak":[false,false,"",false,false,""]}], ["foo[]bar", [["insertlinebreak",""]], "foo
{}bar
", diff --git a/tests/wpt/web-platform-tests/editing/run/undo-redo-after-mutation.html b/tests/wpt/web-platform-tests/editing/run/undo-redo-after-mutation.html new file mode 100644 index 00000000000..8d583a161f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/editing/run/undo-redo-after-mutation.html @@ -0,0 +1,119 @@ + + + +
+ diff --git a/tests/wpt/web-platform-tests/encoding/resources/encodings.js b/tests/wpt/web-platform-tests/encoding/resources/encodings.js index c7a2a5a8b28..80933bf9386 100644 --- a/tests/wpt/web-platform-tests/encoding/resources/encodings.js +++ b/tests/wpt/web-platform-tests/encoding/resources/encodings.js @@ -1,16 +1,16 @@ -// Based on https://encoding.spec.whatwg.org/ -var utf_encodings = ['utf-8', 'utf-16le', 'utf-16be']; - // Straight from https://encoding.spec.whatwg.org/encodings.json -var encodings_table = +const encodings_table = [ { "encodings": [ { "labels": [ "unicode-1-1-utf-8", + "unicode11utf8", + "unicode20utf8", "utf-8", - "utf8" + "utf8", + "x-unicode20utf8" ], "name": "UTF-8" } @@ -438,12 +438,18 @@ var encodings_table = }, { "labels": [ + "unicodefffe", "utf-16be" ], "name": "UTF-16BE" }, { "labels": [ + "csunicode", + "iso-10646-ucs-2", + "ucs-2", + "unicode", + "unicodefeff", "utf-16", "utf-16le" ], diff --git a/tests/wpt/web-platform-tests/fetch/metadata/preload.https.sub.html b/tests/wpt/web-platform-tests/fetch/metadata/preload.https.sub.html index 6da69be7615..323d2eb06e6 100644 --- a/tests/wpt/web-platform-tests/fetch/metadata/preload.https.sub.html +++ b/tests/wpt/web-platform-tests/fetch/metadata/preload.https.sub.html @@ -12,7 +12,7 @@ function create_test(host, as, expected) { async_test(t => { - let nonce = "{{uuid()}}"; + let nonce = token(); let key = as + nonce; let e = document.createElement('link'); diff --git a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp.html b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp.html new file mode 100644 index 00000000000..9f31ef759a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/revalidate-not-blocked-by-csp.html @@ -0,0 +1,67 @@ + + +Test revalidations requests aren't blocked by CSP. + + + + + + diff --git a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-iframe-tests.sub.js b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-iframe-tests.sub.js index c4195fee5f5..200013c48f9 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-iframe-tests.sub.js +++ b/tests/wpt/web-platform-tests/generic-sensor/generic-sensor-iframe-tests.sub.js @@ -4,18 +4,17 @@ async function send_message_to_iframe(iframe, message, reply) { } return new Promise((resolve, reject) => { - let messageHandler = e => { + window.addEventListener('message', (e) => { if (e.data.command !== message.command) { + reject(`Expected reply with command '${message.command}', got '${e.data.command}' instead`); return; } - window.removeEventListener('message', messageHandler); if (e.data.result === reply) { resolve(); } else { - reject(); + reject(`Got unexpected reply '${e.data.result}' to command '${message.command}', expected '${reply}'`); } - } - window.addEventListener('message', messageHandler); + }, { once: true }); iframe.contentWindow.postMessage(message, '*'); }); } diff --git a/tests/wpt/web-platform-tests/generic-sensor/resources/iframe_sensor_handler.html b/tests/wpt/web-platform-tests/generic-sensor/resources/iframe_sensor_handler.html index ec594abd4c7..d516a40a249 100644 --- a/tests/wpt/web-platform-tests/generic-sensor/resources/iframe_sensor_handler.html +++ b/tests/wpt/web-platform-tests/generic-sensor/resources/iframe_sensor_handler.html @@ -20,8 +20,8 @@ sensor = new self[e.data.type](); e.source.postMessage({command: e.data.command, result: 'success'}, '*'); - } catch (e) { - e.source.postMessage({command: e.data.command, result: ''}, '*'); + } catch (error) { + e.source.postMessage({command: e.data.command, result: error}, '*'); } }); } else if (e.data.command === 'start_sensor') { @@ -34,8 +34,8 @@ result: 'success'}, '*'); } sensor.addEventListener('reading', onReadingListener, {once: true}); - } catch (e) { - e.source.postMessage({command: e.data.command, result: ''}, '*'); + } catch (error) { + e.source.postMessage({command: e.data.command, result: error}, '*'); } } else if (e.data.command === 'is_sensor_suspended') { let cachedTimestamp = lastTimestamp; diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-summary-element/click-behavior-optional.tentative.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-summary-element/click-behavior-optional.tentative.html new file mode 100644 index 00000000000..4418413fefe --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-summary-element/click-behavior-optional.tentative.html @@ -0,0 +1,39 @@ + + +summary element: click behavior + + + + + + + + + +
+ +
+ Summary +

Contents

+
+ + + diff --git a/tests/wpt/web-platform-tests/html/user-activation/propagation-crossorigin.sub.tentative.html b/tests/wpt/web-platform-tests/html/user-activation/propagation-crossorigin.sub.tentative.html index 775217ed17f..6847502d936 100644 --- a/tests/wpt/web-platform-tests/html/user-activation/propagation-crossorigin.sub.tentative.html +++ b/tests/wpt/web-platform-tests/html/user-activation/propagation-crossorigin.sub.tentative.html @@ -31,7 +31,7 @@ assert_false(navigator.userActivation.hasBeenActive); }, "Parent frame initial state"); - delayByFrames(() => test_driver.click(document.getElementById("child-xo")), 5); + delayByFrames(() => test_driver.click(document.getElementById("child-xo")), 7); } function finishReportPhase() { diff --git a/tests/wpt/web-platform-tests/idle-detection/basics.tentative.https.any.js b/tests/wpt/web-platform-tests/idle-detection/basics.tentative.https.window.js similarity index 54% rename from tests/wpt/web-platform-tests/idle-detection/basics.tentative.https.any.js rename to tests/wpt/web-platform-tests/idle-detection/basics.tentative.https.window.js index c31faff8fcb..2bb74fbcd2a 100644 --- a/tests/wpt/web-platform-tests/idle-detection/basics.tentative.https.any.js +++ b/tests/wpt/web-platform-tests/idle-detection/basics.tentative.https.window.js @@ -1,21 +1,25 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js // META: title=Idle Detection API: Basics 'use strict'; +promise_setup(async t => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); +}) + promise_test(async t => { let status = new IdleDetector(); - let watcher = new EventWatcher(t, status, ["change"]); + let initial_state = watcher.wait_for("change"); await status.start(); - - await watcher.wait_for("change"); + await initial_state; assert_true(['active', 'idle'].includes(status.state.user), 'status has a valid user state'); assert_true(['locked', 'unlocked'].includes(status.state.screen), 'status has a valid screen state'); - }, 'start() basics'); promise_test(async t => { @@ -24,7 +28,7 @@ promise_test(async t => { new IdleDetector({ get threshold() { used = true; - return 60; + return 60000; } }); @@ -32,56 +36,31 @@ promise_test(async t => { }, 'constructor uses threshold property'); promise_test(async t => { - try { - new IdleDetector({threshold: 0}); - assert_unreached('Threshold under 60 should reject'); - } catch (error) { - assert_equals(error.name, 'TypeError'); - } + assert_throws_js(TypeError, () => new IdleDetector({threshold: 0})); }, 'constructor throws with invalid threshold (0)'); promise_test(async t => { - try { - new IdleDetector({threshold: 59}); - assert_unreached('Threshold under 60 should reject'); - } catch (error) { - assert_equals(error.name, 'TypeError'); - } -}, 'constructor throws with threshold below minimum (59)'); + assert_throws_js(TypeError, () => new IdleDetector({threshold: 59000})); +}, 'constructor throws with threshold below minimum (59000)'); promise_test(async t => { - new IdleDetector({threshold: 60}); -}, 'constructor allows threshold (60)'); + new IdleDetector({threshold: 60000}); +}, 'constructor allows threshold (60000)'); promise_test(async t => { - new IdleDetector({threshold: 61}); -}, 'constructor allows threshold (61)'); + new IdleDetector({threshold: 61000}); +}, 'constructor allows threshold (61000)'); promise_test(async t => { - try { - new IdleDetector({threshold: null}); - assert_unreached('Threshold of null should reject'); - } catch (error) { - assert_equals(error.name, 'TypeError'); - } + assert_throws_js(TypeError, () => new IdleDetector({threshold: null})); }, 'constructor throws with invalid threshold (null)'); promise_test(async t => { - try { - new IdleDetector({threshold: -1}); - assert_unreached('Threshold of negative numbers should reject'); - } catch (error) { - assert_equals(error.name, 'TypeError'); - } + assert_throws_js(TypeError, () => new IdleDetector({threshold: -1})); }, 'constructor throws with invalid threshold (-1)'); promise_test(async t => { - try { - new IdleDetector({threshold: NaN}); - assert_unreached('Threshold of NaN should reject'); - } catch (error) { - assert_equals(error.name, 'TypeError'); - } + assert_throws_js(TypeError, () => new IdleDetector({threshold: NaN})); }, 'constructor throws with invalid threshold (NaN)'); promise_test(async t => { @@ -91,4 +70,3 @@ promise_test(async t => { promise_test(async t => { new IdleDetector({threshold: undefined}); }, 'constructor uses a default value for the threshold'); - diff --git a/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html b/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html index 6129ba12fa4..5f5b5a85de3 100644 --- a/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html +++ b/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html @@ -1,5 +1,7 @@ + + @@ -18,25 +20,29 @@ const cross_origin_src = base_src + sub + relative_path; const cross_origin_worker_frame_src = base_src + sub + relative_worker_frame_path; -async_test(t => { +promise_setup(async () => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); +}); + +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_src, expect_feature_available_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame ' + 'allows same-origin relocation.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_worker_frame_src, expect_feature_available_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame ' + 'allows workers in same-origin relocation.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_src, expect_feature_unavailable_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame ' + 'disallows cross-origin relocation.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_worker_frame_src, expect_feature_unavailable_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame ' + diff --git a/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute.https.sub.html b/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute.https.sub.html index b19cd241bf4..06d58bc30bc 100644 --- a/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute.https.sub.html +++ b/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy-attribute.https.sub.html @@ -1,5 +1,7 @@ + + @@ -14,25 +16,29 @@ const same_origin_worker_frame_src = const cross_origin_src = sub + same_origin_src; const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src; -async_test(t => { +promise_setup(async () => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); +}); + +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_src, expect_feature_available_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame can be enabled ' + 'in same-origin iframe using Feature policy "idle-detection".'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_worker_frame_src, expect_feature_available_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame can be enabled ' + 'in a worker in same-origin iframe using Feature policy "idle-detection".'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_src, expect_feature_available_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame can be enabled ' + 'in cross-origin iframe using Feature policy "idle-detection".'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_worker_frame_src, expect_feature_available_default, 'idle-detection'); }, 'Attribute allow="idle-detection" in top-level frame can be enabled ' + diff --git a/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy.https.sub.html index cafe96f5c89..10cce8b3690 100644 --- a/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/idle-detection/idle-detection-allowed-by-feature-policy.https.sub.html @@ -1,5 +1,7 @@ + + @@ -14,31 +16,35 @@ const same_origin_worker_frame_src = const cross_origin_src = sub + same_origin_src; const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src; -promise_test(async () => { +promise_setup(async () => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); +}); + +promise_test(async t => { await new IdleDetector().start(); }, 'Feature-Policy {"idle-detection" : ["*"]} explicity set by top-level ' + 'frame allows the top-level document.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_src, expect_feature_available_default); }, 'Feature-Policy {"idle-detection" : ["*"]} explicity set by top-level ' + 'frame allows same-origin iframes.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_worker_frame_src, expect_feature_available_default); }, 'Feature-Policy {"idle-detection" : ["*"]} explicity set by top-level ' + 'frame allows workers in same-origin iframes.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_src, expect_feature_available_default); }, 'Feature-Policy {"idle-detection" : ["*"]} explicity set by top-level ' + 'frame allows cross-origin iframes.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_worker_frame_src, expect_feature_available_default); }, 'Feature-Policy {"idle-detection" : ["*"]} explicity set by top-level ' + diff --git a/tests/wpt/web-platform-tests/idle-detection/idle-detection-default-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/idle-detection/idle-detection-default-feature-policy.https.sub.html index 59eeae00bc4..4eaf6c3cebb 100644 --- a/tests/wpt/web-platform-tests/idle-detection/idle-detection-default-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/idle-detection/idle-detection-default-feature-policy.https.sub.html @@ -1,5 +1,7 @@ + + @@ -11,19 +13,23 @@ const same_origin_src = const cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; -promise_test(async () => { +promise_setup(async () => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); +}); + +promise_test(async t => { await new IdleDetector().start() }, 'Default "idle-detection" feature policy ["self"] ' + 'allows the top-level document.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, same_origin_src, expect_feature_available_default); }, 'Default "idle-detection" feature policy ["self"] ' + 'allows same-origin iframes.'); -async_test(t => { +promise_test(async t => { test_feature_availability('new IdleDetector().start()', t, cross_origin_src, expect_feature_unavailable_default); }, 'Default "idle-detection" feature policy ["self"] ' + diff --git a/tests/wpt/web-platform-tests/idle-detection/idle-detection.idl b/tests/wpt/web-platform-tests/idle-detection/idle-detection.idl index 1fd4d451be9..2b8ff2543c8 100644 --- a/tests/wpt/web-platform-tests/idle-detection/idle-detection.idl +++ b/tests/wpt/web-platform-tests/idle-detection/idle-detection.idl @@ -1,5 +1,5 @@ dictionary IdleOptions { - unsigned long threshold; + [EnforceRange] unsigned long threshold = 60000; }; [ diff --git a/tests/wpt/web-platform-tests/idle-detection/idle-permission.tentative.https.window.js b/tests/wpt/web-platform-tests/idle-detection/idle-permission.tentative.https.window.js new file mode 100644 index 00000000000..502ba2ef347 --- /dev/null +++ b/tests/wpt/web-platform-tests/idle-detection/idle-permission.tentative.https.window.js @@ -0,0 +1,24 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +'use strict'; + +promise_test(async t => { + await test_driver.set_permission( + { name: 'notifications' }, 'denied', false); + + let status = new IdleDetector(); + await promise_rejects_dom(t, 'NotAllowedError', status.start()); +}, "Deny notifications permission should work."); + +promise_test(async t => { + await test_driver.set_permission( + { name: 'notifications' }, 'granted', false); + + let status = new IdleDetector(); + await status.start(); + + assert_true(['active', 'idle'].includes(status.state.user), + 'status has a valid user state'); + assert_true(['locked', 'unlocked'].includes(status.state.screen), + 'status has a valid screen state'); +}, "Grant notifications permission should work."); diff --git a/tests/wpt/web-platform-tests/idle-detection/idlharness-worker.https.window.js b/tests/wpt/web-platform-tests/idle-detection/idlharness-worker.https.window.js new file mode 100644 index 00000000000..9619864274b --- /dev/null +++ b/tests/wpt/web-platform-tests/idle-detection/idlharness-worker.https.window.js @@ -0,0 +1,10 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js + +'use strict'; + +promise_test(async t => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); + + await fetch_tests_from_worker(new Worker('resources/idlharness-worker.js')); +}, 'Run idlharness tests in a worker.'); diff --git a/tests/wpt/web-platform-tests/idle-detection/idlharness.https.any.js b/tests/wpt/web-platform-tests/idle-detection/idlharness.https.window.js similarity index 70% rename from tests/wpt/web-platform-tests/idle-detection/idlharness.https.any.js rename to tests/wpt/web-platform-tests/idle-detection/idlharness.https.window.js index e6aa2f91bfe..7b410e0c6c4 100644 --- a/tests/wpt/web-platform-tests/idle-detection/idlharness.https.any.js +++ b/tests/wpt/web-platform-tests/idle-detection/idlharness.https.window.js @@ -1,11 +1,15 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js // https://github.com/samuelgoto/idle-detection 'use strict'; promise_test(async (t) => { + await test_driver.set_permission({ name: 'notifications' }, 'granted', false); + const srcs = ['./idle-detection.idl', '/interfaces/dom.idl', '/interfaces/html.idl']; @@ -19,13 +23,11 @@ promise_test(async (t) => { idl_array.add_dependency_idls(dom); idl_array.add_dependency_idls(html); - self.idle = new IdleDetector({threshold: 60}); - + self.idle = new IdleDetector({threshold: 60000}); let watcher = new EventWatcher(t, self.idle, ["change"]); - - self.idle.start(); - - await watcher.wait_for("change"); + let initial_state = watcher.wait_for("change"); + await self.idle.start(); + await initial_state; idl_array.add_objects({ IdleDetector: ['idle'], diff --git a/tests/wpt/web-platform-tests/idle-detection/interceptor.https.html b/tests/wpt/web-platform-tests/idle-detection/interceptor.https.html index f47a9e7f8ca..449c9c86aac 100644 --- a/tests/wpt/web-platform-tests/idle-detection/interceptor.https.html +++ b/tests/wpt/web-platform-tests/idle-detection/interceptor.https.html @@ -3,6 +3,8 @@ Tests the Idle Detection API + + @@ -11,6 +13,10 @@ + + + + + + + + +

Verifies the compatibility mouse events are sent correctly when the node is deleted on pointer event handler.

+ +
+
+ +
+ + diff --git a/tests/wpt/web-platform-tests/preload/subresource-integrity.html b/tests/wpt/web-platform-tests/preload/subresource-integrity.html index 7a35e3bc85e..ab4ded327f8 100644 --- a/tests/wpt/web-platform-tests/preload/subresource-integrity.html +++ b/tests/wpt/web-platform-tests/preload/subresource-integrity.html @@ -198,7 +198,7 @@ false, false, ` ${destination} with CORS-ineligible resource`, - 0, + 1, destination, // not piping ACAO header makes this CORS-ineligible xorigin_prefix + destination + ext + `?${token()}`, diff --git a/tests/wpt/web-platform-tests/printing/print-microtask-after-navigate.html b/tests/wpt/web-platform-tests/printing/print-microtask-after-navigate.html deleted file mode 100644 index b3f7f769daf..00000000000 --- a/tests/wpt/web-platform-tests/printing/print-microtask-after-navigate.html +++ /dev/null @@ -1,22 +0,0 @@ - - -Printing in microtask after navigation - - - - -Passes if it does not crash. - - - diff --git a/tests/wpt/web-platform-tests/printing/resources/destination.html b/tests/wpt/web-platform-tests/printing/resources/destination.html deleted file mode 100644 index 00e89594b25..00000000000 --- a/tests/wpt/web-platform-tests/printing/resources/destination.html +++ /dev/null @@ -1,8 +0,0 @@ - - -Passes if it does not crash. - - - diff --git a/tests/wpt/web-platform-tests/resource-timing/status-codes-create-entry.html b/tests/wpt/web-platform-tests/resource-timing/status-codes-create-entry.html index 22e22c445b0..c31505a452d 100644 --- a/tests/wpt/web-platform-tests/resource-timing/status-codes-create-entry.html +++ b/tests/wpt/web-platform-tests/resource-timing/status-codes-create-entry.html @@ -9,14 +9,28 @@ + + + + diff --git a/tests/wpt/web-platform-tests/screen-capture/getdisplaymedia.https.html b/tests/wpt/web-platform-tests/screen-capture/getdisplaymedia.https.html index 284a145870e..4b433d717df 100644 --- a/tests/wpt/web-platform-tests/screen-capture/getdisplaymedia.https.html +++ b/tests/wpt/web-platform-tests/screen-capture/getdisplaymedia.https.html @@ -1,6 +1,7 @@ getDisplayMedia + diff --git a/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html b/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html index 332c0e1cd3e..a72cf70ef66 100644 --- a/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html +++ b/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html @@ -148,6 +148,76 @@ test(() => { + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/declarative/script-access.tentative.html b/tests/wpt/web-platform-tests/shadow-dom/declarative/script-access.tentative.html index 250a03601a5..b87bb7ab308 100644 --- a/tests/wpt/web-platform-tests/shadow-dom/declarative/script-access.tentative.html +++ b/tests/wpt/web-platform-tests/shadow-dom/declarative/script-access.tentative.html @@ -27,6 +27,11 @@ function myObserver(mutationsList, observer) { assert_equals(n.content, null, 'Declarative template content should *still* be null'); assert_equals(n.innerHTML, "", 'Declarative template innerHTML should *still* be empty'); assert_equals(n.getInnerHTML({includeShadowRoots: true}), "", 'Declarative template getInnerHTML() should *still* be empty'); + + // Try cloning the in-progress declarative template - shouldn't work. + const clone = n.cloneNode(true); + assert_equals(clone.children.length,0,'Clone should not contain anything'); + assert_equals(clone.content.children.length,0,'Clone should not contain anything'); break; case 'noroot': // Make sure adding 'shadowroot' attribute doesn't trigger a shadow root, diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml index 3157fb6f273..6e22cc57081 100644 --- a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml +++ b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml @@ -4,7 +4,7 @@ components: workerType: ci schedulerId: taskcluster-github deadline: "24 hours" - image: webplatformtests/wpt:0.36 + image: webplatformtests/wpt:0.37 maxRunTime: 7200 artifacts: public/results: diff --git a/tests/wpt/web-platform-tests/tools/docker/retry.py b/tests/wpt/web-platform-tests/tools/docker/retry.py index 6126b781bfa..5c8e6d79c30 100755 --- a/tests/wpt/web-platform-tests/tools/docker/retry.py +++ b/tests/wpt/web-platform-tests/tools/docker/retry.py @@ -21,23 +21,28 @@ def iter_range(n): i += 1 +def log(value): + print(value) + sys.stdout.flush() + + def main(): args = get_args().parse_args() if not args.cmd: - print("No command supplied") + log("No command supplied") sys.exit(1) retcode = None for n in iter_range(args.count): try: - print("Running %s [try %d/%d]" % (" ".join(args.cmd), (n+1), args.count)) + log("Running %s [try %d/%d]" % (" ".join(args.cmd), (n+1), args.count)) subprocess.check_call(args.cmd) except subprocess.CalledProcessError as e: retcode = e.returncode else: - print("Command succeeded") + log("Command succeeded") retcode = 0 break @@ -46,10 +51,10 @@ def main(): else: wait_time = args.factor**n * args.delay if n < args.count - 1: - print("Command failed, waiting %s seconds to retry" % wait_time) + log("Command failed, waiting %s seconds to retry" % wait_time) time.sleep(wait_time) else: - print("Command failed, out of retries") + log("Command failed, out of retries") sys.exit(retcode) diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py index 09e2764ce37..2de7df396bd 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -442,8 +442,8 @@ class OutputHandler(object): self.line_buffer = [] self.setup_ran = False - def setup(self, instance=None, group_metadata=None, lsan_allowed=None, - lsan_max_stack_depth=None, mozleak_allowed=None, + def setup(self, instance=None, group_metadata=None, lsan_disabled=False, + lsan_allowed=None, lsan_max_stack_depth=None, mozleak_allowed=None, mozleak_thresholds=None, **kwargs): """Configure the output handler""" self.instance = instance @@ -459,7 +459,8 @@ class OutputHandler(object): self.lsan_handler = mozleak.LSANLeaks(self.logger, scope=group_metadata.get("scope", "/"), allowed=lsan_allowed, - maxNumRecordedFrames=lsan_max_stack_depth) + maxNumRecordedFrames=lsan_max_stack_depth, + allowAll=lsan_disabled) else: self.lsan_handler = None @@ -709,6 +710,7 @@ class FirefoxBrowser(Browser): def settings(self, test): return {"check_leaks": self.leak_check and not test.leaks, + "lsan_disabled": test.lsan_disabled, "lsan_allowed": test.lsan_allowed, "lsan_max_stack_depth": test.lsan_max_stack_depth, "mozleak_allowed": self.leak_check and test.mozleak_allowed, diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py index 63ebbe50d00..31c57e9cb73 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py @@ -32,7 +32,7 @@ def data_cls_getter(output_node, visited_node): def bool_prop(name, node): """Boolean property""" try: - return node.get(name) + return bool(node.get(name)) except KeyError: return None @@ -292,6 +292,10 @@ class ExpectedManifest(ManifestItem): def prefs(self): return prefs(self) + @property + def lsan_disabled(self): + return bool_prop("lsan-disabled", self) + @property def lsan_allowed(self): return set_prop("lsan-allowed", self) @@ -354,6 +358,10 @@ class DirectoryManifest(ManifestItem): def prefs(self): return prefs(self) + @property + def lsan_disabled(self): + return bool_prop("lsan-disabled", self) + @property def lsan_allowed(self): return set_prop("lsan-allowed", self) @@ -435,6 +443,10 @@ class TestNode(ManifestItem): def prefs(self): return prefs(self) + @property + def lsan_disabled(self): + return bool_prop("lsan-disabled", self) + @property def lsan_allowed(self): return set_prop("lsan-allowed", self) diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py index 838a3ece325..7c58610a7c5 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py @@ -260,6 +260,13 @@ class Test(object): return count return 0 + @property + def lsan_disabled(self): + for meta in self.itermeta(): + if meta.lsan_disabled is not None: + return meta.lsan_disabled + return False + @property def lsan_allowed(self): lsan_allowed = set() diff --git a/tests/wpt/web-platform-tests/url/resources/toascii.json b/tests/wpt/web-platform-tests/url/resources/toascii.json index 814f06e7948..1fb57673816 100644 --- a/tests/wpt/web-platform-tests/url/resources/toascii.json +++ b/tests/wpt/web-platform-tests/url/resources/toascii.json @@ -145,5 +145,27 @@ { "input": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β", "output": "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa" + }, + { + "comment": "IDNA ignored code points", + "input": "a\u00ADb", + "output": "ab" + }, + { + "input": "a%C2%ADb", + "output": "ab" + }, + { + "comment": "Empty host after domain to ASCII", + "input": "\u00AD", + "output": null + }, + { + "input": "%C2%AD", + "output": null + }, + { + "input": "xn--", + "output": null } ] diff --git a/tests/wpt/web-platform-tests/url/resources/urltestdata.json b/tests/wpt/web-platform-tests/url/resources/urltestdata.json index 4ffbd3cde75..b5b200e640c 100644 --- a/tests/wpt/web-platform-tests/url/resources/urltestdata.json +++ b/tests/wpt/web-platform-tests/url/resources/urltestdata.json @@ -6755,5 +6755,50 @@ "pathname": "foo/bar", "search": "", "hash": "" + }, + "IDNA ignored code points in file URLs hosts", + { + "input": "file://a\u00ADb/p", + "base": "about:blank", + "href": "file://ab/p", + "protocol": "file:", + "username": "", + "password": "", + "host": "ab", + "hostname": "ab", + "port": "", + "pathname": "/p", + "search": "", + "hash": "" + }, + { + "input": "file://a%C2%ADb/p", + "base": "about:blank", + "href": "file://ab/p", + "protocol": "file:", + "username": "", + "password": "", + "host": "ab", + "hostname": "ab", + "port": "", + "pathname": "/p", + "search": "", + "hash": "" + }, + "Empty host after the domain to ASCII", + { + "input": "file://\u00ad/p", + "base": "about:blank", + "failure": true + }, + { + "input": "file://%C2%AD/p", + "base": "about:blank", + "failure": true + }, + { + "input": "file://xn--/p", + "base": "about:blank", + "failure": true } ] diff --git a/tests/wpt/web-platform-tests/wasm/jsapi/idlharness.any.js b/tests/wpt/web-platform-tests/wasm/jsapi/idlharness.any.js index 25298d3dabf..a2de9de859e 100644 --- a/tests/wpt/web-platform-tests/wasm/jsapi/idlharness.any.js +++ b/tests/wpt/web-platform-tests/wasm/jsapi/idlharness.any.js @@ -17,9 +17,6 @@ promise_test(async () => { except: ['CompileError', 'LinkError', 'RuntimeError'] }); - // https://github.com/web-platform-tests/wpt/issues/12850 - idl_array.add_untested_idls('[Exposed=(Window,Worker)] interface ArrayBuffer {};'); - // Ignored errors are surfaced in idlharness.js's test_object below. try { self.memory = new WebAssembly.Memory({initial: 1024}); diff --git a/tests/wpt/web-platform-tests/web-animations/idlharness.window.js b/tests/wpt/web-platform-tests/web-animations/idlharness.window.js index c32016280e6..882d64922a5 100644 --- a/tests/wpt/web-platform-tests/web-animations/idlharness.window.js +++ b/tests/wpt/web-platform-tests/web-animations/idlharness.window.js @@ -1,5 +1,6 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js +// META: timeout=long 'use strict'; diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html index de1cec6c9c2..dbd146d4db2 100644 --- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html +++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan.html @@ -13,7 +13,12 @@