summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsabell Cowan2017-11-06 10:17:11 -0600
committerIsabell Cowan2017-11-06 10:17:11 -0600
commitea9da329e14831ca42feba45421a0f1a315fbe85 (patch)
tree229bf3dd6bb681b0b7d027af3f451704b89a0b5e
parent6d183a4e268b7291ea9d2a7be3585dcace3a2149 (diff)
downloadaur-ea9da329e14831ca42feba45421a0f1a315fbe85.tar.gz
Updated openSUSE patches to revision 65e317e42eff.
* Updated pkgrel to 3. * Removed no-longer nessesary patches to openSUSE patchset.
-rw-r--r--.SRCINFO28
-rw-r--r--PKGBUILD30
-rw-r--r--firefox-kde-opensuse-patch.patch1383
-rw-r--r--firefox-no-default-ualocale-opensuse-patch.patch17
-rw-r--r--mozilla-kde-opensuse-patch.patch149
5 files changed, 22 insertions, 1585 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 380f05d8120a..55caa1f8dfb6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = firefox-kde-opensuse-beta
pkgdesc = Standalone web browser from mozilla.org with openSUSE patches to integrate better with KDE Plasma 5
pkgver = 57.0b14
- pkgrel = 2
+ pkgrel = 3
url = https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox
arch = i686
arch = x86_64
@@ -54,16 +54,13 @@ pkgbase = firefox-kde-opensuse-beta
options = strip
source = http://archive.mozilla.org/pub/firefox/releases/57.0b14/source/firefox-57.0b14.source.tar.xz
source = firefox-trunk+r2113.debian.tar.gz::https://bazaar.launchpad.net/~mozillateam/firefox/firefox-trunk.head/tarball/2113
- source = mozilla-kde_g932b3ad009d5.patch::http://www.rosenauer.org/hg/mozilla/raw-file/932b3ad009d5/mozilla-kde.patch
- source = mozilla-nongnome-proxies_g932b3ad009d5.patch::http://www.rosenauer.org/hg/mozilla/raw-file/932b3ad009d5/mozilla-nongnome-proxies.patch
- source = firefox-branded-icons_g932b3ad009d5.patch::http://www.rosenauer.org/hg/mozilla/raw-file/932b3ad009d5/firefox-branded-icons.patch
- source = firefox-kde_g932b3ad009d5.patch::http://www.rosenauer.org/hg/mozilla/raw-file/932b3ad009d5/firefox-kde.patch
- source = firefox-no-default-ualocale_g932b3ad009d5.patch::http://www.rosenauer.org/hg/mozilla/raw-file/932b3ad009d5/firefox-no-default-ualocale.patch
+ source = mozilla-kde_g65e317e42eff.patch::http://www.rosenauer.org/hg/mozilla/raw-file/65e317e42eff/mozilla-kde.patch
+ source = mozilla-nongnome-proxies_g65e317e42eff.patch::http://www.rosenauer.org/hg/mozilla/raw-file/65e317e42eff/mozilla-nongnome-proxies.patch
+ source = firefox-branded-icons_g65e317e42eff.patch::http://www.rosenauer.org/hg/mozilla/raw-file/65e317e42eff/firefox-branded-icons.patch
+ source = firefox-kde_g65e317e42eff.patch::http://www.rosenauer.org/hg/mozilla/raw-file/65e317e42eff/firefox-kde.patch
+ source = firefox-no-default-ualocale_g65e317e42eff.patch::http://www.rosenauer.org/hg/mozilla/raw-file/65e317e42eff/firefox-no-default-ualocale.patch
source = native-menu-doc-listener.patch
- source = firefox-kde-opensuse-patch.patch
- source = firefox-no-default-ualocale-opensuse-patch.patch
source = mozilla-kde-opensuse-patch.patch
- source = browser-kde-xul.patch
source = add-missing-pgo-rule.patch
source = pgo-fix-missing-kdejs.patch
source = wifi-disentangle.patch
@@ -77,16 +74,13 @@ pkgbase = firefox-kde-opensuse-beta
source = firefox.desktop
sha256sums = 1a94235f4e9783ea0528361d6fc601f8cb3a448eb69bcd0f521aed192e90dd10
sha256sums = SKIP
- sha256sums = c4c0a726115eca89ab82a85b364cef6cc897f58317b2890f214510810a30cfa3
+ sha256sums = fc0358619be3a63683c680b7c59e024030d96e6dc461217fe451d8289b1236bf
sha256sums = ef0f90c9134ef05b950f06a3ffbd699c2e5a5f99a4cdf9868e799534d68c204f
- sha256sums = c85a37e71f2bd511fac88d41ca0618ee375c49fc86bc2beddf6dc17c3f17508d
- sha256sums = f672e60e22869381e9c4cdd90353a053a0171778eca40d4664bc733822fd535f
- sha256sums = b941790009bb9eda46c2d96fb0d1c83b0fe2d1acf74754ab08e6b18c1e0c6b16
+ sha256sums = f4f919ae5c0921218d7ef7d4502ac8de3212d66d86accc588de04ea24ceb2f36
+ sha256sums = d8cf3221222e97e08dbf704a8b0c9d38e29d7dd1033455404872f04a1df10ccf
+ sha256sums = 175c61f549b1ea08704d1f051d801d3e566d6ec0b048ca6127eaa922e6ddd266
sha256sums = 70bdf9e58397e6483b7a4d925176be74defbde0221cc3d5f253ec4ede55e6f21
- sha256sums = ecb7c3ae3f52ee9b430c1e8e69370b1dedb06674e1fcdc856d60942680bf7b62
- sha256sums = f3c50e4ec8d58b23530d87a3162e0b33af58ea73b35dc51bd29b1fad0d26f43f
- sha256sums = fd58b8fa5716c5724885af280b15ec3915fa3d48b0991a0c92af7a1b414fd665
- sha256sums = 8da046206e98649a371ce8e9b3dffc9532f78e963f764c866bc4e021b8b6fb5a
+ sha256sums = 0468c2399880358b264c98a2b4f29bde1666aad1253735f6e3d6f2a48e9d1bd2
sha256sums = f9067f62a25a7a77276e15f91cc9e7ba6576315345cfc6347b1b2e884becdb0c
sha256sums = 2797d1e61031d24ee24bf682c9447b3b9c1bca10f8e6cbd597b854af2de1ec54
sha256sums = f068b84ad31556095145d8fefc012dd3d1458948533ed3fff6cbc7250b6e73ed
diff --git a/PKGBUILD b/PKGBUILD
index 97ccdb7b726c..285e75761d2a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -35,7 +35,7 @@ _debianrev=2113
_debianurl="https://bazaar.launchpad.net/~mozillateam/$_realname/$_realname-trunk.head/tarball/$_debianrev"
# openSUSE Firefox source revision and URL (for openSUSE patches).
-_opensuserev=932b3ad009d5
+_opensuserev=65e317e42eff
_opensusebaseurl="http://www.rosenauer.org/hg/mozilla/raw-file/$_opensuserev"
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
@@ -82,7 +82,7 @@ fi
pkgname=("$_realname-kde-opensuse-beta")
pkgver="$_pkgver"
-pkgrel=2
+pkgrel=3
pkgdesc="Standalone web browser from mozilla.org with openSUSE patches to integrate better with KDE Plasma 5"
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
@@ -112,8 +112,7 @@ source=("$_mozffurl"
"firefox-kde_g$_opensuserev.patch"::"$_opensusebaseurl/firefox-kde.patch"
"firefox-no-default-ualocale_g$_opensuserev.patch"::"$_opensusebaseurl/firefox-no-default-ualocale.patch"
'native-menu-doc-listener.patch'
- 'firefox-kde-opensuse-patch.patch' 'firefox-no-default-ualocale-opensuse-patch.patch' 'mozilla-kde-opensuse-patch.patch'
- 'browser-kde-xul.patch'
+ 'mozilla-kde-opensuse-patch.patch'
'add-missing-pgo-rule.patch' 'pgo-fix-missing-kdejs.patch'
'wifi-disentangle.patch' 'wifi-fix-interface.patch'
'no-crmf.patch'
@@ -124,16 +123,13 @@ source=("$_mozffurl"
'firefox.desktop')
sha256sums=('1a94235f4e9783ea0528361d6fc601f8cb3a448eb69bcd0f521aed192e90dd10'
'SKIP' # Debian source tarball is generated each time it is requested.
- 'c4c0a726115eca89ab82a85b364cef6cc897f58317b2890f214510810a30cfa3'
+ 'fc0358619be3a63683c680b7c59e024030d96e6dc461217fe451d8289b1236bf'
'ef0f90c9134ef05b950f06a3ffbd699c2e5a5f99a4cdf9868e799534d68c204f'
- 'c85a37e71f2bd511fac88d41ca0618ee375c49fc86bc2beddf6dc17c3f17508d'
- 'f672e60e22869381e9c4cdd90353a053a0171778eca40d4664bc733822fd535f'
- 'b941790009bb9eda46c2d96fb0d1c83b0fe2d1acf74754ab08e6b18c1e0c6b16'
+ 'f4f919ae5c0921218d7ef7d4502ac8de3212d66d86accc588de04ea24ceb2f36'
+ 'd8cf3221222e97e08dbf704a8b0c9d38e29d7dd1033455404872f04a1df10ccf'
+ '175c61f549b1ea08704d1f051d801d3e566d6ec0b048ca6127eaa922e6ddd266'
'70bdf9e58397e6483b7a4d925176be74defbde0221cc3d5f253ec4ede55e6f21'
- 'ecb7c3ae3f52ee9b430c1e8e69370b1dedb06674e1fcdc856d60942680bf7b62'
- 'f3c50e4ec8d58b23530d87a3162e0b33af58ea73b35dc51bd29b1fad0d26f43f'
- 'fd58b8fa5716c5724885af280b15ec3915fa3d48b0991a0c92af7a1b414fd665'
- '8da046206e98649a371ce8e9b3dffc9532f78e963f764c866bc4e021b8b6fb5a'
+ '0468c2399880358b264c98a2b4f29bde1666aad1253735f6e3d6f2a48e9d1bd2'
'f9067f62a25a7a77276e15f91cc9e7ba6576315345cfc6347b1b2e884becdb0c'
'2797d1e61031d24ee24bf682c9447b3b9c1bca10f8e6cbd597b854af2de1ec54'
'f068b84ad31556095145d8fefc012dd3d1458948533ed3fff6cbc7250b6e73ed'
@@ -206,7 +202,7 @@ prepare() {
msg2 "Fixing openSUSE patches for Firefox $pkgver"
mkdir -p "$srcdir/patched-patches"
cd "$srcdir/patched-patches"
- for patch in mozilla-kde firefox-kde firefox-no-default-ualocale; do
+ for patch in mozilla-kde; do
cp "$srcdir/${patch}_g$_opensuserev.patch" "$patch.patch"
patch -Ni "$srcdir/$patch-opensuse-patch.patch"
done
@@ -220,13 +216,9 @@ prepare() {
msg2 "Applying openSUSE patches"
patch -Np1 -i "$srcdir/mozilla-nongnome-proxies_g$_opensuserev.patch"
patch -Np1 -i "$srcdir/patched-patches/mozilla-kde.patch"
- cp \
- browser/base/content/browser.xul \
- browser/base/content/browser-kde.xul
- patch -Np1 -i "$srcdir/browser-kde-xul.patch"
patch -Np1 -i "$srcdir/firefox-branded-icons_g$_opensuserev.patch"
- patch -Np1 -i "$srcdir/patched-patches/firefox-kde.patch"
- patch -Np1 -i "$srcdir/patched-patches/firefox-no-default-ualocale.patch"
+ patch -Np1 -i "$srcdir/firefox-kde_g$_opensuserev.patch"
+ patch -Np1 -i "$srcdir/firefox-no-default-ualocale_g$_opensuserev.patch"
msg2 "Applying Arch Linux (vendor) specific patches"
patch -Np1 -i "$srcdir/add-missing-pgo-rule.patch"
diff --git a/firefox-kde-opensuse-patch.patch b/firefox-kde-opensuse-patch.patch
deleted file mode 100644
index 0a1bee9e2e36..000000000000
--- a/firefox-kde-opensuse-patch.patch
+++ /dev/null
@@ -1,1383 +0,0 @@
---- firefox-kde.patch
-+++ firefox-kde.patch
-@@ -1,1331 +1,6 @@
- # HG changeset patch
- # Parent 05209af7fdfec897f5f574c691184ba27049b0ff
-
--diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
--new file mode 100644
----- /dev/null
--+++ b/browser/base/content/browser-kde.xul
--@@ -0,0 +1,1320 @@
--+#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/.
--+
--+<?xml-stylesheet href="chrome://browser/content/browser.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/controlcenter/panel.css" type="text/css"?>
--+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
--+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
--+
--+<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
--+<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
--+<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
--+
--+# All DTD information is stored in a separate file so that it can be shared by
--+# hiddenWindow.xul.
--+#include browser-doctype.inc
--+
--+<window id="main-window"
--+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
--+ xmlns:svg="http://www.w3.org/2000/svg"
--+ xmlns:html="http://www.w3.org/1999/xhtml"
--+ xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
--+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
--+ onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
--+ title="&mainWindow.title;"
--+ title_normal="&mainWindow.title;"
--+#ifdef XP_MACOSX
--+ title_privatebrowsing="&mainWindow.title;&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"
--+ titledefault="&mainWindow.title;"
--+ titlemodifier=""
--+ titlemodifier_normal=""
--+ titlemodifier_privatebrowsing="&mainWindow.titlePrivateBrowsingSuffix;"
--+#else
--+ title_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
--+ titlemodifier="&mainWindow.titlemodifier;"
--+ titlemodifier_normal="&mainWindow.titlemodifier;"
--+ titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
--+#endif
--+#ifdef CAN_DRAW_IN_TITLEBAR
--+#ifdef XP_WIN
--+ chromemargin="0,2,2,2"
--+#else
--+ chromemargin="0,-1,-1,-1"
--+#endif
--+ tabsintitlebar="true"
--+#endif
--+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
--+ lightweightthemes="true"
--+ windowtype="navigator:browser"
--+ macanimationtype="document"
--+ screenX="4" screenY="4"
--+ fullscreenbutton="true"
--+ sizemode="normal"
--+ retargetdocumentfocus="urlbar"
--+ persist="screenX screenY width height sizemode">
--+
--+# All JS files which are not content (only) dependent that browser.xul
--+# wishes to include *must* go into the global-scripts.inc file
--+# so that they can be shared by macBrowserOverlay.xul.
--+#include global-scripts.inc
--+
--+<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/>
--+
--+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
--+# browser-sets.inc file for sharing with hiddenWindow.xul.
--+#define FULL_BROWSER_WINDOW
--+#include browser-sets.inc
--+#undef FULL_BROWSER_WINDOW
--+
--+ <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" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;"
--+ oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/>
--+ <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/>
--+ <menuseparator/>
--+ <menuitem id="context_pinTab" label="&pinTab.label;"
--+ accesskey="&pinTab.accesskey;"
--+ oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
--+ <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
--+ accesskey="&unpinTab.accesskey;"
--+ oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
--+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
--+ accesskey="&moveToNewWindow.accesskey;"
--+ tbattr="tabbrowser-multiple"
--+ oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
--+#ifdef E10S_TESTING_ONLY
--+ <menuitem id="context_openNonRemoteWindow" label="Open in new non-e10s window"
--+ tbattr="tabbrowser-remote"
--+ hidden="true"
--+ oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
--+#endif
--+ <menuseparator id="context_sendTabToDevice_separator"/>
--+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
--+ accesskey="&sendTabToDevice.accesskey;">
--+ <menupopup id="context_sendTabToDevicePopupMenu"
--+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
--+ </menu>
--+ <menuseparator/>
--+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
--+ tbattr="tabbrowser-multiple-visible"
--+ oncommand="gBrowser.reloadAllTabs();"/>
--+ <menuitem id="context_bookmarkAllTabs"
--+ label="&bookmarkAllTabs.label;"
--+ accesskey="&bookmarkAllTabs.accesskey;"
--+ command="Browser:BookmarkAllTabs"/>
--+ <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
--+ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
--+ <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
--+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
--+ <menuseparator/>
--+ <menuitem id="context_undoCloseTab"
--+ label="&undoCloseTab.label;"
--+ accesskey="&undoCloseTab.accesskey;"
--+ observes="History:UndoCloseTab"/>
--+ <menuitem id="context_closeTab" label="&closeTab.label;" accesskey="&closeTab.accesskey;"
--+ oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/>
--+ </menupopup>
--+
--+ <!-- bug 415444/582485: event.stopPropagation is here for the cloned version
--+ of this menupopup -->
--+ <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"/>
--+
--+ <!-- for search and content formfill/pw manager -->
--+
--+ <panel type="autocomplete-richlistbox"
--+ id="PopupAutoComplete"
--+ noautofocus="true"
--+ hidden="true"
--+ overflowpadding="4"
--+ norolluponanchor="true"
--+ nomaxresults="true" />
--+
--+ <!-- for search with one-off buttons -->
--+ <panel type="autocomplete" id="PopupSearchAutoComplete" noautofocus="true" hidden="true"/>
--+
--+ <!-- for url bar autocomplete -->
--+ <panel type="autocomplete-richlistbox"
--+ id="PopupAutoCompleteRichResult"
--+ noautofocus="true"
--+ hidden="true"
--+ flip="none"
--+ level="parent"
--+ overflowpadding="30" />
--+
--+ <panel id="DateTimePickerPanel"
--+ type="arrow"
--+ hidden="true"
--+ orient="vertical"
--+ noautofocus="true"
--+ noautohide="true"
--+ consumeoutsideclicks="false"
--+ level="parent"
--+ tabspecific="true">
--+ </panel>
--+
--+ <!-- 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>
--+
--+ <!-- for invalid form error message -->
--+ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
--+ <description/>
--+ </panel>
--+
--+ <panel id="editBookmarkPanel"
--+ type="arrow"
--+ orient="vertical"
--+ ignorekeys="true"
--+ hidden="true"
--+ tabspecific="true"
--+ onpopupshown="StarUI.panelShown(event);"
--+ aria-labelledby="editBookmarkPanelTitle">
--+ <row id="editBookmarkPanelHeader" align="center" hidden="true">
--+ <vbox align="center">
--+ <image id="editBookmarkPanelStarIcon"/>
--+ </vbox>
--+ <vbox>
--+ <label id="editBookmarkPanelTitle"/>
--+ <description id="editBookmarkPanelDescription"/>
--+ </vbox>
--+ </row>
--+ <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
--+ <hbox id="editBookmarkPanelBottomButtons" pack="end">
--+#ifdef XP_UNIX
--+ <button id="editBookmarkPanelDoneButton"
--+ class="editBookmarkPanelBottomButton"
--+ label="&editBookmark.done.label;"
--+ default="true"
--+ oncommand="StarUI.panel.hidePopup();"/>
--+ <button id="editBookmarkPanelRemoveButton"
--+ class="editBookmarkPanelBottomButton"
--+ oncommand="StarUI.removeBookmarkButtonCommand();"
--+ accesskey="&editBookmark.removeBookmark.accessKey;"/>
--+#else
--+ <button id="editBookmarkPanelRemoveButton"
--+ class="editBookmarkPanelBottomButton"
--+ oncommand="StarUI.removeBookmarkButtonCommand();"
--+ accesskey="&editBookmark.removeBookmark.accessKey;"/>
--+ <button id="editBookmarkPanelDoneButton"
--+ class="editBookmarkPanelBottomButton"
--+ label="&editBookmark.done.label;"
--+ default="true"
--+ oncommand="StarUI.panel.hidePopup();"/>
--+#endif
--+ </hbox>
--+ </panel>
--+
--+ <!-- UI tour experience -->
--+ <panel id="UITourTooltip"
--+ type="arrow"
--+ hidden="true"
--+ 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>
--+ <!-- type="default" forces frames to be created so that the panel's size can be determined -->
--+ <panel id="UITourHighlightContainer"
--+ type="default"
--+ hidden="true"
--+ noautofocus="true"
--+ noautohide="true"
--+ flip="none"
--+ consumeoutsideclicks="false"
--+ mousethrough="always">
--+ <box id="UITourHighlight"></box>
--+ </panel>
--+
--+ <panel id="social-share-panel"
--+ class="social-panel"
--+ type="arrow"
--+ orient="vertical"
--+ onpopupshowing="SocialShare.onShowing()"
--+ onpopuphidden="SocialShare.onHidden()"
--+ hidden="true">
--+ <hbox class="social-share-toolbar">
--+ <toolbarbutton id="manage-share-providers" class="share-provider-button"
--+ tooltiptext="&social.addons.label;"
--+ oncommand="BrowserOpenAddonsMgr('addons://list/service');
--+ this.parentNode.parentNode.hidePopup();"/>
--+ <arrowscrollbox id="social-share-provider-buttons" orient="horizontal" flex="1" pack="end">
--+ <toolbarbutton id="add-share-provider" class="share-provider-button" type="radio"
--+ group="share-providers" tooltiptext="&findShareServices.label;"
--+ oncommand="SocialShare.showDirectory()"/>
--+ </arrowscrollbox>
--+ </hbox>
--+ <hbox id="share-container" flex="1"/>
--+ </panel>
--+ <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"
--+ class="subviewbutton subviewbutton-iconic"
--+ key="viewBookmarksSidebarKb"
--+ observes="viewBookmarksSidebar"
--+ oncommand="SidebarUI.show('viewBookmarksSidebar');">
--+ <observes element="viewBookmarksSidebar" attribute="checked"/>
--+ </toolbarbutton>
--+ <toolbarbutton id="sidebar-switcher-history"
--+ label="&historyButton.label;"
--+ class="subviewbutton subviewbutton-iconic"
--+ key="key_gotoHistory"
--+ observes="viewHistorySidebar"
--+ oncommand="SidebarUI.show('viewHistorySidebar');">
--+ <observes element="viewHistorySidebar" attribute="checked"/>
--+ </toolbarbutton>
--+ <toolbarbutton id="sidebar-switcher-tabs"
--+ label="&syncedTabs.sidebar.label;"
--+ class="subviewbutton subviewbutton-iconic"
--+ observes="viewTabsSidebar"
--+ oncommand="SidebarUI.show('viewTabsSidebar');">
--+ <observes element="viewTabsSidebar" attribute="checked"/>
--+ </toolbarbutton>
--+ <toolbarseparator/>
--+ <vbox id="sidebar-extensions"></vbox>
--+ <toolbarseparator/>
--+ <toolbarbutton id="sidebar-reverse-position"
--+ class="subviewbutton"
--+ oncommand="SidebarUI.reversePosition()"/>
--+ <toolbarseparator/>
--+ <toolbarbutton label="&sidebarMenuClose.label;"
--+ class="subviewbutton"
--+ oncommand="SidebarUI.hide()"/>
--+ </panel>
--+
--+ <menupopup id="toolbar-context-menu"
--+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
--+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
--+ photonaccesskey="&customizeMenu.pinToOverflowMenu.accesskey;"
--+ photonlabel="&customizeMenu.pinToOverflowMenu.label;"
--+ accesskey="&customizeMenu.moveToPanel.accesskey;"
--+ label="&customizeMenu.moveToPanel.label;"
--+ contexttype="toolbaritem"
--+ class="customize-context-moveToPanel"/>
--+ <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)"
--+ accesskey="&customizeMenu.removeFromToolbar.accesskey;"
--+ label="&customizeMenu.removeFromToolbar.label;"
--+ contexttype="toolbaritem"
--+ class="customize-context-removeFromToolbar"/>
--+ <menuitem id="toolbar-context-reloadAllTabs"
--+ class="toolbaritem-tabsmenu"
--+ contexttype="tabbar"
--+ oncommand="gBrowser.reloadAllTabs();"
--+ label="&toolbarContextMenu.reloadAllTabs.label;"
--+ accesskey="&toolbarContextMenu.reloadAllTabs.accesskey;"/>
--+ <menuitem id="toolbar-context-bookmarkAllTabs"
--+ class="toolbaritem-tabsmenu"
--+ contexttype="tabbar"
--+ command="Browser:BookmarkAllTabs"
--+ label="&toolbarContextMenu.bookmarkAllTabs.label;"
--+ accesskey="&toolbarContextMenu.bookmarkAllTabs.accesskey;"/>
--+ <menuitem id="toolbar-context-undoCloseTab"
--+ class="toolbaritem-tabsmenu"
--+ contexttype="tabbar"
--+ label="&toolbarContextMenu.undoCloseTab.label;"
--+ accesskey="&toolbarContextMenu.undoCloseTab.accesskey;"
--+ 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="BrowserCustomizeToolbar()"
--+ observes="cmd_CustomizeToolbars"
--+ class="viewCustomizeToolbar"
--+ label="&viewCustomizeToolbar.label;"
--+ accesskey="&viewCustomizeToolbar.accesskey;"/>
--+ </menupopup>
--+
--+ <menupopup id="blockedPopupOptions"
--+ onpopupshowing="gPopupBlockerObserver.fillPopupList(event);"
--+ onpopuphiding="gPopupBlockerObserver.onPopupHiding(event);">
--+ <menuitem observes="blockedPopupAllowSite"/>
--+ <menuitem observes="blockedPopupEditSettings"/>
--+ <menuitem observes="blockedPopupDontShowMessage"/>
--+ <menuseparator observes="blockedPopupsSeparator"/>
--+ </menupopup>
--+
--+ <menupopup id="autohide-context"
--+ onpopupshowing="FullScreen.getAutohide(this.firstChild);">
--+ <menuitem type="checkbox" label="&fullScreenAutohide.label;"
--+ accesskey="&fullScreenAutohide.accesskey;"
--+ oncommand="FullScreen.setAutohide();"/>
--+ <menuseparator/>
--+ <menuitem label="&fullScreenExit.label;"
--+ accesskey="&fullScreenExit.accesskey;"
--+ 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="placesContext">
--+ <menuseparator id="placesContext_recentlyBookmarkedSeparator"
--+ ignoreitem="true"
--+ hidden="true"/>
--+ <menuitem id="placesContext_hideRecentlyBookmarked"
--+ label="&hideRecentlyBookmarked.label;"
--+ accesskey="&hideRecentlyBookmarked.accesskey;"
--+ oncommand="BookmarkingUI.hideRecentlyBookmarked();"
--+ closemenu="single"
--+ ignoreitem="true"
--+ hidden="true"/>
--+ <menuitem id="placesContext_showRecentlyBookmarked"
--+ label="&showRecentlyBookmarked.label;"
--+ accesskey="&showRecentlyBookmarked.accesskey;"
--+ oncommand="BookmarkingUI.showRecentlyBookmarked();"
--+ closemenu="single"
--+ ignoreitem="true"
--+ hidden="true"/>
--+ </menupopup>
--+
--+ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
--+ <hbox>
--+ <button class="ctrlTab-preview" flex="1"/>
--+ <button class="ctrlTab-preview" flex="1"/>
--+ <button class="ctrlTab-preview" flex="1"/>
--+ <button class="ctrlTab-preview" flex="1"/>
--+ <button class="ctrlTab-preview" flex="1"/>
--+ <button class="ctrlTab-preview" flex="1"/>
--+ </hbox>
--+ <hbox pack="center">
--+ <button id="ctrlTab-showAll" class="ctrlTab-preview" noicon="true"/>
--+ </hbox>
--+ </panel>
--+
--+#ifdef MOZ_PHOTON_THEME
--+ <panel id="pageActionPanel"
--+ class="cui-widget-panel"
--+ role="group"
--+ type="arrow"
--+ hidden="true"
--+ flip="slide"
--+ position="bottomcenter topright"
--+ tabspecific="true"
--+ noautofocus="true"
--+ context="pageActionPanelContextMenu"
--+ oncontextmenu="BrowserPageActions.onContextMenu(event);"
--+ copyURL-title="&copyURLCmd.label;"
--+ emailLink-title="&emailPageCmd.label;"
--+ sendToDevice-title="&sendToDevice.label2;"
--+ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
--+ <photonpanelmultiview id="pageActionPanelMultiView"
--+ mainViewId="pageActionPanelMainView"
--+ viewCacheId="appMenu-viewCache">
--+ <panelview id="pageActionPanelMainView"
--+ class="PanelUI-subView">
--+ <vbox class="panel-subview-body"/>
--+ </panelview>
--+ </photonpanelmultiview>
--+ </panel>
--+
--+ <menupopup id="pageActionPanelContextMenu"
--+ onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">
--+ <menuitem id="pageActionPanelContextMenu-toggleUrlbar"
--+ add-label="&pageAction.addToUrlbar.label;"
--+ remove-label="&pageAction.removeFromUrlbar.label;"
--+ label="&pageAction.addToUrlbar.label;"
--+ oncommand="BrowserPageActions.toggleShownInUrlbarForContextAction();"/>
--+ </menupopup>
--+#endif
--+
--+ <!-- Bookmarks and history tooltip -->
--+ <tooltip id="bhTooltip"/>
--+
--+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
--+
--+ <tooltip id="back-button-tooltip">
--+ <label class="tooltip-label" value="&backButton.tooltip;"/>
--+#ifdef XP_MACOSX
--+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
--+#else
--+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
--+#endif
--+ </tooltip>
--+
--+ <tooltip id="forward-button-tooltip">
--+ <label class="tooltip-label" value="&forwardButton.tooltip;"/>
--+#ifdef XP_MACOSX
--+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
--+#else
--+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
--+#endif
--+ </tooltip>
--+
--+ <tooltip id="share-button-tooltip" onpopupshowing="SocialShare.createTooltip(event);">
--+ <label class="tooltip-label"/>
--+ <label class="tooltip-label"/>
--+ </tooltip>
--+
--+#include popup-notifications.inc
--+
--+#include ../../components/customizableui/content/panelUI.inc.xul
--+#include ../../components/controlcenter/content/panel.inc.xul
--+
--+ <hbox id="downloads-animation-container" mousethrough="always">
--+ <vbox id="downloads-notification-anchor">
--+ <vbox id="downloads-indicator-notification"/>
--+ </vbox>
--+ </hbox>
--+
--+ <hbox id="bookmarked-notification-container" mousethrough="always">
--+ <vbox id="bookmarked-notification-anchor">
--+ <vbox id="bookmarked-notification"/>
--+ </vbox>
--+ <vbox id="bookmarked-notification-dropmarker-anchor">
--+ <image id="bookmarked-notification-dropmarker-icon"/>
--+ </vbox>
--+ </hbox>
--+
--+ <tooltip id="dynamic-shortcut-tooltip"
--+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
--+
--+ <menupopup id="SyncedTabsSidebarContext">
--+ <menuitem label="&syncedTabs.context.open.label;"
--+ accesskey="&syncedTabs.context.open.accesskey;"
--+ id="syncedTabsOpenSelected" where="current"/>
--+ <menuitem label="&syncedTabs.context.openInNewTab.label;"
--+ accesskey="&syncedTabs.context.openInNewTab.accesskey;"
--+ id="syncedTabsOpenSelectedInTab" where="tab"/>
--+ <menuitem label="&syncedTabs.context.openInNewWindow.label;"
--+ accesskey="&syncedTabs.context.openInNewWindow.accesskey;"
--+ id="syncedTabsOpenSelectedInWindow" where="window"/>
--+ <menuitem label="&syncedTabs.context.openInNewPrivateWindow.label;"
--+ accesskey="&syncedTabs.context.openInNewPrivateWindow.accesskey;"
--+ id="syncedTabsOpenSelectedInPrivateWindow" where="window" private="true"/>
--+ <menuseparator/>
--+ <menuitem label="&syncedTabs.context.bookmarkSingleTab.label;"
--+ accesskey="&syncedTabs.context.bookmarkSingleTab.accesskey;"
--+ id="syncedTabsBookmarkSelected"/>
--+ <menuitem label="&syncedTabs.context.copy.label;"
--+ accesskey="&syncedTabs.context.copy.accesskey;"
--+ id="syncedTabsCopySelected"/>
--+ <menuseparator/>
--+ <menuitem label="&syncedTabs.context.openAllInTabs.label;"
--+ accesskey="&syncedTabs.context.openAllInTabs.accesskey;"
--+ id="syncedTabsOpenAllInTabs"/>
--+ <menuitem label="&syncedTabs.context.managedevices.label;"
--+ accesskey="&syncedTabs.context.managedevices.accesskey;"
--+ id="syncedTabsManageDevices"
--+ oncommand="gSync.openDevicesManagementPage('syncedtabs-sidebar');"/>
--+ <menuitem label="&syncSyncNowItem.label;"
--+ accesskey="&syncSyncNowItem.accesskey;"
--+ id="syncedTabsRefresh"/>
--+ </menupopup>
--+ <menupopup id="SyncedTabsSidebarTabsFilterContext"
--+ class="textbox-contextmenu">
--+ <menuitem label="&undoCmd.label;"
--+ accesskey="&undoCmd.accesskey;"
--+ cmd="cmd_undo"/>
--+ <menuseparator/>
--+ <menuitem label="&cutCmd.label;"
--+ accesskey="&cutCmd.accesskey;"
--+ cmd="cmd_cut"/>
--+ <menuitem label="&copyCmd.label;"
--+ accesskey="&copyCmd.accesskey;"
--+ cmd="cmd_copy"/>
--+ <menuitem label="&pasteCmd.label;"
--+ accesskey="&pasteCmd.accesskey;"
--+ cmd="cmd_paste"/>
--+ <menuitem label="&deleteCmd.label;"
--+ accesskey="&deleteCmd.accesskey;"
--+ cmd="cmd_delete"/>
--+ <menuseparator/>
--+ <menuitem label="&selectAllCmd.label;"
--+ accesskey="&selectAllCmd.accesskey;"
--+ cmd="cmd_selectAll"/>
--+ <menuseparator/>
--+ <menuitem label="&syncSyncNowItem.label;"
--+ accesskey="&syncSyncNowItem.accesskey;"
--+ id="syncedTabsRefreshFilter"/>
--+ </menupopup>
--+ </popupset>
--+ <box id="appMenu-viewCache" hidden="true"/>
--+
--+#ifdef CAN_DRAW_IN_TITLEBAR
--+<vbox id="titlebar">
--+ <hbox id="titlebar-content">
--+ <spacer id="titlebar-spacer" flex="1"/>
--+ <hbox id="titlebar-buttonbox-container">
--+#ifdef XP_WIN
--+ <hbox id="private-browsing-indicator-titlebar">
--+ <hbox class="private-browsing-indicator"/>
--+ </hbox>
--+#endif
--+ <hbox id="titlebar-buttonbox">
--+ <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
--+ <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
--+ <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
--+ </hbox>
--+ </hbox>
--+#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">
--+ <hbox class="private-browsing-indicator"/>
--+ <hbox id="titlebar-fullscreen-button"/>
--+ </hbox>
--+#endif
--+ </hbox>
--+</vbox>
--+#endif
--+
--+<deck flex="1" id="tab-view-deck">
--+<vbox flex="1" id="browser-panel">
--+
--+ <toolbox id="navigator-toolbox" mode="icons">
--+ <!-- Menu -->
--+ <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
--+ mode="icons" iconsize="small"
--+#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 by
--+# hiddenWindow.xul.
--+#include browser-menubar.inc
--+ </toolbaritem>
--+
--+#ifdef CAN_DRAW_IN_TITLEBAR
--+#ifndef XP_MACOSX
--+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
--+ id="titlebar-placeholder-on-menubar-for-caption-buttons" persist="width"
--+ skipintoolbarset="true"/>
--+#endif
--+#endif
--+ </toolbar>
--+
--+ <toolbar id="TabsToolbar"
--+ fullscreentoolbar="true"
--+ customizable="true"
--+ mode="icons"
--+ iconsize="small"
--+ aria-label="&tabsToolbar.label;"
--+ context="toolbar-context-menu"
--+ collapsed="true">
--+
--+#if defined(MOZ_WIDGET_GTK)
--+ <hbox id="private-browsing-indicator"
--+ skipintoolbarset="true"/>
--+#endif
--+
--+ <tabs id="tabbrowser-tabs"
--+ class="tabbrowser-tabs"
--+ tabbrowser="content"
--+ flex="1"
--+ setfocus="false"
--+ tooltip="tabbrowser-tab-tooltip"
--+ stopwatchid="FX_TAB_CLICK_MS">
--+ <tab class="tabbrowser-tab" selected="true" visuallyselected="true" fadein="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"
--+ type="menu"
--+ label="&listAllTabs.label;"
--+ tooltiptext="&listAllTabs.label;"
--+ removable="false">
--+ <menupopup id="alltabs-popup"
--+ position="after_end">
--+ <menuitem id="alltabs_undoCloseTab"
--+ key="key_undoCloseTab"
--+ label="&undoCloseTab.label;"
--+ observes="History:UndoCloseTab"/>
--+ <menuseparator id="alltabs-popup-separator-1"/>
--+ <menu id="alltabs_containersTab"
--+ label="&newUserContext.label;">
--+ <menupopup id="alltabs_containersMenuTab" />
--+ </menu>
--+ <menuseparator id="alltabs-popup-separator-2"/>
--+ </menupopup>
--+ </toolbarbutton>
--+
--+#if !defined(MOZ_WIDGET_GTK)
--+ <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
--+#endif
--+#ifdef CAN_DRAW_IN_TITLEBAR
--+ <hbox class="titlebar-placeholder" type="caption-buttons"
--+ id="titlebar-placeholder-on-TabsToolbar-for-captions-buttons" persist="width"
--+#ifndef XP_MACOSX
--+ ordinal="1000"
--+#endif
--+ skipintoolbarset="true"/>
--+
--+#ifdef XP_MACOSX
--+ <hbox class="titlebar-placeholder" type="fullscreen-button"
--+ id="titlebar-placeholder-on-TabsToolbar-for-fullscreen-button" persist="width"
--+ skipintoolbarset="true"/>
--+#endif
--+#endif
--+ </toolbar>
--+
--+ <toolbar id="nav-bar"
--+ aria-label="&navbarCmd.label;"
--+ fullscreentoolbar="true" mode="icons" customizable="true"
--+ iconsize="small"
--+ customizationtarget="nav-bar-customization-target"
--+ overflowable="true"
--+ overflowbutton="nav-bar-overflow-button"
--+ overflowtarget="widget-overflow-list"
--+ overflowpanel="widget-overflow"
--+ context="toolbar-context-menu">
--+
--+ <hbox id="nav-bar-customization-target" flex="1">
--+ <toolbaritem id="urlbar-container" flex="400" persist="width"
--+ removable="false"
--+ class="chromeclass-location" overflows="false">
--+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
--+ removable="false" overflows="false"
--+ label="&backCmd.label;"
--+ command="Browser:BackOrBackDuplicate"
--+ onclick="checkForMiddleClick(this, event);"
--+ tooltip="back-button-tooltip"
--+ context="backForwardMenu"/>
--+#ifdef MOZ_PHOTON_THEME
--+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
--+ removable="false" overflows="false"
--+ label="&forwardCmd.label;"
--+ command="Browser:ForwardOrForwardDuplicate"
--+ onclick="checkForMiddleClick(this, event);"
--+ tooltip="forward-button-tooltip"
--+ context="backForwardMenu"/>
--+ <toolbaritem id="stop-reload-button"
--+ removable="false" overflows="false"
--+ class="chromeclass-toolbar-additional">
--+ <toolbarbutton id="reload-button"
--+ class="toolbarbutton-1"
--+ 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"
--+ command="Browser:Stop"
--+ tooltip="dynamic-shortcut-tooltip">
--+ <box class="toolbarbutton-animatable-box">
--+ <image class="toolbarbutton-animatable-image"/>
--+ </box>
--+ </toolbarbutton>
--+ </toolbaritem>
--+#endif
--+ <hbox id="urlbar-wrapper" flex="1">
--+#ifndef MOZ_PHOTON_THEME
--+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
--+ label="&forwardCmd.label;"
--+ command="Browser:ForwardOrForwardDuplicate"
--+ onclick="checkForMiddleClick(this, event);"
--+ tooltip="forward-button-tooltip"
--+ context="backForwardMenu"/>
--+#endif
--+ <textbox id="urlbar" flex="1"
--+ placeholder="&urlbar.placeholder2;"
--+ type="autocomplete"
--+ autocompletesearch="unifiedcomplete"
--+ autocompletesearchparam="enable-actions"
--+ autocompletepopup="PopupAutoCompleteRichResult"
--+ completeselectedindex="true"
--+ shrinkdelay="250"
--+ tabscrolling="true"
--+ showcommentcolumn="true"
--+ showimagecolumn="true"
--+ enablehistory="true"
--+ newlines="stripsurroundingwhitespace"
--+ ontextentered="this.handleCommand(param);"
--+ ontextreverted="return this.handleRevert();"
--+ pageproxystate="invalid">
--+ <!-- Use onclick instead of normal popup= syntax since the popup
--+ code fires onmousedown, and hence eats our favicon drag events. -->
--+ <box id="identity-box" role="button"
--+ align="center"
--+ aria-label="&urlbar.viewSiteInfo.label;"
--+ onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
--+ onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
--+ ondragstart="gIdentityHandler.onDragStart(event);">
--+ <image id="identity-icon"
--+ consumeanchor="identity-box"
--+ onclick="PageProxyClickHandler(event);"/>
--+ <image id="sharing-icon" mousethrough="always"/>
--+ <image id="tracking-protection-icon"/>
--+ <box id="blocked-permissions-container" align="center">
--+ <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button"
--+ tooltiptext="&urlbar.geolocationBlocked.tooltip;"/>
--+ <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button"
--+ tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/>
--+ <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button"
--+ tooltiptext="&urlbar.cameraBlocked.tooltip;"/>
--+ <image data-permission-id="indexedDB" class="blocked-permission-icon indexedDB-icon" role="button"
--+ tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/>
--+ <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button"
--+ tooltiptext="&urlbar.microphoneBlocked.tooltip;"/>
--+ <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
--+ tooltiptext="&urlbar.screenBlocked.tooltip;"/>
--+ <image data-permission-id="persistent-storage" class="blocked-permission-icon persistent-storage-icon" role="button"
--+ tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/>
--+ </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"
--+ tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
--+ <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
--+ tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/>
--+ <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
--+ tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/>
--+ <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
--+ tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/>
--+ <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
--+ tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/>
--+ <stack id="plugins-notification-icon" class="notification-anchor-icon" role="button" align="center"
--+ tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;">
--+ <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"
--+ tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/>
--+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
--+ tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/>
--+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
--+ tooltiptext="&urlbar.webRTCShareMicrophoneNotificationAnchor.tooltip;"/>
--+ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
--+ tooltiptext="&urlbar.webRTCShareScreenNotificationAnchor.tooltip;"/>
--+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
--+ tooltiptext="&urlbar.servicesNotificationAnchor.tooltip;"/>
--+ <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
--+ tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/>
--+ <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
--+ tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
--+ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
--+ tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
--+ <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
--+ tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
--+ </box>
--+ <image id="connection-icon"/>
--+ <image id="extension-icon"/>
--+ <image id="remote-control-icon"
--+ tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
--+ <hbox id="identity-icon-labels">
--+ <label id="identity-icon-label" class="plain" flex="1"/>
--+ <label id="identity-icon-country-label" class="plain"/>
--+ </hbox>
--+ </box>
--+ <box id="urlbar-display-box" align="center">
--+ <label id="switchtab" class="urlbar-display urlbar-display-switchtab" value="&urlbar.switchToTab.label;"/>
--+ <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
--+ </box>
--+ <hbox id="urlbar-icons">
--+ <image id="page-report-button"
--+ class="urlbar-icon"
--+ hidden="true"
--+ tooltiptext="&pageReportIcon.tooltip;"
--+ onmousedown="gPopupBlockerObserver.onReportButtonMousedown(event);"/>
--+ <image id="reader-mode-button"
--+ class="urlbar-icon"
--+ hidden="true"
--+ onclick="ReaderParent.buttonClick(event);"/>
--+ <toolbarbutton id="urlbar-zoom-button"
--+ onclick="FullZoom.reset();"
--+ tooltip="dynamic-shortcut-tooltip"
--+ hidden="true"/>
--+#ifdef MOZ_PHOTON_THEME
--+ <image id="pageActionButton"
--+ class="urlbar-icon"
--+ tooltiptext="&pageActionButton.tooltip;"
--+ onclick="BrowserPageActions.mainButtonClicked(event);"/>
--+ <hbox id="star-button-box" hidden="true">
--+ <image id="star-button"
--+ class="urlbar-icon"
--+ onclick="BookmarkingUI.onStarCommand(event);">
--+ <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
--+ <observes element="bookmarkThisPageBroadcaster" attribute="tooltiptext"/>
--+ </image>
--+ <hbox id="star-button-animatable-box">
--+ <image id="star-button-animatable-image"
--+ onclick="BookmarkingUI.onStarCommand(event);"/>
--+ </hbox>
--+ </hbox>
--+#endif
--+ </hbox>
--+ <hbox id="userContext-icons" hidden="true">
--+ <label id="userContext-label"/>
--+ <image id="userContext-indicator"/>
--+ </hbox>
--+#ifndef MOZ_PHOTON_THEME
--+ <toolbarbutton id="urlbar-go-button"
--+ class="chromeclass-toolbar-additional"
--+ onclick="gURLBar.handleCommand(event);"
--+ tooltiptext="&goEndCap.tooltip;"/>
--+ <toolbarbutton id="reload-button"
--+ class="chromeclass-toolbar-additional"
--+ command="Browser:ReloadOrDuplicate"
--+ onclick="checkForMiddleClick(this, event);"
--+ tooltip="dynamic-shortcut-tooltip"/>
--+ <toolbarbutton id="stop-button"
--+ class="chromeclass-toolbar-additional"
--+ command="Browser:Stop"
--+ tooltip="dynamic-shortcut-tooltip"/>
--+#endif
--+ </textbox>
--+ </hbox>
--+ </toolbaritem>
--+
--+ <toolbaritem id="search-container" title="&searchItem.title;"
--+ align="center" class="chromeclass-toolbar-additional panel-wide-item"
--+ cui-areatype="toolbar"
--+ flex="100" persist="width" removable="true">
--+ <searchbar id="searchbar" flex="1"/>
--+ </toolbaritem>
--+
--+ <toolbarbutton id="bookmarks-menu-button"
--+ class="toolbarbutton-1 chromeclass-toolbar-additional"
--+ removable="true"
--+#ifdef MOZ_PHOTON_THEME
--+ type="menu"
--+#else
--+ type="menu-button"
--+#endif
--+ label="&bookmarksMenuButton.label;"
--+ tooltip="dynamic-shortcut-tooltip"
--+ anchor="dropmarker"
--+ ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
--+ ondragover="PlacesMenuDNDHandler.onDragOver(event);"
--+ ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
--+ ondrop="PlacesMenuDNDHandler.onDrop(event);"
--+ cui-areatype="toolbar"
--+ oncommand="BookmarkingUI.onCommand(event);">
--+ <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
--+ <observes element="bookmarkThisPageBroadcaster" attribute="buttontooltiptext"/>
--+ <menupopup id="BMB_bookmarksPopup"
--+ class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView"
--+ placespopup="true"
--+ context="placesContext"
--+ openInTabs="children"
--+ 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="subviewbutton"
--+ label="&viewBookmarksSidebar2.label;"
--+ type="checkbox"
--+ oncommand="SidebarUI.toggle('viewBookmarksSidebar');">
--+ <observes element="viewBookmarksSidebar" attribute="checked"/>
--+ </menuitem>
--+ <!-- NB: temporary solution for bug 985024, this should go away soon. -->
--+ <menuitem id="BMB_bookmarksShowAllTop"
--+ class="menuitem-iconic subviewbutton"
--+ label="&showAllBookmarks2.label;"
--+ command="Browser:ShowAllBookmarks"
--+ key="manBookmarkKb"/>
--+ <menuseparator/>
--+ <menuitem label="&recentBookmarks.label;"
--+ id="BMB_recentBookmarks"
--+ disabled="true"
--+ class="menuitem-iconic subviewbutton"/>
--+ <menuseparator/>
--+ <menu id="BMB_bookmarksToolbar"
--+ class="menu-iconic bookmark-item subviewbutton"
--+ label="&personalbarCmd.label;"
--+ container="true">
--+ <menupopup id="BMB_bookmarksToolbarPopup"
--+ placespopup="true"
--+ context="placesContext"
--+ onpopupshowing="if (!this.parentNode._placesView)
--+ new PlacesMenu(event, 'place:folder=TOOLBAR',
--+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);">
--+ <menuitem id="BMB_viewBookmarksToolbar"
--+ placesanonid="view-toolbar"
--+ toolbarId="PersonalToolbar"
--+ type="checkbox"
--+ oncommand="onViewToolbarCommand(event)"
--+ label="&viewBookmarksToolbar.label;"/>
--+ <menuseparator/>
--+ <!-- Bookmarks toolbar items -->
--+ </menupopup>
--+ </menu>
--+ <menu id="BMB_unsortedBookmarks"
--+ class="menu-iconic bookmark-item subviewbutton"
--+ label="&bookmarksMenuButton.other.label;"
--+ container="true">
--+ <menupopup id="BMB_unsortedBookmarksPopup"
--+ placespopup="true"
--+ context="placesContext"
--+ onpopupshowing="if (!this.parentNode._placesView)
--+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
--+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
--+ </menu>
--+ <menu id="BMB_mobileBookmarks"
--+ class="menu-iconic bookmark-item subviewbutton"
--+ label="&bookmarksMenuButton.mobile.label;"
--+ hidden="true"
--+ container="true">
--+ <menupopup id="BMB_mobileBookmarksPopup"
--+ placespopup="true"
--+ context="placesContext"
--+ onpopupshowing="if (!this.parentNode._placesView)
--+ new PlacesMenu(event, 'place:folder=MOBILE_BOOKMARKS',
--+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
--+ </menu>
--+
--+ <menuseparator/>
--+ <!-- Bookmarks menu items will go here -->
--+ <menuitem id="BMB_bookmarksShowAll"
--+ class="subviewbutton panel-subview-footer"
--+ label="&showAllBookmarks2.label;"
--+ command="Browser:ShowAllBookmarks"
--+ key="manBookmarkKb"/>
--+ </menupopup>
--+ </toolbarbutton>
--+
--+ <!-- 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-button"
--+ key="key_openDownloads"
--+ oncommand="DownloadsIndicatorView.onCommand(event);"
--+ ondrop="DownloadsIndicatorView.onDrop(event);"
--+ ondragover="DownloadsIndicatorView.onDragOver(event);"
--+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
--+ label="&downloads.label;"
--+ removable="true"
--+ cui-areatype="toolbar"
--+ tooltip="dynamic-shortcut-tooltip"/>
--+
--+ <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="BrowserGoHome(event);"
--+ cui-areatype="toolbar"
--+ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
--+ </hbox>
--+
--+ <toolbarbutton id="nav-bar-overflow-button"
--+ class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
--+ skipintoolbarset="true"
--+ tooltiptext="&navbarOverflow.label;">
--+#ifdef MOZ_PHOTON_ANIMATIONS
--+ <box class="toolbarbutton-animatable-box">
--+ <image class="toolbarbutton-animatable-image"/>
--+ </box>
--+#endif
--+ </toolbarbutton>
--+
--+ <toolbaritem id="PanelUI-button"
--+ class="chromeclass-toolbar-additional"
--+ removable="false">
--+ <toolbarbutton id="PanelUI-menu-button"
--+ class="toolbarbutton-1 badged-button"
--+ consumeanchor="PanelUI-button"
--+ label="&brandShortName;"
--+ tooltiptext="&appmenu.tooltip;"/>
--+ </toolbaritem>
--+
--+ <hbox id="window-controls" hidden="true" pack="end" skipintoolbarset="true"
--+ ordinal="1000">
--+ <toolbarbutton id="minimize-button"
--+ tooltiptext="&fullScreenMinimize.tooltip;"
--+ oncommand="window.minimize();"/>
--+
--+ <toolbarbutton id="restore-button"
--+#ifdef XP_MACOSX
--+# Prior to 10.7 there wasn't a native fullscreen button so we use #restore-button
--+# to exit fullscreen and want it to behave like other toolbar buttons.
--+ class="toolbarbutton-1"
--+#endif
--+ tooltiptext="&fullScreenRestore.tooltip;"
--+ oncommand="BrowserFullScreen();"/>
--+
--+ <toolbarbutton id="close-button"
--+ tooltiptext="&fullScreenClose.tooltip;"
--+ oncommand="BrowserTryToCloseWindow();"/>
--+ </hbox>
--+ </toolbar>
--+
--+ <toolbarset id="customToolbars" context="toolbar-context-menu"/>
--+
--+ <toolbar id="PersonalToolbar"
--+ mode="icons" iconsize="small"
--+ class="chromeclass-directories"
--+ context="toolbar-context-menu"
--+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
--+ collapsed="true"
--+ customizable="true">
--+ <toolbaritem id="personal-bookmarks"
--+ title="&bookmarksToolbarItem.label;"
--+ cui-areatype="toolbar"
--+ removable="true">
--+ <toolbarbutton id="bookmarks-toolbar-placeholder"
--+ class="toolbarbutton-1"
--+ mousethrough="never"
--+ label="&bookmarksToolbarItem.label;"
--+ oncommand="PlacesToolbarHelper.onPlaceholderCommand();"/>
--+ <hbox flex="1"
--+ id="PlacesToolbar"
--+ context="placesContext"
--+ 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"
--+ mousethrough="always"
--+ collapsed="true"/>
--+ </hbox>
--+ <scrollbox orient="horizontal"
--+ id="PlacesToolbarItems"
--+ flex="1"/>
--+ <toolbarbutton type="menu"
--+ id="PlacesChevron"
--+ class="chevron"
--+ mousethrough="never"
--+ collapsed="true"
--+ tooltiptext="&bookmarksToolbarChevron.tooltip;"
--+ onpopupshowing="document.getElementById('PlacesToolbar')
--+ ._placesView._onChevronPopupShowing(event);">
--+ <menupopup id="PlacesChevronPopup"
--+ placespopup="true"
--+ tooltip="bhTooltip" popupsinherittooltip="true"
--+ context="placesContext"/>
--+ </toolbarbutton>
--+ </hbox>
--+ </hbox>
--+ </toolbaritem>
--+ </toolbar>
--+
--+ <!-- This is a shim which will go away ASAP. See bug 749804 for details -->
--+ <toolbar id="addon-bar" toolbar-delegate="nav-bar" mode="icons" iconsize="small"
--+ customizable="true">
--+ <hbox id="addonbar-closebutton"/>
--+ <statusbar id="status-bar"/>
--+ </toolbar>
--+
--+ <toolbarpalette id="BrowserToolbarPalette">
--+
--+# Update primaryToolbarButtons in browser/themes/shared/browser.inc when adding
--+# or removing default items with the toolbarbutton-1 class.
--+
--+ <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
--+#ifdef XP_MACOSX
--+ command="cmd_print"
--+ tooltip="dynamic-shortcut-tooltip"
--+#else
--+ command="cmd_printPreview"
--+ tooltiptext="&printButton.tooltip;"
--+#endif
--+ 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"/>
--+#ifdef MOZ_PHOTON_THEME
--+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
--+ oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, event);"
--+ closemenu="none"
--+ label="&places.library.title;">
--+ <box class="toolbarbutton-animatable-box">
--+ <image class="toolbarbutton-animatable-image"/>
--+ </box>
--+ </toolbarbutton>
--+#endif
--+ </toolbarpalette>
--+ </toolbox>
--+
--+ <hbox id="fullscr-toggler" hidden="true"/>
--+
--+ <deck id="content-deck" flex="1">
--+ <hbox flex="1" id="browser">
--+ <vbox id="browser-border-start" hidden="true" layer="true"/>
--+ <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
--+ <sidebarheader 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" persist="value" 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="tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
--+ </sidebarheader>
--+ <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">
--+ <notificationbox id="high-priority-global-notificationbox" notificationside="top"/>
--+ <tabbrowser id="content"
--+ flex="1" contenttooltip="aHTMLTooltip"
--+ tabcontainer="tabbrowser-tabs"
--+ contentcontextmenu="contentAreaContextMenu"
--+ autocompletepopup="PopupAutoComplete"
--+ selectmenulist="ContentSelectDropdown"
--+ datetimepicker="DateTimePickerPanel"/>
--+ </vbox>
--+ <vbox id="browser-border-end" hidden="true" layer="true"/>
--+ </hbox>
--+#include ../../components/customizableui/content/customizeMode.inc.xul
--+ </deck>
--+
--+ <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
--+ <html:div class="pointerlockfswarning-domain-text">
--+ &fullscreenWarning.beforeDomain.label;
--+ <html:span class="pointerlockfswarning-domain"/>
--+ &fullscreenWarning.afterDomain.label;
--+ </html:div>
--+ <html:div class="pointerlockfswarning-generic-text">
--+ &fullscreenWarning.generic.label;
--+ </html:div>
--+ <html:button id="fullscreen-exit-button"
--+ onclick="FullScreen.exitDomFullScreen();">
--+#ifdef XP_MACOSX
--+ &exitDOMFullscreenMac.button;
--+#else
--+ &exitDOMFullscreen.button;
--+#endif
--+ </html:button>
--+ </html:div>
--+
--+ <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
--+ <html:div class="pointerlockfswarning-domain-text">
--+ &pointerlockWarning.beforeDomain.label;
--+ <html:span class="pointerlockfswarning-domain"/>
--+ &pointerlockWarning.afterDomain.label;
--+ </html:div>
--+ <html:div class="pointerlockfswarning-generic-text">
--+ &pointerlockWarning.generic.label;
--+ </html:div>
--+ </html:div>
--+
--+ <vbox id="browser-bottombox" layer="true">
--+ <notificationbox id="global-notificationbox" notificationside="bottom"/>
--+ </vbox>
--+
--+ <svg:svg height="0">
--+#include tab-shape.inc.svg
--+#ifndef MOZ_PHOTON_THEME
--+ <svg:clipPath id="urlbar-back-button-clip-path">
--+#ifndef XP_MACOSX
--+ <svg:path d="M -9,-4 l 0,1 a 15 15 0 0,1 0,30 l 0,1 l 10000,0 l 0,-32 l -10000,0 z" />
--+#else
--+ <svg:path d="M -11,-5 a 16 16 0 0 1 0,34 l 10000,0 l 0,-34 l -10000,0 z"/>
--+#endif
--+ </svg:clipPath>
--+#ifdef XP_WIN
--+ <svg:clipPath id="urlbar-back-button-clip-path-win10">
--+ <svg:path d="M -6,-2 l 0,1 a 15 15 0 0,1 0,30 l 0,1 l 10000,0 l 0,-32 l -10000,0 z" />
--+ </svg:clipPath>
--+#endif
--+#endif
--+ </svg:svg>
--+
--+</vbox>
--+# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
--+# Introducing the iframe dynamically, as needed, was found to be better than
--+# starting with an empty iframe here in browser.xul from a Ts standpoint.
--+</deck>
--+
--+</window>
- diff --git a/browser/base/jar.mn b/browser/base/jar.mn
- --- a/browser/base/jar.mn
- +++ b/browser/base/jar.mn
-@@ -1412,12 +87,12 @@
- --- a/browser/components/preferences/in-content/main.js
- +++ b/browser/components/preferences/in-content/main.js
- @@ -41,16 +41,23 @@ var gMainPane = {
-- // way to get all file type association prefs. So we don't know
-- // when the user will select the default. We refresh here periodically
-- // in case the default changes. On other Windows OS's defaults can also
-- // be set while the prefs are open.
-- window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
-- }
-+ this._backoffIndex++ : backoffTimes.length - 1]);
-+ };
-+
-+ window.setTimeout(() => {
-+ window.requestIdleCallback(pollForDefaultBrowser);
-+ }, backoffTimes[this._backoffIndex]);
- }
-
- + var env = Components.classes["@mozilla.org/process/environment;1"]
-@@ -1427,14 +102,14 @@
- + kde_session = 1;
- + }
- +
-+ this.initBrowserContainers();
- this.buildContentProcessCountMenuList();
-- this.updateDefaultPerformanceSettingsPref();
-
-- let defaultPerformancePref =
-- document.getElementById("browser.preferences.defaultPerformanceSettings.enabled");
-- defaultPerformancePref.addEventListener("change", () => {
-- this.updatePerformanceSettingsBox({duringChangeEvent: true});
-- });
-+ let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
-+ let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
-+ performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
-+
-+ this.updateDefaultPerformanceSettingsPref();
- @@ -875,16 +882,27 @@ var gMainPane = {
- let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
- alwaysCheckPref.value = true;
-@@ -1578,7 +253,7 @@
- +
- +NS_IMETHODIMP
- +nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
--+ PRInt32 aPosition)
-++ PRInt32 aPositionm, const nsACString & imageName)
- +{
- + return NS_ERROR_NOT_IMPLEMENTED;
- +}
diff --git a/firefox-no-default-ualocale-opensuse-patch.patch b/firefox-no-default-ualocale-opensuse-patch.patch
deleted file mode 100644
index b0bb00597ecf..000000000000
--- a/firefox-no-default-ualocale-opensuse-patch.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- firefox-no-default-ualocale.patch
-+++ firefox-no-default-ualocale.patch
-@@ -8,11 +8,11 @@
- --- a/browser/app/profile/firefox.js
- +++ b/browser/app/profile/firefox.js
- @@ -240,17 +240,17 @@ pref("browser.uitour.readerViewTrigger",
-+ pref("browser.uitour.themeOrigin", "https://addons.mozilla.org/%LOCALE%/firefox/themes/");
-+ pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
-+ // How long to show a Hearbeat survey (two hours, in seconds)
- pref("browser.uitour.surveyDuration", 7200);
-
-- pref("browser.customizemode.tip0.shown", false);
-- pref("browser.customizemode.tip0.learnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize");
--
- pref("keyword.enabled", true);
- pref("browser.fixup.domainwhitelist.localhost", true);
-
diff --git a/mozilla-kde-opensuse-patch.patch b/mozilla-kde-opensuse-patch.patch
index 4dd02ec90fb7..59ffc6a2aeb6 100644
--- a/mozilla-kde-opensuse-patch.patch
+++ b/mozilla-kde-opensuse-patch.patch
@@ -1,127 +1,5 @@
--- mozilla-kde.patch
+++ mozilla-kde.patch
-@@ -9,12 +9,7 @@
- diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
- --- a/modules/libpref/Preferences.cpp
- +++ b/modules/libpref/Preferences.cpp
--@@ -33,16 +33,17 @@
-- #include "nsIZipReader.h"
-- #include "nsPrefBranch.h"
-- #include "nsXPIDLString.h"
-- #include "nsCRT.h"
-- #include "nsCOMArray.h"
-+@@ -42,6 +42,7 @@
- #include "nsXPCOMCID.h"
- #include "nsAutoPtr.h"
- #include "nsPrintfCString.h"
-@@ -23,10 +18,6 @@
- #include "nsQuickSort.h"
- #include "PLDHashTable.h"
-
-- #include "prefapi.h"
-- #include "prefread.h"
-- #include "prefapi_private_data.h"
--
- @@ -1435,16 +1436,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
-
- static nsresult pref_LoadPrefsInDirList(const char *listId)
-@@ -166,7 +157,7 @@
- diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
- --- a/python/mozbuild/mozpack/chrome/manifest.py
- +++ b/python/mozbuild/mozpack/chrome/manifest.py
--@@ -33,16 +33,17 @@ class ManifestEntry(object):
-+@@ -33,17 +33,18 @@ class ManifestEntry(object):
- 'application',
- 'platformversion',
- 'os',
-@@ -175,6 +166,7 @@
- 'xpcnativewrappers',
- 'tablet',
- 'process',
-+ 'contentaccessible',
- + 'desktop',
- ]
-
-@@ -1083,7 +1075,7 @@
- + return fontEnumerator.getStandardFamilyName(family);
- + case "file":
- + var f = this._branch
--+ .getComplexValue(this.name, Components.interfaces.nsILocalFile);
-++ .getComplexValue(this.name, Components.interfaces.nsIFile);
- + return f;
- + default:
- + this._reportUnknownType();
-@@ -1128,14 +1120,14 @@
- + var lf;
- + if (typeof(val) == "string") {
- + lf = Components.classes["@mozilla.org/file/local;1"]
--+ .createInstance(Components.interfaces.nsILocalFile);
-++ .createInstance(Components.interfaces.nsIFile);
- + lf.persistentDescriptor = val;
- + if (!lf.exists())
- + lf.initWithPath(val);
- + } else
--+ lf = val.QueryInterface(Components.interfaces.nsILocalFile);
-++ lf = val.QueryInterface(Components.interfaces.nsIFile);
- + this.preferences.rootBranch
--+ .setComplexValue(this.name, Components.interfaces.nsILocalFile, lf);
-++ .setComplexValue(this.name, Components.interfaces.nsIFile, lf);
- + break;
- + default:
- + this._reportUnknownType();
-@@ -2893,7 +2885,7 @@
- +#include "prlink.h"
- +#include "prmem.h"
- +#include "nsString.h"
--+#include "nsILocalFile.h"
-++#include "nsIFile.h"
- +#include "nsMIMEInfoUnix.h"
- +#include "nsAutoPtr.h"
- +#include "nsKDEUtils.h"
-@@ -2976,7 +2968,7 @@
- new file mode 100644
- --- /dev/null
- +++ b/uriloader/exthandler/unix/nsKDERegistry.h
--@@ -0,0 +1,34 @@
-+@@ -0,0 +1,32 @@
- +/* 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/. */
-@@ -2989,8 +2981,6 @@
- +#include "nsTArray.h"
- +
- +class nsMIMEInfoBase;
--+class nsAutoCString;
--+class nsCString;
- +
- +class nsKDERegistry
- +{
-@@ -3110,12 +3100,7 @@
- diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
- --- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
- +++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--@@ -10,17 +10,17 @@
-- #if defined(MOZ_ENABLE_CONTENTACTION)
-- #include <contentaction/contentaction.h>
-- #include <QString>
-- #endif
--
-+@@ -10,7 +10,7 @@
- #include "nsOSHelperAppService.h"
- #include "nsMIMEInfoUnix.h"
- #ifdef MOZ_WIDGET_GTK
-@@ -3124,11 +3109,6 @@
- #endif
- #include "nsISupports.h"
- #include "nsString.h"
-- #include "nsReadableUtils.h"
-- #include "nsUnicharUtils.h"
-- #include "nsXPIDLString.h"
-- #include "nsIURL.h"
-- #include "nsIFileStreams.h"
- @@ -1143,26 +1143,26 @@ nsresult nsOSHelperAppService::OSProtoco
- ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':');
-
@@ -3200,12 +3180,12 @@
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -136,30 +14,3 @@
'/layout/xul',
'/other-licenses/atk-1.0',
+ '/toolkit/xre',
-@@ -3306,7 +3286,7 @@
- + return NS_OK;
- + }
- +
-- nsXPIDLCString title;
-+ nsCString title;
- title.Adopt(ToNewUTF8String(mTitle));
-
- GtkWindow *parent_widget =
-@@ -3354,7 +3334,7 @@
- + if( mMode == modeOpen && mFilters.Length() == 1 && mFilters[ 0 ].EqualsLiteral( "..apps" ))
- + return kdeAppsDialog( aReturn );
- +
--+ nsXPIDLCString title;
-++ nsCString title;
- + title.Adopt(ToNewUTF8String(mTitle));
- +
- + const char* arg = NULL;
-@@ -3521,7 +3501,7 @@
- + {
- + NS_ENSURE_ARG_POINTER(aReturn);
- +
--+ nsXPIDLCString title;
-++ nsCString title;
- + title.Adopt(ToNewUTF8String(mTitle));
- +
- + nsTArray<nsCString> command;