Source code

Revision control

Copy as Markdown

Other Tools

/* 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/. */
/**
* Loads a stub copy of EventUtils.js which can be used by things like
* content tasks without holding any direct references to windows.
*/
import { setTimeout } from "resource://gre/modules/Timer.sys.mjs";
export let EventUtils = { setTimeout, window: {}, _EU_Ci: Ci, _EU_Cc: Cc };
EventUtils.parent = EventUtils.window;
EventUtils.synthesizeClick = element =>
new Promise(resolve => {
element.addEventListener("click", () => resolve(), { once: true });
EventUtils.synthesizeMouseAtCenter(
element,
{ type: "mousedown", isSynthesized: false },
element.ownerGlobal
);
EventUtils.synthesizeMouseAtCenter(
element,
{ type: "mouseup", isSynthesized: false },
element.ownerGlobal
);
});
Services.scriptloader.loadSubScript(
EventUtils
);