From fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:14:29 +0200 Subject: Merging upstream version 125.0.1. Signed-off-by: Daniel Baumann --- ...urce-selection-candidate-insert-before.html.ini | 7 +- ...urce-selection-source-media-env-change.html.ini | 2 +- .../track-cue-mutable-fragment.html.ini | 14 ++- ...download_allow_downloads.sub.tentative.html.ini | 4 - ...ad_allow_downloads.sub.tentative.https.html.ini | 4 + ...pen_download_allow_downloads.tentative.html.ini | 3 - ...wnload_allow_downloads.tentative.https.html.ini | 3 + ...-child-cross-origin.tentative.sub.window.js.ini | 7 ++ ...child-special-cases.tentative.sub.window.js.ini | 15 --- ...op-navigation-child.tentative.sub.window.js.ini | 22 +++- ...vigation-cross-site.tentative.sub.window.js.ini | 10 ++ ...escalate-privileges.tentative.sub.window.js.ini | 28 ++++- ...vigation-grandchild.tentative.sub.window.js.ini | 13 ++- ...ion-user-activation.tentative.sub.window.js.ini | 7 ++ ...on-and-datalist-invalidation.tentative.html.ini | 2 + .../select-datalist-options-idl.tentative.html.ini | 9 ++ .../semantics/interactive-elements/__dir__.ini | 2 + .../interactive-content.html.ini | 125 +++++++++++++++++++++ .../interestelement-interface.tentative.html.ini | 39 +++++++ .../invokeelement-interface.tentative.html.ini | 12 ++ .../invokeevent-interface.tentative.html.ini | 6 + ...target-button-event-dispatch.tentative.html.ini | 2 +- ...oketarget-on-dialog-behavior.tentative.html.ini | 123 ++++++++++++++++++++ ...ketarget-on-popover-behavior.tentative.html.ini | 108 ++++++++++++++++-- ...voketarget-on-video-behavior.tentative.html.ini | 14 ++- .../bounded-css-properties.html.ini | 3 + .../invalid-css-properties.html.ini | 3 + .../negative-offset-and-margin.html.ini | 7 ++ ...popover-light-dismiss-flat-tree-nested.html.ini | 2 - .../popover-light-dismiss-flat-tree.html.ini | 2 - .../popover-shadow-dom-anchor.tentative.html.ini | 3 + .../semantics/popovers/popover-shadow-dom.html.ini | 3 - .../popover-top-layer-nesting.tentative.html.ini | 20 ++++ .../dynamic-import/microtasks/basic.any.js.ini | 3 + .../the-bdi-element/bdi-auto-dir-default.html.ini | 2 - 35 files changed, 568 insertions(+), 61 deletions(-) delete mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.https.html.ini delete mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.https.html.ini create mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-cross-origin.tentative.sub.window.js.ini delete mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini create mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-cross-site.tentative.sub.window.js.ini create mode 100644 testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation.tentative.sub.window.js.ini create mode 100644 testing/web-platform/meta/html/semantics/forms/the-select-element/select-child-button-and-datalist-invalidation.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/forms/the-select-element/select-datalist-options-idl.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/interactive-elements/__dir__.ini create mode 100644 testing/web-platform/meta/html/semantics/interactive-elements/the-summary-element/interactive-content.html.ini create mode 100644 testing/web-platform/meta/html/semantics/invokers/interestelement-interface.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/invokers/invokeelement-interface.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/invokers/invokeevent-interface.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/invokers/invoketarget-on-dialog-behavior.tentative.html.ini create mode 100644 testing/web-platform/meta/html/semantics/permission-element/bounded-css-properties.html.ini create mode 100644 testing/web-platform/meta/html/semantics/permission-element/invalid-css-properties.html.ini create mode 100644 testing/web-platform/meta/html/semantics/permission-element/negative-offset-and-margin.html.ini delete mode 100644 testing/web-platform/meta/html/semantics/popovers/popover-light-dismiss-flat-tree-nested.html.ini delete mode 100644 testing/web-platform/meta/html/semantics/popovers/popover-light-dismiss-flat-tree.html.ini create mode 100644 testing/web-platform/meta/html/semantics/popovers/popover-shadow-dom-anchor.tentative.html.ini delete mode 100644 testing/web-platform/meta/html/semantics/popovers/popover-shadow-dom.html.ini delete mode 100644 testing/web-platform/meta/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default.html.ini (limited to 'testing/web-platform/meta/html/semantics') diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini index 6b04469661..712b2b1efe 100644 --- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini +++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini @@ -1,7 +1,10 @@ [resource-selection-candidate-insert-before.html] [inserting another source before the candidate] expected: - if (os == "linux") and debug and not fission: [FAIL, PASS] - if (os == "linux") and not debug: [FAIL, PASS] + if (os == "linux") and not tsan and not swgl and debug and fission: [FAIL, PASS] + if (os == "linux") and not tsan and not swgl and debug and not fission: [FAIL, PASS] + if (os == "linux") and not tsan and swgl and not fission: [FAIL, PASS] + if (os == "linux") and not tsan and not swgl and not debug: [FAIL, PASS] if (os == "win") and swgl: [FAIL, PASS] + if (os == "linux") and tsan: [PASS, FAIL] FAIL diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html.ini index 68f6d275a6..19bf223829 100644 --- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html.ini +++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html.ini @@ -1,4 +1,4 @@ [resource-selection-source-media-env-change.html] [the media attribute: no reaction to environment change] expected: - if asan and not fission: [PASS, FAIL] + if not tsan and asan and not fission: [PASS, FAIL] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html.ini index 39e6389991..e10b7f181f 100644 --- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html.ini +++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html.ini @@ -1,10 +1,12 @@ [track-cue-mutable-fragment.html] expected: - if (os == "linux") and debug and not fission and not swgl: TIMEOUT - if (os == "linux") and debug and fission: [OK, TIMEOUT] - if (os == "linux") and not debug: [OK, TIMEOUT] + if (os == "linux") and not fission and not debug and asan: [OK, TIMEOUT] + if (os == "linux") and not fission and not debug and not asan: [TIMEOUT, OK] + if (os == "linux") and not fission and debug: [OK, TIMEOUT] + if (os == "linux") and fission: [OK, TIMEOUT] [Cue fragment is mutable] expected: - if (os == "linux") and debug and not fission and not swgl: TIMEOUT - if (os == "linux") and debug and fission: [PASS, TIMEOUT] - if (os == "linux") and not debug: [PASS, TIMEOUT] + if (os == "linux") and not fission and not debug and asan: [PASS, TIMEOUT] + if (os == "linux") and not fission and not debug and not asan: [TIMEOUT, PASS] + if (os == "linux") and not fission and debug: [PASS, TIMEOUT] + if (os == "linux") and fission: [PASS, TIMEOUT] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html.ini deleted file mode 100644 index b0d48fef3b..0000000000 --- a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[iframe_sandbox_navigation_download_allow_downloads.sub.tentative.html] - expected: - if (os == "linux") and not fission: [OK, TIMEOUT] - if (os == "android") and fission: [TIMEOUT, OK] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.https.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.https.html.ini new file mode 100644 index 0000000000..b4dbc800df --- /dev/null +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads.sub.tentative.https.html.ini @@ -0,0 +1,4 @@ +[iframe_sandbox_navigation_download_allow_downloads.sub.tentative.https.html] + expected: + if (os == "linux") and not fission: [OK, TIMEOUT] + if (os == "android") and fission: [TIMEOUT, OK] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.html.ini deleted file mode 100644 index 2483b6391c..0000000000 --- a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[iframe_sandbox_window_open_download_allow_downloads.tentative.html] - expected: - if (os == "android") and fission: [OK, TIMEOUT] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.https.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.https.html.ini new file mode 100644 index 0000000000..773edf42b7 --- /dev/null +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_window_open_download_allow_downloads.tentative.https.html.ini @@ -0,0 +1,3 @@ +[iframe_sandbox_window_open_download_allow_downloads.tentative.https.html] + expected: + if (os == "android") and fission: [OK, TIMEOUT] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-cross-origin.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-cross-origin.tentative.sub.window.js.ini new file mode 100644 index 0000000000..54482a4faa --- /dev/null +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-cross-origin.tentative.sub.window.js.ini @@ -0,0 +1,7 @@ +[sandbox-top-navigation-child-cross-origin.tentative.sub.window.html] + expected: + if (processor == "x86") and (os == "linux"): [OK, TIMEOUT] + [A cross-origin frame with delivered sandbox flags can not navigate top] + expected: + if (processor == "x86") and (os == "linux"): [FAIL, TIMEOUT] + FAIL diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini deleted file mode 100644 index 5a6cd16fbb..0000000000 --- a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini +++ /dev/null @@ -1,15 +0,0 @@ -[sandbox-top-navigation-child-special-cases.tentative.sub.window.html] - expected: - if (os == "android") and fission: [ERROR, TIMEOUT] - TIMEOUT - [Allow top with user activation + user activation] - expected: TIMEOUT - - [allow-top-navigation-by-user-activation set but no sticky activation] - expected: NOTRUN - - [A cross-origin frame with frame sandbox flags can navigate top] - expected: NOTRUN - - [A cross-origin frame with delivered sandbox flags can not navigate top] - expected: NOTRUN diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child.tentative.sub.window.js.ini index 285b69c4f7..f60114975a 100644 --- a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child.tentative.sub.window.js.ini +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child.tentative.sub.window.js.ini @@ -1,4 +1,22 @@ [sandbox-top-navigation-child.tentative.sub.window.html] expected: - if os == "win": [CRASH, TIMEOUT] - CRASH + if os == "win": [TIMEOUT, CRASH] + TIMEOUT + [A frame with both top navigation frame sandbox flags uses the less restrictive one] + expected: NOTRUN + + [A frame with both top navigation delivered sandbox flags uses the less restrictive one] + expected: + if os == "android": [NOTRUN, TIMEOUT] + NOTRUN + + [A same-origin frame with frame sandbox flags can navigate top] + expected: + if os == "mac": [TIMEOUT, PASS] + if os == "linux": [TIMEOUT, PASS] + + [A same-origin unsandboxed frame can navigate top] + expected: + if os == "win": TIMEOUT + if os == "android": [TIMEOUT, PASS] + [NOTRUN, TIMEOUT] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-cross-site.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-cross-site.tentative.sub.window.js.ini new file mode 100644 index 0000000000..299cab92fd --- /dev/null +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-cross-site.tentative.sub.window.js.ini @@ -0,0 +1,10 @@ +[sandbox-top-navigation-cross-site.tentative.sub.window.html] + expected: TIMEOUT + [A cross-site unsandboxed iframe navigation consumes user activation and disallows top-level navigation.] + expected: TIMEOUT + + [A same-site unsandboxed iframe navigation does not consume user activation and allows top-level navigation.] + expected: NOTRUN + + [A same-site unsandboxed iframe navigation without sticky user activation does not allow top-level navigation.] + expected: NOTRUN diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-escalate-privileges.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-escalate-privileges.tentative.sub.window.js.ini index 2b0ef4d222..6d183b527f 100644 --- a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-escalate-privileges.tentative.sub.window.js.ini +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-escalate-privileges.tentative.sub.window.js.ini @@ -1,4 +1,26 @@ [sandbox-top-navigation-escalate-privileges.tentative.sub.window.html] - expected: - if (os == "android") and fission: [ERROR, TIMEOUT] - CRASH + expected: TIMEOUT + [A cross origin unsandboxed frame can't escalate privileges in a child frame] + expected: + if os == "mac": [FAIL, TIMEOUT] + if os == "linux": [FAIL, TIMEOUT] + FAIL + + [A sandboxed same-origin grandchild without allow-same-origin can't escalate its own top-nav privileges] + expected: NOTRUN + + [A same-origin grandchild with frame allow-top can navigate top] + expected: + if os == "win": [TIMEOUT, NOTRUN] + if os == "linux": [NOTRUN, TIMEOUT] + if os == "android": TIMEOUT + NOTRUN + + [An unsandboxed grandchild inherits its parents ability to navigate top.] + expected: + if os == "win": [PASS, TIMEOUT] + if os == "mac": [TIMEOUT, NOTRUN] + if os == "linux": [TIMEOUT, NOTRUN, PASS] + + [A sandboxed same-origin grandchild with allow-same-origin can give itself top-nav privileges] + expected: NOTRUN diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-grandchild.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-grandchild.tentative.sub.window.js.ini index 55c200dd82..2fe0b61401 100644 --- a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-grandchild.tentative.sub.window.js.ini +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-grandchild.tentative.sub.window.js.ini @@ -1,16 +1,19 @@ [sandbox-top-navigation-grandchild.tentative.sub.window.html] expected: - if os == "mac": [TIMEOUT, CRASH] - if os == "android": CRASH - [CRASH, TIMEOUT] + if os == "android": TIMEOUT + [TIMEOUT, CRASH] [A same-origin sandboxed grandchild in a cross-origin parent can navigate top] expected: NOTRUN [An unsandboxed same-origin grandchild can navigate top] - expected: [TIMEOUT, NOTRUN] + expected: + if os == "android": [PASS, TIMEOUT, NOTRUN] + [TIMEOUT, NOTRUN] [A same-origin grandchild in a cross-origin parent can navigate top] - expected: NOTRUN + expected: + if os == "android": [TIMEOUT, NOTRUN] + NOTRUN [A fully sandboxed same-origin grandchild can't navigate top] expected: [PASS, TIMEOUT] diff --git a/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation.tentative.sub.window.js.ini b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation.tentative.sub.window.js.ini new file mode 100644 index 0000000000..b0ed7c451c --- /dev/null +++ b/testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation.tentative.sub.window.js.ini @@ -0,0 +1,7 @@ +[sandbox-top-navigation-user-activation.tentative.sub.window.html] + expected: TIMEOUT + [Allow top with user activation + user activation] + expected: TIMEOUT + + [allow-top-navigation-by-user-activation set but no sticky activation] + expected: NOTRUN diff --git a/testing/web-platform/meta/html/semantics/forms/the-select-element/select-child-button-and-datalist-invalidation.tentative.html.ini b/testing/web-platform/meta/html/semantics/forms/the-select-element/select-child-button-and-datalist-invalidation.tentative.html.ini new file mode 100644 index 0000000000..e2858b0f76 --- /dev/null +++ b/testing/web-platform/meta/html/semantics/forms/the-select-element/select-child-button-and-datalist-invalidation.tentative.html.ini @@ -0,0 +1,2 @@ +[select-child-button-and-datalist-invalidation.tentative.html] + expected: TIMEOUT diff --git a/testing/web-platform/meta/html/semantics/forms/the-select-element/select-datalist-options-idl.tentative.html.ini b/testing/web-platform/meta/html/semantics/forms/the-select-element/select-datalist-options-idl.tentative.html.ini new file mode 100644 index 0000000000..685f04dcb2 --- /dev/null +++ b/testing/web-platform/meta/html/semantics/forms/the-select-element/select-datalist-options-idl.tentative.html.ini @@ -0,0 +1,9 @@ +[select-datalist-options-idl.tentative.html] + [Option elements should work if they are a descendant of a selects datalist.] + expected: FAIL + + [Options in datalist should still work when the multiple attribute is added.] + expected: FAIL + + [Options in datalist in multiple should work after re-parsing and re-attaching.] + expected: FAIL diff --git a/testing/web-platform/meta/html/semantics/interactive-elements/__dir__.ini b/testing/web-platform/meta/html/semantics/interactive-elements/__dir__.ini new file mode 100644 index 0000000000..7b7f61763e --- /dev/null +++ b/testing/web-platform/meta/html/semantics/interactive-elements/__dir__.ini @@ -0,0 +1,2 @@ +lsan-allowed: [AllocateProtoAndIfaceCache, EntrySlotOrCreate, NS_NewComputedDOMStyle, ProtoAndIfaceCache, mozilla::detail::HashTable] +leak-threshold: [tab:716800] diff --git a/testing/web-platform/meta/html/semantics/interactive-elements/the-summary-element/interactive-content.html.ini b/testing/web-platform/meta/html/semantics/interactive-elements/the-summary-element/interactive-content.html.ini new file mode 100644 index 0000000000..66b4719946 --- /dev/null +++ b/testing/web-platform/meta/html/semantics/interactive-elements/the-summary-element/interactive-content.html.ini @@ -0,0 +1,125 @@ +[interactive-content.html] + expected: + if os == "mac": TIMEOUT + if (os == "linux") and not debug: [TIMEOUT, OK] + + [Clicking an SVG link doesn't open
] + expected: FAIL + + [Clicking an doesn't open
] + expected: + if (os == "android") and debug: [FAIL, PASS] + if os == "mac": [PASS, NOTRUN] + + [Clicking an doesn't open
] + expected: + if (os == "android") and debug: [FAIL, PASS] + if os == "mac": [PASS, NOTRUN] + + [Clicking an doesn't open
] + expected: + if os == "mac": [PASS, NOTRUN] + if os == "android": FAIL + + [Clicking an doesn't open
] + expected: + if os == "mac": NOTRUN + FAIL + + [Clicking a