From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../tests/html/semantics/popovers/WEB_FEATURES.yml | 3 + .../popovers/hide-other-popover-side-effects.html | 21 + .../semantics/popovers/invoker-show-crash.html | 12 + .../html/semantics/popovers/label-in-invoker.html | 23 + .../popovers/light-dismiss-event-ordering.html | 82 +++ .../popover-anchor-change-display-ref.html | 24 + .../popover-anchor-change-display.tentative.html | 51 ++ .../popover-anchor-display-none.tentative.html | 34 ++ .../popovers/popover-anchor-display-ref.html | 29 + .../popovers/popover-anchor-display.tentative.html | 109 ++++ .../popover-anchor-idl-property.tentative.html | 52 ++ .../popover-anchor-multicol-display.tentative.html | 62 +++ .../popover-anchor-nested-display-ref.html | 57 ++ .../popover-anchor-nested-display.tentative.html | 56 ++ .../popovers/popover-anchor-nesting.tentative.html | 56 ++ .../popover-anchor-scroll-display-ref.html | 32 ++ .../popover-anchor-scroll-display.tentative.html | 86 +++ ...over-anchor-transition.tentative.tentative.html | 34 ++ .../semantics/popovers/popover-and-svg-ref.html | 11 + .../html/semantics/popovers/popover-and-svg.html | 18 + .../semantics/popovers/popover-appearance-ref.html | 18 + .../semantics/popovers/popover-appearance.html | 26 + .../popovers/popover-attribute-all-elements.html | 47 ++ .../popovers/popover-attribute-basic.html | 359 ++++++++++++ .../popovers/popover-backdrop-appearance-ref.html | 45 ++ .../popovers/popover-backdrop-appearance.html | 47 ++ .../popover-beforetoggle-opening-event.html | 33 ++ .../semantics/popovers/popover-change-type.html | 42 ++ .../semantics/popovers/popover-close-request.html | 40 ++ .../popovers/popover-css-properties.tentative.html | 54 ++ .../popovers/popover-dialog-appearance-ref.html | 33 ++ .../popovers/popover-dialog-appearance.html | 27 + .../semantics/popovers/popover-dialog-crash.html | 26 + .../semantics/popovers/popover-document-open.html | 30 + .../html/semantics/popovers/popover-events.html | 216 ++++++++ .../html/semantics/popovers/popover-focus-2.html | 174 ++++++ .../semantics/popovers/popover-focus-harness.html | 25 + .../html/semantics/popovers/popover-focus.html | 292 ++++++++++ .../popovers/popover-hidden-display-ref.html | 19 + .../semantics/popovers/popover-hidden-display.html | 39 ++ .../popovers/popover-hint-crash.tentative.html | 29 + .../popover-hover-hide-hide.tentative.html | 21 + .../popover-hover-hide-hover.tentative.html | 21 + .../popover-hover-hide-show.tentative.html | 21 + .../popover-hover-hide-toggle.tentative.html | 21 + .../popovers/popover-inside-display-none-ref.html | 5 + .../popovers/popover-inside-display-none.html | 19 + .../semantics/popovers/popover-invoker-reset.html | 34 ++ .../popover-invoking-attribute-hint.tentative.html | 19 + .../popovers/popover-invoking-attribute.html | 74 +++ .../popover-light-dismiss-flat-tree-nested.html | 55 ++ .../popovers/popover-light-dismiss-flat-tree.html | 46 ++ .../popover-light-dismiss-hint.tentative.html | 107 ++++ .../popovers/popover-light-dismiss-on-scroll.html | 66 +++ ...ht-dismiss-with-anchor.tentative.tentative.html | 90 +++ .../semantics/popovers/popover-light-dismiss.html | 607 +++++++++++++++++++++ .../semantics/popovers/popover-manual-crash.html | 32 ++ .../semantics/popovers/popover-move-documents.html | 89 +++ .../popovers/popover-not-keyboard-focusable.html | 49 ++ .../popovers/popover-open-display-ref.html | 20 + .../semantics/popovers/popover-open-display.html | 27 + .../popovers/popover-open-in-beforetoggle.html | 66 +++ .../popovers/popover-open-overflow-display-2.html | 69 +++ .../popover-open-overflow-display-ref.html | 22 + .../popover-open-overflow-display.tentative.html | 37 ++ .../html/semantics/popovers/popover-overlay.html | 51 ++ .../html/semantics/popovers/popover-removal-2.html | 29 + .../html/semantics/popovers/popover-removal.html | 28 + .../semantics/popovers/popover-shadow-dom.html | 202 +++++++ .../popovers/popover-shadowhost-focus.html | 56 ++ ...opover-stacking-anchor-attribute.tentative.html | 104 ++++ .../popovers/popover-stacking-context-ref.html | 29 + .../popovers/popover-stacking-context.html | 35 ++ .../html/semantics/popovers/popover-stacking.html | 131 +++++ .../popover-target-action-hover.tentative.html | 180 ++++++ .../popovers/popover-target-element-disabled.html | 159 ++++++ .../popovers/popover-top-layer-combinations.html | 155 ++++++ .../popovers/popover-top-layer-interactions.html | 89 +++ ...popover-top-layer-nesting-anchor.tentative.html | 45 ++ .../popover-top-layer-nesting-hints.tentative.html | 46 ++ .../popover-top-layer-nesting.tentative.html | 45 ++ .../popover-types-with-hints.tentative.html | 179 ++++++ .../html/semantics/popovers/popover-types.html | 37 ++ .../popovers/popover-undefined-remove-crash.html | 12 + .../popovers/popovertarget-reflection.html | 53 ++ .../resources/popover-hover-hide-common.js | 139 +++++ .../resources/popover-invoking-attribute.js | 122 +++++ .../popovers/resources/popover-styles.css | 17 + .../resources/popover-top-layer-nesting.js | 108 ++++ .../semantics/popovers/resources/popover-utils.js | 176 ++++++ .../html/semantics/popovers/togglePopover.html | 79 +++ .../semantics/popovers/toggleevent-interface.html | 208 +++++++ 92 files changed, 6604 insertions(+) create mode 100644 testing/web-platform/tests/html/semantics/popovers/WEB_FEATURES.yml create mode 100644 testing/web-platform/tests/html/semantics/popovers/hide-other-popover-side-effects.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/invoker-show-crash.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/label-in-invoker.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/light-dismiss-event-ordering.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-none.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-display.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-idl-property.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-multicol-display.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-nesting.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-anchor-transition.tentative.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-and-svg-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-and-svg.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-appearance-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-appearance.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-attribute-all-elements.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-attribute-basic.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-beforetoggle-opening-event.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-change-type.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-close-request.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-css-properties.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-dialog-crash.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-document-open.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-events.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-focus-2.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-focus-harness.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-focus.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hidden-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hidden-display.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hint-crash.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hide.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hover.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-show.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-toggle.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-invoker-reset.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute-hint.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree-nested.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-hint.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-with-anchor.tentative.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-manual-crash.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-move-documents.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-not-keyboard-focusable.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-open-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-open-display.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-open-in-beforetoggle.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-2.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-overlay.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-removal-2.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-removal.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-shadow-dom.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-shadowhost-focus.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-stacking-anchor-attribute.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-stacking-context-ref.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-stacking-context.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-stacking.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-target-action-hover.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-target-element-disabled.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-top-layer-combinations.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-top-layer-interactions.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-anchor.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-hints.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-types-with-hints.tentative.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-types.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popover-undefined-remove-crash.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/popovertarget-reflection.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/resources/popover-hover-hide-common.js create mode 100644 testing/web-platform/tests/html/semantics/popovers/resources/popover-invoking-attribute.js create mode 100644 testing/web-platform/tests/html/semantics/popovers/resources/popover-styles.css create mode 100644 testing/web-platform/tests/html/semantics/popovers/resources/popover-top-layer-nesting.js create mode 100644 testing/web-platform/tests/html/semantics/popovers/resources/popover-utils.js create mode 100644 testing/web-platform/tests/html/semantics/popovers/togglePopover.html create mode 100644 testing/web-platform/tests/html/semantics/popovers/toggleevent-interface.html (limited to 'testing/web-platform/tests/html/semantics/popovers') diff --git a/testing/web-platform/tests/html/semantics/popovers/WEB_FEATURES.yml b/testing/web-platform/tests/html/semantics/popovers/WEB_FEATURES.yml new file mode 100644 index 0000000000..e1b9f82de3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/WEB_FEATURES.yml @@ -0,0 +1,3 @@ +features: +- name: popover + files: "**" diff --git a/testing/web-platform/tests/html/semantics/popovers/hide-other-popover-side-effects.html b/testing/web-platform/tests/html/semantics/popovers/hide-other-popover-side-effects.html new file mode 100644 index 0000000000..7cc95a95e9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/hide-other-popover-side-effects.html @@ -0,0 +1,21 @@ + + + + + + +
popover1
+
popover2
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/invoker-show-crash.html b/testing/web-platform/tests/html/semantics/popovers/invoker-show-crash.html new file mode 100644 index 0000000000..7da57f9788 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/invoker-show-crash.html @@ -0,0 +1,12 @@ + + + + + + +
popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/label-in-invoker.html b/testing/web-platform/tests/html/semantics/popovers/label-in-invoker.html new file mode 100644 index 0000000000..bf8ab9710d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/label-in-invoker.html @@ -0,0 +1,23 @@ + + + + + + + + + +
popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/light-dismiss-event-ordering.html b/testing/web-platform/tests/html/semantics/popovers/light-dismiss-event-ordering.html new file mode 100644 index 0000000000..be39050ac6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/light-dismiss-event-ordering.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + +
popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display-ref.html new file mode 100644 index 0000000000..9530e7d3c4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display-ref.html @@ -0,0 +1,24 @@ + + + +

There should be a green box attached to the right side of each orange box.

+
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display.tentative.html new file mode 100644 index 0000000000..435929a6c1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-change-display.tentative.html @@ -0,0 +1,51 @@ + + + + + + + + +

There should be a green box attached to the right side of each orange box.

+ +
+
+
+
+ +
+
+
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-none.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-none.tentative.html new file mode 100644 index 0000000000..55a11fafdb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-none.tentative.html @@ -0,0 +1,34 @@ + + +Tests that a popover can be anchored to an unrendered element. + + + + + + +
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-ref.html new file mode 100644 index 0000000000..f701810da2 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display-ref.html @@ -0,0 +1,29 @@ + + + + +

There should be a green box attached to the right side of each orange box.

+
+
+
+
+
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display.tentative.html new file mode 100644 index 0000000000..d50dd6c857 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-display.tentative.html @@ -0,0 +1,109 @@ + + + + + + + + + +

There should be a green box attached to the right side of each orange box.

+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+ X +
+
+ + +
+
+
+
+ + +
+
+
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-idl-property.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-idl-property.tentative.html new file mode 100644 index 0000000000..1e255339f8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-idl-property.tentative.html @@ -0,0 +1,52 @@ + + + + + + + + +
+ +
This is a popover
+ +
+ + + +
+ +
Anchored div
+
+ + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-multicol-display.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-multicol-display.tentative.html new file mode 100644 index 0000000000..fe65ec5ba4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-multicol-display.tentative.html @@ -0,0 +1,62 @@ + +Tests popovers with implicit anchors in out-of-flow boxes + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display-ref.html new file mode 100644 index 0000000000..9942b41e36 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display-ref.html @@ -0,0 +1,57 @@ + + + + + + + + + + +
+ Baz +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display.tentative.html new file mode 100644 index 0000000000..b60ff49e09 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nested-display.tentative.html @@ -0,0 +1,56 @@ + + + + + + + + + + + +
+ Baz +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nesting.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nesting.tentative.html new file mode 100644 index 0000000000..c3ea4f2165 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-nesting.tentative.html @@ -0,0 +1,56 @@ + + +Popover anchor nesting + + + + + + + + + + + + + + +
This is popover 1
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display-ref.html new file mode 100644 index 0000000000..926a171e9a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display-ref.html @@ -0,0 +1,32 @@ + + + +
+ +

There should be a green box attached to the right side of each orange box.

+
+
+ +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html new file mode 100644 index 0000000000..7ed6cf1adf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html @@ -0,0 +1,86 @@ + + + + + + + + +
+ +

There should be a green box attached to the right side of each orange box.

+ + +
+
+
+
+ + +
+
+
+
+ + +
+ +
+ + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-anchor-transition.tentative.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-transition.tentative.tentative.html new file mode 100644 index 0000000000..ae2a3a8e41 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-anchor-transition.tentative.tentative.html @@ -0,0 +1,34 @@ + + +Tests transitioning display property of anchored popover + + + + + + + + +
+ Popover +
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-and-svg-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-and-svg-ref.html new file mode 100644 index 0000000000..db52e77d2b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-and-svg-ref.html @@ -0,0 +1,11 @@ + + +Popover is only effective on HTMLElement, not on svg element + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-and-svg.html b/testing/web-platform/tests/html/semantics/popovers/popover-and-svg.html new file mode 100644 index 0000000000..c5e8bb42a8 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-and-svg.html @@ -0,0 +1,18 @@ + + +Popover is only effective on HTMLElement, not on svg element + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-appearance-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-appearance-ref.html new file mode 100644 index 0000000000..7ceca94559 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-appearance-ref.html @@ -0,0 +1,18 @@ + + +Popover element appearance + + + + +

There should be four popovers with similar appearance.

+
Blank
+
Auto
+
Manual
+
Invalid
diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-appearance.html b/testing/web-platform/tests/html/semantics/popovers/popover-appearance.html new file mode 100644 index 0000000000..e9050bdeb9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-appearance.html @@ -0,0 +1,26 @@ + + +Popover element appearance + + + + + + + +

There should be four popovers with similar appearance.

+
Blank +
Auto
+
+
Manual
+ +
Invalid
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-attribute-all-elements.html b/testing/web-platform/tests/html/semantics/popovers/popover-attribute-all-elements.html new file mode 100644 index 0000000000..5a536f026e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-attribute-all-elements.html @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-attribute-basic.html b/testing/web-platform/tests/html/semantics/popovers/popover-attribute-basic.html new file mode 100644 index 0000000000..2af3bbc137 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-attribute-basic.html @@ -0,0 +1,359 @@ + + + + + + + + + + + + + +
+
Popover
+
Popover
+
Popover
+
Popover
+
Popover
+
Different element type
+
Different element type
+ + + Dialog with popover attribute + Dialog with popover=manual +
Invalid popover value - defaults to popover=manual
+
Invalid popover value - defaults to popover=manual
+
Invalid popover value - defaults to popover=manual
+
+ +
+
Not a popover
+ Dialog without popover attribute +
+ +
+ + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance-ref.html new file mode 100644 index 0000000000..bf2b16c3f5 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance-ref.html @@ -0,0 +1,45 @@ + + +Popover ::backdrop pseudo element appearance + + + +

Test for [popover]::backdrop presence and stacking order. The test passes + if there are 3 stacked boxes, with the brightest green on top.

+
Bottom +
Middle +
Top
+
+
+
+
Bottom
+
+
Middle
+
+
Top
diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance.html b/testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance.html new file mode 100644 index 0000000000..cf57aee69e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-backdrop-appearance.html @@ -0,0 +1,47 @@ + + +Popover ::backdrop pseudo element appearance + + + + + + +

Test for [popover]::backdrop presence and stacking order. The test passes + if there are 3 stacked boxes, with the brightest green on top.

+
Bottom +
Middle +
Top
+
+
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-beforetoggle-opening-event.html b/testing/web-platform/tests/html/semantics/popovers/popover-beforetoggle-opening-event.html new file mode 100644 index 0000000000..41bb9aa82c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-beforetoggle-opening-event.html @@ -0,0 +1,33 @@ + + +Popover beforetoggle event + + + + + + +
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-change-type.html b/testing/web-platform/tests/html/semantics/popovers/popover-change-type.html new file mode 100644 index 0000000000..978d1d1495 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-change-type.html @@ -0,0 +1,42 @@ + + + + + + + + + + +
popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-close-request.html b/testing/web-platform/tests/html/semantics/popovers/popover-close-request.html new file mode 100644 index 0000000000..830a40e060 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-close-request.html @@ -0,0 +1,40 @@ + + +Popover close request behavior + + + + + + + + +
+ Inside popover 1 +
Inside popover 2
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-css-properties.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-css-properties.tentative.html new file mode 100644 index 0000000000..93d388b02b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-css-properties.tentative.html @@ -0,0 +1,54 @@ + + +Popover API CSS parsing with computed values + + + + + + + + +
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance-ref.html new file mode 100644 index 0000000000..12efbb6b1e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance-ref.html @@ -0,0 +1,33 @@ + + +Dialog-Popover appearance + + +

Both dialogs should have the same shades of background.

+

The popover should have a completely-transparent ::backdrop.

+This is a modal dialog +This is a dialog popover + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance.html b/testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance.html new file mode 100644 index 0000000000..8b4edadee9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-dialog-appearance.html @@ -0,0 +1,27 @@ + + +Dialog-Popover appearance + + + + + +

Both dialogs should have the same shades of background.

+

The popover should have a completely-transparent ::backdrop.

+This is a modal dialog +This is a dialog popover + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-dialog-crash.html b/testing/web-platform/tests/html/semantics/popovers/popover-dialog-crash.html new file mode 100644 index 0000000000..e7579d5a38 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-dialog-crash.html @@ -0,0 +1,26 @@ + + + +Dialog-Popover crash + + + + + + + + +

This test passes if it does not crash.

+This is a modal dialog +
This is a popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-document-open.html b/testing/web-platform/tests/html/semantics/popovers/popover-document-open.html new file mode 100644 index 0000000000..80ac86aced --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-document-open.html @@ -0,0 +1,30 @@ + + + + + + + + +
Popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-events.html b/testing/web-platform/tests/html/semantics/popovers/popover-events.html new file mode 100644 index 0000000000..4d58001f7d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-events.html @@ -0,0 +1,216 @@ + + +Popover events + + + + + + + +
Popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-focus-2.html b/testing/web-platform/tests/html/semantics/popovers/popover-focus-2.html new file mode 100644 index 0000000000..892e5fd68f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-focus-2.html @@ -0,0 +1,174 @@ + + +Popover focus behaviors + + + + + + + + + +
+ +
+
+
+ + + +
+ +
+ + + +
+ + +
+
+ Non-focusable popover +
+ +
+ + + + +
+ + + +
+ + + +
+ +
+ +
+
+ + +
+ +
Popover with
+ Other focusable element +
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-focus-harness.html b/testing/web-platform/tests/html/semantics/popovers/popover-focus-harness.html new file mode 100644 index 0000000000..a22a68ea2b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-focus-harness.html @@ -0,0 +1,25 @@ + + +Popover utils - harness test + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-focus.html b/testing/web-platform/tests/html/semantics/popovers/popover-focus.html new file mode 100644 index 0000000000..230492022c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-focus.html @@ -0,0 +1,292 @@ + + +Popover focus behaviors + + + + + + + + + + +
+

This is a popover

+ +
+ +
+

This is a popover

+
+ +
+ +
+

This is a popover

+ +
+ +
+

This is a popover

+ +
+ +
+

This is a popover with autofocus on a tabindex=0 element

+ +
+ +
+

This is a popover

+ + +
+ +
+

This is a popover

+ + +
+ + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hidden-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-hidden-display-ref.html new file mode 100644 index 0000000000..2dc0d558b6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hidden-display-ref.html @@ -0,0 +1,19 @@ + + + + + + +
This content should be visible and green
+
This content should be visible and green
+
This content should be visible and green
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hidden-display.html b/testing/web-platform/tests/html/semantics/popovers/popover-hidden-display.html new file mode 100644 index 0000000000..db61802db6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hidden-display.html @@ -0,0 +1,39 @@ + + + + + + + + +
This content should be visible and green
+
This content should be visible and green
+
This content should be visible and green
+ + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hint-crash.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-hint-crash.tentative.html new file mode 100644 index 0000000000..82f83538e9 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hint-crash.tentative.html @@ -0,0 +1,29 @@ + + + +Popover=hint crash test + + + + + + + + +

This test passes if it does not crash.

+ +
Popover 1 +
Popover 2
+
+
Popover 3
+
Popover 4 - Click me
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hide.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hide.tentative.html new file mode 100644 index 0000000000..57ca5723de --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hide.tentative.html @@ -0,0 +1,21 @@ + + +The popover-hide-delay CSS property + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hover.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hover.tentative.html new file mode 100644 index 0000000000..d0036c0fe7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-hover.tentative.html @@ -0,0 +1,21 @@ + + +The popover-hide-delay CSS property + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-show.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-show.tentative.html new file mode 100644 index 0000000000..7b3fa2b302 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-show.tentative.html @@ -0,0 +1,21 @@ + + +The popover-hide-delay CSS property + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-toggle.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-toggle.tentative.html new file mode 100644 index 0000000000..d6d4079e7e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-hover-hide-toggle.tentative.html @@ -0,0 +1,21 @@ + + +The popover-hide-delay CSS property + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none-ref.html new file mode 100644 index 0000000000..3d58e4ca09 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none-ref.html @@ -0,0 +1,5 @@ + + + + +No popover should be displayed here.

diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none.html b/testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none.html new file mode 100644 index 0000000000..24ce7c6fc6 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-inside-display-none.html @@ -0,0 +1,19 @@ + + + + + + + +No popover should be displayed here.

+ +

+
This content should be hidden
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-invoker-reset.html b/testing/web-platform/tests/html/semantics/popovers/popover-invoker-reset.html new file mode 100644 index 0000000000..bfc79fd629 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-invoker-reset.html @@ -0,0 +1,34 @@ + + + + + + + + + + + + +
Popover 1 + +
+
Popover 2
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute-hint.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute-hint.tentative.html new file mode 100644 index 0000000000..b531ddc460 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute-hint.tentative.html @@ -0,0 +1,19 @@ + + +Popover invoking attribute + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute.html b/testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute.html new file mode 100644 index 0000000000..8e312e90d7 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-invoking-attribute.html @@ -0,0 +1,74 @@ + + +Popover invoking attribute + + + + + + + + + + + + + + + + +
This is popover #1
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree-nested.html b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree-nested.html new file mode 100644 index 0000000000..ef3b35aea4 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree-nested.html @@ -0,0 +1,55 @@ + + + + + Test that popover light dismiss uses the flat tree when nested shadow roots. + + + +

Test passes if the inner popover opens after clicking the inner toggle.

+ +
+ +
+ + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree.html b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree.html new file mode 100644 index 0000000000..65008e28ef --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-flat-tree.html @@ -0,0 +1,46 @@ + + + + + Test that popover light dismiss uses the flat tree. + + + +

Test passes if the inner popover opens after clicking the inner toggle.

+ +
+ +
+ + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-hint.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-hint.tentative.html new file mode 100644 index 0000000000..f07363115f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-hint.tentative.html @@ -0,0 +1,107 @@ + + +Popover light dismiss behavior for hints + + + + + + + + + + +
+
auto 1 +
auto 2 +
inner hint 1 +
inner hint 2 +
Improperly nested auto 1
+
+
+
+
+
hint 1 +
hint 2 +
Improperly nested auto 2
+
+
+
Manual
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html new file mode 100644 index 0000000000..382addadef --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html @@ -0,0 +1,66 @@ + + + +Popover should *not* light dismiss on scroll + + + + + + + +
+ Scroll me

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. Enim ut sem viverra aliquet eget sit amet tellus. Massa + sed elementum tempus egestas sed sed risus pretium. Felis bibendum ut tristique et egestas + quis. Tortor dignissim convallis aenean et. Eu mi bibendum neque egestas congue quisque +
+ +
+ This is popover 1 +
+ This is popover 2 +
+
+ + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-with-anchor.tentative.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-with-anchor.tentative.tentative.html new file mode 100644 index 0000000000..c4e545c4fb --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss-with-anchor.tentative.tentative.html @@ -0,0 +1,90 @@ + + +Popover light dismiss with anchor behavior + + + + + + + + + + + +
+ Inside popover 1 + +
+
+ Inside popover 2 +
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss.html b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss.html new file mode 100644 index 0000000000..916d52ef5e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-light-dismiss.html @@ -0,0 +1,607 @@ + + +Popover light dismiss behavior + + + + + + + + + + + + +Outside all popovers +
+ Inside popover 1 + + Inside popover 1 after button +
+ Inside popover 2 +
+
+ + + + + +
Inside popover 3
+
Inside popover 5 + +
+ + + +
Inside popover 6 +
+ Bottom of popover6 +
+ + + + + + + + + +
+ + Inside popover 8 after button +
+ + + + +
Popover 1 + +
Popover 2 + + +
+
Popover 3 + +
+

Popover 4

+
+ + + + +
Popover 1 +
Popover 2 +
Popover 3
+
+
+ + + +
Popover 16 +
Popover 17
+
Popover 18
+
+ + + +
Popover 19
+
Popover 20
+ + + + +
21 +
22
+
23
+
24
+
+ + + +
+
26
+
27
+
28
+
+ + +
Popover 29
+ + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-manual-crash.html b/testing/web-platform/tests/html/semantics/popovers/popover-manual-crash.html new file mode 100644 index 0000000000..535eb4c7d1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-manual-crash.html @@ -0,0 +1,32 @@ + + + +Popover=manual crash test + + + + + + + + + + +

This test passes if it does not crash.

+
Auto1 +
Auto2
+
+
Manual
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-move-documents.html b/testing/web-platform/tests/html/semantics/popovers/popover-move-documents.html new file mode 100644 index 0000000000..11f52c2f2f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-move-documents.html @@ -0,0 +1,89 @@ + + + + + + + + + +
p1
+ + + +
p2
+ + + +
+ p3 +
p4
+
p5
+
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-not-keyboard-focusable.html b/testing/web-platform/tests/html/semantics/popovers/popover-not-keyboard-focusable.html new file mode 100644 index 0000000000..55c70aa643 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-not-keyboard-focusable.html @@ -0,0 +1,49 @@ + + +Popover keyboard focus behaviors + + + + + + + + + + +
+

This is a popover without a focusable element

+
+ + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-open-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-open-display-ref.html new file mode 100644 index 0000000000..144b81e645 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-open-display-ref.html @@ -0,0 +1,20 @@ + + + + + +
+
This is a popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-open-display.html b/testing/web-platform/tests/html/semantics/popovers/popover-open-display.html new file mode 100644 index 0000000000..bc4d16fe80 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-open-display.html @@ -0,0 +1,27 @@ + + + + + + + +
This is a popover
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-open-in-beforetoggle.html b/testing/web-platform/tests/html/semantics/popovers/popover-open-in-beforetoggle.html new file mode 100644 index 0000000000..1e22b73c68 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-open-in-beforetoggle.html @@ -0,0 +1,66 @@ + + +Popover beforetoggle event opening new popovers + + + + + + + + + +
Popover 1 +
Popover 2 +
Popover 3
+
+
+
Outside
+Dialog + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-2.html b/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-2.html new file mode 100644 index 0000000000..f2388b7642 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-2.html @@ -0,0 +1,69 @@ + + + + + + + + +
+
Absolute popover inside absolute element
+
+ + +
+
Absolute element inside absolute popover
+
+ + +
+
Fixed popover inside fixed element
+
+ + +
+
Fixed element inside fixed popover
+
+ + +
+
Absolute popover inside fixed element
+
+ + +
+
Fixed element inside absolute popover
+
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-ref.html new file mode 100644 index 0000000000..0d14050e85 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display-ref.html @@ -0,0 +1,22 @@ + + + + +
This is popover 1
+
This is popover 2
+
This is popover 3
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display.tentative.html new file mode 100644 index 0000000000..3d4d833063 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-open-overflow-display.tentative.html @@ -0,0 +1,37 @@ + + + + + + + +
+
This is popover 1
+
This is popover 2
+
This is popover 3
+
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-overlay.html b/testing/web-platform/tests/html/semantics/popovers/popover-overlay.html new file mode 100644 index 0000000000..a607844aee --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-overlay.html @@ -0,0 +1,51 @@ + +popover: overlay + + + + + + + +
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-removal-2.html b/testing/web-platform/tests/html/semantics/popovers/popover-removal-2.html new file mode 100644 index 0000000000..b21c0bb557 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-removal-2.html @@ -0,0 +1,29 @@ + + +Popover document removal behavior + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-removal.html b/testing/web-platform/tests/html/semantics/popovers/popover-removal.html new file mode 100644 index 0000000000..d2b664b464 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-removal.html @@ -0,0 +1,28 @@ + + +Popover document removal behavior + + + + + + +
Popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-shadow-dom.html b/testing/web-platform/tests/html/semantics/popovers/popover-shadow-dom.html new file mode 100644 index 0000000000..62aa135b56 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-shadow-dom.html @@ -0,0 +1,202 @@ + + + + + + + + + + + +
+ + + + +
+ + + + +
+ +
+

Popover 1

+ +
+ + + +
+ + + + +
+ + + + +
Popover 2
+
+ + + + +
+ +
+

This should not get hidden when popover2 opens.

+ + + +
+
+ + + + +
+ +
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-shadowhost-focus.html b/testing/web-platform/tests/html/semantics/popovers/popover-shadowhost-focus.html new file mode 100644 index 0000000000..91ee547d4e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-shadowhost-focus.html @@ -0,0 +1,56 @@ + + + + + + +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-stacking-anchor-attribute.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-stacking-anchor-attribute.tentative.html new file mode 100644 index 0000000000..6895b8625a --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-stacking-anchor-attribute.tentative.html @@ -0,0 +1,104 @@ + + + + + + + + + + +
+

anchor attribute relationship

+

Ancestor popover

+

Child popover

+
+ +
+

indirect anchor attribute relationship

+
+

Ancestor popover

+
+
+ Anchor +
+
+
+

Child popover

+
+ + + +

This is popover #1

+ + +
+

This is popover #2

+ +
+

This is popover #3

+

This is popover #4

+ + +This is a dialog + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-stacking-context-ref.html b/testing/web-platform/tests/html/semantics/popovers/popover-stacking-context-ref.html new file mode 100644 index 0000000000..4d4ca6973f --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-stacking-context-ref.html @@ -0,0 +1,29 @@ + + + + + +
+ Inside popover +
z-index 2 +
z-index 3
+
z-index 1
+
+
Outside
+ Bottom of popover +
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-stacking-context.html b/testing/web-platform/tests/html/semantics/popovers/popover-stacking-context.html new file mode 100644 index 0000000000..ba4e85a897 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-stacking-context.html @@ -0,0 +1,35 @@ + + + + + + + +
+ Inside popover +
z-index 2 +
z-index 3
+
z-index 1
+
+
Outside
+ Bottom of popover +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-stacking.html b/testing/web-platform/tests/html/semantics/popovers/popover-stacking.html new file mode 100644 index 0000000000..1c352d566e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-stacking.html @@ -0,0 +1,131 @@ + + + + + + + + + +
+

Direct DOM children

+

Ancestor popover

+

Child popover

+
+
+ +
+

Grandchildren

+

Ancestor popover

+
+
+

Child popover

+
+
+
+
+ +
+

popovertarget attribute relationship

+

Ancestor popover

+ +
+

Child popover

+
+ +
+

nested popovertarget attribute relationship

+

Ancestor popover

+
+
+ +
+
+
+

Child popover

+
+ + + + +

This is popover #1

+ +

This is popover #2

+ +

This is popover #3

+
+
+ +This is a dialog + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-target-action-hover.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-target-action-hover.tentative.html new file mode 100644 index 0000000000..b03ec78ebf --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-target-action-hover.tentative.html @@ -0,0 +1,180 @@ + + +The popovertargetaction=hover behavior + + + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-target-element-disabled.html b/testing/web-platform/tests/html/semantics/popovers/popover-target-element-disabled.html new file mode 100644 index 0000000000..d5c951768c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-target-element-disabled.html @@ -0,0 +1,159 @@ + + + + + + +
+ +
+
popover
+ + +
+ +
+
popover
+ + +
+ +
+
popover
+
form
+ + +
+ toggle popover +
+
popover
+ + +
+ +
+
popover
+ + +
+ +
+
popover
+ + +
+
+
hello
+
+
+
other popover
+ +
+ Popover Dialog + Open Non-modal Popover Dialog +
Fullscreen Popover
+ Fullscreen Popover Dialog + Fullscreen Open Non-modal Popover Dialog +
+ + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-interactions.html b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-interactions.html new file mode 100644 index 0000000000..6d050ed99b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-interactions.html @@ -0,0 +1,89 @@ + + +Interactions between top layer element types + + + + + + + + + + + + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-anchor.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-anchor.tentative.html new file mode 100644 index 0000000000..4520ab0577 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-anchor.tentative.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + +
+
Single popover=auto ancestor +
+
+ +
Single popover=manual ancestor +
+
+ +
Nested popover=auto ancestors +
+
+
+
+ +
Nested popover=auto ancestors, target is outer +
+
+
+
+ +
Top layer inside of nested element +
+ +
+
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-hints.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-hints.tentative.html new file mode 100644 index 0000000000..4ec1f49bda --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting-hints.tentative.html @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + +
+
Single popover=hint ancestor +
+
+ +
Nested auto/hint ancestors +
+
+
+
+ +
Nested auto/hint ancestors, target is auto +
+
+
+
+ +
Unrelated hint, target=hint +
+
+
+ +
Unrelated hint, target=auto +
+
+
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting.tentative.html new file mode 100644 index 0000000000..a0b3b60b72 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-top-layer-nesting.tentative.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + +
+
Single popover=auto ancestor +
+
+ +
Single popover=manual ancestor +
+
+ +
Nested popover=auto ancestors +
+
+
+
+ +
Nested popover=auto ancestors, target is outer +
+
+
+
+ +
Top layer inside of nested element +
+ +
+
+
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-types-with-hints.tentative.html b/testing/web-platform/tests/html/semantics/popovers/popover-types-with-hints.tentative.html new file mode 100644 index 0000000000..07f0e26fce --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-types-with-hints.tentative.html @@ -0,0 +1,179 @@ + + + + + + + + + +
+
Popover
+
Hint
+
Async
+
Async
+ +
+ +
+
popover 1 +
popover 2 +

Anchor

+
popover 3
+
+
+
Hint anchored to popover
+ +
+ +
+
Hint +
Nested hint
+
+ +
+ +
+
Hint +
Nested auto (note - never visible, since inside display:none subtree)
+
+ +
+ +
+
Auto +
Nested Auto
+
Nested hint
+
+ +
+ +
+
Auto
+
Non-Nested hint
+ +
diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-types.html b/testing/web-platform/tests/html/semantics/popovers/popover-types.html new file mode 100644 index 0000000000..d4ad81e52b --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-types.html @@ -0,0 +1,37 @@ + + + + + + + +
+
Popover
+
Async
+
Async
+
+ diff --git a/testing/web-platform/tests/html/semantics/popovers/popover-undefined-remove-crash.html b/testing/web-platform/tests/html/semantics/popovers/popover-undefined-remove-crash.html new file mode 100644 index 0000000000..3c273ea6f3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popover-undefined-remove-crash.html @@ -0,0 +1,12 @@ + + + + +
+PO +
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/popovertarget-reflection.html b/testing/web-platform/tests/html/semantics/popovers/popovertarget-reflection.html new file mode 100644 index 0000000000..d0750fdd4c --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/popovertarget-reflection.html @@ -0,0 +1,53 @@ + + + + + + + + + +
popover
+ + diff --git a/testing/web-platform/tests/html/semantics/popovers/resources/popover-hover-hide-common.js b/testing/web-platform/tests/html/semantics/popovers/resources/popover-hover-hide-common.js new file mode 100644 index 0000000000..9f407ef157 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/resources/popover-hover-hide-common.js @@ -0,0 +1,139 @@ +// NOTE about testing methodology: +// This test checks whether popovers are hidden *after* the appropriate de-hover +// delay. The delay used for testing is kept low, to avoid this test taking too +// long, but that means that sometimes on a slow bot/client, the delay can +// elapse before we are able to check the popover status. And that can make this +// test flaky. To avoid that, the msSinceMouseOver() function is used to check +// that not-too-much time has passed, and if it has, the test is simply skipped. + +const hoverDelays = 100; // This needs to match the style block below. +const hoverWaitTime = 200; // How long to wait to cover the delay for sure. + +async function initialPopoverShow(invoker) { + const popover = invoker.popoverTargetElement; + assert_false(popover.matches(':popover-open')); + await mouseOver(invoker); // Always start with the mouse over the invoker + popover.showPopover(); + assert_true(popover.matches(':popover-open')); +} + +function runHoverHideTest(popoverType, invokerType, invokerAction) { + const descr = `popover=${popoverType}, invoker=${invokerType}, popovertargetaction=${invokerAction}`; + promise_test(async (t) => { + const {popover,invoker} = makeTestParts(t, popoverType, invokerType, invokerAction); + await initialPopoverShow(invoker); + await mouseOver(unrelated); + let showing = popover.matches(':popover-open'); + if (msSinceMouseOver() >= hoverDelays) + return; // The WPT runner was too slow. + assert_true(showing,'popover shouldn\'t immediately hide'); + await mouseHover(unrelated,hoverWaitTime); + assert_false(popover.matches(':popover-open'),'popover should hide after delay'); + },`The popover-hide-delay causes a popover to be hidden after a delay, ${descr}`); + + promise_test(async (t) => { + const {popover,invoker} = makeTestParts(t, popoverType, invokerType, invokerAction); + await initialPopoverShow(invoker); + await mouseHover(popover,hoverWaitTime); + assert_true(popover.matches(':popover-open'),'hovering the popover should keep it showing'); + await mouseOver(unrelated); + let showing = popover.matches(':popover-open'); + if (msSinceMouseOver() >= hoverDelays) + return; // The WPT runner was too slow. + assert_true(showing,'subsequently hovering unrelated element shouldn\'t immediately hide the popover'); + await mouseHover(unrelated,hoverWaitTime); + assert_false(popover.matches(':popover-open'),'hovering unrelated element should hide popover after delay'); + },`hovering the popover keeps it from being hidden, ${descr}`); + + promise_test(async (t) => { + const {popover,invoker,mouseOverInvoker} = makeTestParts(t, popoverType, invokerType, invokerAction); + await initialPopoverShow(invoker); + assert_true(popover.matches(':popover-open')); + await mouseHover(popover,hoverWaitTime); + await mouseHover(mouseOverInvoker,hoverWaitTime); + assert_true(popover.matches(':popover-open'),'Moving hover between invoker and popover should keep popover from being hidden'); + await mouseHover(unrelated,hoverWaitTime); + assert_false(popover.matches(':popover-open'),'Moving hover to unrelated should finally hide the popover'); + },`hovering an invoking element keeps the popover from being hidden, ${descr}`); +} + +function runHoverHideTestsForInvokerAction(invokerAction) { + promise_test(async (t) => { + const {popover,invoker} = makeTestParts(t, 'auto', 'button', 'show'); + assert_false(popover.matches(':popover-open')); + assert_true(invoker.matches('[popovertarget]'),'invoker needs to match [popovertarget]'); + assert_equals(invoker.popoverTargetElement,popover,'invoker should point to popover'); + await mouseHover(invoker,hoverWaitTime); + assert_true(msSinceMouseOver() >= hoverWaitTime,'waitForHoverTime should wait the specified time'); + assert_true(hoverWaitTime > hoverDelays,'hoverDelays is the value from CSS, hoverWaitTime should be longer than that'); + assert_equals(getComputedStyleTimeMs(invoker,'popoverShowDelay'),hoverDelays,'popover-show-delay is incorrect'); + assert_equals(getComputedStyleTimeMs(popover,'popoverHideDelay'),hoverDelays,'popover-hide-delay is incorrect'); + },'Test the harness'); + + // Run for all invoker and popover types. + ["button","input"].forEach(invokerType => { + ["auto","hint","manual"].forEach(popoverType => { + runHoverHideTest(popoverType, invokerType, invokerAction); + }); + }); +} + +// Setup stuff +const unrelated = document.createElement('div'); +unrelated.id = 'unrelated'; +unrelated.textContent = 'Unrelated element'; +const style = document.createElement('style'); +document.body.append(unrelated,style); +style.textContent = ` + div, button, input { + /* Fixed position everything to ensure nothing overlaps */ + position: fixed; + max-height: 100px; + } + #unrelated {top: 100px;} + [popovertarget] { + top:200px; + popover-show-delay: 100ms; + } + [popover] { + width: 200px; + height: 100px; + top:300px; + popover-hide-delay: 100ms; + } +`; + +function makeTestParts(t,popoverType,invokerType,invokerAction) { + const popover = document.createElement('div'); + popover.id = `popover-${popoverType}-${invokerType}-${invokerAction}`; + document.body.appendChild(popover); + popover.popover = popoverType; + assert_equals(popover.popover, popoverType, `Type ${popoverType} not supported`); + const invoker = document.createElement(invokerType); + document.body.appendChild(invoker); + invoker.popoverTargetElement = popover; + invoker.popoverTargetAction = invokerAction; + assert_equals(invoker.popoverTargetAction, invokerAction, `Invoker action ${invokerAction} not supported`); + let mouseOverInvoker; + switch (invokerType) { + case 'button': + invoker.innerHTML = 'Click me'; + mouseOverInvoker = invoker.firstElementChild.firstElementChild; + assert_true(!!mouseOverInvoker); + break; + case 'input': + invoker.type = 'button'; + mouseOverInvoker = invoker; + break; + default: + assert_unreached('Invalid invokerType ' + invokerType); + break; + } + t.add_cleanup(() => {popover.remove(); invoker.remove();}); + return {popover, invoker, mouseOverInvoker}; +} + +function getComputedStyleTimeMs(element,property) { + // Times are in seconds, so just strip off the 's'. + return Number(getComputedStyle(element)[property].slice(0,-1))*1000; +} diff --git a/testing/web-platform/tests/html/semantics/popovers/resources/popover-invoking-attribute.js b/testing/web-platform/tests/html/semantics/popovers/resources/popover-invoking-attribute.js new file mode 100644 index 0000000000..d2911647e1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/popovers/resources/popover-invoking-attribute.js @@ -0,0 +1,122 @@ +const actionReflectionLogic = (action) => { + switch (action?.toLowerCase()) { + case "show": return "show"; + case "hide": return "hide"; + default: return "toggle"; + } +} +const noActivationLogic = (action) => { + return "none"; +} +function makeElementWithType(element,type) { + return (test) => { + const el = Object.assign(document.createElement(element),{type}); + document.body.appendChild(el); + test.add_cleanup(() => el.remove()); + return el; + }; +} +const supportedButtonTypes = ['button','reset','submit',''].map(type => { + return { + name: `