1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 /* eslint-env mozilla/frame-script */
6 /* global api, CopyPasteAssistent */
10 var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
13 // dump("BrowserElementChild - " + msg + "\n");
16 var BrowserElementIsReady;
18 debug(`Might load BE scripts: BEIR: ${BrowserElementIsReady}`);
19 if (!BrowserElementIsReady) {
20 debug("Loading BE scripts");
21 if (!("BrowserElementIsPreloaded" in this)) {
22 Services.scriptloader.loadSubScript(
23 "chrome://global/content/BrowserElementChildPreload.js",
28 function onDestroy() {
29 removeMessageListener("browser-element-api:destroy", onDestroy);
35 BrowserElementIsReady = false;
37 addMessageListener("browser-element-api:destroy", onDestroy);
39 BrowserElementIsReady = true;
41 debug("BE already loaded, abort");
44 sendAsyncMessage("browser-element-api:call", { msg_name: "hello" });