Files
tubestation/toolkit/components/prompts/test/chromeScript.js

45 lines
1.1 KiB
JavaScript

Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/Timer.jsm");
// Define these to make EventUtils happy.
let window = this;
let parent = {};
let EventUtils = {};
Services.scriptloader.loadSubScript(
"chrome://mochikit/content/tests/SimpleTest/EventUtils.js",
EventUtils
);
addMessageListener("cancelPrompt", message => {
cancelPromptWhenItAppears();
});
function cancelPromptWhenItAppears() {
let interval = setInterval(() => {
if (cancelPrompt()) {
clearInterval(interval);
}
}, 100);
}
function cancelPrompt() {
let browserWin = Services.wm.getMostRecentWindow("navigator:browser");
let gBrowser = browserWin.gBrowser;
let promptManager = gBrowser.getTabModalPromptBox(gBrowser.selectedBrowser);
let prompts = promptManager.listPrompts();
if (!prompts.length) {
return false;
}
sendAsyncMessage("promptCanceled", {
ui: {
infoTitle: {
hidden: prompts[0].ui.infoTitle.getAttribute("hidden") == "true",
},
},
});
EventUtils.synthesizeKey("KEY_Escape", { code: "Escape" }, browserWin);
return true;
}