gecko-dev/remote/WindowManager.jsm

26 строки
728 B
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";
var EXPORTED_SYMBOLS = ["WindowManager"];
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { EventPromise } = ChromeUtils.import("chrome://remote/content/Sync.jsm");
var WindowManager = {
async focus(window) {
if (window != Services.focus.activeWindow) {
const promises = [
EventPromise(window, "activate"),
EventPromise(window, "focus", { capture: true }),
];
window.focus();
await Promise.all(promises);
}
},
};