diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /accessible/tests/browser/e10s/browser_treeupdate_csscontentvisibility.js | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream/1%115.7.0.tar.xz thunderbird-upstream/1%115.7.0.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'accessible/tests/browser/e10s/browser_treeupdate_csscontentvisibility.js')
-rw-r--r-- | accessible/tests/browser/e10s/browser_treeupdate_csscontentvisibility.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/accessible/tests/browser/e10s/browser_treeupdate_csscontentvisibility.js b/accessible/tests/browser/e10s/browser_treeupdate_csscontentvisibility.js new file mode 100644 index 0000000000..0af583a96c --- /dev/null +++ b/accessible/tests/browser/e10s/browser_treeupdate_csscontentvisibility.js @@ -0,0 +1,72 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +/* import-globals-from ../../mochitest/role.js */ +loadScripts({ name: "role.js", dir: MOCHITESTS_DIR }); + +const snippet = ` + <style> + #target { + width: 150px; + height: 150px; + background-color: lightblue; + } + #child { + width: 100px; + height: 100px; + background-color: lightgreen; + } + #content-child { + width: 100px; + height: 100px; + background-color: green; + display: contents; + } + .hidden { + content-visibility: hidden; + } + .auto { + content-visibility: auto; + } + </style> + <div class="hidden" id="target"> + <div id="child"></div> + <div id="content-child"></div> + </div> + `; + +add_setup(async function () { + await SpecialPowers.pushPrefEnv({ + set: [["layout.css.content-visibility.enabled", true]], + }); +}); + +async function setContentVisibility(browser, id, value) { + let onReorder = waitForEvent(EVENT_REORDER, id); + + // Change the value of `content-visibility` property for the target + info(`Setting content-visibility: ${value} on ${id}`); + await invokeSetAttribute(browser, id, "class", value); + await onReorder; +} + +addAccessibleTask( + snippet, + async function (browser, accDoc) { + const targetId = "target"; + const target = findAccessibleChildByID(accDoc, targetId); + + info("Initial Accessibility Structure Test"); + testAccessibleTree(target, { SECTION: [] }); + + await setContentVisibility(browser, targetId, "auto"); + testAccessibleTree(target, { SECTION: [{ SECTION: [] }, { SECTION: [] }] }); + + await setContentVisibility(browser, targetId, "hidden"); + testAccessibleTree(target, { SECTION: [] }); + }, + { iframe: true, remoteIframe: true, chrome: true } +); |