firefox-kde.patch
changeset 1055 526f445635f3
parent 1046 75893a3d8fbe
child 1057 b70ce330958c
equal deleted inserted replaced
1054:fbfe323c62cd 1055:526f445635f3
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  1b44c077e473c5a7d02fab26e2a220ebf219e0ab
     2 # Parent  a01c6385626ce90528d02e5127de5c1444c07efc
     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,1280 @@
     8 @@ -0,0 +1,1293 @@
     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
    19 +<?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"?>
    20 +<?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"?>
    21 +<?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"?>
    22 +<?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"?>
    23 +<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
       
    24 +<?xml-stylesheet href="chrome://browser/skin/places/places.css"?>
       
    25 +<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css"?>
    24 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    26 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
    25 +<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
    27 +<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
    26 +
    28 +<?xml-stylesheet href="chrome://browser/skin/compacttheme.css" type="text/css" alternate="yes" title="Light/Dark"?>
    27 +<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
       
    28 +
    29 +
    29 +# All DTD information is stored in a separate file so that it can be shared by
    30 +# All DTD information is stored in a separate file so that it can be shared by
    30 +# hiddenWindow.xul.
    31 +# hiddenWindow.xul.
       
    32 +<!DOCTYPE window [
    31 +#include browser-doctype.inc
    33 +#include browser-doctype.inc
       
    34 +]>
    32 +
    35 +
    33 +<window id="main-window"
    36 +<window id="main-window"
    34 +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    37 +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    35 +        xmlns:svg="http://www.w3.org/2000/svg"
    38 +        xmlns:svg="http://www.w3.org/2000/svg"
    36 +        xmlns:html="http://www.w3.org/1999/xhtml"
    39 +        xmlns:html="http://www.w3.org/1999/xhtml"
    49 +        title_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
    52 +        title_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
    50 +        titlemodifier="&mainWindow.titlemodifier;"
    53 +        titlemodifier="&mainWindow.titlemodifier;"
    51 +        titlemodifier_normal="&mainWindow.titlemodifier;"
    54 +        titlemodifier_normal="&mainWindow.titlemodifier;"
    52 +        titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
    55 +        titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
    53 +#endif
    56 +#endif
    54 +#ifdef CAN_DRAW_IN_TITLEBAR
       
    55 +#ifdef XP_WIN
    57 +#ifdef XP_WIN
    56 +        chromemargin="0,2,2,2"
    58 +        chromemargin="0,2,2,2"
    57 +#else
    59 +#else
    58 +        chromemargin="0,-1,-1,-1"
    60 +        chromemargin="0,-1,-1,-1"
    59 +#endif
    61 +#endif
    60 +        tabsintitlebar="true"
    62 +        tabsintitlebar="true"
    61 +#endif
       
    62 +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
    63 +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
    63 +        windowtype="navigator:browser"
    64 +        windowtype="navigator:browser"
    64 +        macanimationtype="document"
    65 +        macanimationtype="document"
    65 +        screenX="4" screenY="4"
    66 +        screenX="4" screenY="4"
    66 +        fullscreenbutton="true"
    67 +        fullscreenbutton="true"
    67 +        sizemode="normal"
    68 +        sizemode="normal"
    68 +        retargetdocumentfocus="urlbar"
    69 +        retargetdocumentfocus="urlbar"
    69 +        persist="screenX screenY width height sizemode">
    70 +        persist="screenX screenY width height sizemode">
    70 +
    71 +
    71 +# All JS files which are not content (only) dependent that browser.xul
    72 +# All JS files which are needed by browser.xul and other top level windows to
    72 +# wishes to include *must* go into the global-scripts.inc file
    73 +# support MacOS specific features *must* go into the global-scripts.inc file so
    73 +# so that they can be shared by macBrowserOverlay.xul.
    74 +# that they can be shared with macWindow.inc.xul.
    74 +#include global-scripts.inc
    75 +#include global-scripts.inc
    75 +
    76 +
    76 +<script type="application/javascript">
    77 +<script type="application/javascript">
    77 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
    78 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
    78 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
    79 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
       
    80 +
       
    81 +  ChromeUtils.defineModuleGetter(window,
       
    82 +    "PlacesUtils", "resource://gre/modules/PlacesUtils.jsm");
       
    83 +  ChromeUtils.defineModuleGetter(window,
       
    84 +    "PlacesUIUtils", "resource:///modules/PlacesUIUtils.jsm");
       
    85 +  ChromeUtils.defineModuleGetter(window,
       
    86 +    "PlacesTransactions", "resource://gre/modules/PlacesTransactions.jsm");
       
    87 +
       
    88 +  ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
       
    89 +  XPCOMUtils.defineLazyScriptGetter(window, "PlacesTreeView",
       
    90 +    "chrome://browser/content/places/treeView.js");
       
    91 +  XPCOMUtils.defineLazyScriptGetter(window,
       
    92 +    ["PlacesInsertionPoint", "PlacesController", "PlacesControllerDragHelper"],
       
    93 +     "chrome://browser/content/places/controller.js");
    79 +</script>
    94 +</script>
    80 +
    95 +
    81 +# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
    96 +# All sets except for popupsets (commands, keys, stringbundles and broadcasters)
    82 +# browser-sets.inc file for sharing with hiddenWindow.xul.
    97 +# *must* go into the browser-sets.inc file so that they can be shared with other
       
    98 +# top level windows in macWindow.inc.xul.
    83 +#define FULL_BROWSER_WINDOW
    99 +#define FULL_BROWSER_WINDOW
    84 +#include browser-sets.inc
   100 +#include browser-sets.inc
    85 +#undef FULL_BROWSER_WINDOW
   101 +#undef FULL_BROWSER_WINDOW
    86 +
   102 +
    87 +  <popupset id="mainPopupSet">
   103 +  <popupset id="mainPopupSet">
   217 +        <vbox>
   233 +        <vbox>
   218 +          <label id="editBookmarkPanelTitle"/>
   234 +          <label id="editBookmarkPanelTitle"/>
   219 +          <description id="editBookmarkPanelDescription"/>
   235 +          <description id="editBookmarkPanelDescription"/>
   220 +        </vbox>
   236 +        </vbox>
   221 +      </row>
   237 +      </row>
   222 +      <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
   238 +#include ../../components/places/content/editBookmarkPanel.inc.xul
   223 +      <hbox id="editBookmarkPanelBottomButtons" pack="end">
   239 +      <hbox id="editBookmarkPanelBottomButtons" pack="end">
   224 +#ifdef XP_UNIX
   240 +#ifdef XP_UNIX
   225 +        <button id="editBookmarkPanelDoneButton"
   241 +        <button id="editBookmarkPanelDoneButton"
   226 +                class="editBookmarkPanelBottomButton"
   242 +                class="editBookmarkPanelBottomButton"
   227 +                label="&editBookmark.done.label;"
   243 +                label="&editBookmark.done.label;"
   401 +                              gContextMenu = null;
   417 +                              gContextMenu = null;
   402 +                              updateEditUIVisibility();">
   418 +                              updateEditUIVisibility();">
   403 +#include browser-context.inc
   419 +#include browser-context.inc
   404 +    </menupopup>
   420 +    </menupopup>
   405 +
   421 +
   406 +    <menupopup id="placesContext"/>
   422 +#include ../../components/places/content/placesContextMenu.inc.xul
   407 +
   423 +
   408 +    <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
   424 +    <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
   409 +      <hbox>
   425 +      <hbox>
   410 +        <button class="ctrlTab-preview" flex="1"/>
   426 +        <button class="ctrlTab-preview" flex="1"/>
   411 +        <button class="ctrlTab-preview" flex="1"/>
   427 +        <button class="ctrlTab-preview" flex="1"/>
   430 +           tabspecific="true"
   446 +           tabspecific="true"
   431 +           noautofocus="true"
   447 +           noautofocus="true"
   432 +           copyURL-title="&pageAction.copyLink.label;"
   448 +           copyURL-title="&pageAction.copyLink.label;"
   433 +           emailLink-title="&emailPageCmd.label;"
   449 +           emailLink-title="&emailPageCmd.label;"
   434 +           sendToDevice-title="&pageAction.sendTabToDevice.label;"
   450 +           sendToDevice-title="&pageAction.sendTabToDevice.label;"
   435 +           sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
   451 +           sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
       
   452 +           shareURL-title="&pageAction.shareUrl.label;">
   436 +      <panelmultiview id="pageActionPanelMultiView"
   453 +      <panelmultiview id="pageActionPanelMultiView"
   437 +                      mainViewId="pageActionPanelMainView"
   454 +                      mainViewId="pageActionPanelMainView"
   438 +                      viewCacheId="appMenu-viewCache">
   455 +                      viewCacheId="appMenu-viewCache">
   439 +        <panelview id="pageActionPanelMainView"
   456 +        <panelview id="pageActionPanelMainView"
   440 +                   context="pageActionContextMenu"
   457 +                   context="pageActionContextMenu"
   478 +      <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned"
   495 +      <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned"
   479 +                label="&pageAction.manageExtension.label;"
   496 +                label="&pageAction.manageExtension.label;"
   480 +                oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/>
   497 +                oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/>
   481 +    </menupopup>
   498 +    </menupopup>
   482 +
   499 +
   483 +    <!-- Bookmarks and history tooltip -->
   500 +#include ../../components/places/content/bookmarksHistoryTooltip.inc.xul
   484 +    <tooltip id="bhTooltip"/>
       
   485 +
   501 +
   486 +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
   502 +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
   487 +
   503 +
   488 +    <tooltip id="back-button-tooltip">
   504 +    <tooltip id="back-button-tooltip">
   489 +      <label class="tooltip-label" value="&backButton.tooltip;"/>
   505 +      <label class="tooltip-label" value="&backButton.tooltip;"/>
   510 +#include ../../components/downloads/content/downloadsPanel.inc.xul
   526 +#include ../../components/downloads/content/downloadsPanel.inc.xul
   511 +
   527 +
   512 +    <hbox id="downloads-animation-container" mousethrough="always">
   528 +    <hbox id="downloads-animation-container" mousethrough="always">
   513 +      <vbox id="downloads-notification-anchor" hidden="true">
   529 +      <vbox id="downloads-notification-anchor" hidden="true">
   514 +        <vbox id="downloads-indicator-notification"/>
   530 +        <vbox id="downloads-indicator-notification"/>
   515 +      </vbox>
       
   516 +    </hbox>
       
   517 +
       
   518 +    <hbox id="bookmarked-notification-container" mousethrough="always">
       
   519 +      <vbox id="bookmarked-notification-anchor">
       
   520 +        <vbox id="bookmarked-notification"/>
       
   521 +      </vbox>
       
   522 +      <vbox id="bookmarked-notification-dropmarker-anchor">
       
   523 +        <image id="bookmarked-notification-dropmarker-icon"/>
       
   524 +      </vbox>
   531 +      </vbox>
   525 +    </hbox>
   532 +    </hbox>
   526 +
   533 +
   527 +    <tooltip id="dynamic-shortcut-tooltip"
   534 +    <tooltip id="dynamic-shortcut-tooltip"
   528 +             onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
   535 +             onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
   587 +                id="syncedTabsRefreshFilter"/>
   594 +                id="syncedTabsRefreshFilter"/>
   588 +    </menupopup>
   595 +    </menupopup>
   589 +  </popupset>
   596 +  </popupset>
   590 +  <box id="appMenu-viewCache" hidden="true"/>
   597 +  <box id="appMenu-viewCache" hidden="true"/>
   591 +
   598 +
   592 +#ifdef CAN_DRAW_IN_TITLEBAR
       
   593 +<vbox id="titlebar">
   599 +<vbox id="titlebar">
   594 +  <hbox id="titlebar-content">
   600 +  <hbox id="titlebar-content">
   595 +    <spacer id="titlebar-spacer" flex="1"/>
   601 +    <spacer id="titlebar-spacer" flex="1"/>
   596 +    <hbox id="titlebar-buttonbox-container">
   602 +    <hbox id="titlebar-buttonbox-container">
   597 +      <hbox id="titlebar-buttonbox" class="titlebar-color">
   603 +      <hbox id="titlebar-buttonbox" class="titlebar-color">
   609 +      <hbox id="titlebar-fullscreen-button"/>
   615 +      <hbox id="titlebar-fullscreen-button"/>
   610 +    </hbox>
   616 +    </hbox>
   611 +#endif
   617 +#endif
   612 +  </hbox>
   618 +  </hbox>
   613 +</vbox>
   619 +</vbox>
   614 +#endif
       
   615 +
   620 +
   616 +  <toolbox id="navigator-toolbox">
   621 +  <toolbox id="navigator-toolbox">
   617 +    <!-- Menu -->
   622 +    <!-- Menu -->
   618 +    <toolbar type="menubar" id="toolbar-menubar"
   623 +    <toolbar type="menubar" id="toolbar-menubar"
   619 +             class="chromeclass-menubar titlebar-color"
   624 +             class="chromeclass-menubar titlebar-color"
   624 +             accesskey="&menubarCmd.accesskey;"
   629 +             accesskey="&menubarCmd.accesskey;"
   625 +             autohide="true"
   630 +             autohide="true"
   626 +#endif
   631 +#endif
   627 +             context="toolbar-context-menu">
   632 +             context="toolbar-context-menu">
   628 +      <toolbaritem id="menubar-items" align="center">
   633 +      <toolbaritem id="menubar-items" align="center">
   629 +# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
   634 +# The entire main menubar is placed into browser-menubar.inc, so that it can be
   630 +# hiddenWindow.xul.
   635 +# shared with other top level windows in macWindow.inc.xul.
   631 +#include browser-menubar.inc
   636 +#include browser-menubar.inc
   632 +      </toolbaritem>
   637 +      </toolbaritem>
   633 +
   638 +
   634 +#ifdef CAN_DRAW_IN_TITLEBAR
       
   635 +#ifndef XP_MACOSX
   639 +#ifndef XP_MACOSX
   636 +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
   640 +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
   637 +            skipintoolbarset="true"/>
   641 +            skipintoolbarset="true"/>
   638 +#endif
       
   639 +#endif
   642 +#endif
   640 +    </toolbar>
   643 +    </toolbar>
   641 +
   644 +
   642 +    <toolbar id="TabsToolbar"
   645 +    <toolbar id="TabsToolbar"
   643 +             class="titlebar-color"
   646 +             class="titlebar-color"
   644 +             fullscreentoolbar="true"
   647 +             fullscreentoolbar="true"
   645 +             customizable="true"
   648 +             customizable="true"
   646 +             mode="icons"
   649 +             mode="icons"
   647 +             aria-label="&tabsToolbar.label;"
   650 +             aria-label="&tabsToolbar.label;"
   648 +             context="toolbar-context-menu"
   651 +             context="toolbar-context-menu">
   649 +             collapsed="true">
       
   650 +
       
   651 +#ifdef CAN_DRAW_IN_TITLEBAR
       
   652 +      <hbox class="titlebar-placeholder" type="pre-tabs"
   652 +      <hbox class="titlebar-placeholder" type="pre-tabs"
   653 +            skipintoolbarset="true"/>
   653 +            skipintoolbarset="true"/>
   654 +#endif
       
   655 +
   654 +
   656 +      <tabs id="tabbrowser-tabs"
   655 +      <tabs id="tabbrowser-tabs"
   657 +            flex="1"
   656 +            flex="1"
   658 +            setfocus="false"
   657 +            setfocus="false"
   659 +            tooltip="tabbrowser-tab-tooltip"
   658 +            tooltip="tabbrowser-tab-tooltip"
   673 +                     ondragexit="newTabButtonObserver.onDragExit(event)"
   672 +                     ondragexit="newTabButtonObserver.onDragExit(event)"
   674 +                     cui-areatype="toolbar"
   673 +                     cui-areatype="toolbar"
   675 +                     removable="true"/>
   674 +                     removable="true"/>
   676 +
   675 +
   677 +      <toolbarbutton id="alltabs-button"
   676 +      <toolbarbutton id="alltabs-button"
   678 +                     class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button"
   677 +                     class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button badged-button"
   679 +                     type="menu"
   678 +                     type="menu"
   680 +                     label="&listAllTabs.label;"
   679 +                     label="&listAllTabs.label;"
   681 +                     tooltiptext="&listAllTabs.label;"
   680 +                     tooltiptext="&listAllTabs.label;"
   682 +                     removable="false">
   681 +                     removable="false">
   683 +        <menupopup id="alltabs-popup"
   682 +        <menupopup id="alltabs-popup"
   690 +          <menu id="alltabs_containersTab"
   689 +          <menu id="alltabs_containersTab"
   691 +                label="&newUserContext.label;">
   690 +                label="&newUserContext.label;">
   692 +            <menupopup id="alltabs_containersMenuTab" />
   691 +            <menupopup id="alltabs_containersMenuTab" />
   693 +          </menu>
   692 +          </menu>
   694 +          <menuseparator id="alltabs-popup-separator-2"/>
   693 +          <menuseparator id="alltabs-popup-separator-2"/>
       
   694 +          <menu id="alltabs_hiddenTabs"
       
   695 +                label="&hiddenTabs.label;">
       
   696 +            <menupopup id="alltabs_hiddenTabsMenu"/>
       
   697 +          </menu>
       
   698 +          <menuseparator id="alltabs-popup-separator-3"/>
   695 +        </menupopup>
   699 +        </menupopup>
   696 +      </toolbarbutton>
   700 +      </toolbarbutton>
   697 +
   701 +
   698 +#ifdef CAN_DRAW_IN_TITLEBAR
       
   699 +      <hbox class="titlebar-placeholder" type="post-tabs"
   702 +      <hbox class="titlebar-placeholder" type="post-tabs"
   700 +            ordinal="1000"
   703 +            ordinal="1000"
   701 +            skipintoolbarset="true"/>
   704 +            skipintoolbarset="true"/>
   702 +#endif
       
   703 +
   705 +
   704 +      <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
   706 +      <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
   705 +              ordinal="1000"
   707 +              ordinal="1000"
   706 +              aria-live="polite" skipintoolbarset="true"/>
   708 +              aria-live="polite" skipintoolbarset="true"/>
   707 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"
   709 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"
   708 +            ordinal="1000"/>
   710 +            ordinal="1000"/>
   709 +#ifdef CAN_DRAW_IN_TITLEBAR
       
   710 +      <hbox class="titlebar-placeholder" type="caption-buttons"
   711 +      <hbox class="titlebar-placeholder" type="caption-buttons"
   711 +#ifndef XP_MACOSX
   712 +#ifndef XP_MACOSX
   712 +            ordinal="1000"
   713 +            ordinal="1000"
   713 +#endif
   714 +#endif
   714 +            skipintoolbarset="true"/>
   715 +            skipintoolbarset="true"/>
   715 +
   716 +
   716 +#ifdef XP_MACOSX
   717 +#ifdef XP_MACOSX
   717 +      <hbox class="titlebar-placeholder" type="fullscreen-button"
   718 +      <hbox class="titlebar-placeholder" type="fullscreen-button"
   718 +            skipintoolbarset="true"/>
   719 +            skipintoolbarset="true"/>
   719 +#endif
       
   720 +#endif
   720 +#endif
   721 +    </toolbar>
   721 +    </toolbar>
   722 +
   722 +
   723 +    <toolbar id="nav-bar"
   723 +    <toolbar id="nav-bar"
   724 +             aria-label="&navbarCmd.label;"
   724 +             aria-label="&navbarCmd.label;"
   874 +                  <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
   874 +                  <image id="persistent-storage-notification-icon" class="notification-anchor-icon persistent-storage-icon" role="button"
   875 +                         tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
   875 +                         tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
   876 +                  <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
   876 +                  <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
   877 +                         tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
   877 +                         tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
   878 +                  <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
   878 +                  <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
   879 +                         tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
   879 +                         tooltiptext="&urlbar.webAuthnAnchor.tooltip;"/>
   880 +                </box>
   880 +                </box>
   881 +                <image id="connection-icon"/>
   881 +                <image id="connection-icon"/>
   882 +                <image id="extension-icon"/>
   882 +                <image id="extension-icon"/>
   883 +                <image id="remote-control-icon"
   883 +                <image id="remote-control-icon"
   884 +                       tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
   884 +                       tooltiptext="&urlbar.remoteControlNotificationAnchor.tooltip;"/>
  1226 +        <tabbox id="tabbrowser-tabbox"
  1226 +        <tabbox id="tabbrowser-tabbox"
  1227 +                    flex="1" eventnode="document" tabcontainer="tabbrowser-tabs"
  1227 +                    flex="1" eventnode="document" tabcontainer="tabbrowser-tabs"
  1228 +                    onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
  1228 +                    onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
  1229 +          <tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
  1229 +          <tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
  1230 +            <notificationbox flex="1" notificationside="top">
  1230 +            <notificationbox flex="1" notificationside="top">
  1231 +              <hbox flex="1" class="browserSidebarContainer">
  1231 +              <!-- Set large flex to allow the devtools toolbox to set a flex attribute.
  1232 +                <vbox flex="1" class="browserContainer">
  1232 +                   We don't want the toolbox to actually take up free space, but we do want it to collapse when the window shrinks, and with flex=0 it can't.
       
  1233 +                   When the toolbox is on the bottom it's a sibling of browserSidebarContainer,
       
  1234 +                   and when it's on the side it's a sibling of browserContainer.  -->
       
  1235 +              <hbox flex="10000" class="browserSidebarContainer">
       
  1236 +                <vbox flex="10000" class="browserContainer">
  1233 +                  <stack flex="1" class="browserStack">
  1237 +                  <stack flex="1" class="browserStack">
  1234 +                    <browser id="tabbrowser-initialBrowser" type="content"
  1238 +                    <browser id="tabbrowser-initialBrowser" type="content"
  1235 +                             message="true" messagemanagergroup="browsers"
  1239 +                             message="true" messagemanagergroup="browsers"
  1236 +                             primary="true" blank="true"
  1240 +                             primary="true" blank="true"
  1237 +                             tooltip="aHTMLTooltip"
  1241 +                             tooltip="aHTMLTooltip"
  1238 +                             contextmenu="contentAreaContextMenu"
  1242 +                             contextmenu="contentAreaContextMenu"
  1239 +                             autocompletepopup="PopupAutoComplete"
  1243 +                             autocompletepopup="PopupAutoComplete"
  1240 +                             selectmenulist="ContentSelectDropdown"
  1244 +                             selectmenulist="ContentSelectDropdown"
  1241 +                             datetimepicker="DateTimePickerPanel"/>
  1245 +                             datetimepicker="DateTimePickerPanel"/>
  1242 +                  </stack>
  1246 +                  </stack>
       
  1247 +                  <hbox id="statuspanel" inactive="true" layer="true">
       
  1248 +                    <hbox id="statuspanel-inner">
       
  1249 +                      <label id="statuspanel-label"
       
  1250 +                             role="status"
       
  1251 +                             aria-live="off"
       
  1252 +                             flex="1"
       
  1253 +                             crop="end"/>
       
  1254 +                    </hbox>
       
  1255 +                  </hbox>
  1243 +                </vbox>
  1256 +                </vbox>
  1244 +              </hbox>
  1257 +              </hbox>
  1245 +            </notificationbox>
  1258 +            </notificationbox>
  1246 +          </tabpanels>
  1259 +          </tabpanels>
  1247 +        </tabbox>
  1260 +        </tabbox>
  1287 +
  1300 +
  1288 +</window>
  1301 +</window>
  1289 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1302 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
  1290 --- a/browser/base/jar.mn
  1303 --- a/browser/base/jar.mn
  1291 +++ b/browser/base/jar.mn
  1304 +++ b/browser/base/jar.mn
  1292 @@ -42,16 +42,18 @@ browser.jar:
  1305 @@ -44,16 +44,18 @@ browser.jar:
  1293          content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)
  1306          content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)
  1294          content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)
  1307          content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)
  1295          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1308          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
  1296          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1309          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
  1297          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1310          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  1328  #include "nsIEHistoryEnumerator.h"
  1341  #include "nsIEHistoryEnumerator.h"
  1329  #endif
  1342  #endif
  1330  
  1343  
  1331  #include "rdf.h"
  1344  #include "rdf.h"
  1332  #include "nsFeedSniffer.h"
  1345  #include "nsFeedSniffer.h"
  1333 @@ -32,18 +32,16 @@ using namespace mozilla::browser;
  1346 @@ -31,18 +31,16 @@ using namespace mozilla::browser;
  1334  
  1347  
  1335  /////////////////////////////////////////////////////////////////////////////
  1348  /////////////////////////////////////////////////////////////////////////////
  1336  
  1349  
  1337  NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
  1350  NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
  1338  #if defined(XP_WIN)
  1351  #if defined(XP_WIN)
  1347  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
  1360  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
  1348  #endif
  1361  #endif
  1349  
  1362  
  1350  NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
  1363  NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
  1351  
  1364  
  1352 @@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID)
  1365 @@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
  1353  NS_GENERIC_FACTORY_CONSTRUCTOR(nsSessionStoreUtils)
  1366  NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
  1354  NS_DEFINE_NAMED_CID(NS_SESSIONSTOREUTILS_CID);
  1367  #endif
  1355  
  1368  
  1356  static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
  1369  static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
  1357      { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
  1370      { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
  1358  #if defined(XP_WIN)
  1371  #if defined(XP_WIN)
  1359      { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
  1372      { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
  1369      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1382      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  1370  #endif
  1383  #endif
  1371 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1384 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1372 --- a/browser/components/preferences/in-content/main.js
  1385 --- a/browser/components/preferences/in-content/main.js
  1373 +++ b/browser/components/preferences/in-content/main.js
  1386 +++ b/browser/components/preferences/in-content/main.js
  1374 @@ -333,16 +333,23 @@ var gMainPane = {
  1387 @@ -327,16 +327,23 @@ var gMainPane = {
  1375            this._backoffIndex++ : backoffTimes.length - 1]);
  1388            this._backoffIndex++ : backoffTimes.length - 1]);
  1376        };
  1389        };
  1377  
  1390  
  1378        window.setTimeout(() => {
  1391        window.setTimeout(() => {
  1379          window.requestIdleCallback(pollForDefaultBrowser);
  1392          window.requestIdleCallback(pollForDefaultBrowser);
  1393      let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
  1406      let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
  1394      let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
  1407      let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
  1395      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  1408      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  1396  
  1409  
  1397      this.updateDefaultPerformanceSettingsPref();
  1410      this.updateDefaultPerformanceSettingsPref();
  1398 @@ -1060,16 +1067,27 @@ var gMainPane = {
  1411 @@ -868,16 +875,27 @@ var gMainPane = {
  1399        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
  1412        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
  1400        this._backoffIndex = 0;
  1413        this._backoffIndex = 0;
  1401  
  1414  
  1402        let shellSvc = getShellService();
  1415        let shellSvc = getShellService();
  1403        if (!shellSvc)
  1416        if (!shellSvc)
  1424        document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
  1437        document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
  1425      }
  1438      }
  1426 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
  1439 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
  1427 --- a/browser/components/shell/moz.build
  1440 --- a/browser/components/shell/moz.build
  1428 +++ b/browser/components/shell/moz.build
  1441 +++ b/browser/components/shell/moz.build
  1429 @@ -39,16 +39,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
  1442 @@ -21,16 +21,18 @@ XPIDL_SOURCES += [
  1430      ]
  1443  
  1431  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
  1444  if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
  1432      SOURCES += [
  1445      XPIDL_SOURCES += [
  1433          'nsMacShellService.cpp',
  1446          'nsIMacShellService.idl',
  1434      ]
  1447      ]
  1435  elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
  1448  elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
  1436      SOURCES += [
  1449      XPIDL_SOURCES += [
  1437          'nsGNOMEShellService.cpp',
  1450          'nsIGNOMEShellService.idl',
  1438 +        'nsKDEShellService.cpp',
  1451 +        'nsKDEShellService.cpp',
  1439 +        'nsUnixShellService.cpp',
  1452 +        'nsUnixShellService.cpp',
  1440      ]
  1453      ]
  1441  
  1454  
  1442  if SOURCES:
  1455  XPIDL_MODULE = 'shellservice'
  1443      FINAL_LIBRARY = 'browsercomps'
  1456  
  1444  
  1457  if CONFIG['OS_ARCH'] == 'WINNT':
  1445  EXTRA_COMPONENTS += [
  1458      SOURCES += [
  1446      'nsSetDefaultBrowser.js',
  1459          'nsWindowsShellService.cpp',
  1447      'nsSetDefaultBrowser.manifest',
  1460      ]
  1448 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
  1461 diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
  1449 new file mode 100644
  1462 new file mode 100644
  1450 --- /dev/null
  1463 --- /dev/null
  1451 +++ b/browser/components/shell/nsKDEShellService.cpp
  1464 +++ b/browser/components/shell/nsKDEShellService.cpp
  1452 @@ -0,0 +1,204 @@
  1465 @@ -0,0 +1,204 @@
  1737 +
  1750 +
  1738 +#endif // nsunixshellservice_h____
  1751 +#endif // nsunixshellservice_h____
  1739 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1752 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1740 --- a/browser/installer/package-manifest.in
  1753 --- a/browser/installer/package-manifest.in
  1741 +++ b/browser/installer/package-manifest.in
  1754 +++ b/browser/installer/package-manifest.in
  1742 @@ -646,16 +646,18 @@
  1755 @@ -452,16 +452,18 @@
  1743  @RESPATH@/browser/defaults/blocklists
  1756  @RESPATH@/browser/defaults/blocklists
  1744  @RESPATH@/browser/defaults/pinning
  1757  @RESPATH@/browser/defaults/pinning
  1745  
  1758  
  1746  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1759  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1747  ; Technically this is an app pref file, but we are keeping it in the original
  1760  ; Technically this is an app pref file, but we are keeping it in the original
  1748  ; gre location for now.
  1761  ; gre location for now.
  1749  @RESPATH@/defaults/pref/channel-prefs.js
  1762  @RESPATH@/defaults/pref/channel-prefs.js
  1750  
  1763  
  1751 +@BINPATH@/defaults/pref/kde.js
  1764 +@RESPATH@/defaults/pref/kde.js
  1752 +
  1765 +
  1753  ; Remote control protocol prefs
       
  1754  ; defined in ../../testing/marionette/prefs/marionette.js
       
  1755  @RESPATH@/defaults/pref/marionette.js
       
  1756  
       
  1757  ; Services (gre) prefs
  1766  ; Services (gre) prefs
  1758  @RESPATH@/defaults/pref/services-sync.js
  1767  @RESPATH@/defaults/pref/services-sync.js
  1759  
  1768  
  1760  ; [Layout Engine Resources]
  1769  ; [Layout Engine Resources]
       
  1770  ; Style Sheets, Graphics and other Resources used by the layout engine.
       
  1771  @RESPATH@/res/EditorOverride.css
       
  1772  @RESPATH@/res/contenteditable.css
       
  1773  @RESPATH@/res/designmode.css