gecko-dev/accessible/tests/browser/events/browser_test_focus_browserui.js
Jonathan Kingston 038c8e8573 Bug 1485305 - accessible/ Ensure loadURI always passes a triggeringPrincipal() r=surkov
Differential Revision: https://phabricator.services.mozilla.com/D4550

--HG--
extra : source : f33d4832f8a34681bc389792698d880ebe29d542
extra : intermediate-source : 609dab5dcf7b4545252f91213f562cc4d01622bf
2018-08-29 15:39:16 +01:00

46 lines
1.7 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";
/* import-globals-from ../../mochitest/states.js */
/* import-globals-from ../../mochitest/role.js */
loadScripts({ name: "states.js", dir: MOCHITESTS_DIR },
{ name: "role.js", dir: MOCHITESTS_DIR });
async function runTests(browser, accDoc) {
let onFocus = waitForEvent(EVENT_FOCUS, "input");
EventUtils.synthesizeKey("VK_TAB", {}, browser.ownerGlobal);
let evt = await onFocus;
testStates(evt.accessible, STATE_FOCUSED);
onFocus = waitForEvent(EVENT_FOCUS, "buttonInputDoc");
let url = snippetToURL(`<input id="input" type="button" value="button">`, { id: "buttonInputDoc" });
browser.loadURI(url, {
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
});
evt = await onFocus;
testStates(evt.accessible, STATE_FOCUSED);
onFocus = waitForEvent(EVENT_FOCUS, "input");
browser.goBack();
evt = await onFocus;
testStates(evt.accessible, STATE_FOCUSED);
let inputField = browser.ownerDocument.getElementById("urlbar").inputField;
onFocus = waitForEvent(EVENT_FOCUS, getAccessible(inputField));
EventUtils.synthesizeKey("t", { accelKey: true }, browser.ownerGlobal);
evt = await onFocus;
testStates(evt.accessible, STATE_FOCUSED);
onFocus = waitForEvent(EVENT_FOCUS, "input");
EventUtils.synthesizeKey("w", { accelKey: true }, browser.ownerGlobal);
evt = await onFocus;
testStates(evt.accessible, STATE_FOCUSED);
}
/**
* Accessibility loading document events test.
*/
addAccessibleTask(`<input id="input">`, runTests);