firefox-kde.patch
branchfirefox67
changeset 1093 3942c205588b
parent 1089 eca1c1f2fe50
equal deleted inserted replaced
1092:5d7b22f6b177 1093:3942c205588b
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  87262204aa945e6fce864193d103a93659bf76f6
     2 # Parent  18632e53d0b0c4c03f254ca2dbbeac8f48ec6f5c
     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,1408 @@
     8 @@ -0,0 +1,1404 @@
     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
    78 +        fullscreenbutton="true"
    78 +        fullscreenbutton="true"
    79 +        sizemode="normal"
    79 +        sizemode="normal"
    80 +        retargetdocumentfocus="urlbar"
    80 +        retargetdocumentfocus="urlbar"
    81 +        persist="screenX screenY width height sizemode"
    81 +        persist="screenX screenY width height sizemode"
    82 +#ifdef BROWSER_XHTML
    82 +#ifdef BROWSER_XHTML
    83 +        hidden="true"
       
    84 +        mozpersist=""
    83 +        mozpersist=""
    85 +#endif
    84 +#endif
    86 +        >
    85 +        >
    87 +
    86 +
    88 +# All JS files which are needed by browser.xul and other top level windows to
    87 +# All JS files which are needed by browser.xul and other top level windows to
    89 +# support MacOS specific features *must* go into the global-scripts.inc file so
    88 +# support MacOS specific features *must* go into the global-scripts.inc file so
    90 +# that they can be shared with macWindow.inc.xul.
    89 +# that they can be shared with macWindow.inc.xul.
    91 +#include global-scripts.inc
    90 +#include global-scripts.inc
    92 +
    91 +
    93 +<script type="application/javascript"
    92 +<script type="application/javascript">
    94 +#ifdef BROWSER_XHTML
       
    95 +xmlns="http://www.w3.org/1999/xhtml"
       
    96 +#endif
       
    97 +>
       
    98 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
    93 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
    99 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
    94 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
   100 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this);
    95 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this);
   101 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-contentblocking.js", this);
    96 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-contentblocking.js", this);
   102 +#ifdef MOZ_DATA_REPORTING
    97 +#ifdef MOZ_DATA_REPORTING
   109 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this);
   104 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this);
   110 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-plugins.js", this);
   105 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-plugins.js", this);
   111 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
   106 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
   112 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
   107 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
   113 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
   108 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
       
   109 +  Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
   114 +  Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
   110 +  Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
   115 +
   111 +
   116 +  window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
   112 +  window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
   117 +  window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
   113 +  window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
   118 +  window.onclose = WindowIsClosing;
   114 +  window.onclose = WindowIsClosing;
   119 +
   115 +
   120 +#ifdef BROWSER_XHTML
       
   121 +  window.addEventListener("readystatechange", () => {
       
   122 +    // We initially hide the window to prevent layouts during parse. This lets us
       
   123 +    // avoid accidental XBL construction and better match browser.xul (see Bug 1497975).
       
   124 +    gBrowserInit.onBeforeInitialXULLayout();
       
   125 +    document.documentElement.removeAttribute("hidden");
       
   126 +  }, { once: true, capture: true });
       
   127 +#else
       
   128 +  window.addEventListener("MozBeforeInitialXULLayout",
   116 +  window.addEventListener("MozBeforeInitialXULLayout",
   129 +    gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
   117 +    gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
   130 +#endif
   118 +
   131 +  // The listener of DOMContentLoaded must be set on window, rather than
   119 +  // The listener of DOMContentLoaded must be set on window, rather than
   132 +  // document, because the window can go away before the event is fired.
   120 +  // document, because the window can go away before the event is fired.
   133 +  // In that case, we don't want to initialize anything, otherwise we
   121 +  // In that case, we don't want to initialize anything, otherwise we
   134 +  // may be leaking things because they will never be destroyed after.
   122 +  // may be leaking things because they will never be destroyed after.
   135 +  window.addEventListener("DOMContentLoaded",
   123 +  window.addEventListener("DOMContentLoaded",
   242 +    <tooltip id="aHTMLTooltip" page="true"/>
   230 +    <tooltip id="aHTMLTooltip" page="true"/>
   243 +    <tooltip id="remoteBrowserTooltip"/>
   231 +    <tooltip id="remoteBrowserTooltip"/>
   244 +
   232 +
   245 +    <!-- for search and content formfill/pw manager -->
   233 +    <!-- for search and content formfill/pw manager -->
   246 +
   234 +
   247 +    <panel type="autocomplete-richlistbox"
   235 +    <panel is="autocomplete-richlistbox-popup"
       
   236 +           type="autocomplete-richlistbox"
   248 +           id="PopupAutoComplete"
   237 +           id="PopupAutoComplete"
   249 +           role="group"
   238 +           role="group"
   250 +           noautofocus="true"
   239 +           noautofocus="true"
   251 +           hidden="true"
   240 +           hidden="true"
   252 +           overflowpadding="4"
   241 +           overflowpadding="4"
   253 +           norolluponanchor="true"
   242 +           norolluponanchor="true"
   254 +           nomaxresults="true" />
   243 +           nomaxresults="true" />
   255 +
   244 +
   256 +    <!-- for search with one-off buttons -->
   245 +    <!-- for search with one-off buttons -->
   257 +    <panel type="autocomplete-richlistbox"
   246 +    <panel is="search-autocomplete-richlistbox-popup"
       
   247 +           type="autocomplete-richlistbox"
   258 +           id="PopupSearchAutoComplete"
   248 +           id="PopupSearchAutoComplete"
   259 +           role="group"
   249 +           role="group"
   260 +           noautofocus="true"
   250 +           noautofocus="true"
   261 +           hidden="true" />
   251 +           hidden="true" />
   262 +
   252 +
   267 +           noautofocus="true"
   257 +           noautofocus="true"
   268 +           hidden="true"
   258 +           hidden="true"
   269 +           flip="none"
   259 +           flip="none"
   270 +           level="parent"
   260 +           level="parent"
   271 +           overflowpadding="15" />
   261 +           overflowpadding="15" />
   272 +
       
   273 +    <!-- for url bar autocomplete -->
       
   274 +    <panel id="urlbar-results"
       
   275 +           role="group"
       
   276 +           noautofocus="true"
       
   277 +           hidden="true"
       
   278 +           flip="none"
       
   279 +           consumeoutsideclicks="never"
       
   280 +           norolluponanchor="true"
       
   281 +           level="parent">
       
   282 +      <html:div class="urlbarView-body-outer">
       
   283 +        <html:div class="urlbarView-body-inner">
       
   284 +          <!-- TODO: add search suggestions notification -->
       
   285 +          <html:div class="urlbarView-results"/>
       
   286 +        </html:div>
       
   287 +      </html:div>
       
   288 +      <hbox class="search-one-offs"
       
   289 +            compact="true"
       
   290 +            includecurrentengine="true"
       
   291 +            disabletab="true"/>
       
   292 +    </panel>
       
   293 +
   262 +
   294 +    <!-- for date/time picker. consumeoutsideclicks is set to never, so that
   263 +    <!-- for date/time picker. consumeoutsideclicks is set to never, so that
   295 +         clicks on the anchored input box are never consumed. -->
   264 +         clicks on the anchored input box are never consumed. -->
   296 +    <panel id="DateTimePickerPanel"
   265 +    <panel id="DateTimePickerPanel"
   297 +           type="arrow"
   266 +           type="arrow"
   579 +           flip="slide"
   548 +           flip="slide"
   580 +           photon="true"
   549 +           photon="true"
   581 +           position="bottomcenter topright"
   550 +           position="bottomcenter topright"
   582 +           tabspecific="true"
   551 +           tabspecific="true"
   583 +           noautofocus="true"
   552 +           noautofocus="true"
       
   553 +           pinTab-title="&pinTab.label;"
       
   554 +           unpinTab-title="&unpinTab.label;"
   584 +           pocket-title="&saveToPocketCmd.label;"
   555 +           pocket-title="&saveToPocketCmd.label;"
   585 +           copyURL-title="&pageAction.copyLink.label;"
   556 +           copyURL-title="&pageAction.copyLink.label;"
   586 +           emailLink-title="&emailPageCmd.label;"
   557 +           emailLink-title="&emailPageCmd.label;"
   587 +           sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
   558 +           sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
   588 +           shareURL-title="&pageAction.shareUrl.label;"
   559 +           shareURL-title="&pageAction.shareUrl.label;"
   605 +           flip="slide"
   576 +           flip="slide"
   606 +           position="bottomcenter topright"
   577 +           position="bottomcenter topright"
   607 +           tabspecific="true"
   578 +           tabspecific="true"
   608 +           noautofocus="true">
   579 +           noautofocus="true">
   609 +      <hbox id="confirmation-hint-checkmark-animation-container">
   580 +      <hbox id="confirmation-hint-checkmark-animation-container">
   610 +        <image id="confirmation-hint-checkmark-image"/>
   581 +       <image id="confirmation-hint-checkmark-image"/>
   611 +      </hbox>
   582 +      </hbox>
   612 +      <label id="confirmation-hint-message"/>
   583 +      <vbox id="confirmation-hint-message-container">
       
   584 +       <label id="confirmation-hint-message"/>
       
   585 +       <label id="confirmation-hint-description"/>
       
   586 +      </vbox>
   613 +    </panel>
   587 +    </panel>
   614 +
   588 +
   615 +    <menupopup id="pageActionContextMenu"
   589 +    <menupopup id="pageActionContextMenu"
   616 +               onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">
   590 +               onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">
   617 +      <menuitem class="pageActionContextMenuItem builtInUnpinned"
   591 +      <menuitem class="pageActionContextMenuItem builtInUnpinned"
   841 +             overflowbutton="nav-bar-overflow-button"
   815 +             overflowbutton="nav-bar-overflow-button"
   842 +             overflowtarget="widget-overflow-list"
   816 +             overflowtarget="widget-overflow-list"
   843 +             overflowpanel="widget-overflow"
   817 +             overflowpanel="widget-overflow"
   844 +             context="toolbar-context-menu">
   818 +             context="toolbar-context-menu">
   845 +
   819 +
       
   820 +      <toolbartabstop/>
   846 +      <hbox id="nav-bar-customization-target" flex="1">
   821 +      <hbox id="nav-bar-customization-target" flex="1">
   847 +        <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
   822 +        <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
   848 +                       label="&backCmd.label;"
   823 +                       label="&backCmd.label;"
   849 +                       removable="false" overflows="false"
   824 +                       removable="false" overflows="false"
   850 +                       keepbroadcastattributeswhencustomizing="true"
   825 +                       keepbroadcastattributeswhencustomizing="true"
   894 +                       tooltiptext="&homeButton.defaultPage.tooltip;"/>
   869 +                       tooltiptext="&homeButton.defaultPage.tooltip;"/>
   895 +        <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
   870 +        <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
   896 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
   871 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
   897 +                     removable="false"
   872 +                     removable="false"
   898 +                     class="chromeclass-location" overflows="false">
   873 +                     class="chromeclass-location" overflows="false">
       
   874 +            <toolbartabstop/>
   899 +            <textbox id="urlbar" flex="1"
   875 +            <textbox id="urlbar" flex="1"
   900 +                     placeholder="&urlbar.placeholder2;"
   876 +                     placeholder="&urlbar.placeholder2;"
   901 +                     defaultPlaceholder="&urlbar.placeholder2;"
   877 +                     defaultPlaceholder="&urlbar.placeholder2;"
   902 +                     focused="true"
   878 +                     focused="true"
   903 +                     type="autocomplete"
   879 +                     type="autocomplete"
       
   880 +                     quantumbar="false"
   904 +                     autocompletesearch="unifiedcomplete"
   881 +                     autocompletesearch="unifiedcomplete"
   905 +                     autocompletesearchparam="enable-actions"
   882 +                     autocompletesearchparam="enable-actions"
   906 +                     autocompletepopup="PopupAutoCompleteRichResult"
   883 +                     autocompletepopup="PopupAutoCompleteRichResult"
   907 +                     completeselectedindex="true"
   884 +                     completeselectedindex="true"
   908 +                     tabscrolling="true"
   885 +                     tabscrolling="true"
  1013 +              <box id="urlbar-display-box" align="center">
   990 +              <box id="urlbar-display-box" align="center">
  1014 +                <label id="switchtab" class="urlbar-display urlbar-display-switchtab" value="&urlbar.switchToTab.label;"/>
   991 +                <label id="switchtab" class="urlbar-display urlbar-display-switchtab" value="&urlbar.switchToTab.label;"/>
  1015 +                <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
   992 +                <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
  1016 +              </box>
   993 +              </box>
  1017 +              <hbox id="page-action-buttons" context="pageActionContextMenu">
   994 +              <hbox id="page-action-buttons" context="pageActionContextMenu">
       
   995 +                <toolbartabstop/>
  1018 +                <hbox id="contextual-feature-recommendation" role="button" hidden="true">
   996 +                <hbox id="contextual-feature-recommendation" role="button" hidden="true">
  1019 +                  <hbox id="cfr-label-container">
   997 +                  <hbox id="cfr-label-container">
  1020 +                    <label id="cfr-label"/>
   998 +                    <label id="cfr-label"/>
  1021 +                  </hbox>
   999 +                  </hbox>
  1022 +                  <image id="cfr-button"
  1000 +                  <image id="cfr-button"
  1070 +                           role="presentation"/>
  1048 +                           role="presentation"/>
  1071 +                  </hbox>
  1049 +                  </hbox>
  1072 +                </hbox>
  1050 +                </hbox>
  1073 +              </hbox>
  1051 +              </hbox>
  1074 +            </textbox>
  1052 +            </textbox>
       
  1053 +            <toolbartabstop/>
  1075 +        </toolbaritem>
  1054 +        </toolbaritem>
  1076 +
  1055 +
  1077 +        <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
  1056 +        <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
  1078 +
  1057 +
  1079 +        <!-- This is a placeholder for the Downloads Indicator.  It is visible
  1058 +        <!-- This is a placeholder for the Downloads Indicator.  It is visible
  1081 +             the Downloads Indicator overlay is loaded. -->
  1060 +             the Downloads Indicator overlay is loaded. -->
  1082 +        <toolbarbutton id="downloads-button"
  1061 +        <toolbarbutton id="downloads-button"
  1083 +                       class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
  1062 +                       class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
  1084 +                       key="key_openDownloads"
  1063 +                       key="key_openDownloads"
  1085 +                       onmousedown="DownloadsIndicatorView.onCommand(event);"
  1064 +                       onmousedown="DownloadsIndicatorView.onCommand(event);"
       
  1065 +                       onkeypress="DownloadsIndicatorView.onCommand(event);"
  1086 +                       ondrop="DownloadsIndicatorView.onDrop(event);"
  1066 +                       ondrop="DownloadsIndicatorView.onDrop(event);"
  1087 +                       ondragover="DownloadsIndicatorView.onDragOver(event);"
  1067 +                       ondragover="DownloadsIndicatorView.onDragOver(event);"
  1088 +                       ondragenter="DownloadsIndicatorView.onDragOver(event);"
  1068 +                       ondragenter="DownloadsIndicatorView.onDragOver(event);"
  1089 +                       label="&downloads.label;"
  1069 +                       label="&downloads.label;"
  1090 +                       removable="true"
  1070 +                       removable="true"
  1113 +                       closemenu="none"
  1093 +                       closemenu="none"
  1114 +                       cui-areatype="toolbar"
  1094 +                       cui-areatype="toolbar"
  1115 +                       tooltiptext="&libraryButton.tooltip;"
  1095 +                       tooltiptext="&libraryButton.tooltip;"
  1116 +                       label="&places.library.title;"/>
  1096 +                       label="&places.library.title;"/>
  1117 +
  1097 +
       
  1098 +        <toolbarbutton id="fxa-toolbar-menu-button" class="toolbarbutton-1 badged-button chromeclass-toolbar-additional subviewbutton-nav"
       
  1099 +                       onmousedown="gSync.toggleAccountPanel('PanelUI-fxa', event)"
       
  1100 +                       onkeypress="gSync.toggleAccountPanel('PanelUI-fxa', event)"
       
  1101 +                       consumeanchor="fxa-toolbar-menu-button"
       
  1102 +                       closemenu="none"
       
  1103 +                       label="&fxa.menu.firefoxAccount;"
       
  1104 +                       tooltiptext="&fxa.menu.firefoxAccount;"
       
  1105 +                       cui-areatype="toolbar"
       
  1106 +                       removable="true">
       
  1107 +                       <vbox>
       
  1108 +                        <image id="fxa-avatar-image"/>
       
  1109 +                       </vbox>
       
  1110 +        </toolbarbutton>
  1118 +      </hbox>
  1111 +      </hbox>
  1119 +
  1112 +
  1120 +      <toolbarbutton id="nav-bar-overflow-button"
  1113 +      <toolbarbutton id="nav-bar-overflow-button"
  1121 +                     class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
  1114 +                     class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
  1122 +                     skipintoolbarset="true"
  1115 +                     skipintoolbarset="true"
  1165 +             class="browser-toolbar chromeclass-directories"
  1158 +             class="browser-toolbar chromeclass-directories"
  1166 +             context="toolbar-context-menu"
  1159 +             context="toolbar-context-menu"
  1167 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
  1160 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
  1168 +             collapsed="true"
  1161 +             collapsed="true"
  1169 +             customizable="true">
  1162 +             customizable="true">
       
  1163 +      <toolbartabstop skipintoolbarset="true"/>
  1170 +      <toolbaritem id="personal-bookmarks"
  1164 +      <toolbaritem id="personal-bookmarks"
  1171 +                   title="&bookmarksToolbarItem.label;"
  1165 +                   title="&bookmarksToolbarItem.label;"
  1172 +                   cui-areatype="toolbar"
  1166 +                   cui-areatype="toolbar"
  1173 +                   removable="true">
  1167 +                   removable="true">
  1174 +        <toolbarbutton id="bookmarks-toolbar-placeholder"
  1168 +        <toolbarbutton id="bookmarks-toolbar-placeholder"
  1334 +                   class="chromeclass-toolbar-additional"
  1328 +                   class="chromeclass-toolbar-additional"
  1335 +                   title="&searchItem.title;"
  1329 +                   title="&searchItem.title;"
  1336 +                   align="center"
  1330 +                   align="center"
  1337 +                   flex="100"
  1331 +                   flex="100"
  1338 +                   persist="width">
  1332 +                   persist="width">
       
  1333 +        <toolbartabstop/>
  1339 +        <searchbar id="searchbar" flex="1"/>
  1334 +        <searchbar id="searchbar" flex="1"/>
       
  1335 +        <toolbartabstop/>
  1340 +      </toolbaritem>
  1336 +      </toolbaritem>
  1341 +    </toolbarpalette>
  1337 +    </toolbarpalette>
  1342 +  </toolbox>
  1338 +  </toolbox>
  1343 +
  1339 +
  1344 +  <hbox id="fullscr-toggler" hidden="true"/>
  1340 +  <hbox id="fullscr-toggler" hidden="true"/>
  1434          content/browser/browser-ctrlTab.js            (content/browser-ctrlTab.js)
  1430          content/browser/browser-ctrlTab.js            (content/browser-ctrlTab.js)
  1435          content/browser/browser-customization.js      (content/browser-customization.js)
  1431          content/browser/browser-customization.js      (content/browser-customization.js)
  1436          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
  1432          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
  1437          content/browser/browser-compacttheme.js       (content/browser-compacttheme.js)
  1433          content/browser/browser-compacttheme.js       (content/browser-compacttheme.js)
  1438          content/browser/browser-contentblocking.js    (content/browser-contentblocking.js)
  1434          content/browser/browser-contentblocking.js    (content/browser-contentblocking.js)
  1439 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
       
  1440 --- a/browser/components/build/nsModule.cpp
       
  1441 +++ b/browser/components/build/nsModule.cpp
       
  1442 @@ -8,17 +8,17 @@
       
  1443  #include "nsBrowserCompsCID.h"
       
  1444  #include "DirectoryProvider.h"
       
  1445  
       
  1446  #if defined(XP_WIN)
       
  1447  #  include "nsWindowsShellService.h"
       
  1448  #elif defined(XP_MACOSX)
       
  1449  #  include "nsMacShellService.h"
       
  1450  #elif defined(MOZ_WIDGET_GTK)
       
  1451 -#  include "nsGNOMEShellService.h"
       
  1452 +#  include "nsUnixShellService.h"
       
  1453  #endif
       
  1454  #include "nsIToolkitShellService.h"
       
  1455  
       
  1456  #if defined(MOZ_WIDGET_COCOA)
       
  1457  #  include "nsMacAttribution.h"
       
  1458  #endif
       
  1459  
       
  1460  #if defined(XP_WIN)
       
  1461 @@ -34,18 +34,16 @@ using namespace mozilla::browser;
       
  1462  
       
  1463  /////////////////////////////////////////////////////////////////////////////
       
  1464  
       
  1465  NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
       
  1466  #if defined(XP_WIN)
       
  1467  NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindowsShellService)
       
  1468  #elif defined(XP_MACOSX)
       
  1469  NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
       
  1470 -#elif defined(MOZ_WIDGET_GTK)
       
  1471 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
       
  1472  #endif
       
  1473  
       
  1474  #if defined(MOZ_WIDGET_COCOA)
       
  1475  NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService)
       
  1476  #endif
       
  1477  
       
  1478  #if defined(XP_WIN)
       
  1479  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
       
  1480 @@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER
       
  1481  #endif
       
  1482  
       
  1483  static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
       
  1484      // clang-format off
       
  1485      { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
       
  1486  #if defined(XP_WIN)
       
  1487      { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
       
  1488  #elif defined(MOZ_WIDGET_GTK)
       
  1489 -    { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
       
  1490 +    { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
       
  1491  #elif defined(XP_MACOSX)
       
  1492      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
       
  1493  #endif
       
  1494      { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
       
  1495  #if defined(XP_WIN)
       
  1496      { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
       
  1497  #endif
       
  1498  #if defined(MOZ_WIDGET_COCOA)
       
  1499 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1435 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
  1500 --- a/browser/components/preferences/in-content/main.js
  1436 --- a/browser/components/preferences/in-content/main.js
  1501 +++ b/browser/components/preferences/in-content/main.js
  1437 +++ b/browser/components/preferences/in-content/main.js
  1502 @@ -289,16 +289,23 @@ var gMainPane = {
  1438 @@ -288,16 +288,23 @@ var gMainPane = {
  1503            this._backoffIndex++ : backoffTimes.length - 1]);
  1439            this._backoffIndex++ : backoffTimes.length - 1]);
  1504        };
  1440        };
  1505  
  1441  
  1506        window.setTimeout(() => {
  1442        window.setTimeout(() => {
  1507          window.requestIdleCallback(pollForDefaultBrowser);
  1443          window.requestIdleCallback(pollForDefaultBrowser);
  1521      let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
  1457      let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
  1522      let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
  1458      let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
  1523      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  1459      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  1524  
  1460  
  1525      this.updateDefaultPerformanceSettingsPref();
  1461      this.updateDefaultPerformanceSettingsPref();
  1526 @@ -1021,16 +1028,27 @@ var gMainPane = {
  1462 @@ -1025,16 +1032,27 @@ var gMainPane = {
  1527        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
  1463        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
  1528        this._backoffIndex = 0;
  1464        this._backoffIndex = 0;
  1529  
  1465  
  1530        let shellSvc = getShellService();
  1466        let shellSvc = getShellService();
  1531        if (!shellSvc)
  1467        if (!shellSvc)
  1813 +
  1749 +
  1814 +#endif // nsunixshellservice_h____
  1750 +#endif // nsunixshellservice_h____
  1815 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1751 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1816 --- a/browser/installer/package-manifest.in
  1752 --- a/browser/installer/package-manifest.in
  1817 +++ b/browser/installer/package-manifest.in
  1753 +++ b/browser/installer/package-manifest.in
  1818 @@ -452,16 +452,18 @@
  1754 @@ -286,16 +286,18 @@
  1819  @RESPATH@/browser/defaults/settings/pinning
  1755  @RESPATH@/browser/defaults/settings/pinning
  1820  @RESPATH@/browser/defaults/settings/main
  1756  @RESPATH@/browser/defaults/settings/main
  1821  
  1757  
  1822  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1758  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  1823  ; Technically this is an app pref file, but we are keeping it in the original
  1759  ; Technically this is an app pref file, but we are keeping it in the original