1#filter substitution
2<?xml version="1.0"?>
3# -*- Mode: HTML -*-
4#
5# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9<!-- The "global.css" stylesheet is imported first to allow other stylesheets to
10     override rules using selectors with the same specificity. This applies to
11     both "content" and "skin" packages, which bug 1385444 will unify later. -->
12<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
13
14<!-- While these stylesheets are defined in Toolkit, they are only used in the
15     main browser window, so we can load them here. Bug 1474241 is on file to
16     consider moving these widgets to the "browser" folder. -->
17<?xml-stylesheet href="chrome://global/content/tabprompts.css" type="text/css"?>
18<?xml-stylesheet href="chrome://global/skin/tabprompts.css" type="text/css"?>
19
20<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
21<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
22<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?>
23<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
24<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
25<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
26<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
27<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
28<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css" type="text/css"?>
29<?xml-stylesheet href="chrome://browser/skin/searchbar.css" type="text/css"?>
30<?xml-stylesheet href="chrome://browser/skin/places/tree-icons.css" type="text/css"?>
31<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?>
32
33# All DTD information is stored in a separate file so that it can be shared by
34# hiddenWindowMac.xhtml.
35<!DOCTYPE window [
36#include browser-doctype.inc
37]>
38
39<html id="main-window"
40        xmlns:html="http://www.w3.org/1999/xhtml"
41        xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
42        xmlns="http://www.w3.org/1999/xhtml"
43#ifdef XP_MACOSX
44        data-l10n-id="browser-main-window-mac"
45#else
46        data-l10n-id="browser-main-window"
47#endif
48        data-l10n-args="{&quot;content-title&quot;:&quot;CONTENTTITLE&quot;}"
49        data-l10n-attrs="data-content-title-default, data-content-title-private, data-title-default, data-title-private"
50#ifdef XP_WIN
51        chromemargin="0,2,2,2"
52#else
53        chromemargin="0,-1,-1,-1"
54#endif
55        tabsintitlebar="true"
56        windowtype="navigator:browser"
57        macanimationtype="document"
58        macnativefullscreen="true"
59        screenX="4" screenY="4"
60        sizemode="normal"
61        retargetdocumentfocus="urlbar-input"
62        scrolling="false"
63        persist="screenX screenY width height sizemode"
64        data-l10n-sync="true">
65<head>
66  <link rel="localization" href="branding/brand.ftl"/>
67  <link rel="localization" href="browser/branding/sync-brand.ftl"/>
68  <link rel="localization" href="browser/branding/brandings.ftl"/>
69  <link rel="localization" href="toolkit/global/textActions.ftl"/>
70  <link rel="localization" href="browser/browser.ftl"/>
71  <link rel="localization" href="browser/browserContext.ftl"/>
72  <link rel="localization" href="browser/browserSets.ftl"/>
73  <link rel="localization" href="browser/menubar.ftl"/>
74  <link rel="localization" href="browser/protectionsPanel.ftl"/>
75  <link rel="localization" href="browser/appmenu.ftl"/>
76  <link rel="localization" href="preview/interventions.ftl"/>
77  <link rel="localization" href="browser/sidebarMenu.ftl"/>
78  <link rel="localization" href="browser/allTabsMenu.ftl"/>
79  <link rel="localization" href="browser/places.ftl"/>
80  <link rel="localization" href="toolkit/printing/printUI.ftl"/>
81  <link rel="localization" href="browser/tabbrowser.ftl"/>
82
83  <title data-l10n-id="browser-main-window-title"></title>
84
85# All JS files which are needed by browser.xhtml and other top level windows to
86# support MacOS specific features *must* go into the global-scripts.inc file so
87# that they can be shared with macWindow.inc.xhtml.
88#include global-scripts.inc
89
90<script>
91  /* eslint-env mozilla/browser-window */
92  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
93  Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
94  if (AppConstants.MOZ_DATA_REPORTING) {
95    Services.scriptloader.loadSubScript("chrome://browser/content/browser-data-submission-info-bar.js", this);
96  }
97  if (!AppConstants.MOZILLA_OFFICIAL) {
98    Services.scriptloader.loadSubScript("chrome://browser/content/browser-development-helpers.js", this);
99  }
100  Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this);
101  Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
102  Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
103  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
104  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tab.js", this);
105  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tabs.js", this);
106  Services.scriptloader.loadSubScript("chrome://browser/content/places/places-menupopup.js", this);
107  Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
108  Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
109
110  window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
111  window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
112  window.onclose = WindowIsClosing;
113
114  window.addEventListener("MozBeforeInitialXULLayout",
115    gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
116
117  // The listener of DOMContentLoaded must be set on window, rather than
118  // document, because the window can go away before the event is fired.
119  // In that case, we don't want to initialize anything, otherwise we
120  // may be leaking things because they will never be destroyed after.
121  window.addEventListener("DOMContentLoaded",
122    gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true });
123</script>
124</head>
125<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
126# All sets except for popupsets (commands, keys, and stringbundles)
127# *must* go into the browser-sets.inc file so that they can be shared with other
128# top level windows in macWindow.inc.xhtml.
129#include browser-sets.inc
130
131#include main-popupset.inc.xhtml
132
133#include appmenu-viewcache.inc.xhtml
134
135  <html:dialog id="window-modal-dialog" style="visibility: hidden; height: 0; width: 0"/>
136  <html:template id="window-modal-dialog-template">
137    <vbox class="dialogTemplate dialogOverlay" align="center" topmost="true">
138      <hbox class="dialogBox">
139        <browser class="dialogFrame"
140                 autoscroll="false"
141                 disablehistory="true"/>
142      </hbox>
143    </vbox>
144  </html:template>
145
146#include navigator-toolbox.inc.xhtml
147
148#include browser-box.inc.xhtml
149
150  <html:template id="customizationPanel">
151    <box id="customization-container" flex="1" hidden="true"><![CDATA[
152#include ../../components/customizableui/content/customizeMode.inc.xhtml
153    ]]></box>
154  </html:template>
155
156#include fullscreen-and-pointerlock.inc.xhtml
157
158  <vbox id="browser-bottombox" layer="true">
159    <!-- gNotificationBox will be added here lazily. -->
160  </vbox>
161
162  <html:div id="a11y-announcement" role="alert"/>
163
164  <!-- Put it at the very end to make sure it's not covered by anything. -->
165  <html:div id="fullscr-toggler" hidden="hidden"/>
166</html:body>
167</html>
168