gecko-dev/tools/quitter/parent.js
Gijs Kruitbosch 65eeddec9b Bug 1548515 - Make quitter wait until we've run idle tasks, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D32470

--HG--
extra : rebase_source : b101c99e7ba2bc9a169a7313eed3ed501f74fd6e
extra : amend_source : fda5ee8c008540b205bab43b498a2e685c610b58
2019-05-24 12:58:43 +01:00

22 lines
563 B
JavaScript

"use strict";
/* globals ExtensionAPI */
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
this.quitter = class extends ExtensionAPI {
getAPI(context) {
return {
quitter: {
async quit() {
let browserWindow = Services.wm.getMostRecentWindow("navigator:browser");
if (browserWindow && browserWindow.gBrowserInit) {
await browserWindow.gBrowserInit.idleTasksFinishedPromise;
}
Services.startup.quit(Ci.nsIAppStartup.eForceQuit);
},
},
};
}
};