Bug 1472338: part 2) Change `clipboard.readText()` to read from the clipboard asynchr...
[gecko.git] / dom / browser-element / BrowserElementChild.js
blob349f91f4ea555b7c4e6d4f57dbb6d0407df600ed
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 */
8 "use strict";
10 var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
12 function debug(msg) {
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",
24       this
25     );
26   }
28   function onDestroy() {
29     removeMessageListener("browser-element-api:destroy", onDestroy);
31     if (api) {
32       api.destroy();
33     }
35     BrowserElementIsReady = false;
36   }
37   addMessageListener("browser-element-api:destroy", onDestroy);
39   BrowserElementIsReady = true;
40 } else {
41   debug("BE already loaded, abort");
44 sendAsyncMessage("browser-element-api:call", { msg_name: "hello" });