firefox-kde.patch
changeset 1045 f645c886d36b
parent 1036 4babd1755310
child 1046 75893a3d8fbe
equal deleted inserted replaced
1044:142a0c92607c 1045:f645c886d36b
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  ffcd96e120857e207bd357b2005f0b5bc776e375
     2 # Parent  101316aee59978888744775edbde2ea8d7a2f189
     3 
     3 
     4 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
     4 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
     5 new file mode 100644
     5 new file mode 100644
     6 --- /dev/null
     6 --- /dev/null
     7 +++ b/browser/base/content/browser-kde.xul
     7 +++ b/browser/base/content/browser-kde.xul
     8 @@ -0,0 +1,1238 @@
     8 @@ -0,0 +1,1282 @@
     9 +#filter substitution
     9 +#filter substitution
    10 +<?xml version="1.0"?>
    10 +<?xml version="1.0"?>
    11 +# -*- Mode: HTML -*-
    11 +# -*- Mode: HTML -*-
    12 +#
    12 +#
    13 +# This Source Code Form is subject to the terms of the Mozilla Public
    13 +# This Source Code Form is subject to the terms of the Mozilla Public
    14 +# License, v. 2.0. If a copy of the MPL was not distributed with this
    14 +# License, v. 2.0. If a copy of the MPL was not distributed with this
    15 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
    15 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
    16 +
    16 +
    17 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
    17 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
       
    18 +<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css"?>
    18 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
    19 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
    19 +<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
    21 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
    21 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
       
    23 +<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    24 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    23 +
    25 +<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
    24 +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
    26 +
    25 +<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
       
    26 +<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
    27 +<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
    27 +
    28 +
    28 +# All DTD information is stored in a separate file so that it can be shared by
    29 +# All DTD information is stored in a separate file so that it can be shared by
    29 +# hiddenWindow.xul.
    30 +# hiddenWindow.xul.
    30 +#include browser-doctype.inc
    31 +#include browser-doctype.inc
    57 +        chromemargin="0,-1,-1,-1"
    58 +        chromemargin="0,-1,-1,-1"
    58 +#endif
    59 +#endif
    59 +        tabsintitlebar="true"
    60 +        tabsintitlebar="true"
    60 +#endif
    61 +#endif
    61 +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
    62 +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
    62 +        lightweightthemes="true"
       
    63 +        windowtype="navigator:browser"
    63 +        windowtype="navigator:browser"
    64 +        macanimationtype="document"
    64 +        macanimationtype="document"
    65 +        screenX="4" screenY="4"
    65 +        screenX="4" screenY="4"
    66 +        fullscreenbutton="true"
    66 +        fullscreenbutton="true"
    67 +        sizemode="normal"
    67 +        sizemode="normal"
    73 +# so that they can be shared by macBrowserOverlay.xul.
    73 +# so that they can be shared by macBrowserOverlay.xul.
    74 +#include global-scripts.inc
    74 +#include global-scripts.inc
    75 +
    75 +
    76 +<script type="application/javascript">
    76 +<script type="application/javascript">
    77 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
    77 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
       
    78 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
    78 +</script>
    79 +</script>
    79 +
    80 +
    80 +# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
    81 +# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
    81 +# browser-sets.inc file for sharing with hiddenWindow.xul.
    82 +# browser-sets.inc file for sharing with hiddenWindow.xul.
    82 +#define FULL_BROWSER_WINDOW
    83 +#define FULL_BROWSER_WINDOW
   102 +                oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
   103 +                oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
   103 +      <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
   104 +      <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
   104 +                accesskey="&moveToNewWindow.accesskey;"
   105 +                accesskey="&moveToNewWindow.accesskey;"
   105 +                tbattr="tabbrowser-multiple"
   106 +                tbattr="tabbrowser-multiple"
   106 +                oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
   107 +                oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
   107 +      <menuseparator id="context_sendTabToDevice_separator"/>
   108 +      <menuseparator id="context_sendTabToDevice_separator" class="sync-ui-item"/>
   108 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
   109 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
       
   110 +            class="sync-ui-item"
   109 +            accesskey="&sendTabToDevice.accesskey;">
   111 +            accesskey="&sendTabToDevice.accesskey;">
   110 +        <menupopup id="context_sendTabToDevicePopupMenu"
   112 +        <menupopup id="context_sendTabToDevicePopupMenu"
   111 +                   onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
   113 +                   onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
   112 +      </menu>
   114 +      </menu>
   113 +      <menuseparator/>
   115 +      <menuseparator/>
   142 +
   144 +
   143 +    <!-- for search and content formfill/pw manager -->
   145 +    <!-- for search and content formfill/pw manager -->
   144 +
   146 +
   145 +    <panel type="autocomplete-richlistbox"
   147 +    <panel type="autocomplete-richlistbox"
   146 +           id="PopupAutoComplete"
   148 +           id="PopupAutoComplete"
       
   149 +           role="group"
   147 +           noautofocus="true"
   150 +           noautofocus="true"
   148 +           hidden="true"
   151 +           hidden="true"
   149 +           overflowpadding="4"
   152 +           overflowpadding="4"
   150 +           norolluponanchor="true"
   153 +           norolluponanchor="true"
   151 +           nomaxresults="true" />
   154 +           nomaxresults="true" />
   152 +
   155 +
   153 +    <!-- for search with one-off buttons -->
   156 +    <!-- for search with one-off buttons -->
   154 +    <panel type="autocomplete" id="PopupSearchAutoComplete" noautofocus="true" hidden="true"/>
   157 +    <panel type="autocomplete-richlistbox"
       
   158 +           id="PopupSearchAutoComplete"
       
   159 +           role="group"
       
   160 +           noautofocus="true"
       
   161 +           hidden="true" />
   155 +
   162 +
   156 +    <!-- for url bar autocomplete -->
   163 +    <!-- for url bar autocomplete -->
   157 +    <panel type="autocomplete-richlistbox"
   164 +    <panel type="autocomplete-richlistbox"
   158 +           id="PopupAutoCompleteRichResult"
   165 +           id="PopupAutoCompleteRichResult"
       
   166 +           role="group"
   159 +           noautofocus="true"
   167 +           noautofocus="true"
   160 +           hidden="true"
   168 +           hidden="true"
   161 +           flip="none"
   169 +           flip="none"
   162 +           level="parent"
   170 +           level="parent"
   163 +           overflowpadding="15" />
   171 +           overflowpadding="15" />
   296 +                     oncommand="SidebarUI.show('viewHistorySidebar');">
   304 +                     oncommand="SidebarUI.show('viewHistorySidebar');">
   297 +        <observes element="viewHistorySidebar" attribute="checked"/>
   305 +        <observes element="viewHistorySidebar" attribute="checked"/>
   298 +      </toolbarbutton>
   306 +      </toolbarbutton>
   299 +      <toolbarbutton id="sidebar-switcher-tabs"
   307 +      <toolbarbutton id="sidebar-switcher-tabs"
   300 +                     label="&syncedTabs.sidebar.label;"
   308 +                     label="&syncedTabs.sidebar.label;"
   301 +                     class="subviewbutton subviewbutton-iconic"
   309 +                     class="subviewbutton subviewbutton-iconic sync-ui-item"
   302 +                     observes="viewTabsSidebar"
   310 +                     observes="viewTabsSidebar"
   303 +                     oncommand="SidebarUI.show('viewTabsSidebar');">
   311 +                     oncommand="SidebarUI.show('viewTabsSidebar');">
   304 +        <observes element="viewTabsSidebar" attribute="checked"/>
   312 +        <observes element="viewTabsSidebar" attribute="checked"/>
   305 +      </toolbarbutton>
   313 +      </toolbarbutton>
   306 +      <toolbarseparator/>
   314 +      <toolbarseparator/>
   497 +
   505 +
   498 +#include popup-notifications.inc
   506 +#include popup-notifications.inc
   499 +
   507 +
   500 +#include ../../components/customizableui/content/panelUI.inc.xul
   508 +#include ../../components/customizableui/content/panelUI.inc.xul
   501 +#include ../../components/controlcenter/content/panel.inc.xul
   509 +#include ../../components/controlcenter/content/panel.inc.xul
       
   510 +#include ../../components/downloads/content/downloadsPanel.inc.xul
   502 +
   511 +
   503 +    <hbox id="downloads-animation-container" mousethrough="always">
   512 +    <hbox id="downloads-animation-container" mousethrough="always">
   504 +      <vbox id="downloads-notification-anchor" hidden="true">
   513 +      <vbox id="downloads-notification-anchor" hidden="true">
   505 +        <vbox id="downloads-indicator-notification"/>
   514 +        <vbox id="downloads-indicator-notification"/>
   506 +      </vbox>
   515 +      </vbox>
   583 +#ifdef CAN_DRAW_IN_TITLEBAR
   592 +#ifdef CAN_DRAW_IN_TITLEBAR
   584 +<vbox id="titlebar">
   593 +<vbox id="titlebar">
   585 +  <hbox id="titlebar-content">
   594 +  <hbox id="titlebar-content">
   586 +    <spacer id="titlebar-spacer" flex="1"/>
   595 +    <spacer id="titlebar-spacer" flex="1"/>
   587 +    <hbox id="titlebar-buttonbox-container">
   596 +    <hbox id="titlebar-buttonbox-container">
   588 +      <hbox id="titlebar-buttonbox">
   597 +      <hbox id="titlebar-buttonbox" class="titlebar-color">
   589 +        <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
   598 +        <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
   590 +        <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
   599 +        <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
   591 +        <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
   600 +        <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
   592 +      </hbox>
   601 +      </hbox>
   593 +    </hbox>
   602 +    </hbox>
   604 +</vbox>
   613 +</vbox>
   605 +#endif
   614 +#endif
   606 +
   615 +
   607 +  <toolbox id="navigator-toolbox">
   616 +  <toolbox id="navigator-toolbox">
   608 +    <!-- Menu -->
   617 +    <!-- Menu -->
   609 +    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
   618 +    <toolbar type="menubar" id="toolbar-menubar"
       
   619 +             class="chromeclass-menubar titlebar-color"
       
   620 +             customizable="true"
   610 +             mode="icons"
   621 +             mode="icons"
   611 +#ifdef MENUBAR_CAN_AUTOHIDE
   622 +#ifdef MENUBAR_CAN_AUTOHIDE
   612 +             toolbarname="&menubarCmd.label;"
   623 +             toolbarname="&menubarCmd.label;"
   613 +             accesskey="&menubarCmd.accesskey;"
   624 +             accesskey="&menubarCmd.accesskey;"
   614 +             autohide="true"
   625 +             autohide="true"
   621 +      </toolbaritem>
   632 +      </toolbaritem>
   622 +
   633 +
   623 +#ifdef CAN_DRAW_IN_TITLEBAR
   634 +#ifdef CAN_DRAW_IN_TITLEBAR
   624 +#ifndef XP_MACOSX
   635 +#ifndef XP_MACOSX
   625 +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
   636 +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
   626 +            persist="width"
       
   627 +            skipintoolbarset="true"/>
   637 +            skipintoolbarset="true"/>
   628 +#endif
   638 +#endif
   629 +#endif
   639 +#endif
   630 +    </toolbar>
   640 +    </toolbar>
   631 +
   641 +
   632 +    <toolbar id="TabsToolbar"
   642 +    <toolbar id="TabsToolbar"
       
   643 +             class="titlebar-color"
   633 +             fullscreentoolbar="true"
   644 +             fullscreentoolbar="true"
   634 +             customizable="true"
   645 +             customizable="true"
   635 +             mode="icons"
   646 +             mode="icons"
   636 +             aria-label="&tabsToolbar.label;"
   647 +             aria-label="&tabsToolbar.label;"
   637 +             context="toolbar-context-menu"
   648 +             context="toolbar-context-menu"
   641 +      <hbox class="titlebar-placeholder" type="pre-tabs"
   652 +      <hbox class="titlebar-placeholder" type="pre-tabs"
   642 +            skipintoolbarset="true"/>
   653 +            skipintoolbarset="true"/>
   643 +#endif
   654 +#endif
   644 +
   655 +
   645 +      <tabs id="tabbrowser-tabs"
   656 +      <tabs id="tabbrowser-tabs"
   646 +            tabbrowser="content"
       
   647 +            flex="1"
   657 +            flex="1"
   648 +            setfocus="false"
   658 +            setfocus="false"
   649 +            tooltip="tabbrowser-tab-tooltip"
   659 +            tooltip="tabbrowser-tab-tooltip"
   650 +            stopwatchid="FX_TAB_CLICK_MS">
   660 +            stopwatchid="FX_TAB_CLICK_MS">
   651 +        <tab class="tabbrowser-tab" selected="true" visuallyselected="true" fadein="true"/>
   661 +        <tab class="tabbrowser-tab" selected="true" visuallyselected="true" fadein="true"/>
   696 +              aria-live="polite" skipintoolbarset="true"/>
   706 +              aria-live="polite" skipintoolbarset="true"/>
   697 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"
   707 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"
   698 +            ordinal="1000"/>
   708 +            ordinal="1000"/>
   699 +#ifdef CAN_DRAW_IN_TITLEBAR
   709 +#ifdef CAN_DRAW_IN_TITLEBAR
   700 +      <hbox class="titlebar-placeholder" type="caption-buttons"
   710 +      <hbox class="titlebar-placeholder" type="caption-buttons"
   701 +            persist="width"
       
   702 +#ifndef XP_MACOSX
   711 +#ifndef XP_MACOSX
   703 +            ordinal="1000"
   712 +            ordinal="1000"
   704 +#endif
   713 +#endif
   705 +            skipintoolbarset="true"/>
   714 +            skipintoolbarset="true"/>
   706 +
   715 +
   707 +#ifdef XP_MACOSX
   716 +#ifdef XP_MACOSX
   708 +      <hbox class="titlebar-placeholder" type="fullscreen-button"
   717 +      <hbox class="titlebar-placeholder" type="fullscreen-button"
   709 +            persist="width"
       
   710 +            skipintoolbarset="true"/>
   718 +            skipintoolbarset="true"/>
   711 +#endif
   719 +#endif
   712 +#endif
   720 +#endif
   713 +    </toolbar>
   721 +    </toolbar>
   714 +
   722 +
   775 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
   783 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
   776 +                     removable="false"
   784 +                     removable="false"
   777 +                     class="chromeclass-location" overflows="false">
   785 +                     class="chromeclass-location" overflows="false">
   778 +            <textbox id="urlbar" flex="1"
   786 +            <textbox id="urlbar" flex="1"
   779 +                     placeholder="&urlbar.placeholder2;"
   787 +                     placeholder="&urlbar.placeholder2;"
       
   788 +                     focused="true"
   780 +                     type="autocomplete"
   789 +                     type="autocomplete"
   781 +                     autocompletesearch="unifiedcomplete"
   790 +                     autocompletesearch="unifiedcomplete"
   782 +                     autocompletesearchparam="enable-actions"
   791 +                     autocompletesearchparam="enable-actions"
   783 +                     autocompletepopup="PopupAutoCompleteRichResult"
   792 +                     autocompletepopup="PopupAutoCompleteRichResult"
   784 +                     completeselectedindex="true"
   793 +                     completeselectedindex="true"
   785 +                     shrinkdelay="250"
   794 +                     shrinkdelay="250"
   786 +                     tabscrolling="true"
   795 +                     tabscrolling="true"
   787 +                     showcommentcolumn="true"
       
   788 +                     showimagecolumn="true"
       
   789 +                     newlines="stripsurroundingwhitespace"
   796 +                     newlines="stripsurroundingwhitespace"
   790 +                     ontextentered="this.handleCommand(param);"
   797 +                     ontextentered="this.handleCommand(param);"
   791 +                     ontextreverted="return this.handleRevert();"
   798 +                     ontextreverted="return this.handleRevert();"
   792 +                     pageproxystate="invalid">
   799 +                     pageproxystate="invalid">
   793 +              <!-- Use onclick instead of normal popup= syntax since the popup
   800 +              <!-- Use onclick instead of normal popup= syntax since the popup
   818 +                         tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/>
   825 +                         tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/>
   819 +                  <image data-permission-id="popup" class="blocked-permission-icon popup-icon" role="button"
   826 +                  <image data-permission-id="popup" class="blocked-permission-icon popup-icon" role="button"
   820 +                         tooltiptext="&urlbar.popupBlocked.tooltip;"/>
   827 +                         tooltiptext="&urlbar.popupBlocked.tooltip;"/>
   821 +                  <image data-permission-id="canvas" class="blocked-permission-icon canvas-icon" role="button"
   828 +                  <image data-permission-id="canvas" class="blocked-permission-icon canvas-icon" role="button"
   822 +                         tooltiptext="&urlbar.canvasBlocked.tooltip;"/>
   829 +                         tooltiptext="&urlbar.canvasBlocked.tooltip;"/>
       
   830 +                  <image data-permission-id="plugin:flash" class="blocked-permission-icon plugin-icon" role="button"
       
   831 +                         tooltiptext="&urlbar.flashPluginBlocked.tooltip;"/>
       
   832 +                  <image data-permission-id="midi" class="blocked-permission-icon midi-icon" role="button"
       
   833 +                         tooltiptext="&urlbar.midiBlocked.tooltip;"/>
   823 +                </box>
   834 +                </box>
   824 +                <box id="notification-popup-box"
   835 +                <box id="notification-popup-box"
   825 +                     hidden="true"
   836 +                     hidden="true"
   826 +                     onmouseover="document.getElementById('identity-box').classList.add('no-hover');"
   837 +                     onmouseover="document.getElementById('identity-box').classList.add('no-hover');"
   827 +                     onmouseout="document.getElementById('identity-box').classList.remove('no-hover');"
   838 +                     onmouseout="document.getElementById('identity-box').classList.remove('no-hover');"
   859 +                         tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
   870 +                         tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
   860 +                  <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
   871 +                  <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
   861 +                         tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
   872 +                         tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
   862 +                  <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
   873 +                  <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
   863 +                         tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
   874 +                         tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
       
   875 +                  <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
       
   876 +                         tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
       
   877 +                  <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
       
   878 +                         tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
   864 +                </box>
   879 +                </box>
   865 +                <image id="connection-icon"/>
   880 +                <image id="connection-icon"/>
   866 +                <image id="extension-icon"/>
   881 +                <image id="extension-icon"/>
   867 +                <image id="remote-control-icon"
   882 +                <image id="remote-control-icon"
   868 +                       tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
   883 +                       tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
   880 +                  <label id="userContext-label"/>
   895 +                  <label id="userContext-label"/>
   881 +                  <image id="userContext-indicator"/>
   896 +                  <image id="userContext-indicator"/>
   882 +                </hbox>
   897 +                </hbox>
   883 +                <image id="reader-mode-button"
   898 +                <image id="reader-mode-button"
   884 +                       class="urlbar-icon urlbar-page-action"
   899 +                       class="urlbar-icon urlbar-page-action"
       
   900 +                       tooltip="dynamic-shortcut-tooltip"
   885 +                       role="button"
   901 +                       role="button"
   886 +                       hidden="true"
   902 +                       hidden="true"
   887 +                       onclick="ReaderParent.buttonClick(event);"/>
   903 +                       onclick="ReaderParent.buttonClick(event);"/>
   888 +                <toolbarbutton id="urlbar-zoom-button"
   904 +                <toolbarbutton id="urlbar-zoom-button"
   889 +                       onclick="FullZoom.reset();"
   905 +                       onclick="FullZoom.reset();"
   928 +                       label="&downloads.label;"
   944 +                       label="&downloads.label;"
   929 +                       removable="true"
   945 +                       removable="true"
   930 +                       overflows="false"
   946 +                       overflows="false"
   931 +                       cui-areatype="toolbar"
   947 +                       cui-areatype="toolbar"
   932 +                       hidden="true"
   948 +                       hidden="true"
   933 +                       tooltip="dynamic-shortcut-tooltip"/>
   949 +                       tooltip="dynamic-shortcut-tooltip"
       
   950 +                       indicator="true">
       
   951 +            <!-- The panel's anchor area is smaller than the outer button, but must
       
   952 +                 always be visible and must not move or resize when the indicator
       
   953 +                 state changes, otherwise the panel could change its position or lose
       
   954 +                 its arrow unexpectedly. -->
       
   955 +            <stack id="downloads-indicator-anchor"
       
   956 +                   consumeanchor="downloads-button">
       
   957 +              <box id="downloads-indicator-icon"/>
       
   958 +              <stack id="downloads-indicator-progress-outer">
       
   959 +                <box id="downloads-indicator-progress-inner"/>
       
   960 +              </stack>
       
   961 +            </stack>
       
   962 +          </toolbarbutton>
   934 +
   963 +
   935 +        <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
   964 +        <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
   936 +                       removable="true"
   965 +                       removable="true"
   937 +                       onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);"
   966 +                       onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);"
   938 +                       closemenu="none"
   967 +                       closemenu="none"
  1194 +      </vbox>
  1223 +      </vbox>
  1195 +
  1224 +
  1196 +      <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
  1225 +      <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
  1197 +      <vbox id="appcontent" flex="1">
  1226 +      <vbox id="appcontent" flex="1">
  1198 +        <notificationbox id="high-priority-global-notificationbox" notificationside="top"/>
  1227 +        <notificationbox id="high-priority-global-notificationbox" notificationside="top"/>
  1199 +        <tabbrowser id="content"
  1228 +        <tabbox id="tabbrowser-tabbox"
  1200 +                    flex="1" contenttooltip="aHTMLTooltip"
  1229 +                    flex="1" eventnode="document" tabcontainer="tabbrowser-tabs"
  1201 +                    tabcontainer="tabbrowser-tabs"
  1230 +                    onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
  1202 +                    contentcontextmenu="contentAreaContextMenu"
  1231 +          <tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
  1203 +                    autocompletepopup="PopupAutoComplete"
  1232 +            <notificationbox flex="1" notificationside="top">
  1204 +                    selectmenulist="ContentSelectDropdown"
  1233 +              <hbox flex="1" class="browserSidebarContainer">
  1205 +                    datetimepicker="DateTimePickerPanel"/>
  1234 +                <vbox flex="1" class="browserContainer">
       
  1235 +                  <stack flex="1" class="browserStack">
       
  1236 +                    <browser id="tabbrowser-initialBrowser" type="content"
       
  1237 +                             message="true" messagemanagergroup="browsers"
       
  1238 +                             primary="true" blank="true"
       
  1239 +                             tooltip="aHTMLTooltip"
       
  1240 +                             contextmenu="contentAreaContextMenu"
       
  1241 +                             autocompletepopup="PopupAutoComplete"
       
  1242 +                             selectmenulist="ContentSelectDropdown"
       
  1243 +                             datetimepicker="DateTimePickerPanel"/>
       
  1244 +                  </stack>
       
  1245 +                </vbox>
       
  1246 +              </hbox>
       
  1247 +            </notificationbox>
       
  1248 +          </tabpanels>
       
  1249 +        </tabbox>
  1206 +      </vbox>
  1250 +      </vbox>
  1207 +      <vbox id="browser-border-end" hidden="true" layer="true"/>
  1251 +      <vbox id="browser-border-end" hidden="true" layer="true"/>
  1208 +    </hbox>
  1252 +    </hbox>
  1209 +#include ../../components/customizableui/content/customizeMode.inc.xul
  1253 +#include ../../components/customizableui/content/customizeMode.inc.xul
  1210 +  </deck>
  1254 +  </deck>
  1245 +
  1289 +
  1246 +</window>
  1290 +</window>
  1247 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1291 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1248 --- a/browser/base/jar.mn
  1292 --- a/browser/base/jar.mn
  1249 +++ b/browser/base/jar.mn
  1293 +++ b/browser/base/jar.mn
  1250 @@ -45,16 +45,18 @@ browser.jar:
  1294 @@ -42,16 +42,18 @@ browser.jar:
  1251          content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)
  1295          content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)
  1252          content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)
  1296          content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)
  1253          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1297          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1254          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1298          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1255          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1299          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1327      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1371      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1328  #endif
  1372  #endif
  1329 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1373 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1330 --- a/browser/components/preferences/in-content/main.js
  1374 --- a/browser/components/preferences/in-content/main.js
  1331 +++ b/browser/components/preferences/in-content/main.js
  1375 +++ b/browser/components/preferences/in-content/main.js
  1332 @@ -330,16 +330,23 @@ var gMainPane = {
  1376 @@ -333,16 +333,23 @@ var gMainPane = {
  1333            this._backoffIndex++ : backoffTimes.length - 1]);
  1377            this._backoffIndex++ : backoffTimes.length - 1]);
  1334        };
  1378        };
  1335  
  1379  
  1336        window.setTimeout(() => {
  1380        window.setTimeout(() => {
  1337          window.requestIdleCallback(pollForDefaultBrowser);
  1381          window.requestIdleCallback(pollForDefaultBrowser);
  1351      let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
  1395      let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
  1352      let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
  1396      let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
  1353      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  1397      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  1354  
  1398  
  1355      this.updateDefaultPerformanceSettingsPref();
  1399      this.updateDefaultPerformanceSettingsPref();
  1356 @@ -1035,16 +1042,27 @@ var gMainPane = {
  1400 @@ -1060,16 +1067,27 @@ var gMainPane = {
  1357        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
  1401        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
  1358        this._backoffIndex = 0;
  1402        this._backoffIndex = 0;
  1359  
  1403  
  1360        let shellSvc = getShellService();
  1404        let shellSvc = getShellService();
  1361        if (!shellSvc)
  1405        if (!shellSvc)
  1695 +
  1739 +
  1696 +#endif // nsunixshellservice_h____
  1740 +#endif // nsunixshellservice_h____
  1697 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1741 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1698 --- a/browser/installer/package-manifest.in
  1742 --- a/browser/installer/package-manifest.in
  1699 +++ b/browser/installer/package-manifest.in
  1743 +++ b/browser/installer/package-manifest.in
  1700 @@ -649,16 +649,18 @@
  1744 @@ -646,16 +646,18 @@
  1701  @RESPATH@/browser/defaults/blocklists
  1745  @RESPATH@/browser/defaults/blocklists
  1702  @RESPATH@/browser/defaults/pinning
  1746  @RESPATH@/browser/defaults/pinning
  1703  
  1747  
  1704  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1748  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1705  ; Technically this is an app pref file, but we are keeping it in the original
  1749  ; Technically this is an app pref file, but we are keeping it in the original