diff options
Diffstat (limited to 'addon-sdk/source/lib/sdk/addon/window.js')
-rw-r--r-- | addon-sdk/source/lib/sdk/addon/window.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/addon-sdk/source/lib/sdk/addon/window.js b/addon-sdk/source/lib/sdk/addon/window.js deleted file mode 100644 index 93ed1d8dc..000000000 --- a/addon-sdk/source/lib/sdk/addon/window.js +++ /dev/null @@ -1,66 +0,0 @@ -/* 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"; - -module.metadata = { - "stability": "experimental" -}; - -const { Ci, Cc } = require("chrome"); -const { make: makeWindow, getHiddenWindow } = require("../window/utils"); -const { create: makeFrame, getDocShell } = require("../frame/utils"); -const { defer } = require("../core/promise"); -const { when: unload } = require("../system/unload"); -const cfxArgs = require("../test/options"); - -var addonPrincipal = Cc["@mozilla.org/systemprincipal;1"]. - createInstance(Ci.nsIPrincipal); - -var hiddenWindow = getHiddenWindow(); - -if (cfxArgs.parseable) { - console.info("hiddenWindow document.documentURI:" + - hiddenWindow.document.documentURI); - console.info("hiddenWindow document.readyState:" + - hiddenWindow.document.readyState); -} - -// Once Bug 565388 is fixed and shipped we'll be able to make invisible, -// permanent docShells. Meanwhile we create hidden top level window and -// use it's docShell. -var frame = makeFrame(hiddenWindow.document, { - nodeName: "iframe", - namespaceURI: "http://www.w3.org/1999/xhtml", - allowJavascript: true, - allowPlugins: true -}) -var docShell = getDocShell(frame); -var eventTarget = docShell.chromeEventHandler; - -// We need to grant docShell system principals in order to load XUL document -// from data URI into it. -docShell.createAboutBlankContentViewer(addonPrincipal); - -// Get a reference to the DOM window of the given docShell and load -// such document into that would allow us to create XUL iframes, that -// are necessary for hidden frames etc.. -var window = docShell.contentViewer.DOMDocument.defaultView; -window.location = "data:application/vnd.mozilla.xul+xml;charset=utf-8,<window/>"; - -// Create a promise that is delivered once add-on window is interactive, -// used by add-on runner to defer add-on loading until window is ready. -var { promise, resolve } = defer(); -eventTarget.addEventListener("DOMContentLoaded", function handler(event) { - eventTarget.removeEventListener("DOMContentLoaded", handler, false); - resolve(); -}, false); - -exports.ready = promise; -exports.window = window; - -// Still close window on unload to claim memory back early. -unload(function() { - window.close() - frame.parentNode.removeChild(frame); -}); |