firefox-kde.patch
changeset 934 b61e849fe451
parent 932 a58cc7936ce7
child 935 9ae2b79d3bb1
equal deleted inserted replaced
923:3cc9f17ca9bb 934:b61e849fe451
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  07e419c2bbc63c486d25fd8ce117abd10e9ebdba
     2 # Parent  2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc
     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,1174 @@
     8 @@ -0,0 +1,1200 @@
     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/places/places.css" type="text/css"?>
    18 +<?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"?>
    19 +<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.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/panelUIOverlay.css" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    23 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    23 +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
    24 +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
    24 +
    25 +
    25 +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
    26 +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
    26 +<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
    27 +<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
   109 +      <menuitem id="context_openNonRemoteWindow" label="Open in new non-e10s window"
   110 +      <menuitem id="context_openNonRemoteWindow" label="Open in new non-e10s window"
   110 +                tbattr="tabbrowser-remote"
   111 +                tbattr="tabbrowser-remote"
   111 +                hidden="true"
   112 +                hidden="true"
   112 +                oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
   113 +                oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
   113 +#endif
   114 +#endif
       
   115 +      <menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
       
   116 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
       
   117 +            accesskey="&sendTabToDevice.accesskey;" hidden="true">
       
   118 +        <menupopup id="context_sendTabToDevicePopupMenu"
       
   119 +                   onpopupshowing="gFxAccounts.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
       
   120 +      </menu>
   114 +      <menuseparator/>
   121 +      <menuseparator/>
   115 +      <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
   122 +      <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
   116 +                tbattr="tabbrowser-multiple-visible"
   123 +                tbattr="tabbrowser-multiple-visible"
   117 +                oncommand="gBrowser.reloadAllTabs();"/>
   124 +                oncommand="gBrowser.reloadAllTabs();"/>
   118 +      <menuitem id="context_bookmarkAllTabs"
   125 +      <menuitem id="context_bookmarkAllTabs"
   293 +           hidden="true"
   300 +           hidden="true"
   294 +           flip="slide"
   301 +           flip="slide"
   295 +           rolluponmousewheel="true"
   302 +           rolluponmousewheel="true"
   296 +           noautofocus="true"
   303 +           noautofocus="true"
   297 +           position="topcenter topright"/>
   304 +           position="topcenter topright"/>
   298 +
       
   299 +    <panel id="loop-notification-panel"
       
   300 +           class="loop-panel social-panel"
       
   301 +           type="arrow"
       
   302 +           hidden="true"
       
   303 +           noautofocus="true"/>
       
   304 +
       
   305 +    <panel id="loop-panel"
       
   306 +           class="loop-panel social-panel"
       
   307 +           type="arrow"
       
   308 +           orient="horizontal"
       
   309 +           hidden="true"/>
       
   310 +
   305 +
   311 +    <menupopup id="toolbar-context-menu"
   306 +    <menupopup id="toolbar-context-menu"
   312 +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
   307 +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
   313 +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
   308 +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
   314 +                accesskey="&customizeMenu.moveToPanel.accesskey;"
   309 +                accesskey="&customizeMenu.moveToPanel.accesskey;"
   386 +                              gContextMenu = null;
   381 +                              gContextMenu = null;
   387 +                              updateEditUIVisibility();">
   382 +                              updateEditUIVisibility();">
   388 +#include browser-context.inc
   383 +#include browser-context.inc
   389 +    </menupopup>
   384 +    </menupopup>
   390 +
   385 +
   391 +    <menupopup id="placesContext"/>
   386 +    <menupopup id="placesContext">
   392 +
   387 +      <menuseparator id="placesContext_recentlyBookmarkedSeparator"
   393 +    <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">
   388 +                     ignoreitem="true"
       
   389 +                     hidden="true"/>
       
   390 +      <menuitem id="placesContext_hideRecentlyBookmarked"
       
   391 +                label="&hideRecentlyBookmarked.label;"
       
   392 +                accesskey="&hideRecentlyBookmarked.accesskey;"
       
   393 +                oncommand="BookmarkingUI.hideRecentlyBookmarked();"
       
   394 +                closemenu="single"
       
   395 +                ignoreitem="true"
       
   396 +                hidden="true"/>
       
   397 +      <menuitem id="placesContext_showRecentlyBookmarked"
       
   398 +                label="&showRecentlyBookmarked.label;"
       
   399 +                accesskey="&showRecentlyBookmarked.accesskey;"
       
   400 +                oncommand="BookmarkingUI.showRecentlyBookmarked();"
       
   401 +                closemenu="single"
       
   402 +                ignoreitem="true"
       
   403 +                hidden="true"/>
       
   404 +    </menupopup>
       
   405 +
       
   406 +    <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
   394 +      <hbox>
   407 +      <hbox>
   395 +        <button class="ctrlTab-preview" flex="1"/>
   408 +        <button class="ctrlTab-preview" flex="1"/>
   396 +        <button class="ctrlTab-preview" flex="1"/>
   409 +        <button class="ctrlTab-preview" flex="1"/>
   397 +        <button class="ctrlTab-preview" flex="1"/>
   410 +        <button class="ctrlTab-preview" flex="1"/>
   398 +        <button class="ctrlTab-preview" flex="1"/>
   411 +        <button class="ctrlTab-preview" flex="1"/>
   399 +        <button class="ctrlTab-preview" flex="1"/>
   412 +        <button class="ctrlTab-preview" flex="1"/>
   400 +        <button class="ctrlTab-preview" flex="1"/>
   413 +        <button class="ctrlTab-preview" flex="1"/>
   401 +      </hbox>
   414 +      </hbox>
   402 +      <hbox pack="center">
   415 +      <hbox pack="center">
   403 +        <button id="ctrlTab-showAll" class="ctrlTab-preview" noicon="true"/>
   416 +        <button id="ctrlTab-showAll" class="ctrlTab-preview" noicon="true"/>
   404 +      </hbox>
       
   405 +    </panel>
       
   406 +
       
   407 +    <!-- Sync Panel -->
       
   408 +    <panel id="sync-start-panel" class="sync-panel" type="arrow" hidden="true"
       
   409 +           noautofocus="true" onclick="this.hidePopup();"
       
   410 +           flip="slide">
       
   411 +      <hbox class="sync-panel-outer">
       
   412 +        <image class="sync-panel-icon"/>
       
   413 +        <vbox class="sync-panel-inner">
       
   414 +          <description id="sync-start-panel-title"
       
   415 +                       value="&syncStartPanel2.heading;"/>
       
   416 +          <description id="sync-start-panel-subtitle"
       
   417 +                       value="&syncStartPanel2.subTitle;"/>
       
   418 +        </vbox>
       
   419 +      </hbox>
   417 +      </hbox>
   420 +    </panel>
   418 +    </panel>
   421 +
   419 +
   422 +    <!-- Bookmarks and history tooltip -->
   420 +    <!-- Bookmarks and history tooltip -->
   423 +    <tooltip id="bhTooltip"/>
   421 +    <tooltip id="bhTooltip"/>
   556 +<vbox flex="1" id="browser-panel">
   554 +<vbox flex="1" id="browser-panel">
   557 +
   555 +
   558 +  <toolbox id="navigator-toolbox" mode="icons">
   556 +  <toolbox id="navigator-toolbox" mode="icons">
   559 +    <!-- Menu -->
   557 +    <!-- Menu -->
   560 +    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
   558 +    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
   561 +             defaultset="menubar-items"
       
   562 +             mode="icons" iconsize="small"
   559 +             mode="icons" iconsize="small"
   563 +#ifdef MENUBAR_CAN_AUTOHIDE
   560 +#ifdef MENUBAR_CAN_AUTOHIDE
   564 +             toolbarname="&menubarCmd.label;"
   561 +             toolbarname="&menubarCmd.label;"
   565 +             accesskey="&menubarCmd.accesskey;"
   562 +             accesskey="&menubarCmd.accesskey;"
   566 +#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
   563 +#if defined(MOZ_WIDGET_GTK)
   567 +             autohide="true"
   564 +             autohide="true"
   568 +#endif
   565 +#endif
   569 +#endif
   566 +#endif
   570 +             context="toolbar-context-menu">
   567 +             context="toolbar-context-menu">
   571 +      <toolbaritem id="menubar-items" align="center">
   568 +      <toolbaritem id="menubar-items" align="center">
   588 +             customizable="true"
   585 +             customizable="true"
   589 +             mode="icons"
   586 +             mode="icons"
   590 +             iconsize="small"
   587 +             iconsize="small"
   591 +             aria-label="&tabsToolbar.label;"
   588 +             aria-label="&tabsToolbar.label;"
   592 +             context="toolbar-context-menu"
   589 +             context="toolbar-context-menu"
   593 +             defaultset="tabbrowser-tabs,new-tab-button,alltabs-button"
       
   594 +             collapsed="true">
   590 +             collapsed="true">
   595 +
   591 +
   596 +#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
   592 +#if defined(MOZ_WIDGET_GTK)
   597 +      <hbox id="private-browsing-indicator"
   593 +      <hbox id="private-browsing-indicator"
   598 +            skipintoolbarset="true"/>
   594 +            skipintoolbarset="true"/>
   599 +#endif
   595 +#endif
   600 +
   596 +
   601 +      <tabs id="tabbrowser-tabs"
   597 +      <tabs id="tabbrowser-tabs"
   632 +          <menuitem id="alltabs_undoCloseTab"
   628 +          <menuitem id="alltabs_undoCloseTab"
   633 +                    class="menuitem-iconic"
   629 +                    class="menuitem-iconic"
   634 +                    key="key_undoCloseTab"
   630 +                    key="key_undoCloseTab"
   635 +                    label="&undoCloseTab.label;"
   631 +                    label="&undoCloseTab.label;"
   636 +                    observes="History:UndoCloseTab"/>
   632 +                    observes="History:UndoCloseTab"/>
   637 +          <menuseparator id="alltabs-popup-separator"/>
   633 +          <menuseparator id="alltabs-popup-separator-1"/>
       
   634 +          <menu id="alltabs_containersTab"
       
   635 +                label="&newUserContext.label;">
       
   636 +            <menupopup id="alltabs_containersMenuTab" />
       
   637 +          </menu>
       
   638 +          <menuseparator id="alltabs-popup-separator-2"/>
   638 +        </menupopup>
   639 +        </menupopup>
   639 +      </toolbarbutton>
   640 +      </toolbarbutton>
   640 +
   641 +
   641 +#if !defined(MOZ_WIDGET_GTK) && !defined(MOZ_WIDGET_QT)
   642 +#if !defined(MOZ_WIDGET_GTK)
   642 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
   643 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
   643 +#endif
   644 +#endif
   644 +#ifdef CAN_DRAW_IN_TITLEBAR
   645 +#ifdef CAN_DRAW_IN_TITLEBAR
   645 +      <hbox class="titlebar-placeholder" type="caption-buttons"
   646 +      <hbox class="titlebar-placeholder" type="caption-buttons"
   646 +            id="titlebar-placeholder-on-TabsToolbar-for-captions-buttons" persist="width"
   647 +            id="titlebar-placeholder-on-TabsToolbar-for-captions-buttons" persist="width"
   655 +            skipintoolbarset="true"/>
   656 +            skipintoolbarset="true"/>
   656 +#endif
   657 +#endif
   657 +#endif
   658 +#endif
   658 +    </toolbar>
   659 +    </toolbar>
   659 +
   660 +
   660 +    <!--
       
   661 +           CAVEAT EMPTOR
       
   662 +           Should you need to add items to the toolbar here, make sure to also add them
       
   663 +           to the default placements of buttons in CustomizableUI.jsm, so the
       
   664 +           customization code doesn't get confused.
       
   665 +      -->
       
   666 +    <toolbar id="nav-bar"
   661 +    <toolbar id="nav-bar"
   667 +             aria-label="&navbarCmd.label;"
   662 +             aria-label="&navbarCmd.label;"
   668 +             fullscreentoolbar="true" mode="icons" customizable="true"
   663 +             fullscreentoolbar="true" mode="icons" customizable="true"
   669 +             iconsize="small"
   664 +             iconsize="small"
   670 +#ifdef MOZ_DEV_EDITION
       
   671 +             defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,downloads-button,home-button,loop-button"
       
   672 +#else
       
   673 +             defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,loop-button"
       
   674 +#endif
       
   675 +             customizationtarget="nav-bar-customization-target"
   665 +             customizationtarget="nav-bar-customization-target"
   676 +             overflowable="true"
   666 +             overflowable="true"
   677 +             overflowbutton="nav-bar-overflow-button"
   667 +             overflowbutton="nav-bar-overflow-button"
   678 +             overflowtarget="widget-overflow-list"
   668 +             overflowtarget="widget-overflow-list"
   679 +             overflowpanel="widget-overflow"
   669 +             overflowpanel="widget-overflow"
   713 +                     ontextentered="this.handleCommand(param);"
   703 +                     ontextentered="this.handleCommand(param);"
   714 +                     ontextreverted="return this.handleRevert();"
   704 +                     ontextreverted="return this.handleRevert();"
   715 +                     pageproxystate="invalid"
   705 +                     pageproxystate="invalid"
   716 +                     onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
   706 +                     onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
   717 +                     onblur="setTimeout(() => { document.getElementById('identity-box').style.MozUserFocus = ''; }, 0);">
   707 +                     onblur="setTimeout(() => { document.getElementById('identity-box').style.MozUserFocus = ''; }, 0);">
   718 +              <box id="notification-popup-box" hidden="true" align="center">
       
   719 +                <image id="default-notification-icon" class="notification-anchor-icon" role="button"
       
   720 +                       aria-label="&urlbar.defaultNotificationAnchor.label;"/>
       
   721 +                <image id="geo-notification-icon" class="notification-anchor-icon" role="button"
       
   722 +                       aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
       
   723 +                <image id="addons-notification-icon" class="notification-anchor-icon" role="button"
       
   724 +                       aria-label="&urlbar.addonsNotificationAnchor.label;"/>
       
   725 +                <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"
       
   726 +                       aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
       
   727 +                <image id="login-fill-notification-icon" class="notification-anchor-icon" role="button"
       
   728 +                       aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
       
   729 +                <image id="password-notification-icon" class="notification-anchor-icon" role="button"
       
   730 +                       aria-label="&urlbar.passwordNotificationAnchor.label;"/>
       
   731 +                <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
       
   732 +                       aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
       
   733 +                <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
       
   734 +                       aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
       
   735 +                <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
       
   736 +                       aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
       
   737 +                <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
       
   738 +                       aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
       
   739 +                <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"
       
   740 +                       aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
       
   741 +                <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"
       
   742 +                       aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
       
   743 +                <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon" role="button"
       
   744 +                       aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
       
   745 +                <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon" role="button"
       
   746 +                       aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
       
   747 +                <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"
       
   748 +                       aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
       
   749 +                <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"
       
   750 +                       aria-label="&urlbar.servicesNotificationAnchor.label;"/>
       
   751 +                <image id="translate-notification-icon" class="notification-anchor-icon" role="button"
       
   752 +                       aria-label="&urlbar.translateNotificationAnchor.label;"/>
       
   753 +                <image id="translated-notification-icon" class="notification-anchor-icon" role="button"
       
   754 +                       aria-label="&urlbar.translatedNotificationAnchor.label;"/>
       
   755 +                <image id="eme-notification-icon" class="notification-anchor-icon" role="button"
       
   756 +                       aria-label="&urlbar.emeNotificationAnchor.label;"/>
       
   757 +              </box>
       
   758 +              <!-- Use onclick instead of normal popup= syntax since the popup
   708 +              <!-- Use onclick instead of normal popup= syntax since the popup
   759 +                   code fires onmousedown, and hence eats our favicon drag events.
   709 +                   code fires onmousedown, and hence eats our favicon drag events.
   760 +                   We only add the identity-box button to the tab order when the location bar
   710 +                   We only add the identity-box button to the tab order when the location bar
   761 +                   has focus, otherwise pressing F6 focuses it instead of the location bar -->
   711 +                   has focus, otherwise pressing F6 focuses it instead of the location bar -->
   762 +              <box id="identity-box" role="button"
   712 +              <box id="identity-box" role="button"
   766 +                   onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
   716 +                   onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
   767 +                   ondragstart="gIdentityHandler.onDragStart(event);">
   717 +                   ondragstart="gIdentityHandler.onDragStart(event);">
   768 +                <image id="identity-icon"
   718 +                <image id="identity-icon"
   769 +                       consumeanchor="identity-box"
   719 +                       consumeanchor="identity-box"
   770 +                       onclick="PageProxyClickHandler(event);"/>
   720 +                       onclick="PageProxyClickHandler(event);"/>
       
   721 +                <box id="blocked-permissions-container" align="center" tooltiptext="">
       
   722 +                  <image data-permission-id="geo" class="notification-anchor-icon geo-icon blocked" role="button"
       
   723 +                         aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
       
   724 +                  <image data-permission-id="desktop-notification" class="notification-anchor-icon desktop-notification-icon blocked" role="button"
       
   725 +                         aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
       
   726 +                  <image data-permission-id="camera" class="notification-anchor-icon camera-icon blocked" role="button"
       
   727 +                         aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
       
   728 +                  <image data-permission-id="indexedDB" class="notification-anchor-icon indexedDB-icon blocked" role="button"
       
   729 +                         aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
       
   730 +                  <image data-permission-id="microphone" class="notification-anchor-icon microphone-icon blocked" role="button"
       
   731 +                         aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
       
   732 +                  <image data-permission-id="screen" class="notification-anchor-icon screen-icon blocked" role="button"
       
   733 +                         aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
       
   734 +                  <image data-permission-id="pointerLock" class="notification-anchor-icon pointerLock-icon blocked" role="button"
       
   735 +                         aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
       
   736 +                </box>
       
   737 +                <box id="notification-popup-box"
       
   738 +                     hidden="true"
       
   739 +                     tooltiptext=""
       
   740 +                     onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
       
   741 +                     onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
       
   742 +                     align="center">
       
   743 +                  <image id="default-notification-icon" class="notification-anchor-icon" role="button"
       
   744 +                         aria-label="&urlbar.defaultNotificationAnchor.label;"/>
       
   745 +                  <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
       
   746 +                         aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
       
   747 +                  <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
       
   748 +                         aria-label="&urlbar.addonsNotificationAnchor.label;"/>
       
   749 +                  <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
       
   750 +                         aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
       
   751 +                  <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button"
       
   752 +                         aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
       
   753 +                  <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
       
   754 +                         aria-label="&urlbar.passwordNotificationAnchor.label;"/>
       
   755 +                  <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
       
   756 +                         aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
       
   757 +                  <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
       
   758 +                         aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
       
   759 +                  <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
       
   760 +                         aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
       
   761 +                  <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button"
       
   762 +                         aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
       
   763 +                  <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
       
   764 +                         aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
       
   765 +                  <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button"
       
   766 +                         aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
       
   767 +                  <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
       
   768 +                         aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
       
   769 +                  <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button"
       
   770 +                         aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
       
   771 +                  <image id="pointerLock-notification-icon" class="notification-anchor-icon pointerLock-icon" role="button"
       
   772 +                         aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
       
   773 +                  <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
       
   774 +                         aria-label="&urlbar.servicesNotificationAnchor.label;"/>
       
   775 +                  <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
       
   776 +                         aria-label="&urlbar.translateNotificationAnchor.label;"/>
       
   777 +                  <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
       
   778 +                         aria-label="&urlbar.translatedNotificationAnchor.label;"/>
       
   779 +                  <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
       
   780 +                         aria-label="&urlbar.emeNotificationAnchor.label;"/>
       
   781 +                </box>
   771 +                <image id="tracking-protection-icon"/>
   782 +                <image id="tracking-protection-icon"/>
   772 +                <image id="connection-icon"/>
   783 +                <image id="connection-icon"/>
   773 +                <hbox id="identity-icon-labels">
   784 +                <hbox id="identity-icon-labels">
   774 +                  <label id="identity-icon-label" class="plain" flex="1"/>
   785 +                  <label id="identity-icon-label" class="plain" flex="1"/>
   775 +                  <label id="identity-icon-country-label" class="plain"/>
   786 +                  <label id="identity-icon-country-label" class="plain"/>
   787 +                <image id="reader-mode-button"
   798 +                <image id="reader-mode-button"
   788 +                       class="urlbar-icon"
   799 +                       class="urlbar-icon"
   789 +                       hidden="true"
   800 +                       hidden="true"
   790 +                       onclick="ReaderParent.buttonClick(event);"/>
   801 +                       onclick="ReaderParent.buttonClick(event);"/>
   791 +              </hbox>
   802 +              </hbox>
   792 +              <hbox id="userContext-icons">
   803 +              <hbox id="userContext-icons" hidden="true">
   793 +                <label id="userContext-label"/>
   804 +                <label id="userContext-label"/>
   794 +                <image id="userContext-indicator"/>
   805 +                <image id="userContext-indicator"/>
   795 +              </hbox>
   806 +              </hbox>
   796 +              <toolbarbutton id="urlbar-go-button"
   807 +              <toolbarbutton id="urlbar-go-button"
   797 +                             class="chromeclass-toolbar-additional"
   808 +                             class="chromeclass-toolbar-additional"
   853 +            <menuitem id="BMB_bookmarksShowAllTop"
   864 +            <menuitem id="BMB_bookmarksShowAllTop"
   854 +                      class="menuitem-iconic subviewbutton"
   865 +                      class="menuitem-iconic subviewbutton"
   855 +                      label="&showAllBookmarks2.label;"
   866 +                      label="&showAllBookmarks2.label;"
   856 +                      command="Browser:ShowAllBookmarks"
   867 +                      command="Browser:ShowAllBookmarks"
   857 +                      key="manBookmarkKb"/>
   868 +                      key="manBookmarkKb"/>
       
   869 +            <menuseparator/>
       
   870 +            <menuitem label="&recentBookmarks.label;"
       
   871 +                      id="BMB_recentBookmarks"
       
   872 +                      disabled="true"
       
   873 +                      class="menuitem-iconic subviewbutton"/>
   858 +            <menuseparator/>
   874 +            <menuseparator/>
   859 +            <menu id="BMB_bookmarksToolbar"
   875 +            <menu id="BMB_bookmarksToolbar"
   860 +                  class="menu-iconic bookmark-item subviewbutton"
   876 +                  class="menu-iconic bookmark-item subviewbutton"
   861 +                  label="&personalbarCmd.label;"
   877 +                  label="&personalbarCmd.label;"
   862 +                  container="true">
   878 +                  container="true">
   965 +
   981 +
   966 +    <toolbar id="PersonalToolbar"
   982 +    <toolbar id="PersonalToolbar"
   967 +             mode="icons" iconsize="small"
   983 +             mode="icons" iconsize="small"
   968 +             class="chromeclass-directories"
   984 +             class="chromeclass-directories"
   969 +             context="toolbar-context-menu"
   985 +             context="toolbar-context-menu"
   970 +             defaultset="personal-bookmarks"
       
   971 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
   986 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
   972 +             collapsed="true"
   987 +             collapsed="true"
   973 +             customizable="true">
   988 +             customizable="true">
   974 +      <toolbaritem id="personal-bookmarks"
   989 +      <toolbaritem id="personal-bookmarks"
   975 +                   title="&bookmarksToolbarItem.label;"
   990 +                   title="&bookmarksToolbarItem.label;"
  1132 +      <vbox id="browser-border-end" hidden="true" layer="true"/>
  1147 +      <vbox id="browser-border-end" hidden="true" layer="true"/>
  1133 +    </hbox>
  1148 +    </hbox>
  1134 +#include ../../components/customizableui/content/customizeMode.inc.xul
  1149 +#include ../../components/customizableui/content/customizeMode.inc.xul
  1135 +  </deck>
  1150 +  </deck>
  1136 +
  1151 +
  1137 +  <html:div id="fullscreen-warning" hidden="true">
  1152 +  <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
  1138 +    <html:div id="fullscreen-domain-text">
  1153 +    <html:div class="pointerlockfswarning-domain-text">
  1139 +      &fullscreenWarning.beforeDomain.label;
  1154 +      &fullscreenWarning.beforeDomain.label;
  1140 +      <html:span id="fullscreen-domain"/>
  1155 +      <html:span class="pointerlockfswarning-domain"/>
  1141 +      &fullscreenWarning.afterDomain.label;
  1156 +      &fullscreenWarning.afterDomain.label;
  1142 +    </html:div>
  1157 +    </html:div>
  1143 +    <html:div id="fullscreen-generic-text">
  1158 +    <html:div class="pointerlockfswarning-generic-text">
  1144 +      &fullscreenWarning.generic.label;
  1159 +      &fullscreenWarning.generic.label;
  1145 +    </html:div>
  1160 +    </html:div>
  1146 +    <html:button id="fullscreen-exit-button"
  1161 +    <html:button id="fullscreen-exit-button"
  1147 +                 onclick="FullScreen.exitDomFullScreen();">
  1162 +                 onclick="FullScreen.exitDomFullScreen();">
  1148 +#ifdef XP_MACOSX
  1163 +#ifdef XP_MACOSX
  1151 +            &exitDOMFullscreen.button;
  1166 +            &exitDOMFullscreen.button;
  1152 +#endif
  1167 +#endif
  1153 +    </html:button>
  1168 +    </html:button>
  1154 +  </html:div>
  1169 +  </html:div>
  1155 +
  1170 +
       
  1171 +  <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
       
  1172 +    <html:div class="pointerlockfswarning-domain-text">
       
  1173 +      &pointerlockWarning.beforeDomain.label;
       
  1174 +      <html:span class="pointerlockfswarning-domain"/>
       
  1175 +      &pointerlockWarning.afterDomain.label;
       
  1176 +    </html:div>
       
  1177 +    <html:div class="pointerlockfswarning-generic-text">
       
  1178 +      &pointerlockWarning.generic.label;
       
  1179 +    </html:div>
       
  1180 +  </html:div>
       
  1181 +
  1156 +  <vbox id="browser-bottombox" layer="true">
  1182 +  <vbox id="browser-bottombox" layer="true">
  1157 +    <notificationbox id="global-notificationbox" notificationside="bottom"/>
  1183 +    <notificationbox id="global-notificationbox" notificationside="bottom"/>
  1158 +  </vbox>
  1184 +  </vbox>
  1159 +
  1185 +
  1160 +  <svg:svg height="0">
  1186 +  <svg:svg height="0">
  1181 +
  1207 +
  1182 +</window>
  1208 +</window>
  1183 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1209 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1184 --- a/browser/base/jar.mn
  1210 --- a/browser/base/jar.mn
  1185 +++ b/browser/base/jar.mn
  1211 +++ b/browser/base/jar.mn
  1186 @@ -69,16 +69,18 @@ browser.jar:
  1212 @@ -68,16 +68,18 @@ browser.jar:
  1187          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1213          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1188          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1214          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1189          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1215          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1190  *       content/browser/aboutTabGroupsMigration.xhtml (content/aboutTabGroupsMigration.xhtml)
  1216  *       content/browser/aboutTabGroupsMigration.xhtml (content/aboutTabGroupsMigration.xhtml)
  1191          content/browser/aboutTabGroupsMigration.js    (content/aboutTabGroupsMigration.js)
  1217          content/browser/aboutTabGroupsMigration.js    (content/aboutTabGroupsMigration.js)
  1198          content/browser/browser-ctrlTab.js            (content/browser-ctrlTab.js)
  1224          content/browser/browser-ctrlTab.js            (content/browser-ctrlTab.js)
  1199          content/browser/browser-customization.js      (content/browser-customization.js)
  1225          content/browser/browser-customization.js      (content/browser-customization.js)
  1200          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
  1226          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
  1201          content/browser/browser-devedition.js         (content/browser-devedition.js)
  1227          content/browser/browser-devedition.js         (content/browser-devedition.js)
  1202          content/browser/browser-feeds.js              (content/browser-feeds.js)
  1228          content/browser/browser-feeds.js              (content/browser-feeds.js)
  1203          content/browser/browser-fullScreen.js         (content/browser-fullScreen.js)
  1229          content/browser/browser-fullScreenAndPointerLock.js  (content/browser-fullScreenAndPointerLock.js)
  1204          content/browser/browser-fullZoom.js           (content/browser-fullZoom.js)
  1230          content/browser/browser-fullZoom.js           (content/browser-fullZoom.js)
  1205 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
  1231 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
  1206 --- a/browser/components/build/nsModule.cpp
  1232 --- a/browser/components/build/nsModule.cpp
  1207 +++ b/browser/components/build/nsModule.cpp
  1233 +++ b/browser/components/build/nsModule.cpp
  1208 @@ -8,17 +8,17 @@
  1234 @@ -8,17 +8,17 @@
  1286      // In Windows 8 we launch the control panel since it's the only
  1312      // In Windows 8 we launch the control panel since it's the only
  1287      // way to get all file type association prefs. So we don't know
  1313      // way to get all file type association prefs. So we don't know
  1288      // when the user will select the default.  We refresh here periodically
  1314      // when the user will select the default.  We refresh here periodically
  1289      // in case the default changes. On other Windows OS's defaults can also
  1315      // in case the default changes. On other Windows OS's defaults can also
  1290      // be set while the prefs are open.
  1316      // be set while the prefs are open.
  1291 @@ -736,16 +742,27 @@ var gMainPane = {
  1317 @@ -703,16 +709,27 @@ var gMainPane = {
  1292      let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
  1318      let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
  1293      alwaysCheckPref.value = true;
  1319      alwaysCheckPref.value = true;
  1294  
  1320  
  1295      let shellSvc = getShellService();
  1321      let shellSvc = getShellService();
  1296      if (!shellSvc)
  1322      if (!shellSvc)
  1629 +
  1655 +
  1630 +#endif // nsunixshellservice_h____
  1656 +#endif // nsunixshellservice_h____
  1631 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1657 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1632 --- a/browser/installer/package-manifest.in
  1658 --- a/browser/installer/package-manifest.in
  1633 +++ b/browser/installer/package-manifest.in
  1659 +++ b/browser/installer/package-manifest.in
  1634 @@ -689,16 +689,17 @@
  1660 @@ -674,16 +674,17 @@
  1635  @RESPATH@/greprefs.js
  1661  @RESPATH@/greprefs.js
  1636  @RESPATH@/defaults/autoconfig/prefcalls.js
  1662  @RESPATH@/defaults/autoconfig/prefcalls.js
  1637  @RESPATH@/browser/defaults/permissions
  1663  @RESPATH@/browser/defaults/permissions
  1638  
  1664  
  1639  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1665  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1641  ; gre location for now.
  1667  ; gre location for now.
  1642  @RESPATH@/defaults/pref/channel-prefs.js
  1668  @RESPATH@/defaults/pref/channel-prefs.js
  1643 +@BINPATH@/defaults/pref/kde.js
  1669 +@BINPATH@/defaults/pref/kde.js
  1644  
  1670  
  1645  ; Services (gre) prefs
  1671  ; Services (gre) prefs
  1646  #ifdef MOZ_SERVICES_NOTIFICATIONS
       
  1647  @RESPATH@/defaults/pref/services-notifications.js
       
  1648  #endif
       
  1649  @RESPATH@/defaults/pref/services-sync.js
  1672  @RESPATH@/defaults/pref/services-sync.js
  1650  
  1673  
  1651  ; [Layout Engine Resources]
  1674  ; [Layout Engine Resources]
       
  1675  ; Style Sheets, Graphics and other Resources used by the layout engine.
       
  1676  @RESPATH@/res/EditorOverride.css
       
  1677  @RESPATH@/res/contenteditable.css