chat/modules/hiddenWindow.jsm
author Jorg K <jorgk@jorgk.com>
Sat, 05 Oct 2019 16:18:07 +0200
changeset 35909 9ba6a8a5bcb8611538067db06d4544b1c5bdad36
parent 35824 fda8338f7b7782a9a2ffcc8e260290395b055858
permissions -rw-r--r--
No bug - Pin mozilla-esr68 (FIREFOX_68_1_0esr_RELEASE, THUNDERBIRD_68_VERBRANCH) for release. a=jorgk

/* 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/. */

this.EXPORTED_SYMBOLS = ["getHiddenHTMLWindow"];

const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { XPCOMUtils } = ChromeUtils.import(
  "resource://gre/modules/XPCOMUtils.jsm"
);

XPCOMUtils.defineLazyGetter(
  this,
  "hiddenWindow",
  () => Services.appShell.hiddenDOMWindow
);

function getHiddenHTMLWindow() {
  if (Services.appinfo.OS == "Darwin") {
    let browser = hiddenWindow.document.getElementById("hiddenBrowser");
    return browser.docShell ? browser.contentWindow : hiddenWindow;
  }
  return hiddenWindow;
}