summaryrefslogtreecommitdiffstats
path: root/browser/base/content/browser.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/browser.xhtml')
-rw-r--r--browser/base/content/browser.xhtml2341
1 files changed, 2341 insertions, 0 deletions
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
new file mode 100644
index 0000000000..da7d002aba
--- /dev/null
+++ b/browser/base/content/browser.xhtml
@@ -0,0 +1,2341 @@
+#filter substitution
+<?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/.
+
+<!-- The "global.css" stylesheet is imported first to allow other stylesheets to
+ override rules using selectors with the same specificity. This applies to
+ both "content" and "skin" packages, which bug 1385444 will unify later. -->
+<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
+
+<!-- While these stylesheets are defined in Toolkit, they are only used in the
+ main browser window, so we can load them here. Bug 1474241 is on file to
+ consider moving these widgets to the "browser" folder. -->
+<?xml-stylesheet href="chrome://global/content/tabprompts.css" type="text/css"?>
+<?xml-stylesheet href="chrome://global/skin/tabprompts.css" type="text/css"?>
+
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/searchbar.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/places/tree-icons.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?>
+
+# All DTD information is stored in a separate file so that it can be shared by
+# hiddenWindowMac.xhtml.
+<!DOCTYPE window [
+#include browser-doctype.inc
+]>
+
+<html id="main-window"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns="http://www.w3.org/1999/xhtml"
+#ifdef XP_MACOSX
+ data-l10n-id="browser-main-window-mac"
+#else
+ data-l10n-id="browser-main-window"
+#endif
+ data-l10n-args="{&quot;content-title&quot;:&quot;CONTENTTITLE&quot;}"
+ data-l10n-attrs="data-content-title-default, data-content-title-private, data-title-default, data-title-private"
+#ifdef XP_WIN
+ chromemargin="0,2,2,2"
+#else
+ chromemargin="0,-1,-1,-1"
+#endif
+ tabsintitlebar="true"
+ windowtype="navigator:browser"
+ macanimationtype="document"
+ macnativefullscreen="true"
+ screenX="4" screenY="4"
+ sizemode="normal"
+ retargetdocumentfocus="urlbar-input"
+ scrolling="false"
+ persist="screenX screenY width height sizemode"
+ data-l10n-sync="true">
+<head>
+ <link rel="localization" href="branding/brand.ftl"/>
+ <link rel="localization" href="browser/branding/sync-brand.ftl"/>
+ <link rel="localization" href="browser/branding/brandings.ftl"/>
+ <link rel="localization" href="toolkit/global/textActions.ftl"/>
+ <link rel="localization" href="browser/browser.ftl"/>
+ <link rel="localization" href="browser/browserContext.ftl"/>
+ <link rel="localization" href="browser/browserSets.ftl"/>
+ <link rel="localization" href="browser/menubar.ftl"/>
+ <link rel="localization" href="browser/protectionsPanel.ftl"/>
+ <link rel="localization" href="browser/appmenu.ftl"/>
+ <link rel="localization" href="preview/interventions.ftl"/>
+ <link rel="localization" href="browser/sidebarMenu.ftl"/>
+ <link rel="localization" href="browser/allTabsMenu.ftl"/>
+ <link rel="localization" href="browser/places.ftl"/>
+ <link rel="localization" href="toolkit/printing/printUI.ftl"/>
+
+ <title data-l10n-id="browser-main-window-title"></title>
+
+# All JS files which are needed by browser.xhtml and other top level windows to
+# support MacOS specific features *must* go into the global-scripts.inc file so
+# that they can be shared with macWindow.inc.xhtml.
+#include global-scripts.inc
+
+<script>
+ /* eslint-env mozilla/browser-window */
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
+ if (AppConstants.MOZ_DATA_REPORTING) {
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-data-submission-info-bar.js", this);
+ }
+ if (!AppConstants.MOZILLA_OFFICIAL) {
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-development-helpers.js", this);
+ }
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tab.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser-tabs.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/places/places-menupopup.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
+
+ window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
+ window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
+ window.onclose = WindowIsClosing;
+
+ window.addEventListener("MozBeforeInitialXULLayout",
+ gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
+
+ // The listener of DOMContentLoaded must be set on window, rather than
+ // document, because the window can go away before the event is fired.
+ // In that case, we don't want to initialize anything, otherwise we
+ // may be leaking things because they will never be destroyed after.
+ window.addEventListener("DOMContentLoaded",
+ gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true });
+</script>
+</head>
+<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+# All sets except for popupsets (commands, keys, and stringbundles)
+# *must* go into the browser-sets.inc file so that they can be shared with other
+# top level windows in macWindow.inc.xhtml.
+#include browser-sets.inc
+ <popupset id="mainPopupSet">
+ <menupopup id="tabContextMenu"
+ onpopupshowing="if (event.target == this) TabContextMenu.updateContextMenu(this);"
+ onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;">
+ <menuitem id="context_reloadTab" data-lazy-l10n-id="reload-tab"
+ oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/>
+ <menuitem id="context_reloadSelectedTabs" data-lazy-l10n-id="reload-tabs" hidden="true"
+ oncommand="gBrowser.reloadMultiSelectedTabs();"/>
+ <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/>
+ <menuitem id="context_toggleMuteSelectedTabs" hidden="true"
+ oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/>
+ <menuitem id="context_pinTab" data-lazy-l10n-id="pin-tab"
+ oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
+ <menuitem id="context_unpinTab" data-lazy-l10n-id="unpin-tab" hidden="true"
+ oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
+ <menuitem id="context_pinSelectedTabs" data-lazy-l10n-id="pin-selected-tabs" hidden="true"
+ oncommand="gBrowser.pinMultiSelectedTabs();"/>
+ <menuitem id="context_unpinSelectedTabs" data-lazy-l10n-id="unpin-selected-tabs" hidden="true"
+ oncommand="gBrowser.unpinMultiSelectedTabs();"/>
+ <menuitem id="context_duplicateTab" data-lazy-l10n-id="duplicate-tab"
+ oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
+ <menuitem id="context_duplicateTabs" data-lazy-l10n-id="duplicate-tabs"
+ oncommand="TabContextMenu.duplicateSelectedTabs();"/>
+ <menuseparator/>
+ <menuitem id="context_selectAllTabs" data-lazy-l10n-id="select-all-tabs"
+ oncommand="gBrowser.selectAllTabs();"/>
+ <menuitem id="context_bookmarkSelectedTabs"
+ hidden="true"
+ data-lazy-l10n-id="bookmark-selected-tabs"
+ oncommand="PlacesUIUtils.showBookmarkPagesDialog(PlacesCommandHook.uniqueSelectedPages);"/>
+ <menuitem id="context_bookmarkTab"
+ data-lazy-l10n-id="bookmark-tab"
+ oncommand="PlacesUIUtils.showBookmarkPagesDialog(PlacesCommandHook.getUniquePages([TabContextMenu.contextTab]));"/>
+ <menu id="context_reopenInContainer"
+ data-lazy-l10n-id="reopen-in-container"
+ hidden="true">
+ <menupopup oncommand="TabContextMenu.reopenInContainer(event);"
+ onpopupshowing="TabContextMenu.createReopenInContainerMenu(event);"/>
+ </menu>
+ <menu id="context_moveTabOptions"
+ data-lazy-l10n-id="tab-context-move-tabs"
+ data-l10n-args='{"tabCount": 1}'>
+ <menupopup id="moveTabOptionsMenu">
+ <menuitem id="context_moveToStart"
+ data-lazy-l10n-id="move-to-start"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.moveTabsToStart(TabContextMenu.contextTab);"/>
+ <menuitem id="context_moveToEnd"
+ data-lazy-l10n-id="move-to-end"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.moveTabsToEnd(TabContextMenu.contextTab);"/>
+ <menuitem id="context_openTabInWindow" data-lazy-l10n-id="move-to-new-window"
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/>
+ </menupopup>
+ </menu>
+ <menu id="context_sendTabToDevice"
+ class="sync-ui-item">
+ <menupopup id="context_sendTabToDevicePopupMenu"
+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle, TabContextMenu.contextTab.multiselected);"/>
+ </menu>
+ <menuseparator/>
+ <menu id="context_closeTabOptions"
+ data-lazy-l10n-id="tab-context-close-multiple-tabs">
+ <menupopup id="closeTabOptions">
+ <menuitem id="context_closeTabsToTheEnd" data-lazy-l10n-id="close-tabs-to-the-end"
+ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
+ <menuitem id="context_closeOtherTabs" data-lazy-l10n-id="close-other-tabs"
+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
+ </menupopup>
+ </menu>
+ <menuitem id="context_undoCloseTab"
+ data-lazy-l10n-id="tab-context-undo-close-tabs"
+ data-l10n-args='{"tabCount": 1}'
+ observes="History:UndoCloseTab"/>
+ <menuitem id="context_closeTab"
+ data-lazy-l10n-id="tab-context-close-tabs"
+ data-l10n-args='{"tabCount": 1}'
+ oncommand="TabContextMenu.closeContextTabs();"/>
+ </menupopup>
+
+ <!-- bug 415444/582485: event.stopPropagation is here for the cloned version
+ of this menupopup, to prevent already-handled clicks on menu items from
+ propagating to the back or forward button.
+ -->
+ <menupopup id="backForwardMenu"
+ onpopupshowing="return FillHistoryMenu(event.target);"
+ oncommand="gotoHistoryIndex(event); event.stopPropagation();"
+ onclick="checkForMiddleClick(this, event);"/>
+ <tooltip id="aHTMLTooltip" page="true"/>
+ <tooltip id="remoteBrowserTooltip"/>
+
+ <menupopup id="new-tab-button-popup"
+ onpopupshowing="return CreateContainerTabMenu(event);"
+ onclick="checkForMiddleClick(this, event);"/>
+ <!-- for search and content formfill/pw manager -->
+
+ <panel is="autocomplete-richlistbox-popup"
+ type="autocomplete-richlistbox"
+ id="PopupAutoComplete"
+ role="group"
+ noautofocus="true"
+ hidden="true"
+ overflowpadding="4"
+ norolluponanchor="true"
+ nomaxresults="true" />
+
+ <!-- for search with one-off buttons -->
+ <panel is="search-autocomplete-richlistbox-popup"
+ type="autocomplete-richlistbox"
+ id="PopupSearchAutoComplete"
+ role="group"
+ noautofocus="true"
+ hidden="true" />
+
+ <html:template id="dateTimePickerTemplate">
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that
+ clicks on the anchored input box are never consumed. -->
+ <panel id="DateTimePickerPanel"
+ type="arrow"
+ hidden="true"
+ orient="vertical"
+ noautofocus="true"
+ norolluponanchor="true"
+ consumeoutsideclicks="never"
+ level="parent"
+ tabspecific="true">
+ </panel>
+ </html:template>
+
+ <!-- for select dropdowns. The menupopup is what shows the list of options,
+ and the popuponly menulist makes things like the menuactive attributes
+ work correctly on the menupopup. ContentSelectDropdown expects the
+ popuponly menulist to be its immediate parent. -->
+ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
+ <menupopup rolluponmousewheel="true"
+ activateontab="true" position="after_start"
+ level="parent"
+#ifdef XP_WIN
+ consumeoutsideclicks="false" ignorekeys="shortcuts"
+#endif
+ />
+ </menulist>
+
+ <html:template id="printPreviewStackTemplate">
+ <stack class="previewStack" rendering="true" flex="1" previewtype="primary">
+ <vbox class="previewRendering" flex="1">
+ <h1 class="print-pending-label" data-l10n-id="printui-loading"></h1>
+ </vbox>
+ </stack>
+ </html:template>
+
+ <html:template id="invalidFormTemplate">
+ <!-- for invalid form error message -->
+ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" level="parent">
+ <description/>
+ </panel>
+ </html:template>
+
+ <html:template id="editBookmarkPanelTemplate">
+ <panel id="editBookmarkPanel"
+ class="panel-no-padding"
+ type="arrow"
+ orient="vertical"
+ ignorekeys="true"
+ hidden="true"
+ tabspecific="true"
+ aria-labelledby="editBookmarkPanelTitle">
+ <box class="panel-header">
+ <label id="editBookmarkPanelTitle"/>
+ <toolbarbutton tabindex="0" id="editBookmarkPanelInfoButton" class="panel-info-button" oncommand="StarUI.toggleRecommendation();" >
+ <image/>
+ </toolbarbutton>
+ </box>
+ <html:div id="editBookmarkPanelInfoArea">
+ <html:div id="editBookmarkPanelRecommendation"></html:div>
+ <html:div id="editBookmarkPanelFaviconContainer">
+ <html:img id="editBookmarkPanelFavicon"/>
+ </html:div>
+ <html:div id="editBookmarkPanelImage"></html:div>
+ </html:div>
+#include ../../components/places/content/editBookmarkPanel.inc.xhtml
+ <vbox id="editBookmarkPanelBottomContent"
+ flex="1">
+ <checkbox id="editBookmarkPanel_showForNewBookmarks"
+ data-l10n-id="bookmark-panel-show-editor-checkbox"
+ oncommand="StarUI.onShowForNewBookmarksCheckboxCommand();"/>
+ </vbox>
+ <hbox id="editBookmarkPanelBottomButtons"
+ class="panel-footer"
+ data-l10n-id="bookmark-panel"
+ data-l10n-attrs="style">
+#ifndef XP_UNIX
+ <button id="editBookmarkPanelDoneButton"
+ class="editBookmarkPanelBottomButton"
+ data-l10n-id="bookmark-panel-done-button"
+ default="true"
+ oncommand="StarUI.panel.hidePopup();"/>
+ <button id="editBookmarkPanelRemoveButton"
+ class="editBookmarkPanelBottomButton"
+ oncommand="StarUI.removeBookmarkButtonCommand();"/>
+#else
+ <button id="editBookmarkPanelRemoveButton"
+ class="editBookmarkPanelBottomButton"
+ oncommand="StarUI.removeBookmarkButtonCommand();"/>
+ <button id="editBookmarkPanelDoneButton"
+ class="editBookmarkPanelBottomButton"
+ data-l10n-id="bookmark-panel-done-button"
+ default="true"
+ oncommand="StarUI.panel.hidePopup();"/>
+#endif
+ </hbox>
+ </panel>
+ </html:template>
+
+ <html:template id="UITourTooltipTemplate">
+ <!-- UI tour experience -->
+ <panel id="UITourTooltip"
+ type="arrow"
+ noautofocus="true"
+ noautohide="true"
+ align="start"
+ orient="vertical"
+ role="alert">
+ <vbox>
+ <hbox id="UITourTooltipBody">
+ <image id="UITourTooltipIcon"/>
+ <vbox flex="1">
+ <hbox id="UITourTooltipTitleContainer">
+ <label id="UITourTooltipTitle" flex="1"/>
+ <toolbarbutton id="UITourTooltipClose" class="close-icon"
+ tooltiptext="&uiTour.infoPanel.close;"/>
+ </hbox>
+ <description id="UITourTooltipDescription" flex="1"/>
+ </vbox>
+ </hbox>
+ <hbox id="UITourTooltipButtons" flex="1" align="center"/>
+ </vbox>
+ </panel>
+ </html:template>
+ <html:template id="UITourHighlightTemplate">
+ <!-- type="default" forces frames to be created so that the panel's size can be determined -->
+ <panel id="UITourHighlightContainer"
+ type="default"
+ noautofocus="true"
+ noautohide="true"
+ flip="none"
+ consumeoutsideclicks="false">
+ <box id="UITourHighlight"></box>
+ </panel>
+ </html:template>
+
+ <html:template id="dialogStackTemplate">
+ <stack class="dialogStack tab-dialog-box" hidden="true">
+ <vbox class="dialogTemplate dialogOverlay" align="center" topmost="true" hidden="true">
+ <hbox class="dialogBox">
+ <browser class="dialogFrame"
+ autoscroll="false"
+ disablehistory="true"/>
+ </hbox>
+ </vbox>
+ </stack>
+ </html:template>
+
+ <panel id="sidebarMenu-popup"
+ class="cui-widget-panel"
+ role="group"
+ type="arrow"
+ hidden="true"
+ flip="slide"
+ orient="vertical"
+ position="bottomcenter topleft">
+ <toolbarbutton id="sidebar-switcher-bookmarks"
+ type="checkbox"
+ data-l10n-id="sidebar-menu-bookmarks"
+ class="subviewbutton subviewbutton-iconic"
+ key="viewBookmarksSidebarKb"
+ oncommand="SidebarUI.show('viewBookmarksSidebar');"/>
+ <toolbarbutton id="sidebar-switcher-history"
+ type="checkbox"
+ data-l10n-id="sidebar-menu-history"
+ class="subviewbutton subviewbutton-iconic"
+ key="key_gotoHistory"
+ oncommand="SidebarUI.show('viewHistorySidebar');"/>
+ <toolbarbutton id="sidebar-switcher-tabs"
+ type="checkbox"
+ data-l10n-id="sidebar-menu-synced-tabs"
+ class="subviewbutton subviewbutton-iconic sync-ui-item"
+ oncommand="SidebarUI.show('viewTabsSidebar');"/>
+ <toolbarseparator/>
+ <!-- Extension toolbarbuttons go here. -->
+ <toolbarseparator id="sidebar-extensions-separator"/>
+ <toolbarbutton id="sidebar-reverse-position"
+ class="subviewbutton"
+ oncommand="SidebarUI.reversePosition()"/>
+ <toolbarseparator/>
+ <toolbarbutton data-l10n-id="sidebar-menu-close"
+ class="subviewbutton"
+ oncommand="SidebarUI.hide()"/>
+ </panel>
+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); ToolbarContextMenu.updateDownloadsAutoHide(this); ToolbarContextMenu.updateExtension(this)">
+ <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)"
+ data-lazy-l10n-id="toolbar-context-menu-manage-extension"
+ contexttype="toolbaritem"
+ class="customize-context-manageExtension"/>
+ <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)"
+ data-lazy-l10n-id="toolbar-context-menu-remove-extension"
+ contexttype="toolbaritem"
+ class="customize-context-removeExtension"/>
+ <menuitem oncommand="ToolbarContextMenu.reportExtensionForContextAction(this.parentElement, 'toolbar_context_menu')"
+ data-lazy-l10n-id="toolbar-context-menu-report-extension"
+ contexttype="toolbaritem"
+ class="customize-context-reportExtension"/>
+ <menuseparator/>
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode, 'toolbar-context-menu')"
+ data-lazy-l10n-id="toolbar-context-menu-pin-to-overflow-menu"
+ contexttype="toolbaritem"
+ class="customize-context-moveToPanel"/>
+ <menuitem id="toolbar-context-autohide-downloads-button"
+ oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event);"
+ type="checkbox"
+ data-lazy-l10n-id="toolbar-context-menu-auto-hide-downloads-button"
+ contexttype="toolbaritem"/>
+ <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode, 'toolbar-context-menu')"
+ data-lazy-l10n-id="toolbar-context-menu-remove-from-toolbar"
+ contexttype="toolbaritem"
+ class="customize-context-removeFromToolbar"/>
+ <menuitem id="toolbar-context-reloadSelectedTab"
+ contexttype="tabbar"
+ oncommand="gBrowser.reloadMultiSelectedTabs();"
+ data-lazy-l10n-id="toolbar-context-menu-reload-selected-tab"/>
+ <menuitem id="toolbar-context-reloadSelectedTabs"
+ contexttype="tabbar"
+ oncommand="gBrowser.reloadMultiSelectedTabs();"
+ data-lazy-l10n-id="toolbar-context-menu-reload-selected-tabs"/>
+ <menuitem id="toolbar-context-bookmarkSelectedTab"
+ contexttype="tabbar"
+ oncommand="PlacesUIUtils.showBookmarkPagesDialog(PlacesCommandHook.uniqueSelectedPages);"
+ data-lazy-l10n-id="toolbar-context-menu-bookmark-selected-tab"/>
+ <menuitem id="toolbar-context-bookmarkSelectedTabs"
+ contexttype="tabbar"
+ oncommand="PlacesUIUtils.showBookmarkPagesDialog(PlacesCommandHook.uniqueSelectedPages);"
+ data-lazy-l10n-id="toolbar-context-menu-bookmark-selected-tabs"/>
+ <menuitem id="toolbar-context-selectAllTabs"
+ contexttype="tabbar"
+ oncommand="gBrowser.selectAllTabs();"
+ data-lazy-l10n-id="toolbar-context-menu-select-all-tabs"/>
+ <menuitem id="toolbar-context-undoCloseTab"
+ contexttype="tabbar"
+ data-lazy-l10n-id="toolbar-context-menu-undo-close-tabs"
+ observes="History:UndoCloseTab"/>
+ <menuseparator/>
+ <menuseparator id="viewToolbarsMenuSeparator"/>
+ <!-- XXXgijs: we're using oncommand handler here to avoid the event being
+ redirected to the command element, thus preventing
+ listeners on the menupopup or further up the tree from
+ seeing the command event pass by. The observes attribute is
+ here so that the menuitem is still disabled and re-enabled
+ correctly. -->
+ <menuitem oncommand="gCustomizeMode.enter()"
+ observes="cmd_CustomizeToolbars"
+ class="viewCustomizeToolbar"
+ data-lazy-l10n-id="toolbar-context-menu-view-customize-toolbar"/>
+ </menupopup>
+
+ <menupopup id="blockedPopupOptions"
+ onpopupshowing="gPopupBlockerObserver.fillPopupList(event);"
+ onpopuphiding="gPopupBlockerObserver.onPopupHiding(event);">
+ <menuitem id="blockedPopupAllowSite"
+ accesskey="&allowPopups.accesskey;"
+ oncommand="gPopupBlockerObserver.toggleAllowPopupsForSite(event);"/>
+ <menuitem
+#ifdef XP_WIN
+ label="&editPopupSettings.label;"
+#else
+ label="&editPopupSettingsUnix.label;"
+#endif
+ accesskey="&editPopupSettings.accesskey;"
+ oncommand="gPopupBlockerObserver.editPopupSettings();"/>
+ <menuitem id="blockedPopupDontShowMessage"
+ accesskey="&dontShowMessage.accesskey;"
+ type="checkbox"
+ oncommand="gPopupBlockerObserver.dontShowMessage();"/>
+ <menuseparator id="blockedPopupsSeparator"/>
+ </menupopup>
+
+ <menupopup id="autohide-context"
+ onpopupshowing="FullScreen.getAutohide(this.firstChild);">
+ <menuitem type="checkbox" data-l10n-id="full-screen-autohide"
+ oncommand="FullScreen.setAutohide();"/>
+ <menuseparator/>
+ <menuitem data-l10n-id="full-screen-exit"
+ oncommand="BrowserFullScreen();"/>
+ </menupopup>
+
+ <menupopup id="contentAreaContextMenu" pagemenu="#page-menu-separator"
+ onpopupshowing="if (event.target != this)
+ return true;
+ gContextMenu = new nsContextMenu(this, event.shiftKey);
+ if (gContextMenu.shouldDisplay)
+ updateEditUIVisibility();
+ return gContextMenu.shouldDisplay;"
+ onpopuphiding="if (event.target != this)
+ return;
+ gContextMenu.hiding();
+ gContextMenu = null;
+ updateEditUIVisibility();">
+#include browser-context.inc
+ </menupopup>
+
+ <menupopup id="pictureInPictureToggleContextMenu">
+ <menuitem label="&pictureInPictureHideToggle.label;"
+ accesskey="&pictureInPictureHideToggle.accesskey;"
+ oncommand="PictureInPicture.hideToggle();" />
+ </menupopup>
+
+#include ../../components/places/content/placesContextMenu.inc.xhtml
+
+ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
+ <hbox id="ctrlTab-previews"/>
+ <hbox id="ctrlTab-showAll-container" pack="center"/>
+ </panel>
+
+ <html:template id="pageActionPanelTemplate">
+ <panel id="pageActionPanel"
+ class="cui-widget-panel panel-no-padding"
+ role="group"
+ type="arrow"
+ hidden="true"
+ flip="slide"
+ position="bottomcenter topright"
+ tabspecific="true"
+ noautofocus="true">
+ <panelmultiview id="pageActionPanelMultiView"
+ mainViewId="pageActionPanelMainView"
+ viewCacheId="appMenu-viewCache">
+ <panelview id="pageActionPanelMainView"
+ context="pageActionContextMenu"
+ class="PanelUI-subView">
+ <vbox class="panel-subview-body"/>
+ </panelview>
+ </panelmultiview>
+ </panel>
+ </html:template>
+
+ <html:template id="confirmation-hint-wrapper">
+ <panel id="confirmation-hint"
+ role="alert"
+ type="arrow"
+ flip="slide"
+ position="bottomcenter topright"
+ tabspecific="true"
+ noautofocus="true">
+ <hbox id="confirmation-hint-checkmark-animation-container">
+ <image id="confirmation-hint-checkmark-image"/>
+ </hbox>
+ <vbox id="confirmation-hint-message-container">
+ <label id="confirmation-hint-message"/>
+ <label id="confirmation-hint-description"/>
+ </vbox>
+ </panel>
+ </html:template>
+
+ <menupopup id="pageActionContextMenu"
+ onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">
+ <menuitem class="pageActionContextMenuItem builtInUnpinned"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"
+ data-l10n-id="page-action-add-to-urlbar"/>
+ <menuitem class="pageActionContextMenuItem builtInPinned"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"
+ data-l10n-id="page-action-remove-from-urlbar"/>
+ <menuitem class="pageActionContextMenuItem extensionUnpinned"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"
+ data-l10n-id="page-action-add-to-urlbar"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"
+ data-l10n-id="page-action-remove-from-urlbar"/>
+ <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned"
+ oncommand="BrowserPageActions.openAboutAddonsForContextAction();"
+ data-l10n-id="page-action-manage-extension"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned removeExtensionItem"
+ oncommand="BrowserPageActions.removeExtensionForContextAction();"
+ data-l10n-id="page-action-remove-extension"/>
+ </menupopup>
+
+#include ../../components/places/content/bookmarksHistoryTooltip.inc.xhtml
+
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
+
+ <tooltip id="back-button-tooltip">
+ <description class="tooltip-label" data-l10n-id="navbar-tooltip-back"/>
+ <description class="tooltip-label" data-l10n-id="navbar-tooltip-instruction"/>
+ </tooltip>
+
+ <tooltip id="forward-button-tooltip">
+ <description class="tooltip-label" data-l10n-id="navbar-tooltip-forward"/>
+ <description class="tooltip-label" data-l10n-id="navbar-tooltip-instruction"/>
+ </tooltip>
+
+#include popup-notifications.inc
+
+#include ../../components/customizableui/content/panelUI.inc.xhtml
+#include ../../components/controlcenter/content/identityPanel.inc.xhtml
+#include ../../components/controlcenter/content/protectionsPanel.inc.xhtml
+#include ../../components/downloads/content/downloadsPanel.inc.xhtml
+#include ../../../devtools/startup/enableDevToolsPopup.inc.xhtml
+#include browser-allTabsMenu.inc.xhtml
+
+ <hbox id="downloads-animation-container">
+ <vbox id="downloads-notification-anchor" hidden="true">
+ <vbox id="downloads-indicator-notification"/>
+ </vbox>
+ </hbox>
+
+ <tooltip id="dynamic-shortcut-tooltip"
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
+
+ <menupopup id="SyncedTabsSidebarContext">
+ <menuitem data-lazy-l10n-id="synced-tabs-context-open"
+ id="syncedTabsOpenSelected" where="current"/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-open-in-new-tab"
+ id="syncedTabsOpenSelectedInTab" where="tab"/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-open-in-new-window"
+ id="syncedTabsOpenSelectedInWindow" where="window"/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-open-in-new-private-window"
+ id="syncedTabsOpenSelectedInPrivateWindow" where="window" private="true"/>
+ <menuseparator/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-bookmark-single-tab"
+ id="syncedTabsBookmarkSelected"/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-copy"
+ id="syncedTabsCopySelected"/>
+ <menuseparator/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-open-all-in-tabs"
+ id="syncedTabsOpenAllInTabs"/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-manage-devices"
+ id="syncedTabsManageDevices"
+ oncommand="gSync.openDevicesManagementPage('syncedtabs-sidebar');"/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-sync-now"
+ id="syncedTabsRefresh"/>
+ </menupopup>
+ <menupopup id="SyncedTabsSidebarTabsFilterContext"
+ class="textbox-contextmenu">
+ <menuitem data-l10n-id="text-action-undo"
+ cmd="cmd_undo"/>
+ <menuseparator/>
+ <menuitem data-l10n-id="text-action-cut"
+ cmd="cmd_cut"/>
+ <menuitem data-l10n-id="text-action-copy"
+ cmd="cmd_copy"/>
+ <menuitem data-l10n-id="text-action-paste"
+ cmd="cmd_paste"/>
+ <menuitem data-l10n-id="text-action-delete"
+ cmd="cmd_delete"/>
+ <menuseparator/>
+ <menuitem data-l10n-id="text-action-select-all"
+ cmd="cmd_selectAll"/>
+ <menuseparator/>
+ <menuitem data-lazy-l10n-id="synced-tabs-context-sync-now"
+ id="syncedTabsRefreshFilter"/>
+ </menupopup>
+
+ <hbox id="statuspanel" inactive="true">
+ <hbox id="statuspanel-inner">
+ <label id="statuspanel-label"
+ role="status"
+ aria-live="off"
+ flex="1"
+ crop="end"/>
+ </hbox>
+ </hbox>
+
+ <html:template id="sharing-tabs-warning-panel-template">
+ <panel id="sharing-tabs-warning-panel"
+ role="alert"
+ flip="slide"
+ type="arrow"
+ orient="vertical"
+ ignorekeys="true"
+ consumeoutsideclicks="never"
+ norolluponanchor="true"
+ onpopupshown="gSharedTabWarning.sharedTabWarningShown();">
+ <hbox type="window" align="start">
+ <image class="screen-icon popup-notification-icon"></image>
+ <vbox flex="1" pack="start">
+ <label>
+ <html:span id="sharing-warning-window-panel-header"
+ role="heading"
+ aria-level="1"
+ data-l10n-id="sharing-warning-window"/>
+ <html:span id="sharing-warning-screen-panel-header"
+ role="heading"
+ aria-level="1"
+ data-l10n-id="sharing-warning-screen"/>
+ </label>
+ <hbox align="center">
+ <button id="sharing-warning-proceed-to-tab" oncommand="gSharedTabWarning.allowSharedTabSwitch();" flex="1" data-l10n-id="sharing-warning-proceed-to-tab"/>
+ </hbox>
+ <hbox pack="start">
+ <checkbox id="sharing-warning-disable-for-session" data-l10n-id="sharing-warning-disable-for-session"/>
+ </hbox>
+ </vbox>
+ </hbox>
+ </panel>
+ </html:template>
+ </popupset>
+
+ <html:template id="appMenu-viewCache">
+ <panelview id="appMenu-mainView" class="PanelUI-subView"
+ descriptionheightworkaround="true">
+ <vbox class="panel-subview-body">
+ <vbox id="appMenu-addon-banners"/>
+ <toolbarbutton id="appMenu-update-banner" class="panel-banner-item"
+ data-l10n-id="appmenuitem-update-banner"
+ data-l10n-attrs="label-update-downloading"
+ label-update-available="&updateAvailable.panelUI.label;"
+ label-update-manual="&updateManual.panelUI.label;"
+ label-update-unsupported="&updateUnsupported.panelUI.label;"
+ label-update-restart="&updateRestart.panelUI.label2;"
+ oncommand="PanelUI._onBannerItemSelected(event)"
+ wrap="true"
+ hidden="true"/>
+ <toolbaritem id="appMenu-fxa-status"
+ class="sync-ui-item"
+ defaultlabel="&fxa.menu.signin.label;"
+ flex="1">
+ <image id="appMenu-fxa-avatar"/>
+ <toolbarbutton id="appMenu-fxa-label"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&fxa.menu.signin.label;"
+ closemenu="none"
+ oncommand="gSync.toggleAccountPanel('PanelUI-fxa', this, event)"/>
+ </toolbaritem>
+ <toolbarseparator class="sync-ui-item"/>
+ <toolbaritem>
+ <toolbarbutton id="appMenu-protection-report-button"
+ class="subviewbutton subviewbutton-iconic"
+ oncommand="gProtectionsHandler.openProtections(); gProtectionsHandler.recordClick('open_full_report', null, 'app_menu');">
+ <image id="appMenu-protection-report-icon" class="toolbarbutton-icon"/>
+ <label id="appMenu-protection-report-text"
+ class="toolbarbutton-text"
+ data-l10n-id="appmenuitem-protection-dashboard-title">
+ </label>
+ </toolbarbutton>
+ </toolbaritem>
+ <toolbarseparator id="appMenu-tp-separator"/>
+ <toolbarbutton id="appMenu-new-window-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&newNavigatorCmd.label;"
+ key="key_newNavigator"
+ command="cmd_newNavigator"/>
+ <toolbarbutton id="appMenu-private-window-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&newPrivateWindow.label;"
+ key="key_privatebrowsing"
+ command="Tools:PrivateBrowsing"/>
+#ifdef NIGHTLY_BUILD
+ <toolbarbutton id="appMenu-fission-window-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="New Fission Window"
+ accesskey="s"
+ command="Tools:FissionWindow"/>
+ <toolbarbutton id="appMenu-non-fission-window-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="New Non-Fission Window"
+ accesskey="s"
+ command="Tools:NonFissionWindow"/>
+#endif
+ <toolbarbutton id="appMenuRestoreLastSession"
+ label="&appMenuHistory.restoreSession.label;"
+ class="subviewbutton subviewbutton-iconic"
+ command="Browser:RestoreLastSession"/>
+ <toolbarseparator/>
+ <toolbaritem id="appMenu-zoom-controls" class="toolbaritem-combined-buttons" closemenu="none">
+ <!-- Use a spacer, because panel sizing code gets confused when using CSS methods. -->
+ <spacer class="before-label"/>
+ <label value="&fullZoom.label;"/>
+ <!-- This spacer keeps the scrollbar from overlapping the view. -->
+ <spacer class="after-label"/>
+ <toolbarbutton id="appMenu-zoomReduce-button"
+ class="subviewbutton subviewbutton-iconic"
+ command="cmd_fullZoomReduce"
+ data-l10n-id="appmenuitem-zoom-reduce"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <toolbarbutton id="appMenu-zoomReset-button"
+ class="subviewbutton"
+ command="cmd_fullZoomReset"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <toolbarbutton id="appMenu-zoomEnlarge-button"
+ class="subviewbutton subviewbutton-iconic"
+ command="cmd_fullZoomEnlarge"
+ data-l10n-id="appmenuitem-zoom-enlarge"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <toolbarseparator orient="vertical"/>
+ <toolbarbutton id="appMenu-fullscreen-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&fullScreenCmd.label;"
+ observes="View:FullScreen"
+ type="checkbox"
+ closemenu="auto"
+ onclick="if (event.button == 0) this.closest('panel').hidePopup();"
+ tooltip="dynamic-shortcut-tooltip"/>
+ </toolbaritem>
+ <toolbarseparator/>
+ <toolbaritem id="appMenu-edit-controls" class="toolbaritem-combined-buttons" closemenu="none">
+ <!-- Use a spacer, because panel sizing code gets confused when using CSS methods. -->
+ <spacer class="before-label"/>
+ <label value="&editMenu.label;"/>
+ <!-- This spacer keeps the scrollbar from overlapping the view. -->
+ <spacer class="after-label"/>
+ <toolbarbutton id="appMenu-cut-button"
+ class="subviewbutton subviewbutton-iconic"
+ command="cmd_cut"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <toolbarbutton id="appMenu-copy-button"
+ class="subviewbutton subviewbutton-iconic"
+ command="cmd_copy"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <toolbarbutton id="appMenu-paste-button"
+ class="subviewbutton subviewbutton-iconic"
+ command="cmd_paste"
+ tooltip="dynamic-shortcut-tooltip"/>
+ </toolbaritem>
+ <toolbarseparator/>
+ <toolbarbutton id="appMenu-library-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&places.library.title;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('appMenu-libraryView', this)"/>
+ <toolbarbutton id="appMenu-logins-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&logins.label;"
+ oncommand="LoginHelper.openPasswordManager(window, { entryPoint: 'mainmenu' })"
+ />
+ <toolbarbutton id="appMenu-addons-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&addons.label;"
+ key="key_openAddons"
+ command="Tools:Addons"
+ />
+ <toolbarbutton id="appMenu-preferences-button"
+ class="subviewbutton subviewbutton-iconic"
+#ifdef XP_WIN
+ label="&preferencesCmd2.label;"
+#else
+ label="&preferencesCmdUnix.label;"
+#ifdef XP_MACOSX
+ key="key_preferencesCmdMac"
+#endif
+#endif
+ oncommand="openPreferences()"
+ />
+ <toolbarbutton id="appMenu-customize-button"
+ class="subviewbutton subviewbutton-iconic"
+ data-l10n-id="appmenuitem-customize-mode"
+ command="cmd_CustomizeToolbars"
+ />
+ <toolbarseparator/>
+ <toolbarbutton id="appMenu-open-file-button"
+ class="subviewbutton"
+ label="&openFileCmd.label;"
+ key="openFileKb"
+ command="Browser:OpenFile"
+ />
+ <toolbarbutton id="appMenu-save-file-button"
+ class="subviewbutton"
+ data-l10n-id="appmenuitem-save-page"
+ key="key_savePage"
+ command="Browser:SavePage"
+ />
+ <toolbarbutton id="appMenu-print-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&printCmd.label;"
+ key="printKb"
+#ifdef XP_MACOSX
+ command="cmd_print"
+#else
+ command="cmd_printPreview"
+#endif
+ />
+ <toolbarseparator/>
+ <toolbarbutton id="appMenu-find-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&findOnCmd.label;"
+ key="key_find"
+ command="cmd_find"/>
+ <toolbarbutton id="appMenu-more-button"
+ class="subviewbutton subviewbutton-nav"
+ label="&moreMenu.label;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('appMenu-moreView', this)"/>
+ <toolbarbutton id="appMenu-developer-button"
+ class="subviewbutton subviewbutton-nav"
+ label="&webDeveloperMenu.label;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('PanelUI-developer', this)"/>
+ <toolbarbutton id="appMenu-whatsnew-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ hidden="true"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('PanelUI-whatsNew', this)"/>
+ <toolbarbutton id="appMenu-help-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&appMenuHelp.label;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('PanelUI-helpView', this)"/>
+#ifndef XP_MACOSX
+ <toolbarseparator/>
+ <toolbarbutton id="appMenu-quit-button"
+ class="subviewbutton subviewbutton-iconic"
+#ifdef XP_WIN
+ data-l10n-id="menu-quit-button-win"
+#else
+ data-l10n-id="menu-quit-button"
+#endif
+ key="key_quitApplication"
+ command="cmd_quitApplication"/>
+#endif
+ </vbox>
+ </panelview>
+
+ <!-- This is a placeholder app menu which should be replaced with the "real"
+ Proton app menu before the Proton pref starts getting enabled. -->
+ <panelview id="appMenu-protonMainView" class="PanelUI-subView"
+ descriptionheightworkaround="true">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="appMenu-new-window-button2"
+ class="subviewbutton subviewbutton-iconic"
+ label="&newNavigatorCmd.label;"
+ key="key_newNavigator"
+ command="cmd_newNavigator"/>
+ <toolbarbutton id="appMenu-library-button2"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&places.library.title;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('appMenu-libraryView', this)"/>
+ <toolbarseparator/>
+ <toolbarbutton id="appMenu-quit-button2"
+ class="subviewbutton subviewbutton-iconic"
+#ifdef XP_WIN
+ data-l10n-id="menu-quit-button-win"
+#else
+ data-l10n-id="menu-quit-button"
+#endif
+ key="key_quitApplication"
+ command="cmd_quitApplication"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-history" flex="1">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="appMenuViewHistorySidebar"
+ label="&appMenuHistory.viewSidebar.label;"
+ label-checked="&appMenuHistory.hideSidebar.label;"
+ label-unchecked="&appMenuHistory.viewSidebar.label;"
+ type="checkbox"
+ class="subviewbutton subviewbutton-iconic"
+ key="key_gotoHistory"
+ oncommand="SidebarUI.toggle('viewHistorySidebar');">
+ <observes element="sidebar-box" attribute="positionend"/>
+ </toolbarbutton>
+ <toolbarbutton id="appMenuClearRecentHistory"
+ label="&appMenuHistory.clearRecent.label;"
+ class="subviewbutton subviewbutton-iconic"
+ command="Tools:Sanitize"/>
+ <toolbarseparator/>
+ <toolbarbutton id="appMenuRecentlyClosedTabs"
+ label="&historyUndoMenu.label;"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('appMenu-library-recentlyClosedTabs', this)"/>
+ <toolbarbutton id="appMenuRecentlyClosedWindows"
+ label="&historyUndoWindowMenu.label;"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('appMenu-library-recentlyClosedWindows', this)"/>
+ <toolbarseparator/>
+ <label value="&appMenuHistory.recentHistory.label;"
+ class="subview-subheader"/>
+ <toolbaritem id="appMenu_historyMenu"
+ orient="vertical"
+ smoothscroll="false"
+ flatList="true"
+ tooltip="bhTooltip">
+ <!-- history menu items will go here -->
+ </toolbaritem>
+ </vbox>
+ <toolbarbutton id="PanelUI-historyMore"
+ class="panel-subview-footer subviewbutton"
+ label="&appMenuHistory.showAll.label;"
+ oncommand="PlacesCommandHook.showPlacesOrganizer('History'); CustomizableUI.hidePanelForNode(this);"/>
+ </panelview>
+
+ <panelview id="appMenu-library-recentlyClosedTabs"/>
+ <panelview id="appMenu-library-recentlyClosedWindows"/>
+
+ <panelview id="PanelUI-containers" flex="1">
+ <vbox id="PanelUI-containersItems"/>
+ </panelview>
+
+ <panelview id="PanelUI-helpView" flex="1" class="PanelUI-subView">
+ <vbox id="PanelUI-helpItems" class="panel-subview-body"/>
+ </panelview>
+
+ <panelview id="PanelUI-developer" flex="1">
+ <vbox id="PanelUI-developerItems" class="panel-subview-body"/>
+ </panelview>
+
+ <panelview id="PanelUI-bookmarks" flex="1" class="PanelUI-subView">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="panelMenuBookmarkThisPage"
+ class="subviewbutton subviewbutton-iconic"
+ command="Browser:AddBookmarkAs"
+ data-l10n-id="menu-bookmark-this-page"
+ onclick="PanelUI.hide();"/>
+ <toolbarbutton id="panelMenu_bookmarkingTools"
+ data-l10n-id="bookmarks-tools"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ closemenu="none"
+ oncommand="BookmarkingUI.showBookmarkingTools(this);"/>
+ <toolbarbutton id="panelMenu_searchBookmarks"
+ data-l10n-id="bookmarks-search"
+ class="subviewbutton subviewbutton-iconic"
+ oncommand="PlacesCommandHook.searchBookmarks(); PanelUI.hide();"/>
+ <toolbarseparator/>
+ <label id="panelMenu_recentBookmarks"
+ data-l10n-id="bookmarks-recent-bookmarks"
+ class="subview-subheader"/>
+ <toolbaritem id="panelMenu_bookmarksMenu"
+ orient="vertical"
+ smoothscroll="false"
+ flatList="true"
+ tooltip="bhTooltip">
+ <!-- bookmarks menu items will go here -->
+ </toolbaritem>
+ </vbox>
+ <toolbarbutton id="panelMenu_showAllBookmarks"
+ data-l10n-id="bookmarks-show-all-bookmarks"
+ class="subviewbutton panel-subview-footer"
+ command="Browser:ShowAllBookmarks"
+ onclick="PanelUI.hide();"/>
+ </panelview>
+
+ <panelview id="PanelUI-profiler" flex="1" descriptionheightworkaround="true">
+ <vbox id="PanelUI-profiler-container">
+ <vbox id="PanelUI-profiler-header" animationready="false">
+ <hbox id="PanelUI-profiler-header-bar">
+ <label flex="1" data-l10n-id="profiler-popup-title" />
+ <vbox class="PanelUI-profiler-toolbarbutton-container">
+ <toolbarbutton id="PanelUI-profiler-info-button"
+ class="panel-info-button"
+ data-l10n-id="profiler-popup-reveal-description-button">
+ <image/>
+ </toolbarbutton>
+ </vbox>
+ </hbox>
+ <hbox id="PanelUI-profiler-info">
+ <vbox>
+ <hbox id="PanelUI-profiler-info-graphic" flex="1">
+ <spacer flex="1" />
+ <vbox>
+ <spacer flex="1" />
+ <image class="PanelUI-profiler-info-icon" />
+ </vbox>
+ </hbox>
+ <label data-l10n-id="profiler-popup-description-title" />
+ <description data-l10n-id="profiler-popup-description" />
+ <hbox>
+ <button id="PanelUI-profiler-learn-more"
+ tabindex="-1"
+ data-l10n-id="profiler-popup-learn-more" />
+ <space flex="1" />
+ </hbox>
+ </vbox>
+ </hbox>
+ </vbox>
+ <vbox id="PanelUI-profiler-content">
+ <vbox id="PanelUI-profiler-content-settings">
+ <label class="PanelUI-profiler-content-label"
+ data-l10n-id="profiler-popup-settings" />
+ <menulist id="PanelUI-profiler-presets"
+ flex="1"
+ value="custom">
+ <menupopup id="PanelUI-profiler-presets-menupopup" presetsbuilt="false">
+ <!-- The rest of the values get dynamically inserted. The "presetsbuilt"
+ attribute will get updated to "true" once the presets have been
+ built. -->
+ <menuitem id="PanelUI-profiler-presets-custom"
+ data-l10n-id="profiler-popup-presets-custom"
+ value="custom"/>
+ </menupopup>
+ </menulist>
+ <!-- The following description gets inserted dynamically. -->
+ <description id="PanelUI-profiler-content-description" />
+ <hbox id="PanelUI-profiler-content-custom">
+ <button id="PanelUI-profiler-content-custom-button"
+ data-l10n-id="profiler-popup-edit-settings">
+ </button>
+ </hbox>
+ </vbox>
+ <hbox id="PanelUI-profiler-content-recording">
+ <spacer flex="1" />
+ <image class="PanelUI-profiler-recording-icon" />
+ <label class="PanelUI-profiler-recording-label" data-l10n-id="profiler-popup-recording-screen" />
+ <spacer flex="1" />
+ </hbox>
+ <description id="PanelUI-profiler-locked"
+ data-l10n-id="profiler-popup-disabled" />
+ <hbox id="PanelUI-profiler-inactive" class="PanelUI-profiler-buttons">
+ <spacer flex="1" />
+ <vbox>
+ <button data-l10n-id="profiler-popup-start-recording-button"
+ id="PanelUI-profiler-startRecording"
+ class="PanelUI-profiler-button PanelUI-profiler-button-primary" />
+ <label class="PanelUI-profiler-shortcut"
+ data-l10n-id="profiler-popup-start-shortcut" />
+ </vbox>
+ <spacer flex="1" />
+ </hbox>
+ <hbox id="PanelUI-profiler-active" class="PanelUI-profiler-buttons">
+ <vbox flex="1">
+ <button data-l10n-id="profiler-popup-discard-button"
+ class="PanelUI-profiler-button"
+ id="PanelUI-profiler-stopAndDiscard" />
+ <label class="PanelUI-profiler-shortcut"
+ data-l10n-id="profiler-popup-start-shortcut" />
+ </vbox>
+ <vbox flex="1">
+ <button data-l10n-id="profiler-popup-capture-button"
+ class="PanelUI-profiler-button PanelUI-profiler-button-primary"
+ id="PanelUI-profiler-stopAndCapture" />
+ <label data-l10n-id="profiler-popup-capture-shortcut"
+ class="PanelUI-profiler-shortcut" />
+ </vbox>
+ </hbox>
+ </vbox>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-characterEncodingView" flex="1">
+ <vbox class="panel-subview-body">
+ <vbox id="PanelUI-characterEncodingView-pinned"
+ class="PanelUI-characterEncodingView-list"/>
+ <toolbarseparator/>
+ <vbox id="PanelUI-characterEncodingView-charsets"
+ class="PanelUI-characterEncodingView-list"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-panicView" flex="1"
+ descriptionheightworkaround="true">
+ <vbox class="panel-subview-body">
+ <hbox id="PanelUI-panic-timeframe">
+ <image id="PanelUI-panic-timeframe-icon" alt=""/>
+ <vbox flex="1">
+ <description data-l10n-id="panic-main-timeframe-desc" id="PanelUI-panic-mainDesc"></description>
+ <radiogroup id="PanelUI-panic-timeSpan" aria-labelledby="PanelUI-panic-mainDesc" closemenu="none">
+ <radio id="PanelUI-panic-5min" data-l10n-id="panic-button-5min" selected="true"
+ value="5" class="subviewradio"/>
+ <radio id="PanelUI-panic-2hr" data-l10n-id="panic-button-2hr"
+ value="2" class="subviewradio"/>
+ <radio id="PanelUI-panic-day" data-l10n-id="panic-button-day"
+ value="6" class="subviewradio"/>
+ </radiogroup>
+ </vbox>
+ </hbox>
+ <vbox id="PanelUI-panic-explanations">
+ <label id="PanelUI-panic-actionlist-main-label" data-l10n-id="panic-button-action-desc"></label>
+
+ <label id="PanelUI-panic-actionlist-windows" class="PanelUI-panic-actionlist" data-l10n-id="panic-button-delete-tabs-and-windows"></label>
+ <label id="PanelUI-panic-actionlist-cookies" class="PanelUI-panic-actionlist" data-l10n-id="panic-button-delete-cookies"></label>
+ <label id="PanelUI-panic-actionlist-history" class="PanelUI-panic-actionlist" data-l10n-id="panic-button-delete-history"></label>
+ <label id="PanelUI-panic-actionlist-newwindow" class="PanelUI-panic-actionlist" data-l10n-id="panic-button-open-new-window"></label>
+
+ <label id="PanelUI-panic-warning" data-l10n-id="panic-button-undo-warning"></label>
+ </vbox>
+ <button id="PanelUI-panic-view-button"
+ data-l10n-id="panic-button-forget-button"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="appMenu-moreView" title="&moreMenu.label;" class="PanelUI-subView">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="appMenu-taskmanager-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&taskManagerCmd.label;"
+ oncommand="switchToTabHavingURI('about:performance', true)"/>
+ <toolbarbutton id="appMenu-characterencoding-button"
+ class="subviewbutton subviewbutton-nav"
+ label="&charsetMenu2.label;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('PanelUI-characterEncodingView', this)"/>
+ <toolbarbutton id="appMenu-workoffline-button"
+ class="subviewbutton"
+ data-l10n-id="more-menu-go-offline"
+ type="checkbox"
+ command="cmd_toggleOfflineStatus"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-remotetabs" flex="1" class="PanelUI-subView"
+ descriptionheightworkaround="true">
+ <vbox class="panel-subview-body">
+ <!-- this widget has 3 boxes in the body, but only 1 is ever visible -->
+ <!-- When Sync is ready to sync -->
+ <vbox id="PanelUI-remotetabs-main" hidden="true">
+ <vbox id="PanelUI-remotetabs-buttons">
+ <toolbarbutton id="PanelUI-remotetabs-view-sidebar"
+ class="subviewbutton subviewbutton-iconic"
+ label="&appMenuRemoteTabs.sidebar.label;"
+ label-checked="&appMenuRemoteTabs.hidesidebar.label;"
+ label-unchecked="&appMenuRemoteTabs.sidebar.label;"
+ oncommand="SidebarUI.toggle('viewTabsSidebar', this);"/>
+ <toolbarbutton id="PanelUI-remotetabs-view-managedevices"
+ class="subviewbutton subviewbutton-iconic"
+ label="&appMenuRemoteTabs.managedevices.label;"
+ oncommand="gSync.openDevicesManagementPage('syncedtabs-menupanel');">
+ <observes element="sidebar-box" attribute="positionend"/>
+ </toolbarbutton>
+ <toolbarbutton id="PanelUI-remotetabs-syncnow"
+ data-l10n-id="fxa-toolbar-sync-now"
+ syncinglabel="fxa-toolbar-sync-syncing-tabs"
+ class="syncNowBtn subviewbutton subviewbutton-iconic"
+ oncommand="gSync.doSync();"
+ onmouseover="gSync.refreshSyncButtonsTooltip();"
+ closemenu="none"/>
+ <toolbarseparator id="PanelUI-remotetabs-separator"/>
+ </vbox>
+ <deck id="PanelUI-remotetabs-deck">
+ <!-- Sync is ready to Sync and the "tabs" engine is enabled -->
+ <vbox id="PanelUI-remotetabs-tabspane">
+ <vbox id="PanelUI-remotetabs-tabslist"
+ showAllLabel="&appMenuRemoteTabs.showAll.label;"
+ showAllTooltipText="&appMenuRemoteTabs.showAll.tooltip;"
+ showMoreLabel="&appMenuRemoteTabs.showMore.label;"
+ showMoreTooltipText="&appMenuRemoteTabs.showMore.tooltip;"
+ notabsforclientlabel="&appMenuRemoteTabs.notabs.label;"
+ />
+ </vbox>
+ <!-- Sync is ready to Sync but the "tabs" engine isn't enabled-->
+ <hbox id="PanelUI-remotetabs-tabsdisabledpane" pack="center" flex="1">
+ <vbox class="PanelUI-remotetabs-instruction-box" align="center">
+ <hbox pack="center">
+ <image class="fxaSyncIllustrationIssue"/>
+ </hbox>
+ <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.tabsnotsyncing.label;</label>
+ <hbox pack="center">
+ <toolbarbutton class="PanelUI-remotetabs-button"
+ id="PanelUI-remotetabs-tabsdisabledpane-button"
+ label="&appMenuRemoteTabs.opensyncprefs.label;"
+ oncommand="gSync.openPrefs('synced-tabs');"/>
+ </hbox>
+ </vbox>
+ </hbox>
+ <!-- Sync is ready to Sync but we are still fetching the tabs to show -->
+ <vbox id="PanelUI-remotetabs-fetching">
+ <!-- Show intentionally blank panel, see bug 1239845 -->
+ </vbox>
+ <!-- Sync has only 1 (ie, this) device connected -->
+ <hbox id="PanelUI-remotetabs-nodevicespane" pack="center" flex="1">
+ <vbox class="PanelUI-remotetabs-instruction-box" align="center">
+ <hbox pack="center">
+ <image class="fxaSyncIllustrationIssue"/>
+ </hbox>
+ <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.noclients.subtitle;</label>
+ <toolbarbutton id="PanelUI-remotetabs-connect-device-button"
+ class="PanelUI-remotetabs-button"
+ label="&appMenuRemoteTabs.connectdevice.label;"
+ oncommand="gSync.openConnectAnotherDevice('synced-tabs');"/>
+ </vbox>
+ </hbox>
+ </deck>
+ </vbox>
+ <!-- a box to ensure contained boxes are centered horizonally -->
+ <hbox pack="center" flex="1">
+ <!-- When Sync is not configured -->
+ <vbox id="PanelUI-remotetabs-setupsync"
+ flex="1"
+ align="center"
+ class="PanelUI-remotetabs-instruction-box"
+ hidden="true">
+ <image class="fxaSyncIllustration"/>
+ <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.welcome.label;</label>
+ <toolbarbutton class="PanelUI-remotetabs-button"
+ id="PanelUI-remotetabs-setupsync-button"
+ label="&appMenuRemoteTabs.signintosync.label;"
+ oncommand="gSync.openPrefs('synced-tabs');"/>
+ </vbox>
+ <!-- When Sync is not enabled -->
+ <vbox id="PanelUI-remotetabs-syncdisabled"
+ flex="1"
+ align="center"
+ class="PanelUI-remotetabs-instruction-box"
+ hidden="true">
+ <image class="fxaSyncIllustration"/>
+ <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.welcome.label;</label>
+ <toolbarbutton class="PanelUI-remotetabs-button"
+ id="PanelUI-remotetabs-syncdisabled-button"
+ label="&appMenuRemoteTabs.turnonsync.label;"
+ oncommand="gSync.openPrefs('synced-tabs');"/>
+ </vbox>
+ <!-- When Sync needs re-authentication -->
+ <vbox id="PanelUI-remotetabs-reauthsync"
+ flex="1"
+ align="center"
+ class="PanelUI-remotetabs-instruction-box"
+ hidden="true">
+ <image class="fxaSyncIllustrationIssue"/>
+ <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.welcome.label;</label>
+ <toolbarbutton class="PanelUI-remotetabs-button"
+ id="PanelUI-remotetabs-reauthsync-button"
+ label="&appMenuRemoteTabs.signintosync.label;"
+ oncommand="gSync.openPrefs('synced-tabs');"/>
+ </vbox>
+ <!-- When Sync needs verification -->
+ <vbox id="PanelUI-remotetabs-unverified"
+ flex="1"
+ align="center"
+ class="PanelUI-remotetabs-instruction-box"
+ hidden="true">
+ <image class="fxaSyncIllustrationIssue"/>
+ <label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.unverified.label;</label>
+ <toolbarbutton class="PanelUI-remotetabs-button"
+ id="PanelUI-remotetabs-unverified-button"
+ label="&appMenuRemoteTabs.opensyncprefs.label;"
+ oncommand="gSync.openPrefs('synced-tabs');"/>
+ </vbox>
+ </hbox>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-fxa" title="&fxa.menu.account.label;" class="PanelUI-subView" descriptionheightworkaround="true">
+ <vbox id="PanelUI-fxa-menu" class="panel-subview-body">
+ <toolbarbutton id="fxa-manage-account-button"
+ align="center"
+ class="fxa-menu-header subviewbutton"
+ oncommand="gSync.clickFxAMenuHeaderButton(this);">
+ <image role="presentation" id="fxa-menu-avatar"/>
+ <vbox flex="1">
+ <label id="fxa-menu-header-title"
+ crop="end"
+ value="&fxa.menu.signin.label;"
+ defaultLabel="&fxa.menu.signin.label;"/>
+ <label id="fxa-menu-header-description"
+ crop="end"
+ value="&fxa.menu.turnOnSync.label;"
+ defaultLabel="&fxa.menu.turnOnSync.label;"/>
+ </vbox>
+ </toolbarbutton>
+ <toolbarseparator/>
+ <toolbarbutton id="PanelUI-fxa-menu-sendtab-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ closemenu="none"
+ oncommand="gSync.showSendToDeviceViewFromFxaMenu(this);"/>
+ <toolbarseparator/>
+ <!-- The `Connect Another Device` button is disabled by default until the user logs into Sync. -->
+ <toolbarbutton id="PanelUI-fxa-menu-connect-device-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&fxa.menu.connectAnotherDevice2.label;"
+ disabled="true"
+ oncommand="gSync.openConnectAnotherDeviceFromFxaMenu(this);"/>
+ <toolbarseparator/>
+ <!-- The `Sync Now` button is hidden by default until the user logs into Sync. -->
+ <toolbarbutton id="PanelUI-fxa-menu-syncnow-button"
+ data-l10n-id="fxa-toolbar-sync-now"
+ syncinglabel="fxa-toolbar-sync-syncing"
+ hidden="true"
+ class="syncNowBtn subviewbutton subviewbutton-iconic"
+ onmouseover="gSync.refreshSyncButtonsTooltip();"
+ oncommand="gSync.doSyncFromFxaMenu(this);"
+ closemenu="none"/>
+ <toolbarbutton id="PanelUI-fxa-menu-setup-sync-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&fxa.menu.setupSync.label;"
+ oncommand="gSync.openPrefsFromFxaMenu('sync_settings', this);"/>
+ <toolbarbutton id="PanelUI-fxa-menu-remotetabs-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&appMenuRemoteTabs.label;"
+ closemenu="none"
+ oncommand="gSync.showRemoteTabsFromFxaMenu(this);"/>
+ <toolbarbutton id="PanelUI-fxa-menu-sync-prefs-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&fxa.menu.syncSettings2.label;"
+ hidden="true"
+ oncommand="gSync.openPrefsFromFxaMenu('sync_settings', this);"/>
+ <toolbarseparator/>
+ <toolbarbutton id="PanelUI-fxa-menu-logins-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&logins.label;"
+ oncommand="LoginHelper.openPasswordManager(window, { entryPoint: 'fxamenu' })"/>
+ <toolbarseparator id="fxa-menu-service-separator"/>
+ <label id="fxa-menu-service-label"
+ value="&fxa.menu.firefoxServices.label;"
+ class="subview-subheader"/>
+ <toolbarbutton id="PanelUI-fxa-menu-monitor-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&monitorFullName;"
+ type="open-to-new"
+ oncommand="gSync.openMonitorFromFxaMenu(this);"/>
+ <toolbarbutton id="PanelUI-fxa-menu-send-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&sendFullName;"
+ type="open-to-new"
+ oncommand="gSync.openSendFromFxaMenu(this);"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-fxa-menu-account-panel" flex="1" title="&fxa.menu.accountSettings.label;" class="PanelUI-subView" descriptionheightworkaround="true">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="PanelUI-fxa-menu-account-settings-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&fxa.menu.manageAccount2.label;"
+ type="open-to-new"
+ oncommand="gSync.openFxAManagePageFromFxaMenu(this)"/>
+ <toolbarseparator/>
+ <toolbarbutton id="PanelUI-fxa-menu-account-signout-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&fxa.menu.signOut.label;"
+ oncommand="gSync.disconnect();"/>
+ </vbox>
+ </panelview>
+
+ <!-- This panelview is used to contain the dynamically created buttons for send tab to devices -->
+ <panelview id="PanelUI-sendTabToDevice" flex="1" class="PanelUI-subView">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="PanelUI-sendTabToDevice-syncingDevices" class="subviewbutton subviewbutton-iconic pageAction-sendToDevice-notReady"
+ label="&sendToDevice.syncNotReady.label;"
+ disabled="true"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-fxa-menu-sendtab-not-configured" flex="1" class="PanelUI-subView">
+ <vbox id="PanelUI-fxa-sendtab-not-configured" align="center" class="panel-subview-body">
+ <image class="fxaSendToDeviceLogo" role="presentation"/>
+ <label class="PanelUI-fxa-service-description-label">&fxa.service.sendTab.description;</label>
+ <toolbarbutton id="PanelUI-fxa-menu-sendtab-not-configured-button"
+ class="PanelUI-fxa-signin-button"
+ label="&fxa.menu.signin.label;"
+ oncommand="gSync.openPrefsFromFxaMenu('send_tab', this);"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-fxa-menu-sendtab-no-devices" flex="1" class="PanelUI-subView">
+ <vbox id="PanelUI-fxa-sendtab-no-devices" align="center" class="panel-subview-body">
+ <image class="fxaSendToDeviceLogo" role="presentation"/>
+ <label class="PanelUI-fxa-service-description-label">&fxa.service.sendTab.description;</label>
+ <toolbarbutton id="PanelUI-fxa-menu-sendtab-connect-device-button"
+ class="PanelUI-fxa-signin-button"
+ label="&appMenuRemoteTabs.connectdevice.label;"
+ oncommand="gSync.openConnectAnotherDeviceFromFxaMenu(this);"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="appMenu-libraryView" class="PanelUI-subView">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="appMenu-library-bookmarks-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ data-l10n-id="library-bookmarks-menu"
+ closemenu="none"
+ oncommand="BookmarkingUI.showSubView(this);"/>
+ <toolbarbutton id="appMenu-library-pocket-button"
+ class="subviewbutton subviewbutton-iconic"
+ label="&pocketMenuitem.label;"
+ oncommand="Pocket.openList(event)"/>
+ <toolbarbutton id="appMenu-library-history-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&historyMenu.label;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('PanelUI-history', this)"/>
+ <toolbarbutton id="appMenu-library-downloads-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav"
+ label="&libraryDownloads.label;"
+ closemenu="none"
+ oncommand="DownloadsSubview.show(this);"/>
+ <toolbarbutton id="appMenu-library-remotetabs-button"
+ class="subviewbutton subviewbutton-iconic subviewbutton-nav sync-ui-item"
+ label="&appMenuRemoteTabs.label;"
+ closemenu="none"
+ oncommand="PanelUI.showSubView('PanelUI-remotetabs', this)"/>
+ <toolbarseparator hidden="true"/>
+ <label value="&appMenuRecentHighlights.label;"
+ hidden="true"
+ class="subview-subheader"/>
+ <toolbaritem id="appMenu-library-recentHighlights"
+ hidden="true"
+ orient="vertical"
+ smoothscroll="false"
+ flatList="true"
+ tooltip="bhTooltip">
+ <!-- Recent Highlights will go here -->
+ </toolbaritem>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-bookmarkingTools" class="PanelUI-subView">
+ <vbox class="panel-subview-body">
+ <toolbarbutton id="panelMenu_toggleBookmarksMenu"
+ class="subviewbutton subviewbutton-iconic"
+ data-l10n-id="bookmarks-tools-menu-button-visibility"
+ data-l10n-args='{ "isVisible": false }'
+ oncommand="BookmarkingUI.toggleMenuButtonInToolbar(this);"/>
+ <toolbarbutton id="panelMenu_viewBookmarksSidebar"
+ class="subviewbutton subviewbutton-iconic"
+ data-l10n-id="bookmarks-tools-sidebar-visibility"
+ data-l10n-args='{ "isVisible": false }'
+ key="viewBookmarksSidebarKb"
+ oncommand="SidebarUI.toggle('viewBookmarksSidebar', this);">
+ <observes element="sidebar-box" attribute="positionend"/>
+ </toolbarbutton>
+ <toolbarbutton id="panelMenu_viewBookmarksToolbar"
+ class="subviewbutton subviewbutton-iconic"
+ data-l10n-id="bookmarks-tools-toolbar-visibility"
+ data-l10n-args='{ "isVisible": false }'
+ oncommand="BookmarkingUI.toggleBookmarksToolbar('bookmark-tools');"/>
+ </vbox>
+ </panelview>
+
+ <panelview id="PanelUI-whatsNew" class="PanelUI-subView">
+ <vbox class="panel-subview-body">
+ <box id="PanelUI-whatsNew-title" class="panel-header">
+ <label data-l10n-id="whatsnew-panel-header"/>
+ </box>
+ <toolbaritem id="PanelUI-whatsNew-content"
+ orient="vertical"
+ smoothscroll="false">
+ <html:div id="PanelUI-whatsNew-message-container" role="document">
+ <!-- What's New messages will be rendered here -->
+ </html:div>
+ </toolbaritem>
+ </vbox>
+ <checkbox id="panelMenu-toggleWhatsNew"
+ class="panelMenu-toggleWhatsNew-checkbox"
+ onclick="ToolbarPanelHub.toggleWhatsNewPref(event)"
+ data-l10n-id="whatsnew-panel-footer-checkbox"/>
+ </panelview>
+ </html:template>
+
+ <!-- Temporary wrapper until we move away from XUL flex to allow a negative
+ margin-top to slide the toolbox off screen in fullscreen layout.-->
+ <box>
+ <toolbox id="navigator-toolbox" flex="1">
+
+ <vbox id="titlebar">
+ <!-- Menu -->
+ <toolbar type="menubar" id="toolbar-menubar"
+ class="browser-toolbar chromeclass-menubar titlebar-color"
+ customizable="true"
+ mode="icons"
+#ifdef MENUBAR_CAN_AUTOHIDE
+ toolbarname="&menubarCmd.label;"
+ accesskey="&menubarCmd.accesskey;"
+ autohide="true"
+#endif
+ context="toolbar-context-menu">
+ <toolbaritem id="menubar-items" align="center">
+# The entire main menubar is placed into browser-menubar.inc, so that it can be
+# shared with other top level windows in macWindow.inc.xhtml.
+#include browser-menubar.inc
+ </toolbaritem>
+ <spacer flex="1" skipintoolbarset="true" style="-moz-box-ordinal-group: 1000;"/>
+#include titlebar-items.inc.xhtml
+ </toolbar>
+
+ <toolbar id="TabsToolbar"
+ class="browser-toolbar titlebar-color"
+ fullscreentoolbar="true"
+ customizable="true"
+ customizationtarget="TabsToolbar-customization-target"
+ mode="icons"
+ aria-label="&tabsToolbar.label;"
+ context="toolbar-context-menu"
+ flex="1">
+
+ <hbox class="titlebar-spacer" type="pre-tabs"/>
+
+ <hbox flex="1" align="end" class="toolbar-items">
+ <hbox id="TabsToolbar-customization-target" flex="1">
+ <tabs id="tabbrowser-tabs"
+ is="tabbrowser-tabs"
+ flex="1"
+ aria-multiselectable="true"
+ setfocus="false"
+ tooltip="tabbrowser-tab-tooltip"
+ stopwatchid="FX_TAB_CLICK_MS">
+ <hbox class="tab-drop-indicator" hidden="true"/>
+ <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="horizontal" flex="1" style="min-width: 1px;" clicktoscroll="true" scrolledtostart="true" scrolledtoend="true">
+ <tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="true" fadein="true"/>
+ <toolbarbutton id="tabs-newtab-button"
+ class="toolbarbutton-1"
+ command="cmd_newNavigatorTab"
+ onclick="checkForMiddleClick(this, event);"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <spacer class="closing-tabs-spacer" style="width: 0;"/>
+ </arrowscrollbox>
+ <html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
+ </tabs>
+
+ <toolbarbutton id="new-tab-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&tabCmd.label;"
+ command="cmd_newNavigatorTab"
+ onclick="checkForMiddleClick(this, event);"
+ tooltip="dynamic-shortcut-tooltip"
+ ondrop="newTabButtonObserver.onDrop(event)"
+ ondragover="newTabButtonObserver.onDragOver(event)"
+ ondragenter="newTabButtonObserver.onDragOver(event)"
+ ondragexit="newTabButtonObserver.onDragExit(event)"
+ cui-areatype="toolbar"
+ removable="true"/>
+
+ <toolbarbutton id="alltabs-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button"
+ badged="true"
+ oncommand="gTabsPanel.showAllTabsPanel(event);"
+ label="&listAllTabs.label;"
+ tooltiptext="&listAllTabs.label;"
+ removable="false"/>
+ </hbox>
+ </hbox>
+
+ <hbox class="titlebar-spacer" type="post-tabs"/>
+
+#ifndef XP_MACOSX
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
+ aria-live="polite"/>
+ <hbox class="private-browsing-indicator"/>
+#endif
+
+#include titlebar-items.inc.xhtml
+
+#ifdef XP_MACOSX
+ <!-- OS X does not natively support RTL for its titlebar items, so we prevent this secondary
+ buttonbox from reversing order in RTL by forcing an LTR direction. -->
+ <hbox id="titlebar-secondary-buttonbox" dir="ltr">
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" aria-live="polite"/>
+ <hbox class="private-browsing-indicator"/>
+ <hbox id="titlebar-fullscreen-button"/>
+ </hbox>
+#endif
+ </toolbar>
+
+ </vbox>
+
+ <toolbar id="nav-bar"
+ class="browser-toolbar"
+ aria-label="&navbar.accessibleLabel;"
+ fullscreentoolbar="true" mode="icons" customizable="true"
+ customizationtarget="nav-bar-customization-target"
+ overflowable="true"
+ overflowbutton="nav-bar-overflow-button"
+ overflowtarget="widget-overflow-list"
+ overflowpanel="widget-overflow"
+ context="toolbar-context-menu">
+
+ <toolbartabstop/>
+ <hbox id="nav-bar-customization-target" flex="1">
+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ data-l10n-id="toolbar-button-back"
+ removable="false" overflows="false"
+ keepbroadcastattributeswhencustomizing="true"
+ command="Browser:BackOrBackDuplicate"
+ onclick="checkForMiddleClick(this, event);"
+ tooltip="back-button-tooltip"
+ context="backForwardMenu"/>
+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ data-l10n-id="toolbar-button-forward"
+ removable="false" overflows="false"
+ keepbroadcastattributeswhencustomizing="true"
+ command="Browser:ForwardOrForwardDuplicate"
+ onclick="checkForMiddleClick(this, event);"
+ tooltip="forward-button-tooltip"
+ context="backForwardMenu"/>
+ <toolbaritem id="stop-reload-button" class="chromeclass-toolbar-additional"
+ data-l10n-id="toolbar-button-stop-reload"
+ removable="true" overflows="false">
+ <toolbarbutton id="reload-button" class="toolbarbutton-1"
+ data-l10n-id="toolbar-button-reload"
+ command="Browser:ReloadOrDuplicate"
+ onclick="checkForMiddleClick(this, event);"
+ tooltip="dynamic-shortcut-tooltip">
+ <box class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbarbutton>
+ <toolbarbutton id="stop-button" class="toolbarbutton-1"
+ data-l10n-id="toolbar-button-stop"
+ command="Browser:Stop"
+ tooltip="dynamic-shortcut-tooltip">
+ <box class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbarbutton>
+ </toolbaritem>
+ <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ removable="true"
+ label="&homeButton.label;"
+ ondragover="homeButtonObserver.onDragOver(event)"
+ ondragenter="homeButtonObserver.onDragOver(event)"
+ ondrop="homeButtonObserver.onDrop(event)"
+ ondragexit="homeButtonObserver.onDragExit(event)"
+ key="goHome"
+ onclick="BrowserHome(event);"
+ cui-areatype="toolbar"
+ tooltiptext="&homeButton.defaultPage.tooltip;"/>
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
+ <toolbaritem id="urlbar-container" flex="400" persist="width"
+ removable="false"
+ class="chromeclass-location" overflows="false">
+ <toolbartabstop/>
+ <hbox id="urlbar" flex="1"
+ context=""
+ focused="true"
+ pageproxystate="invalid">
+ <hbox id="urlbar-background"/>
+ <hbox id="urlbar-input-container"
+ flex="1"
+ pageproxystate="invalid">
+ <box id="urlbar-search-button"
+ class="chromeclass-toolbar-additional"/>
+ <!-- Use onclick instead of normal popup= syntax since the popup
+ code fires onmousedown, and hence eats our favicon drag events. -->
+ <box id="tracking-protection-icon-container" align="center"
+ role="button"
+ onclick="gProtectionsHandler.handleProtectionsButtonEvent(event);"
+ onkeypress="gProtectionsHandler.handleProtectionsButtonEvent(event);"
+ onmouseover="gProtectionsHandler.onTrackingProtectionIconHoveredOrFocused();"
+ onfocus="gProtectionsHandler.onTrackingProtectionIconHoveredOrFocused();"
+ tooltip="tracking-protection-icon-tooltip">
+ <box id="tracking-protection-icon-box">
+ <image id="tracking-protection-icon"/>
+ <box id="tracking-protection-icon-animatable-box" flex="1">
+ <image id="tracking-protection-icon-animatable-image" flex="1"/>
+ </box>
+ </box>
+ <tooltip id="tracking-protection-icon-tooltip">
+ <description id="tracking-protection-icon-tooltip-label" class="tooltip-label"/>
+ </tooltip>
+ </box>
+ <box id="identity-box" role="button"
+ align="center"
+ data-l10n-id="urlbar-identity-button"
+ pageproxystate="invalid"
+ onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
+ onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
+ ondragstart="gIdentityHandler.onDragStart(event);">
+ <image id="identity-icon"
+ consumeanchor="identity-box"
+ onclick="PageProxyClickHandler(event);"/>
+ <image id="permissions-granted-icon"
+ data-l10n-id="urlbar-permissions-granted"/>
+ <box style="pointer-events: none;">
+ <image class="sharing-icon" id="webrtc-sharing-icon"/>
+ <image class="sharing-icon geo-icon" id="geo-sharing-icon"/>
+ <image class="sharing-icon xr-icon" id="xr-sharing-icon"/>
+ </box>
+ <box id="blocked-permissions-container" align="center">
+ <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button"
+ data-l10n-id="urlbar-geolocation-blocked"/>
+ <image data-permission-id="xr" class="blocked-permission-icon xr-icon" role="button"
+ data-l10n-id="urlbar-xr-blocked"/>
+ <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button"
+ data-l10n-id="urlbar-web-notifications-blocked"/>
+ <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button"
+ data-l10n-id="urlbar-camera-blocked"/>
+ <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button"
+ data-l10n-id="urlbar-microphone-blocked"/>
+ <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
+ data-l10n-id="urlbar-screen-blocked"/>
+ <image data-permission-id="persistent-storage" class="blocked-permission-icon persistent-storage-icon" role="button"
+ data-l10n-id="urlbar-persistent-storage-blocked"/>
+ <image data-permission-id="popup" class="blocked-permission-icon popup-icon" role="button"
+ data-l10n-id="urlbar-popup-blocked"/>
+ <image data-permission-id="autoplay-media" class="blocked-permission-icon autoplay-media-icon" role="button"
+ data-l10n-id="urlbar-autoplay-media-blocked"/>
+ <image data-permission-id="canvas" class="blocked-permission-icon canvas-icon" role="button"
+ data-l10n-id="urlbar-canvas-blocked"/>
+ <image data-permission-id="midi" class="blocked-permission-icon midi-icon" role="button"
+ data-l10n-id="urlbar-midi-blocked"/>
+ <image data-permission-id="install" class="blocked-permission-icon install-icon" role="button"
+ data-l10n-id="urlbar-install-blocked"/>
+ </box>
+ <box id="notification-popup-box"
+ hidden="true"
+ onmouseover="document.getElementById('identity-box').classList.add('no-hover');"
+ onmouseout="document.getElementById('identity-box').classList.remove('no-hover');"
+ align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
+ data-l10n-id="urlbar-default-notification-anchor"/>
+ <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
+ data-l10n-id="urlbar-geolocation-notification-anchor"/>
+ <image id="xr-notification-icon" class="notification-anchor-icon xr-icon" role="button"
+ data-l10n-id="urlbar-xr-notification-anchor"/>
+ <image id="autoplay-media-notification-icon" class="notification-anchor-icon autoplay-media-icon" role="button"
+ data-l10n-id="urlbar-autoplay-notification-anchor"/>
+ <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
+ data-l10n-id="urlbar-addons-notification-anchor"/>
+ <image id="canvas-notification-icon" class="notification-anchor-icon" role="button"
+ data-l10n-id="urlbar-canvas-notification-anchor"/>
+ <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
+ data-l10n-id="urlbar-indexed-db-notification-anchor"/>
+ <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
+ data-l10n-id="urlbar-password-notification-anchor"/>
+ <stack id="plugins-notification-icon" class="notification-anchor-icon" role="button" align="center" data-l10n-id="urlbar-plugins-notification-anchor">
+ <image class="plugin-icon" />
+ <image id="plugin-icon-badge" />
+ </stack>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
+ data-l10n-id="urlbar-web-notification-anchor"/>
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
+ data-l10n-id="urlbar-web-rtc-share-devices-notification-anchor"/>
+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
+ data-l10n-id="urlbar-web-rtc-share-microphone-notification-anchor"/>
+ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
+ data-l10n-id="urlbar-web-rtc-share-screen-notification-anchor"/>
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
+ data-l10n-id="urlbar-services-notification-anchor"/>
+ <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
+ data-l10n-id="urlbar-translate-notification-anchor"/>
+ <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
+ data-l10n-id="urlbar-translated-notification-anchor"/>
+ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
+ data-l10n-id="urlbar-eme-notification-anchor"/>
+ <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
+ data-l10n-id="urlbar-persistent-storage-notification-anchor"/>
+ <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
+ data-l10n-id="urlbar-midi-notification-anchor"/>
+ <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
+ data-l10n-id="urlbar-web-authn-anchor"/>
+ <image id="storage-access-notification-icon" class="notification-anchor-icon storage-access-icon" role="button"
+ data-l10n-id="urlbar-storage-access-anchor"/>
+ </box>
+ <image id="remote-control-icon"
+ data-l10n-id="urlbar-remote-control-notification-anchor"/>
+ <label id="identity-icon-label" class="plain" crop="center" flex="1"/>
+ </box>
+ <box id="urlbar-label-box" align="center">
+ <label id="urlbar-label-switchtab" class="urlbar-label" data-l10n-id="urlbar-switch-to-tab"/>
+ <label id="urlbar-label-extension" class="urlbar-label" data-l10n-id="urlbar-extension"/>
+ <label id="urlbar-label-search-mode" class="urlbar-label"/>
+ </box>
+ <html:div id="urlbar-search-mode-indicator">
+ <html:span id="urlbar-search-mode-indicator-title"/>
+ <html:div id="urlbar-search-mode-indicator-close"
+ class="close-button"
+ role="button"/>
+ </html:div>
+ <moz-input-box tooltip="aHTMLTooltip"
+ class="urlbar-input-box"
+ flex="1"
+ role="combobox"
+ aria-owns="urlbar-results">
+ <html:input id="urlbar-scheme"
+ required="required"/>
+ <html:input id="urlbar-input"
+ anonid="input"
+ aria-controls="urlbar-results"
+ aria-autocomplete="both"
+ inputmode="mozAwesomebar"
+ data-l10n-id="urlbar-placeholder"
+ data-l10n-attrs="placeholder"/>
+ </moz-input-box>
+ <image id="urlbar-go-button"
+ class="urlbar-icon"
+ onclick="gURLBar.handleCommand(event);"
+ data-l10n-id="urlbar-go-button"/>
+ <hbox id="page-action-buttons" context="pageActionContextMenu">
+ <toolbartabstop/>
+ <hbox id="contextual-feature-recommendation" role="button" hidden="true">
+ <hbox id="cfr-label-container">
+ <label id="cfr-label"/>
+ </hbox>
+ <image id="cfr-button"
+ class="urlbar-icon urlbar-page-action"
+ role="presentation"/>
+ </hbox>
+ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
+ <image id="userContext-indicator"/>
+ </hbox>
+ <image id="reader-mode-button"
+ class="urlbar-icon urlbar-page-action"
+ tooltip="dynamic-shortcut-tooltip"
+ role="button"
+ hidden="true"
+ onclick="AboutReaderParent.buttonClick(event);"/>
+ <toolbarbutton id="urlbar-zoom-button"
+ onclick="FullZoom.reset(); FullZoom.resetScalingZoom();"
+ tooltip="dynamic-shortcut-tooltip"
+ hidden="true"/>
+ <box id="pageActionSeparator" class="urlbar-page-action"/>
+ <image id="pageActionButton"
+ class="urlbar-icon urlbar-page-action"
+ role="button"
+ data-l10n-id="urlbar-page-action-button"
+ onmousedown="BrowserPageActions.mainButtonClicked(event);"
+ onkeypress="BrowserPageActions.mainButtonClicked(event);"/>
+ <image id="pocket-button"
+ class="urlbar-icon urlbar-page-action"
+ data-l10n-id="urlbar-pocket-button"
+ role="button"
+ hidden="true"
+ onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('pocket'), event, this);"/>
+ <hbox id="star-button-box"
+ hidden="true"
+ class="urlbar-icon-wrapper urlbar-page-action"
+ onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('bookmark'), event, this);">
+ <image id="star-button"
+ class="urlbar-icon"
+ role="button"/>
+ <hbox id="star-button-animatable-box">
+ <image id="star-button-animatable-image"
+ role="presentation"/>
+ </hbox>
+ </hbox>
+ </hbox>
+ </hbox>
+ </hbox>
+ <toolbartabstop/>
+ </toolbaritem>
+
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
+
+ <!-- This is a placeholder for the Downloads Indicator. It is visible
+ during the customization of the toolbar, in the palette, and before
+ the Downloads Indicator overlay is loaded. -->
+ <toolbarbutton id="downloads-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ badged="true"
+ key="key_openDownloads"
+ onmousedown="DownloadsIndicatorView.onCommand(event);"
+ onkeypress="DownloadsIndicatorView.onCommand(event);"
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
+ label="&downloads.label;"
+ removable="true"
+ overflows="false"
+ cui-areatype="toolbar"
+ hidden="true"
+ tooltip="dynamic-shortcut-tooltip"
+ indicator="true">
+ <!-- The panel's anchor area is smaller than the outer button, but must
+ always be visible and must not move or resize when the indicator
+ state changes, otherwise the panel could change its position or lose
+ its arrow unexpectedly. -->
+ <stack id="downloads-indicator-anchor"
+ consumeanchor="downloads-button">
+ <box id="downloads-indicator-icon"/>
+ <stack id="downloads-indicator-progress-outer">
+ <box id="downloads-indicator-progress-inner"/>
+ </stack>
+ </stack>
+ </toolbarbutton>
+
+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
+ removable="true"
+ onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);"
+ onkeypress="PanelUI.showSubView('appMenu-libraryView', this, event);"
+ closemenu="none"
+ cui-areatype="toolbar"
+ tooltiptext="&libraryButton.tooltip;"
+ label="&places.library.title;"/>
+
+ <toolbarbutton id="fxa-toolbar-menu-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
+ badged="true"
+ onmousedown="gSync.toggleAccountPanel('PanelUI-fxa', this, event)"
+ onkeypress="gSync.toggleAccountPanel('PanelUI-fxa', this, event)"
+ consumeanchor="fxa-toolbar-menu-button"
+ closemenu="none"
+ label="&fxa.menu.firefoxAccount;"
+ tooltiptext="&fxa.menu.firefoxAccount;"
+ cui-areatype="toolbar"
+ removable="true">
+ <vbox>
+ <image id="fxa-avatar-image"/>
+ </vbox>
+ </toolbarbutton>
+ </hbox>
+
+ <toolbarbutton id="nav-bar-overflow-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
+ skipintoolbarset="true"
+ tooltiptext="&navbarOverflow.label;">
+ <box class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbarbutton>
+
+ <toolbaritem id="PanelUI-button"
+ removable="false">
+ <toolbarbutton id="ion-button"
+ class="toolbarbutton-1"
+ hidden="true"
+ badged="true"
+ tooltiptext="Ion"
+ onmousedown="switchToTabHavingURI('about:ion', true);"
+ onkeypress="switchToTabHavingURI('about:ion', true);"/>
+ <toolbarbutton id="whats-new-menu-button"
+ class="toolbarbutton-1"
+ hidden="true"
+ badged="true"
+ onmousedown="PanelUI.showSubView('PanelUI-whatsNew', this, event);"
+ onkeypress="PanelUI.showSubView('PanelUI-whatsNew', this, event);"/>
+ <toolbarbutton id="PanelUI-menu-button"
+ class="toolbarbutton-1"
+ badged="true"
+ consumeanchor="PanelUI-button"
+ label="&brandShortName;"
+ tooltiptext="&appmenu.tooltip;"/>
+ </toolbaritem>
+
+ <hbox id="window-controls" hidden="true" pack="end" skipintoolbarset="true"
+ style="-moz-box-ordinal-group: 1000;">
+ <toolbarbutton id="minimize-button"
+ data-l10n-id="browser-window-minimize-button"
+ oncommand="window.minimize();"/>
+
+ <toolbarbutton id="restore-button"
+ data-l10n-id="browser-window-restore-down-button"
+ oncommand="BrowserFullScreen();"/>
+
+ <toolbarbutton id="close-button"
+ data-l10n-id="browser-window-close-button"
+ oncommand="BrowserTryToCloseWindow();"/>
+ </hbox>
+
+ <box id="library-animatable-box" class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbar>
+
+ <toolbar id="PersonalToolbar"
+ mode="icons"
+ class="browser-toolbar chromeclass-directories"
+ context="toolbar-context-menu"
+ data-l10n-id="bookmarks-toolbar"
+ data-l10n-attrs="toolbarname"
+ customizable="true">
+ <toolbartabstop skipintoolbarset="true"/>
+
+ <hbox id="personal-toolbar-empty" skipintoolbarset="true" removable="false" hidden="true">
+ <description id="personal-toolbar-empty-description"
+ data-l10n-id="bookmarks-toolbar-empty-message"
+ onclick="BookmarkingUI.openLibraryIfLinkClicked(event);"
+ onkeydown="BookmarkingUI.openLibraryIfLinkClicked(event);">
+ <html:a data-l10n-name="manage-bookmarks" class="text-link" tabindex="0"/>
+ </description>
+ </hbox>
+
+ <toolbaritem id="personal-bookmarks"
+ data-l10n-id="bookmarks-toolbar-placeholder"
+ cui-areatype="toolbar"
+ removable="true">
+ <toolbarbutton id="bookmarks-toolbar-placeholder"
+ class="bookmark-item"
+ data-l10n-id="bookmarks-toolbar-placeholder-button"/>
+ <toolbarbutton id="bookmarks-toolbar-button"
+ class="toolbarbutton-1"
+ flex="1"
+ data-l10n-id="bookmarks-toolbar-placeholder-button"
+ oncommand="PlacesToolbarHelper.onPlaceholderCommand();"/>
+ <hbox flex="1"
+ id="PlacesToolbar"
+ context="placesContext"
+ onmouseup="BookmarksEventHandler.onMouseUp(event);"
+ onclick="BookmarksEventHandler.onClick(event, this._placesView);"
+ oncommand="BookmarksEventHandler.onCommand(event);"
+ tooltip="bhTooltip"
+ popupsinherittooltip="true">
+ <hbox flex="1">
+ <hbox id="PlacesToolbarDropIndicatorHolder" align="center" collapsed="true">
+ <image id="PlacesToolbarDropIndicator"
+ collapsed="true"/>
+ </hbox>
+ <scrollbox orient="horizontal"
+ id="PlacesToolbarItems"
+ flex="1"/>
+ <toolbarbutton type="menu"
+ id="PlacesChevron"
+ class="toolbarbutton-1"
+ collapsed="true"
+ data-l10n-id="bookmarks-toolbar-chevron"
+ onpopupshowing="document.getElementById('PlacesToolbar')
+ ._placesView._onChevronPopupShowing(event);">
+ <menupopup id="PlacesChevronPopup"
+ is="places-popup"
+ placespopup="true"
+ tooltip="bhTooltip" popupsinherittooltip="true"
+ context="placesContext"/>
+ </toolbarbutton>
+ </hbox>
+ </hbox>
+ </toolbaritem>
+ </toolbar>
+
+ <html:template id="BrowserToolbarPalette">
+ <toolbarbutton id="import-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
+ oncommand="MigrationUtils.showMigrationWizard(window, [MigrationUtils.MIGRATION_ENTRYPOINT_BOOKMARKS_TOOLBAR]);"
+ data-l10n-id="browser-import-button2"/>
+
+ <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+#ifdef XP_MACOSX
+ command="cmd_print"
+#else
+ command="cmd_printPreview"
+ print-button-title="&printButton.tooltip;"
+#endif
+ keepbroadcastattributeswhencustomizing="true"
+ tooltip="dynamic-shortcut-tooltip"
+ label="&printButton.label;"/>
+
+
+ <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&newNavigatorCmd.label;"
+ command="cmd_newNavigator"
+ tooltip="dynamic-shortcut-tooltip"
+ ondrop="newWindowButtonObserver.onDrop(event)"
+ ondragover="newWindowButtonObserver.onDragOver(event)"
+ ondragenter="newWindowButtonObserver.onDragOver(event)"
+ ondragexit="newWindowButtonObserver.onDragExit(event)"/>
+
+ <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="View:FullScreen"
+ type="checkbox"
+ label="&fullScreenCmd.label;"
+ tooltip="dynamic-shortcut-tooltip"/>
+
+ <toolbarbutton id="bookmarks-menu-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
+ type="menu"
+ data-l10n-id="bookmarks-menu-button"
+ tooltip="dynamic-shortcut-tooltip"
+ ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
+ ondragover="PlacesMenuDNDHandler.onDragOver(event);"
+ ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
+ ondrop="PlacesMenuDNDHandler.onDrop(event);"
+ oncommand="BookmarkingUI.onCommand(event);">
+ <menupopup id="BMB_bookmarksPopup"
+ type="arrow"
+ is="places-popup-arrow"
+ class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView"
+ placespopup="true"
+ context="placesContext"
+ openInTabs="children"
+ side="top"
+ onmouseup="BookmarksEventHandler.onMouseUp(event);"
+ oncommand="BookmarksEventHandler.onCommand(event);"
+ onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
+ onpopupshowing="BookmarkingUI.onPopupShowing(event);
+ BookmarkingUI.attachPlacesView(event, this);"
+ tooltip="bhTooltip" popupsinherittooltip="true">
+ <menuitem id="BMB_viewBookmarksSidebar"
+ class="menuitem-iconic subviewbutton"
+ data-l10n-id="bookmarks-tools-sidebar-visibility"
+ data-l10n-args='{ "isVisible": false }'
+ oncommand="SidebarUI.toggle('viewBookmarksSidebar');"/>
+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
+ <menuitem id="BMB_bookmarksShowAllTop"
+ class="menuitem-iconic subviewbutton"
+ data-l10n-id="bookmarks-show-all-bookmarks"
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menuseparator/>
+ <menu id="BMB_bookmarksToolbar"
+ class="menu-iconic bookmark-item subviewbutton"
+ data-l10n-id="bookmarks-toolbar-menu"
+ container="true">
+ <menupopup id="BMB_bookmarksToolbarPopup"
+ is="places-popup"
+ placespopup="true"
+ nofooterpopup="true"
+ context="placesContext"
+ onpopupshowing="if (!this.parentNode._placesView)
+ new PlacesMenu(event, `place:parent=${PlacesUtils.bookmarks.toolbarGuid}`,
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);">
+ <menuitem id="BMB_viewBookmarksToolbar"
+ class="menuitem-iconic subviewbutton"
+ data-l10n-id="bookmarks-tools-toolbar-visibility"
+ data-l10n-args='{ "isVisible": false }'
+ oncommand="BookmarkingUI.toggleBookmarksToolbar('bookmarks-widget');"/>
+ <menuseparator/>
+ <!-- Bookmarks toolbar items -->
+ </menupopup>
+ </menu>
+ <menu id="BMB_unsortedBookmarks"
+ class="menu-iconic bookmark-item subviewbutton"
+ data-l10n-id="bookmarks-other-bookmarks-menu"
+ container="true">
+ <menupopup id="BMB_unsortedBookmarksPopup"
+ is="places-popup"
+ placespopup="true"
+ nofooterpopup="true"
+ context="placesContext"
+ onpopupshowing="if (!this.parentNode._placesView)
+ new PlacesMenu(event, `place:parent=${PlacesUtils.bookmarks.unfiledGuid}`,
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
+ </menu>
+ <menu id="BMB_mobileBookmarks"
+ class="menu-iconic bookmark-item subviewbutton"
+ data-l10n-id="bookmarks-mobile-bookmarks-menu"
+ hidden="true"
+ container="true">
+ <menupopup id="BMB_mobileBookmarksPopup"
+ is="places-popup"
+ placespopup="true"
+ nofooterpopup="true"
+ context="placesContext"
+ onpopupshowing="if (!this.parentNode._placesView)
+ new PlacesMenu(event, `place:parent=${PlacesUtils.bookmarks.mobileGuid}`,
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
+ </menu>
+
+ <menuseparator/>
+ <!-- Bookmarks menu items will go here -->
+ <menuitem id="BMB_bookmarksShowAll"
+ class="subviewbutton panel-subview-footer"
+ data-l10n-id="bookmarks-show-all-bookmarks"
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ </menupopup>
+ </toolbarbutton>
+
+ <toolbaritem id="search-container"
+ class="chromeclass-toolbar-additional"
+ title="&searchItem.title;"
+ align="center"
+ flex="175"
+ persist="width">
+ <toolbartabstop/>
+ <searchbar id="searchbar" flex="1"/>
+ <toolbartabstop/>
+ </toolbaritem>
+ </html:template>
+ </toolbox>
+ </box>
+
+ <hbox flex="1" id="browser">
+ <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
+ <box id="sidebar-header" align="center">
+ <toolbarbutton id="sidebar-switcher-target" flex="1" class="tabbable">
+ <image id="sidebar-icon" consumeanchor="sidebar-switcher-target"/>
+ <label id="sidebar-title" crop="end" flex="1" control="sidebar"/>
+ <image id="sidebar-switcher-arrow"/>
+ </toolbarbutton>
+ <image id="sidebar-throbber"/>
+# To ensure the button label's intrinsic width doesn't expand the sidebar
+# if the label is long, the button needs flex=1.
+# To ensure the button doesn't expand unnecessarily for short labels, the
+# spacer should significantly out-flex the button.
+ <spacer flex="1000"/>
+ <toolbarbutton id="sidebar-close" class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
+ </box>
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
+ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
+ </vbox>
+
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
+ <vbox id="appcontent" flex="1">
+ <!-- gHighPriorityNotificationBox will be added here lazily. -->
+ <tabbox id="tabbrowser-tabbox"
+ flex="1" tabcontainer="tabbrowser-tabs">
+ <tabpanels id="tabbrowser-tabpanels"
+ flex="1" class="plain" selectedIndex="0"/>
+ </tabbox>
+ </vbox>
+ </hbox>
+
+ <html:template id="customizationPanel">
+ <box id="customization-container" flex="1" hidden="true"><![CDATA[
+#include ../../components/customizableui/content/customizeMode.inc.xhtml
+ ]]></box>
+ </html:template>
+
+ <html:div id="fullscreen-and-pointerlock-wrapper">
+ <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
+ <html:div class="pointerlockfswarning-domain-text">
+ <html:span class="pointerlockfswarning-domain" data-l10n-name="domain"/>
+ </html:div>
+ <html:div class="pointerlockfswarning-generic-text"
+ data-l10n-id="fullscreen-warning-no-domain"></html:div>
+ <html:button id="fullscreen-exit-button"
+ onclick="FullScreen.exitDomFullScreen();"
+#ifdef XP_MACOSX
+ data-l10n-id="fullscreen-exit-mac-button"
+#else
+ data-l10n-id="fullscreen-exit-button"
+#endif
+ >
+ </html:button>
+ </html:div>
+
+ <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
+ <html:div class="pointerlockfswarning-domain-text">
+ <html:span class="pointerlockfswarning-domain" data-l10n-name="domain"/>
+ </html:div>
+ <html:div class="pointerlockfswarning-generic-text"
+ data-l10n-id="pointerlock-warning-no-domain"></html:div>
+ </html:div>
+ </html:div>
+
+ <vbox id="browser-bottombox" layer="true">
+ <!-- gNotificationBox will be added here lazily. -->
+ </vbox>
+
+ <html:div id="a11y-announcement" role="alert"/>
+
+ <!-- Put it at the very end to make sure it's not covered by anything. -->
+ <html:div id="fullscr-toggler" hidden="hidden"/>
+</html:body>
+</html>