summaryrefslogtreecommitdiff
path: root/browser/base/content/macBrowserOverlay.xul
blob: 4b2cb0d89c0ef005eefc8d06179c91ac569c9095 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0"?>
# -*- Mode: HTML -*-
#
# 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/.

#define MAC_NON_BROWSER_WINDOW

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>

<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>

# All DTD information is stored in a separate file so that it can be shared by
# hiddenWindow.xul.
#include browser-doctype.inc

<overlay id="hidden-overlay"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

# All JS files which are not content (only) dependent that browser.xul
# wishes to include *must* go into the global-scripts.inc file
# so that they can be shared by this overlay.
#include global-scripts.inc

<script type="application/javascript">
  function OpenBrowserWindowFromDockMenu(options) {
    let win = OpenBrowserWindow(options);
    win.addEventListener("load", function listener() {
      win.removeEventListener("load", listener);
      let dockSupport = Cc["@mozilla.org/widget/macdocksupport;1"]
        .getService(Ci.nsIMacDockSupport);
      dockSupport.activateApplication(true);
    });

    return win;
  }

  addEventListener("load",   function() { gBrowserInit.nonBrowserWindowStartup()  }, false);
  addEventListener("unload", function() { gBrowserInit.nonBrowserWindowShutdown() }, false);
</script>

# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the 
# browser-sets.inc file for sharing with hiddenWindow.xul.
#include browser-sets.inc

# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by 
# hiddenWindow.xul.
#include browser-menubar.inc

<!-- Dock menu -->
<popupset>
  <menupopup id="menu_mac_dockmenu">
    <!-- The command cannot be cmd_newNavigator because we need to activate
         the application. -->
    <menuitem label="&newNavigatorCmd.label;" oncommand="OpenBrowserWindowFromDockMenu();"
              id="macDockMenuNewWindow" />
    <menuitem label="&newPrivateWindow.label;" oncommand="OpenBrowserWindowFromDockMenu({private: true});" />
  </menupopup>
</popupset>

</overlay>