firefox-kde.patch
changeset 985 038d048a3940
parent 982 53443ffb496a
child 986 74bc4d049531
equal deleted inserted replaced
984:98c4a3711f11 985:038d048a3940
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  2d666d6d44b2c1f6bc3e033c7e0ac94652af9fee
     2 # Parent  36e478aec136484b59a9fda90f63fa7ddc962018
     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,1149 @@
     8 @@ -0,0 +1,1306 @@
     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
    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://browser/content/usercontext/usercontext.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
       
    21 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
    20 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
    21 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
    23 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    22 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    24 +
    23 +
    25 +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
    24 +<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
    32 +
    31 +
    33 +<window id="main-window"
    32 +<window id="main-window"
    34 +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    33 +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    35 +        xmlns:svg="http://www.w3.org/2000/svg"
    34 +        xmlns:svg="http://www.w3.org/2000/svg"
    36 +        xmlns:html="http://www.w3.org/1999/xhtml"
    35 +        xmlns:html="http://www.w3.org/1999/xhtml"
       
    36 +        xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    37 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    37 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    38 +        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
    38 +        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
    39 +        title="&mainWindow.title;"
    39 +        title="&mainWindow.title;"
    40 +        title_normal="&mainWindow.title;"
    40 +        title_normal="&mainWindow.title;"
    41 +#ifdef XP_MACOSX
    41 +#ifdef XP_MACOSX
   112 +#endif
   112 +#endif
   113 +      <menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
   113 +      <menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
   114 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
   114 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
   115 +            accesskey="&sendTabToDevice.accesskey;" hidden="true">
   115 +            accesskey="&sendTabToDevice.accesskey;" hidden="true">
   116 +        <menupopup id="context_sendTabToDevicePopupMenu"
   116 +        <menupopup id="context_sendTabToDevicePopupMenu"
   117 +                   onpopupshowing="gFxAccounts.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
   117 +                   onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
   118 +      </menu>
   118 +      </menu>
   119 +      <menuseparator/>
   119 +      <menuseparator/>
   120 +      <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
   120 +      <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
   121 +                tbattr="tabbrowser-multiple-visible"
   121 +                tbattr="tabbrowser-multiple-visible"
   122 +                oncommand="gBrowser.reloadAllTabs();"/>
   122 +                oncommand="gBrowser.reloadAllTabs();"/>
   171 +    <panel id="DateTimePickerPanel"
   171 +    <panel id="DateTimePickerPanel"
   172 +           type="arrow"
   172 +           type="arrow"
   173 +           hidden="true"
   173 +           hidden="true"
   174 +           orient="vertical"
   174 +           orient="vertical"
   175 +           noautofocus="true"
   175 +           noautofocus="true"
       
   176 +           noautohide="true"
   176 +           consumeoutsideclicks="false"
   177 +           consumeoutsideclicks="false"
   177 +           level="parent"
   178 +           level="parent"
   178 +           tabspecific="true">
   179 +           tabspecific="true">
   179 +      <iframe id="dateTimePopupFrame"/>
       
   180 +    </panel>
   180 +    </panel>
   181 +
   181 +
   182 +    <!-- for select dropdowns. The menupopup is what shows the list of options,
   182 +    <!-- for select dropdowns. The menupopup is what shows the list of options,
   183 +         and the popuponly menulist makes things like the menuactive attributes
   183 +         and the popuponly menulist makes things like the menuactive attributes
   184 +         work correctly on the menupopup. ContentSelectDropdown expects the
   184 +         work correctly on the menupopup. ContentSelectDropdown expects the
   295 +                         oncommand="SocialShare.showDirectory()"/>
   295 +                         oncommand="SocialShare.showDirectory()"/>
   296 +        </arrowscrollbox>
   296 +        </arrowscrollbox>
   297 +      </hbox>
   297 +      </hbox>
   298 +      <hbox id="share-container" flex="1"/>
   298 +      <hbox id="share-container" flex="1"/>
   299 +    </panel>
   299 +    </panel>
       
   300 +    <panel id="sidebarMenu-popup"
       
   301 +           class="cui-widget-panel"
       
   302 +           role="group"
       
   303 +           type="arrow"
       
   304 +           hidden="true"
       
   305 +           flip="slide"
       
   306 +           orient="vertical"
       
   307 +           position="bottomcenter topleft">
       
   308 +      <toolbarbutton id="sidebar-switcher-bookmarks"
       
   309 +                     class="subviewbutton subviewbutton-iconic"
       
   310 +                     key="viewBookmarksSidebarKb"
       
   311 +                     observes="viewBookmarksSidebar"
       
   312 +                     oncommand="SidebarUI.show('viewBookmarksSidebar');">
       
   313 +         <observes element="viewBookmarksSidebar" attribute="checked"/>
       
   314 +       </toolbarbutton>
       
   315 +      <toolbarbutton id="sidebar-switcher-history"
       
   316 +                     label="&historyButton.label;"
       
   317 +                     class="subviewbutton subviewbutton-iconic"
       
   318 +                     key="key_gotoHistory"
       
   319 +                     observes="viewHistorySidebar"
       
   320 +                     oncommand="SidebarUI.show('viewHistorySidebar');">
       
   321 +         <observes element="viewHistorySidebar" attribute="checked"/>
       
   322 +       </toolbarbutton>
       
   323 +      <toolbarbutton id="sidebar-switcher-tabs"
       
   324 +                     label="&syncedTabs.sidebar.label;"
       
   325 +                     class="subviewbutton subviewbutton-iconic"
       
   326 +                     observes="viewTabsSidebar"
       
   327 +                     oncommand="SidebarUI.show('viewTabsSidebar');">
       
   328 +         <observes element="viewTabsSidebar" attribute="checked"/>
       
   329 +       </toolbarbutton>
       
   330 +      <toolbarseparator/>
       
   331 +      <vbox id="sidebar-extensions"></vbox>
       
   332 +      <toolbarseparator/>
       
   333 +      <toolbarbutton id="sidebar-reverse-position"
       
   334 +                     class="subviewbutton"
       
   335 +                     oncommand="SidebarUI.reversePosition()"/>
       
   336 +      <toolbarseparator/>
       
   337 +      <toolbarbutton label="&sidebarMenuClose.label;"
       
   338 +                     class="subviewbutton"
       
   339 +                     oncommand="SidebarUI.hide()"/>
       
   340 +    </panel>
   300 +
   341 +
   301 +    <menupopup id="toolbar-context-menu"
   342 +    <menupopup id="toolbar-context-menu"
   302 +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
   343 +               onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
   303 +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
   344 +      <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
       
   345 +                photonaccesskey="&customizeMenu.pinToOverflowMenu.accesskey;"
       
   346 +                photonlabel="&customizeMenu.pinToOverflowMenu.label;"
   304 +                accesskey="&customizeMenu.moveToPanel.accesskey;"
   347 +                accesskey="&customizeMenu.moveToPanel.accesskey;"
   305 +                label="&customizeMenu.moveToPanel.label;"
   348 +                label="&customizeMenu.moveToPanel.label;"
   306 +                contexttype="toolbaritem"
   349 +                contexttype="toolbaritem"
   307 +                class="customize-context-moveToPanel"/>
   350 +                class="customize-context-moveToPanel"/>
   308 +      <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)"
   351 +      <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)"
   410 +      <hbox pack="center">
   453 +      <hbox pack="center">
   411 +        <button id="ctrlTab-showAll" class="ctrlTab-preview" noicon="true"/>
   454 +        <button id="ctrlTab-showAll" class="ctrlTab-preview" noicon="true"/>
   412 +      </hbox>
   455 +      </hbox>
   413 +    </panel>
   456 +    </panel>
   414 +
   457 +
       
   458 +    <panel id="page-action-panel"
       
   459 +           class="cui-widget-panel"
       
   460 +           role="group"
       
   461 +           type="arrow"
       
   462 +           hidden="true"
       
   463 +           flip="slide"
       
   464 +           position="bottomcenter topright"
       
   465 +           noautofocus="true">
       
   466 +      <photonpanelmultiview id="page-action-multiView"
       
   467 +                            mainViewId="page-action-mainView">
       
   468 +        <panelview id="page-action-mainView"
       
   469 +                   class="PanelUI-subView">
       
   470 +          <vbox class="panel-subview-body">
       
   471 +            <toolbarbutton id="page-action-bookmark-button"
       
   472 +                           class="subviewbutton subviewbutton-iconic"
       
   473 +                           observes="bookmarkThisPageBroadcaster"
       
   474 +                           command="Browser:AddBookmarkAs"
       
   475 +                           onclick="gPageActionButton.panel.hidePopup();"/>
       
   476 +            <toolbarseparator/>
       
   477 +            <toolbarbutton id="page-action-copy-url-button"
       
   478 +                           class="subviewbutton subviewbutton-iconic"
       
   479 +                           label="&copyURLCmd.label;"
       
   480 +                           command="PageAction:copyURL"/>
       
   481 +            <toolbarbutton id="page-action-email-link-button"
       
   482 +                           class="subviewbutton subviewbutton-iconic"
       
   483 +                           label="&emailPageCmd.label;"
       
   484 +                           command="PageAction:emailLink"/>
       
   485 +            <toolbarbutton id="page-action-send-to-device-button"
       
   486 +                           class="subviewbutton subviewbutton-iconic subviewbutton-nav"
       
   487 +                           label="&sendToDevice.label;"
       
   488 +                           closemenu="none"
       
   489 +                           oncommand="gPageActionButton.showSendToDeviceView(this);"/>
       
   490 +          </vbox>
       
   491 +        </panelview>
       
   492 +        <panelview id="page-action-sendToDeviceView"
       
   493 +                   class="PanelUI-subView"
       
   494 +                   title="&sendToDevice.viewTitle;">
       
   495 +          <vbox id="page-action-sendToDeviceView-body" class="panel-subview-body">
       
   496 +            <toolbarbutton id="page-action-sendToDevice-fxa-button"
       
   497 +                           class="subviewbutton subviewbutton-iconic"
       
   498 +                           label="&syncBrand.fxAccount.label;"
       
   499 +                           shortcut="&sendToDevice.fxaRequired.label;"
       
   500 +                           oncommand="gPageActionButton.fxaButtonClicked();"/>
       
   501 +            <toolbarbutton id="page-action-no-devices-button"
       
   502 +                           class="subviewbutton"
       
   503 +                           label="&sendToDevice.noDevices.label;"
       
   504 +                           disabled="true"/>
       
   505 +          </vbox>
       
   506 +        </panelview>
       
   507 +      </photonpanelmultiview>
       
   508 +    </panel>
       
   509 +
   415 +    <!-- Bookmarks and history tooltip -->
   510 +    <!-- Bookmarks and history tooltip -->
   416 +    <tooltip id="bhTooltip"/>
   511 +    <tooltip id="bhTooltip"/>
   417 +
   512 +
   418 +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
   513 +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
   419 +
   514 +
   485 +                id="syncedTabsCopySelected"/>
   580 +                id="syncedTabsCopySelected"/>
   486 +      <menuseparator/>
   581 +      <menuseparator/>
   487 +      <menuitem label="&syncedTabs.context.openAllInTabs.label;"
   582 +      <menuitem label="&syncedTabs.context.openAllInTabs.label;"
   488 +                accesskey="&syncedTabs.context.openAllInTabs.accesskey;"
   583 +                accesskey="&syncedTabs.context.openAllInTabs.accesskey;"
   489 +                id="syncedTabsOpenAllInTabs"/>
   584 +                id="syncedTabsOpenAllInTabs"/>
       
   585 +      <menuitem label="&syncedTabs.context.managedevices.label;"
       
   586 +                accesskey="&syncedTabs.context.managedevices.accesskey;"
       
   587 +                id="syncedTabsManageDevices"
       
   588 +                oncommand="gSync.openDevicesManagementPage('syncedtabs-sidebar');"/>
   490 +      <menuitem label="&syncSyncNowItem.label;"
   589 +      <menuitem label="&syncSyncNowItem.label;"
   491 +                accesskey="&syncSyncNowItem.accesskey;"
   590 +                accesskey="&syncSyncNowItem.accesskey;"
   492 +                id="syncedTabsRefresh"/>
   591 +                id="syncedTabsRefresh"/>
   493 +    </menupopup>
   592 +    </menupopup>
   494 +    <menupopup id="SyncedTabsSidebarTabsFilterContext"
   593 +    <menupopup id="SyncedTabsSidebarTabsFilterContext"
   517 +      <menuitem label="&syncSyncNowItem.label;"
   616 +      <menuitem label="&syncSyncNowItem.label;"
   518 +                accesskey="&syncSyncNowItem.accesskey;"
   617 +                accesskey="&syncSyncNowItem.accesskey;"
   519 +                id="syncedTabsRefreshFilter"/>
   618 +                id="syncedTabsRefreshFilter"/>
   520 +    </menupopup>
   619 +    </menupopup>
   521 +  </popupset>
   620 +  </popupset>
       
   621 +  <box id="appMenu-viewCache" hidden="true"/>
   522 +
   622 +
   523 +#ifdef CAN_DRAW_IN_TITLEBAR
   623 +#ifdef CAN_DRAW_IN_TITLEBAR
   524 +<vbox id="titlebar">
   624 +<vbox id="titlebar">
   525 +  <hbox id="titlebar-content">
   625 +  <hbox id="titlebar-content">
   526 +    <spacer id="titlebar-spacer" flex="1"/>
   626 +    <spacer id="titlebar-spacer" flex="1"/>
   620 +                     tooltiptext="&listAllTabs.label;"
   720 +                     tooltiptext="&listAllTabs.label;"
   621 +                     removable="false">
   721 +                     removable="false">
   622 +        <menupopup id="alltabs-popup"
   722 +        <menupopup id="alltabs-popup"
   623 +                   position="after_end">
   723 +                   position="after_end">
   624 +          <menuitem id="alltabs_undoCloseTab"
   724 +          <menuitem id="alltabs_undoCloseTab"
   625 +                    class="menuitem-iconic"
       
   626 +                    key="key_undoCloseTab"
   725 +                    key="key_undoCloseTab"
   627 +                    label="&undoCloseTab.label;"
   726 +                    label="&undoCloseTab.label;"
   628 +                    observes="History:UndoCloseTab"/>
   727 +                    observes="History:UndoCloseTab"/>
   629 +          <menuseparator id="alltabs-popup-separator-1"/>
   728 +          <menuseparator id="alltabs-popup-separator-1"/>
   630 +          <menu id="alltabs_containersTab"
   729 +          <menu id="alltabs_containersTab"
   668 +      <hbox id="nav-bar-customization-target" flex="1">
   767 +      <hbox id="nav-bar-customization-target" flex="1">
   669 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
   768 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
   670 +                     removable="false"
   769 +                     removable="false"
   671 +                     class="chromeclass-location" overflows="false">
   770 +                     class="chromeclass-location" overflows="false">
   672 +          <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
   771 +          <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
       
   772 +                         removable="false" overflows="false"
   673 +                         label="&backCmd.label;"
   773 +                         label="&backCmd.label;"
   674 +                         command="Browser:BackOrBackDuplicate"
   774 +                         command="Browser:BackOrBackDuplicate"
   675 +                         onclick="checkForMiddleClick(this, event);"
   775 +                         onclick="checkForMiddleClick(this, event);"
   676 +                         tooltip="back-button-tooltip"
   776 +                         tooltip="back-button-tooltip"
   677 +                         context="backForwardMenu"/>
   777 +                         context="backForwardMenu"/>
       
   778 +#ifdef MOZ_PHOTON_THEME
       
   779 +          <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
       
   780 +                         removable="false" overflows="false"
       
   781 +                         label="&forwardCmd.label;"
       
   782 +                         command="Browser:ForwardOrForwardDuplicate"
       
   783 +                         onclick="checkForMiddleClick(this, event);"
       
   784 +                         tooltip="forward-button-tooltip"
       
   785 +                         context="backForwardMenu"/>
       
   786 +          <toolbaritem id="stop-reload-button"
       
   787 +                       removable="false" overflows="false"
       
   788 +                       class="chromeclass-toolbar-additional">
       
   789 +            <toolbarbutton id="reload-button"
       
   790 +                           class="toolbarbutton-1"
       
   791 +                           command="Browser:ReloadOrDuplicate"
       
   792 +                           onclick="checkForMiddleClick(this, event);"
       
   793 +                           tooltip="dynamic-shortcut-tooltip"/>
       
   794 +            <toolbarbutton id="stop-button"
       
   795 +                           class="toolbarbutton-1"
       
   796 +                           command="Browser:Stop"
       
   797 +                           tooltip="dynamic-shortcut-tooltip"/>
       
   798 +          </toolbaritem>
       
   799 +#endif
   678 +          <hbox id="urlbar-wrapper" flex="1">
   800 +          <hbox id="urlbar-wrapper" flex="1">
       
   801 +#ifndef MOZ_PHOTON_THEME
   679 +            <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
   802 +            <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
   680 +                           label="&forwardCmd.label;"
   803 +                           label="&forwardCmd.label;"
   681 +                           command="Browser:ForwardOrForwardDuplicate"
   804 +                           command="Browser:ForwardOrForwardDuplicate"
   682 +                           onclick="checkForMiddleClick(this, event);"
   805 +                           onclick="checkForMiddleClick(this, event);"
   683 +                           tooltip="forward-button-tooltip"
   806 +                           tooltip="forward-button-tooltip"
   684 +                           context="backForwardMenu"/>
   807 +                           context="backForwardMenu"/>
       
   808 +#endif
   685 +            <textbox id="urlbar" flex="1"
   809 +            <textbox id="urlbar" flex="1"
   686 +                     placeholder="&urlbar.placeholder2;"
   810 +                     placeholder="&urlbar.placeholder2;"
   687 +                     type="autocomplete"
   811 +                     type="autocomplete"
   688 +                     autocompletesearch="unifiedcomplete"
   812 +                     autocompletesearch="unifiedcomplete"
   689 +                     autocompletesearchparam="enable-actions"
   813 +                     autocompletesearchparam="enable-actions"
   723 +                         tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/>
   847 +                         tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/>
   724 +                  <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button"
   848 +                  <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button"
   725 +                         tooltiptext="&urlbar.microphoneBlocked.tooltip;"/>
   849 +                         tooltiptext="&urlbar.microphoneBlocked.tooltip;"/>
   726 +                  <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
   850 +                  <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
   727 +                         tooltiptext="&urlbar.screenBlocked.tooltip;"/>
   851 +                         tooltiptext="&urlbar.screenBlocked.tooltip;"/>
       
   852 +                  <image data-permission-id="persistent-storage" class="blocked-permission-icon persistent-storage-icon" role="button"
       
   853 +                         tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/>
   728 +                </box>
   854 +                </box>
   729 +                <box id="notification-popup-box"
   855 +                <box id="notification-popup-box"
   730 +                     hidden="true"
   856 +                     hidden="true"
   731 +                     onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
   857 +                     onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
   732 +                     onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
   858 +                     onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
   739 +                         tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/>
   865 +                         tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/>
   740 +                  <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
   866 +                  <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
   741 +                         tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/>
   867 +                         tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/>
   742 +                  <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
   868 +                  <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
   743 +                         tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/>
   869 +                         tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/>
   744 +                  <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
   870 +                  <stack id="plugins-notification-icon" class="notification-anchor-icon" role="button" align="center"
   745 +                         tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"/>
   871 +                         tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;">
       
   872 +                    <image class="plugin-icon" />
       
   873 +                    <image id="plugin-icon-badge" />
       
   874 +                  </stack>
   746 +                  <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
   875 +                  <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
   747 +                         tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/>
   876 +                         tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/>
   748 +                  <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
   877 +                  <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
   749 +                         tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/>
   878 +                         tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/>
   750 +                  <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
   879 +                  <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
   757 +                         tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/>
   886 +                         tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/>
   758 +                  <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
   887 +                  <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
   759 +                         tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
   888 +                         tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
   760 +                  <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
   889 +                  <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
   761 +                         tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
   890 +                         tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
       
   891 +                  <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
       
   892 +                         tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
   762 +                </box>
   893 +                </box>
   763 +                <image id="connection-icon"/>
   894 +                <image id="connection-icon"/>
       
   895 +                <image id="extension-icon"/>
       
   896 +                <image id="remote-control-icon"
       
   897 +                       tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
   764 +                <hbox id="identity-icon-labels">
   898 +                <hbox id="identity-icon-labels">
   765 +                  <label id="identity-icon-label" class="plain" flex="1"/>
   899 +                  <label id="identity-icon-label" class="plain" flex="1"/>
   766 +                  <label id="identity-icon-country-label" class="plain"/>
   900 +                  <label id="identity-icon-country-label" class="plain"/>
   767 +                </hbox>
   901 +                </hbox>
   768 +              </box>
   902 +              </box>
   780 +                       class="urlbar-icon"
   914 +                       class="urlbar-icon"
   781 +                       hidden="true"
   915 +                       hidden="true"
   782 +                       onclick="ReaderParent.buttonClick(event);"/>
   916 +                       onclick="ReaderParent.buttonClick(event);"/>
   783 +                <toolbarbutton id="urlbar-zoom-button"
   917 +                <toolbarbutton id="urlbar-zoom-button"
   784 +                       onclick="FullZoom.reset();"
   918 +                       onclick="FullZoom.reset();"
   785 +                       tooltiptext="&urlbar.zoomReset.tooltip;"
   919 +                       tooltip="dynamic-shortcut-tooltip"
   786 +                       hidden="true"/>
   920 +                       hidden="true"/>
   787 +              </hbox>
   921 +              </hbox>
   788 +              <hbox id="userContext-icons" hidden="true">
   922 +              <hbox id="userContext-icons" hidden="true">
   789 +                <label id="userContext-label"/>
   923 +                <label id="userContext-label"/>
   790 +                <image id="userContext-indicator"/>
   924 +                <image id="userContext-indicator"/>
   791 +              </hbox>
   925 +              </hbox>
       
   926 +#ifndef MOZ_PHOTON_THEME
   792 +              <toolbarbutton id="urlbar-go-button"
   927 +              <toolbarbutton id="urlbar-go-button"
   793 +                             class="chromeclass-toolbar-additional"
   928 +                             class="chromeclass-toolbar-additional"
   794 +                             onclick="gURLBar.handleCommand(event);"
   929 +                             onclick="gURLBar.handleCommand(event);"
   795 +                             tooltiptext="&goEndCap.tooltip;"/>
   930 +                             tooltiptext="&goEndCap.tooltip;"/>
   796 +              <toolbarbutton id="urlbar-reload-button"
   931 +              <toolbarbutton id="reload-button"
   797 +                             class="chromeclass-toolbar-additional"
   932 +                             class="chromeclass-toolbar-additional"
   798 +                             command="Browser:ReloadOrDuplicate"
   933 +                             command="Browser:ReloadOrDuplicate"
   799 +                             onclick="checkForMiddleClick(this, event);"
   934 +                             onclick="checkForMiddleClick(this, event);"
   800 +                             tooltiptext="&reloadButton.tooltip;"/>
   935 +                             tooltip="dynamic-shortcut-tooltip"/>
   801 +              <toolbarbutton id="urlbar-stop-button"
   936 +              <toolbarbutton id="stop-button"
   802 +                             class="chromeclass-toolbar-additional"
   937 +                             class="chromeclass-toolbar-additional"
   803 +                             command="Browser:Stop"
   938 +                             command="Browser:Stop"
   804 +                             tooltiptext="&stopButton.tooltip;"/>
   939 +                             tooltip="dynamic-shortcut-tooltip"/>
       
   940 +#else
       
   941 +              <toolbarbutton id="urlbar-page-action-button"
       
   942 +                             class="chromeclass-toolbar-additional"
       
   943 +                             tooltiptext="&pageActionButton.tooltip;"
       
   944 +                             onclick="gPageActionButton.onEvent(event);"/>
       
   945 +#endif
   805 +            </textbox>
   946 +            </textbox>
   806 +          </hbox>
   947 +          </hbox>
   807 +        </toolbaritem>
   948 +        </toolbaritem>
   808 +
   949 +
   809 +        <toolbaritem id="search-container" title="&searchItem.title;"
   950 +        <toolbaritem id="search-container" title="&searchItem.title;"
  1050 +                     label="&printButton.label;"/>
  1191 +                     label="&printButton.label;"/>
  1051 +
  1192 +
  1052 +
  1193 +
  1053 +      <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
  1194 +      <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
  1054 +                     label="&newNavigatorCmd.label;"
  1195 +                     label="&newNavigatorCmd.label;"
  1055 +                     command="key_newNavigator"
  1196 +                     command="cmd_newNavigator"
  1056 +                     tooltip="dynamic-shortcut-tooltip"
  1197 +                     tooltip="dynamic-shortcut-tooltip"
  1057 +                     ondrop="newWindowButtonObserver.onDrop(event)"
  1198 +                     ondrop="newWindowButtonObserver.onDrop(event)"
  1058 +                     ondragover="newWindowButtonObserver.onDragOver(event)"
  1199 +                     ondragover="newWindowButtonObserver.onDragOver(event)"
  1059 +                     ondragenter="newWindowButtonObserver.onDragOver(event)"
  1200 +                     ondragenter="newWindowButtonObserver.onDragOver(event)"
  1060 +                     ondragexit="newWindowButtonObserver.onDragExit(event)"/>
  1201 +                     ondragexit="newWindowButtonObserver.onDragExit(event)"/>
  1062 +      <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
  1203 +      <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
  1063 +                     observes="View:FullScreen"
  1204 +                     observes="View:FullScreen"
  1064 +                     type="checkbox"
  1205 +                     type="checkbox"
  1065 +                     label="&fullScreenCmd.label;"
  1206 +                     label="&fullScreenCmd.label;"
  1066 +                     tooltip="dynamic-shortcut-tooltip"/>
  1207 +                     tooltip="dynamic-shortcut-tooltip"/>
       
  1208 +#ifdef MOZ_PHOTON_THEME
       
  1209 +      <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
       
  1210 +                     oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, true);"
       
  1211 +                     label="&places.library.title;"/>
       
  1212 +#endif
  1067 +    </toolbarpalette>
  1213 +    </toolbarpalette>
  1068 +  </toolbox>
  1214 +  </toolbox>
  1069 +
  1215 +
  1070 +  <hbox id="fullscr-toggler" hidden="true"/>
  1216 +  <hbox id="fullscr-toggler" hidden="true"/>
  1071 +
  1217 +
  1072 +  <deck id="content-deck" flex="1">
  1218 +  <deck id="content-deck" flex="1">
  1073 +    <hbox flex="1" id="browser">
  1219 +    <hbox flex="1" id="browser">
  1074 +      <vbox id="browser-border-start" hidden="true" layer="true"/>
  1220 +      <vbox id="browser-border-start" hidden="true" layer="true"/>
  1075 +      <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
  1221 +      <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
  1076 +        <sidebarheader id="sidebar-header" align="center">
  1222 +        <sidebarheader id="sidebar-header" align="center">
  1077 +          <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
  1223 +          <toolbarbutton id="sidebar-switcher-target" flex="1" class="tabbable">
       
  1224 +            <image id="sidebar-icon" consumeanchor="sidebar-switcher-target"/>
       
  1225 +            <label id="sidebar-title" persist="value" crop="end" flex="1" control="sidebar"/>
       
  1226 +            <image id="sidebar-switcher-arrow"/>
       
  1227 +          </toolbarbutton>
  1078 +          <image id="sidebar-throbber"/>
  1228 +          <image id="sidebar-throbber"/>
  1079 +          <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
  1229 +# To ensure the button label's intrinsic width doesn't expand the sidebar
       
  1230 +# if the label is long, the button needs flex=1.
       
  1231 +# To ensure the button doesn't expand unnecessarily for short labels, the
       
  1232 +# spacer should significantly out-flex the button.
       
  1233 +          <spacer flex="1000"/>
       
  1234 +          <toolbarbutton id="sidebar-close" class="tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
  1080 +        </sidebarheader>
  1235 +        </sidebarheader>
  1081 +        <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
  1236 +        <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
  1082 +                  style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
  1237 +                  style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
  1083 +      </vbox>
  1238 +      </vbox>
  1084 +
  1239 +
  1132 +    <notificationbox id="global-notificationbox" notificationside="bottom"/>
  1287 +    <notificationbox id="global-notificationbox" notificationside="bottom"/>
  1133 +  </vbox>
  1288 +  </vbox>
  1134 +
  1289 +
  1135 +  <svg:svg height="0">
  1290 +  <svg:svg height="0">
  1136 +#include tab-shape.inc.svg
  1291 +#include tab-shape.inc.svg
       
  1292 +#ifndef MOZ_PHOTON_THEME
  1137 +    <svg:clipPath id="urlbar-back-button-clip-path">
  1293 +    <svg:clipPath id="urlbar-back-button-clip-path">
  1138 +#ifndef XP_MACOSX
  1294 +#ifndef XP_MACOSX
  1139 +      <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" />
  1295 +      <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" />
  1140 +#else
  1296 +#else
  1141 +      <svg:path d="M -11,-5 a 16 16 0 0 1 0,34 l 10000,0 l 0,-34 l -10000,0 z"/>
  1297 +      <svg:path d="M -11,-5 a 16 16 0 0 1 0,34 l 10000,0 l 0,-34 l -10000,0 z"/>
  1143 +    </svg:clipPath>
  1299 +    </svg:clipPath>
  1144 +#ifdef XP_WIN
  1300 +#ifdef XP_WIN
  1145 +    <svg:clipPath id="urlbar-back-button-clip-path-win10">
  1301 +    <svg:clipPath id="urlbar-back-button-clip-path-win10">
  1146 +      <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" />
  1302 +      <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" />
  1147 +    </svg:clipPath>
  1303 +    </svg:clipPath>
       
  1304 +#endif
  1148 +#endif
  1305 +#endif
  1149 +  </svg:svg>
  1306 +  </svg:svg>
  1150 +
  1307 +
  1151 +</vbox>
  1308 +</vbox>
  1152 +# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
  1309 +# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
  1238      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1395      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1239  #endif
  1396  #endif
  1240 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1397 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1241 --- a/browser/components/preferences/in-content/main.js
  1398 --- a/browser/components/preferences/in-content/main.js
  1242 +++ b/browser/components/preferences/in-content/main.js
  1399 +++ b/browser/components/preferences/in-content/main.js
  1243 @@ -34,16 +34,22 @@ var gMainPane = {
  1400 @@ -39,16 +39,23 @@ var gMainPane = {
  1244          // In Windows 8 we launch the control panel since it's the only
       
  1245          // way to get all file type association prefs. So we don't know
  1401          // way to get all file type association prefs. So we don't know
  1246          // when the user will select the default.  We refresh here periodically
  1402          // when the user will select the default.  We refresh here periodically
  1247          // in case the default changes. On other Windows OS's defaults can also
  1403          // in case the default changes. On other Windows OS's defaults can also
  1248          // be set while the prefs are open.
  1404          // be set while the prefs are open.
  1249          window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
  1405          window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
  1250        }
  1406        }
  1251      }
  1407      }
       
  1408  
  1252 +    var env = Components.classes["@mozilla.org/process/environment;1"]
  1409 +    var env = Components.classes["@mozilla.org/process/environment;1"]
  1253 +        .getService(Components.interfaces.nsIEnvironment);
  1410 +      .getService(Components.interfaces.nsIEnvironment);
  1254 +    var kde_session = 0;
  1411 +    var kde_session = 0;
  1255 +    if (env.get('KDE_FULL_SESSION') == "true") {
  1412 +    if (env.get('KDE_FULL_SESSION') == "true") {
  1256 +        kde_session = 1;
  1413 +      kde_session = 1;
  1257 +    }
  1414 +    }
  1258  
  1415 +
  1259      // set up the "use current page" label-changing listener
  1416      this.buildContentProcessCountMenuList();
  1260      this._updateUseCurrentButton();
  1417      this.updateDefaultPerformanceSettingsPref();
  1261      window.addEventListener("focus", this._updateUseCurrentButton.bind(this));
  1418  
  1262  
  1419      let defaultPerformancePref =
  1263      this.updateBrowserStartupLastSession();
  1420        document.getElementById("browser.preferences.defaultPerformanceSettings.enabled");
  1264  
  1421      defaultPerformancePref.addEventListener("change", () => {
  1265      if (AppConstants.platform == "win") {
  1422        this.updatePerformanceSettingsBox();
  1266 @@ -682,16 +688,27 @@ var gMainPane = {
  1423      });
       
  1424 @@ -779,16 +786,27 @@ var gMainPane = {
  1267        let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
  1425        let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
  1268        alwaysCheckPref.value = true;
  1426        alwaysCheckPref.value = true;
  1269  
  1427  
  1270        let shellSvc = getShellService();
  1428        let shellSvc = getShellService();
  1271        if (!shellSvc)
  1429        if (!shellSvc)
  1292        document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
  1450        document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
  1293      }
  1451      }
  1294 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
  1452 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
  1295 --- a/browser/components/shell/moz.build
  1453 --- a/browser/components/shell/moz.build
  1296 +++ b/browser/components/shell/moz.build
  1454 +++ b/browser/components/shell/moz.build
  1297 @@ -38,16 +38,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
  1455 @@ -37,16 +37,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
  1298      ]
  1456      ]
  1299  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
  1457  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
  1300      SOURCES += [
  1458      SOURCES += [
  1301          'nsMacShellService.cpp',
  1459          'nsMacShellService.cpp',
  1302      ]
  1460      ]
  1604 +
  1762 +
  1605 +#endif // nsunixshellservice_h____
  1763 +#endif // nsunixshellservice_h____
  1606 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1764 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1607 --- a/browser/installer/package-manifest.in
  1765 --- a/browser/installer/package-manifest.in
  1608 +++ b/browser/installer/package-manifest.in
  1766 +++ b/browser/installer/package-manifest.in
  1609 @@ -645,16 +645,17 @@
  1767 @@ -662,16 +662,18 @@
  1610  @RESPATH@/defaults/autoconfig/prefcalls.js
       
  1611  @RESPATH@/browser/defaults/permissions
       
  1612  @RESPATH@/browser/defaults/blocklists
  1768  @RESPATH@/browser/defaults/blocklists
       
  1769  @RESPATH@/browser/defaults/pinning
  1613  
  1770  
  1614  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1771  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1615  ; Technically this is an app pref file, but we are keeping it in the original
  1772  ; Technically this is an app pref file, but we are keeping it in the original
  1616  ; gre location for now.
  1773  ; gre location for now.
  1617  @RESPATH@/defaults/pref/channel-prefs.js
  1774  @RESPATH@/defaults/pref/channel-prefs.js
       
  1775  
  1618 +@BINPATH@/defaults/pref/kde.js
  1776 +@BINPATH@/defaults/pref/kde.js
  1619  
  1777 +
  1620  ; Remote control protocol prefs
  1778  ; Remote control protocol prefs
  1621  ; defined in ../../testing/marionette/prefs/marionette.js
  1779  ; defined in ../../testing/marionette/prefs/marionette.js
  1622  @RESPATH@/defaults/pref/marionette.js
  1780  @RESPATH@/defaults/pref/marionette.js
  1623  
  1781  
  1624  ; Services (gre) prefs
  1782  ; Services (gre) prefs
  1625  @RESPATH@/defaults/pref/services-sync.js
  1783  @RESPATH@/defaults/pref/services-sync.js
  1626  
  1784  
       
  1785  ; [Layout Engine Resources]