Files
tubestation/dom/tests/browser/browser_bug1008941_dismissGeolocationHanger.js
Anna Yeddi fbbe97f652 Bug 1872727 - Add an exception from a11y_checks for a click that dismisses a doorhanger in Core: Document Object Model. r=smaug
The `dom/tests/browser/browser_bug1008941_dismissGeolocationHanger.js` sends [a click outside of the Geolocation doorhanger to dismiss it](https://searchfox.org/mozilla-central/rev/0f39860036f9b6339e65d485aeb6b6be73d9dbda/dom/tests/browser/browser_bug1008941_dismissGeolocationHanger.js#24-25) using a mouse while the other way like `Esc` key is available for assistive technology users, thus this test can be ignored.

Since this test is expected to be passing the a11y_checks, we are also removing the `fail-if` notation from its manifest.

Differential Revision: https://phabricator.services.mozilla.com/D197532
2024-01-02 22:05:57 +00:00

46 lines
1.5 KiB
JavaScript

/* 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";
const TEST_URI =
// eslint-disable-next-line no-useless-concat
"https://example.com/" + "browser/dom/tests/browser/position.html";
add_task(async function testDismissHanger() {
info(
"Check that location is not shared when dismissing the geolocation hanger"
);
let promisePanelShown = BrowserTestUtils.waitForEvent(
PopupNotifications.panel,
"popupshown",
true
);
await BrowserTestUtils.openNewForegroundTab(gBrowser, TEST_URI);
await promisePanelShown;
// We intentionally turn off this a11y check, because the following click
// is sent on the <toolbar> to dismiss the Geolocation hanger using an
// alternative way of the popup dismissal, while the other way like `Esc` key
// is available for assistive technology users, thus this test can be ignored.
AccessibilityUtils.setEnv({ mustHaveAccessibleRule: false });
// click outside the Geolocation hanger to dismiss it
window.document.getElementById("nav-bar").click();
AccessibilityUtils.resetEnv();
info("Clicked outside the Geolocation panel to dismiss it");
let hasLocation = await SpecialPowers.spawn(
gBrowser.selectedBrowser,
[],
async function () {
return content.document.body.innerHTML.includes("location...");
}
);
ok(hasLocation, "Location is not shared");
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});