firefox-kde.patch
changeset 515 0f6539389500
parent 491 43deb5e6462d
child 522 fdca14856f37
equal deleted inserted replaced
514:ff06037ec39c 515:0f6539389500
     1 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
     1 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
     2 new file mode 100644
     2 new file mode 100644
     3 --- /dev/null
     3 --- /dev/null
     4 +++ b/browser/base/content/browser-kde.xul
     4 +++ b/browser/base/content/browser-kde.xul
     5 @@ -0,0 +1,1126 @@
     5 @@ -0,0 +1,1210 @@
     6 +#filter substitution
     6 +#filter substitution
     7 +<?xml version="1.0"?>
     7 +<?xml version="1.0"?>
     8 +# -*- Mode: HTML -*-
     8 +# -*- Mode: HTML -*-
     9 +#
     9 +#
    10 +# This Source Code Form is subject to the terms of the Mozilla Public
    10 +# This Source Code Form is subject to the terms of the Mozilla Public
    27 +
    27 +
    28 +<window id="main-window"
    28 +<window id="main-window"
    29 +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    29 +        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    30 +        xmlns:svg="http://www.w3.org/2000/svg"
    30 +        xmlns:svg="http://www.w3.org/2000/svg"
    31 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    31 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    32 +        onload="BrowserStartup()" onunload="BrowserShutdown()" onclose="return WindowIsClosing();"
    32 +        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
    33 +        title="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
    33 +        title="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
    34 +        title_normal="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
    34 +        title_normal="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
    35 +#ifdef XP_MACOSX
    35 +#ifdef XP_MACOSX
    36 +        title_privatebrowsing="&mainWindow.title;@PRE_RELEASE_SUFFIX@&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"
    36 +        title_privatebrowsing="&mainWindow.title;@PRE_RELEASE_SUFFIX@&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"
    37 +        titledefault="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
    37 +        titledefault="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
   140 +    <panel id="editBookmarkPanel"
   140 +    <panel id="editBookmarkPanel"
   141 +           type="arrow"
   141 +           type="arrow"
   142 +           footertype="promobox"
   142 +           footertype="promobox"
   143 +           orient="vertical"
   143 +           orient="vertical"
   144 +           ignorekeys="true"
   144 +           ignorekeys="true"
       
   145 +           consumeoutsideclicks="true"
   145 +           hidden="true"
   146 +           hidden="true"
   146 +           onpopupshown="StarUI.panelShown(event);"
   147 +           onpopupshown="StarUI.panelShown(event);"
   147 +           aria-labelledby="editBookmarkPanelTitle">
   148 +           aria-labelledby="editBookmarkPanelTitle">
   148 +      <row id="editBookmarkPanelHeader" align="center" hidden="true">
   149 +      <row id="editBookmarkPanelHeader" align="center" hidden="true">
   149 +        <vbox align="center">
   150 +        <vbox align="center">
   184 +                oncommand="StarUI.panel.hidePopup();"/>
   185 +                oncommand="StarUI.panel.hidePopup();"/>
   185 +#endif
   186 +#endif
   186 +      </hbox>
   187 +      </hbox>
   187 +    </panel>
   188 +    </panel>
   188 +
   189 +
       
   190 +    <panel id="editSharePopup"
       
   191 +           type="arrow"
       
   192 +           orient="vertical"
       
   193 +           ignorekeys="true"
       
   194 +           hidden="true"
       
   195 +           onpopupshown="SocialShareButton.panelShown(event);"
       
   196 +           consumeoutsideclicks="true"
       
   197 +           level="top">
       
   198 +      <hbox id="editSharePopupBottomButtons" pack="end">
       
   199 +#ifdef XP_UNIX
       
   200 +        <button id="editSharePopupUndoButton"
       
   201 +                class="editSharePopupBottomButton"
       
   202 +                label="&social.sharePopup.undo.label;"
       
   203 +                accesskey="&social.sharePopup.undo.accesskey;"
       
   204 +                command="Social:UnsharePage"/>
       
   205 +        <button id="editSharePopupOkButton"
       
   206 +                class="editSharePopupBottomButton"
       
   207 +                default="true"
       
   208 +                autofocus="autofocus"
       
   209 +                label="&social.sharePopup.ok.label;"
       
   210 +                accesskey="&social.sharePopup.ok.accesskey;"
       
   211 +                oncommand="SocialShareButton.dismissSharePopup();"/>
       
   212 +#else
       
   213 +        <button id="editSharePopupOkButton"
       
   214 +                class="editSharePopupBottomButton"
       
   215 +                default="true"
       
   216 +                autofocus="autofocus"
       
   217 +                label="&social.sharePopup.ok.label;"
       
   218 +                accesskey="&social.sharePopup.ok.accesskey;"
       
   219 +                oncommand="SocialShareButton.dismissSharePopup();"/>
       
   220 +        <button id="editSharePopupUndoButton"
       
   221 +                class="editSharePopupBottomButton"
       
   222 +                label="&social.sharePopup.undo.label;"
       
   223 +                accesskey="&social.sharePopup.undo.accesskey;"
       
   224 +                command="Social:UnsharePage"/>
       
   225 +#endif
       
   226 +      </hbox>
       
   227 +    </panel>
       
   228 +
       
   229 +    <panel id="social-notification-panel" type="arrow" hidden="true" noautofocus="true">
       
   230 +      <browser id="social-notification-browser" type="content" flex="1"/>
       
   231 +    </panel>
       
   232 +
   189 +    <menupopup id="inspector-node-popup">
   233 +    <menupopup id="inspector-node-popup">
   190 +      <menuitem id="inspectorHTMLCopyInner"
   234 +      <menuitem id="inspectorHTMLCopyInner"
   191 +                label="&inspectorHTMLCopyInner.label;"
   235 +                label="&inspectorHTMLCopyInner.label;"
   192 +                accesskey="&inspectorHTMLCopyInner.accesskey;"
   236 +                accesskey="&inspectorHTMLCopyInner.accesskey;"
   193 +                command="Inspector:CopyInner"/>
   237 +                command="Inspector:CopyInner"/>
   262 +    <!-- Popup for site identity information -->
   306 +    <!-- Popup for site identity information -->
   263 +    <panel id="identity-popup"
   307 +    <panel id="identity-popup"
   264 +           type="arrow"
   308 +           type="arrow"
   265 +           hidden="true"
   309 +           hidden="true"
   266 +           noautofocus="true"
   310 +           noautofocus="true"
       
   311 +           consumeoutsideclicks="true"
   267 +           onpopupshown="gIdentityHandler.onPopupShown(event);"
   312 +           onpopupshown="gIdentityHandler.onPopupShown(event);"
   268 +           level="top">
   313 +           level="top">
   269 +      <hbox id="identity-popup-container" align="top">
   314 +      <hbox id="identity-popup-container" align="top">
   270 +        <image id="identity-popup-icon"/>
   315 +        <image id="identity-popup-icon"/>
   271 +        <vbox id="identity-popup-content-box">
   316 +        <vbox id="identity-popup-content-box">
   347 +
   392 +
   348 +    <!-- Bookmarks and history tooltip -->
   393 +    <!-- Bookmarks and history tooltip -->
   349 +    <tooltip id="bhTooltip"/>
   394 +    <tooltip id="bhTooltip"/>
   350 +
   395 +
   351 +    <panel id="customizeToolbarSheetPopup"
   396 +    <panel id="customizeToolbarSheetPopup"
   352 +           noautohide="true">
   397 +           noautohide="true"
   353 +      <iframe id="customizeToolbarSheetIFrame"
   398 +           sheetstyle="&dialog.dimensions;"/>
   354 +              style="&dialog.dimensions;"
       
   355 +              hidden="true"/>
       
   356 +    </panel>
       
   357 +
   399 +
   358 +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
   400 +    <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
   359 +
   401 +
   360 +    <tooltip id="back-button-tooltip">
   402 +    <tooltip id="back-button-tooltip">
   361 +      <label class="tooltip-label" value="&backButton.tooltip;"/>
   403 +      <label class="tooltip-label" value="&backButton.tooltip;"/>
   490 +          <!-- Use onclick instead of normal popup= syntax since the popup
   532 +          <!-- Use onclick instead of normal popup= syntax since the popup
   491 +               code fires onmousedown, and hence eats our favicon drag events.
   533 +               code fires onmousedown, and hence eats our favicon drag events.
   492 +               We only add the identity-box button to the tab order when the location bar
   534 +               We only add the identity-box button to the tab order when the location bar
   493 +               has focus, otherwise pressing F6 focuses it instead of the location bar -->
   535 +               has focus, otherwise pressing F6 focuses it instead of the location bar -->
   494 +          <box id="identity-box" role="button"
   536 +          <box id="identity-box" role="button"
       
   537 +               align="center"
   495 +               onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
   538 +               onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
   496 +               onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
   539 +               onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
   497 +               ondragstart="gIdentityHandler.onDragStart(event);">
   540 +               ondragstart="gIdentityHandler.onDragStart(event);">
   498 +            <hbox id="identity-box-inner" align="center">
   541 +            <image id="page-proxy-favicon"
   499 +              <hbox id="page-proxy-stack"
   542 +                   onclick="PageProxyClickHandler(event);"
   500 +                    onclick="PageProxyClickHandler(event);">
   543 +                   pageproxystate="invalid"/>
   501 +                <image id="page-proxy-favicon"
   544 +            <hbox id="identity-icon-labels">
   502 +                       pageproxystate="invalid"/>
   545 +              <label id="identity-icon-label" class="plain" flex="1"/>
   503 +              </hbox>
   546 +              <label id="identity-icon-country-label" class="plain"/>
   504 +              <hbox id="identity-icon-labels">
       
   505 +                <label id="identity-icon-label" class="plain" flex="1"/>
       
   506 +                <label id="identity-icon-country-label" class="plain"/>
       
   507 +              </hbox>
       
   508 +            </hbox>
   547 +            </hbox>
   509 +          </box>
   548 +          </box>
   510 +          <box id="urlbar-display-box" align="center">
   549 +          <box id="urlbar-display-box" align="center">
   511 +            <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
   550 +            <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
   512 +          </box>
   551 +          </box>
   514 +            <image id="page-report-button"
   553 +            <image id="page-report-button"
   515 +                   class="urlbar-icon"
   554 +                   class="urlbar-icon"
   516 +                   hidden="true"
   555 +                   hidden="true"
   517 +                   tooltiptext="&pageReportIcon.tooltip;"
   556 +                   tooltiptext="&pageReportIcon.tooltip;"
   518 +                   onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
   557 +                   onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
       
   558 +
       
   559 +            <label id="share-button-status" collapsed="true" role="status"/>
       
   560 +            <image id="share-button"
       
   561 +                   class="urlbar-icon"
       
   562 +                   hidden="true"
       
   563 +                   onclick="SocialShareButton.onClick(event);"/>
   519 +
   564 +
   520 +            <image id="star-button"
   565 +            <image id="star-button"
   521 +                   class="urlbar-icon"
   566 +                   class="urlbar-icon"
   522 +                   onclick="PlacesStarButton.onClick(event);"/>
   567 +                   onclick="PlacesStarButton.onClick(event);"/>
   523 +            <image id="go-button"
   568 +            <image id="go-button"
   565 +                     ondragenter="homeButtonObserver.onDragOver(event)"
   610 +                     ondragenter="homeButtonObserver.onDragOver(event)"
   566 +                     ondrop="homeButtonObserver.onDrop(event)"
   611 +                     ondrop="homeButtonObserver.onDrop(event)"
   567 +                     ondragexit="homeButtonObserver.onDragExit(event)"
   612 +                     ondragexit="homeButtonObserver.onDragExit(event)"
   568 +                     onclick="BrowserGoHome(event);"
   613 +                     onclick="BrowserGoHome(event);"
   569 +                     aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
   614 +                     aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
       
   615 +
       
   616 +      <toolbaritem id="social-toolbar-button"
       
   617 +                   class="toolbarbutton-1 chromeclass-toolbar-additional"
       
   618 +                   removable="false"
       
   619 +                   title="&socialToolbar.title;"
       
   620 +                   hidden="true">
       
   621 +        <hbox id="social-toolbar-button-box" class="social-statusarea-container">
       
   622 +          <button id="social-provider-image" type="menu">
       
   623 +            <menupopup id="social-statusarea-popup">
       
   624 +              <hbox id="social-statusarea-user" pack="left" align="center">
       
   625 +                <image id="social-statusarea-user-portrait"/>
       
   626 +                <vbox>
       
   627 +                  <label id="social-statusarea-notloggedin"
       
   628 +                         value="&social.notLoggedIn.label;"/>
       
   629 +                  <button id="social-statusarea-username"
       
   630 +                          oncommand="SocialUI.showProfile(); document.getElementById('social-statusarea-popup').hidePopup();"/>
       
   631 +                </vbox>
       
   632 +              </hbox>
       
   633 +            </menupopup>
       
   634 +          </button>
       
   635 +          <hbox id="social-status-iconbox" flex="1">
       
   636 +            <box class="social-notification-icon-container" collapsed="true"
       
   637 +                     onclick="SocialToolbar.showAmbientPopup(this);">
       
   638 +              <image class="social-notification-icon-image"/>
       
   639 +              <box class="social-notification-icon-counter" collapsed="true"/>
       
   640 +            </box>
       
   641 +            <box class="social-notification-icon-container" collapsed="true"
       
   642 +                     onclick="SocialToolbar.showAmbientPopup(this);">
       
   643 +              <image class="social-notification-icon-image"/>
       
   644 +              <box class="social-notification-icon-counter" collapsed="true"/>
       
   645 +            </box>
       
   646 +            <box class="social-notification-icon-container" collapsed="true"
       
   647 +                     onclick="SocialToolbar.showAmbientPopup(this);">
       
   648 +              <image class="social-notification-icon-image"/>
       
   649 +              <box class="social-notification-icon-counter" collapsed="true"/>
       
   650 +            </box>
       
   651 +          </hbox>
       
   652 +        </hbox>
       
   653 +      </toolbaritem>
   570 +
   654 +
   571 +      <toolbaritem id="bookmarks-menu-button-container"
   655 +      <toolbaritem id="bookmarks-menu-button-container"
   572 +                   class="chromeclass-toolbar-additional"
   656 +                   class="chromeclass-toolbar-additional"
   573 +                   removable="true"
   657 +                   removable="true"
   574 +                   title="&bookmarksMenuButton.label;">
   658 +                   title="&bookmarksMenuButton.label;">
  1045 +            <hbox class="gclitoolbar-complete-node"/>
  1129 +            <hbox class="gclitoolbar-complete-node"/>
  1046 +            <textbox class="gclitoolbar-input-node" rows="1"/>
  1130 +            <textbox class="gclitoolbar-input-node" rows="1"/>
  1047 +          </stack>
  1131 +          </stack>
  1048 +          <toolbarbutton id="developer-toolbar-webconsole"
  1132 +          <toolbarbutton id="developer-toolbar-webconsole"
  1049 +                         label="&webConsoleButton.label;"
  1133 +                         label="&webConsoleButton.label;"
  1050 +                         class="devtools-toolbarbutton"
  1134 +                         class="developer-toolbar-button"
  1051 +                         command="Tools:WebConsole"/>
  1135 +                         command="Tools:WebConsole"/>
  1052 +          <toolbarbutton id="developer-toolbar-inspector"
  1136 +          <toolbarbutton id="developer-toolbar-inspector"
  1053 +                         label="&inspectorButton.label;"
  1137 +                         label="&inspectorButton.label;"
  1054 +                         class="devtools-toolbarbutton"
  1138 +                         class="developer-toolbar-button"
  1055 +                         hidden="true"
  1139 +                         hidden="true"
  1056 +                         command="Tools:Inspect"/>
  1140 +                         command="Tools:Inspect"/>
  1057 +          <toolbarbutton id="developer-toolbar-responsiveui"
  1141 +          <toolbarbutton id="developer-toolbar-styleeditor"
  1058 +                         label="&responsiveDesignTool.label;"
  1142 +                         label="&styleeditor.label;"
  1059 +                         class="devtools-toolbarbutton"
  1143 +                         class="developer-toolbar-button"
  1060 +                         hidden="true"
  1144 +                         hidden="true"
  1061 +                         command="Tools:ResponsiveUI"/>
  1145 +                         command="Tools:StyleEditor"/>
  1062 +          <toolbarbutton id="developer-toolbar-debugger"
  1146 +          <toolbarbutton id="developer-toolbar-debugger"
  1063 +                         label="&scriptsButton.label;"
  1147 +                         label="&debuggerMenu.label2;"
  1064 +                         class="devtools-toolbarbutton"
  1148 +                         class="developer-toolbar-button"
  1065 +                         hidden="true"
  1149 +                         hidden="true"
  1066 +                         command="Tools:Debugger"/>
  1150 +                         command="Tools:Debugger"/>
  1067 +#ifndef XP_MACOSX
  1151 +#ifndef XP_MACOSX
  1068 +          <toolbarbutton id="developer-toolbar-closebutton"
  1152 +          <toolbarbutton id="developer-toolbar-closebutton"
  1069 +                         class="devtools-closebutton"
  1153 +                         class="devtools-closebutton"
  1165  #elif defined(MOZ_WIDGET_GTK2)
  1249  #elif defined(MOZ_WIDGET_GTK2)
  1166 -#include "nsGNOMEShellService.h"
  1250 -#include "nsGNOMEShellService.h"
  1167 +#include "nsUnixShellService.h"
  1251 +#include "nsUnixShellService.h"
  1168  #endif
  1252  #endif
  1169  
  1253  
  1170  #if defined(XP_WIN) && !defined(__MINGW32__)
  1254  #if defined(XP_WIN)
  1171  #include "nsIEHistoryEnumerator.h"
  1255  #include "nsIEHistoryEnumerator.h"
  1172  #endif
  1256  #endif
  1173  
  1257  
  1174  #include "rdf.h"
  1258  #include "rdf.h"
  1175  #include "nsFeedSniffer.h"
  1259  #include "nsFeedSniffer.h"
  1184  NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
  1268  NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
  1185 -#elif defined(MOZ_WIDGET_GTK2)
  1269 -#elif defined(MOZ_WIDGET_GTK2)
  1186 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
  1270 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
  1187  #endif
  1271  #endif
  1188  
  1272  
  1189  #if defined(XP_WIN) && !defined(__MINGW32__)
  1273  #if defined(XP_WIN)
  1190  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
  1274  NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
  1191  #endif
  1275  #endif
  1192  
  1276  
  1193  NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
  1277  NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
  1194  
  1278  
  1204 -    { &kNS_SHELLSERVICE_CID, false, NULL, nsGNOMEShellServiceConstructor },
  1288 -    { &kNS_SHELLSERVICE_CID, false, NULL, nsGNOMEShellServiceConstructor },
  1205 +    { &kNS_SHELLSERVICE_CID, false, NULL, nsUnixShellServiceConstructor },
  1289 +    { &kNS_SHELLSERVICE_CID, false, NULL, nsUnixShellServiceConstructor },
  1206  #endif
  1290  #endif
  1207      { &kNS_FEEDSNIFFER_CID, false, NULL, nsFeedSnifferConstructor },
  1291      { &kNS_FEEDSNIFFER_CID, false, NULL, nsFeedSnifferConstructor },
  1208      { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, NULL, AboutRedirector::Create },
  1292      { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, NULL, AboutRedirector::Create },
  1209  #if defined(XP_WIN) && !defined(__MINGW32__)
  1293  #if defined(XP_WIN)
  1210      { &kNS_WINIEHISTORYENUMERATOR_CID, false, NULL, nsIEHistoryEnumeratorConstructor },
  1294      { &kNS_WINIEHISTORYENUMERATOR_CID, false, NULL, nsIEHistoryEnumeratorConstructor },
  1211  #elif defined(XP_MACOSX)
  1295  #elif defined(XP_MACOSX)
  1212      { &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor },
  1296      { &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor },
  1213  #endif
  1297  #endif
  1214 diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
  1298 diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
  1329 +#include "nsShellService.h"
  1413 +#include "nsShellService.h"
  1330 +#include "nsKDEUtils.h"
  1414 +#include "nsKDEUtils.h"
  1331 +#include "nsCOMPtr.h"
  1415 +#include "nsCOMPtr.h"
  1332 +#include "nsIPrefService.h"
  1416 +#include "nsIPrefService.h"
  1333 +#include "nsIProcess.h"
  1417 +#include "nsIProcess.h"
  1334 +#include "nsILocalFile.h"
  1418 +#include "nsIFile.h"
  1335 +#include "nsServiceManagerUtils.h"
  1419 +#include "nsServiceManagerUtils.h"
  1336 +#include "nsComponentManagerUtils.h"
  1420 +#include "nsComponentManagerUtils.h"
  1337 +#include "nsIMutableArray.h"
  1421 +#include "nsIMutableArray.h"
  1338 +#include "nsISupportsPrimitives.h"
  1422 +#include "nsISupportsPrimitives.h"
  1339 +#include "nsArrayUtils.h"
  1423 +#include "nsArrayUtils.h"
  1476 +    command->AppendElement( str, false );
  1560 +    command->AppendElement( str, false );
  1477 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
  1561 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
  1478 +    }
  1562 +    }
  1479 +
  1563 +
  1480 +NS_IMETHODIMP
  1564 +NS_IMETHODIMP
  1481 +nsKDEShellService::OpenApplicationWithURI(nsILocalFile* aApplication, const nsACString& aURI)
  1565 +nsKDEShellService::OpenApplicationWithURI(nsIFile* aApplication, const nsACString& aURI)
  1482 +    {
  1566 +    {
  1483 +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
  1567 +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
  1484 +    if (!command)
  1568 +    if (!command)
  1485 +        return NS_ERROR_FAILURE;
  1569 +        return NS_ERROR_FAILURE;
  1486 +
  1570 +
  1501 +    command->AppendElement( uristr, false );
  1585 +    command->AppendElement( uristr, false );
  1502 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
  1586 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
  1503 +    }
  1587 +    }
  1504 +
  1588 +
  1505 +NS_IMETHODIMP
  1589 +NS_IMETHODIMP
  1506 +nsKDEShellService::GetDefaultFeedReader(nsILocalFile** _retval)
  1590 +nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval)
  1507 +    {
  1591 +    {
  1508 +    *_retval = nsnull;
  1592 +    *_retval = nsnull;
  1509 +
  1593 +
  1510 +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
  1594 +    nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
  1511 +    if( !command )
  1595 +    if( !command )
  1535 +    resstr->GetData( path );
  1619 +    resstr->GetData( path );
  1536 +    if (path.IsEmpty())
  1620 +    if (path.IsEmpty())
  1537 +        return NS_ERROR_FAILURE;
  1621 +        return NS_ERROR_FAILURE;
  1538 +
  1622 +
  1539 +    nsresult rv;
  1623 +    nsresult rv;
  1540 +    nsCOMPtr<nsILocalFile> defaultReader =
  1624 +    nsCOMPtr<nsIFile> defaultReader =
  1541 +        do_CreateInstance("@mozilla.org/file/local;1", &rv);
  1625 +        do_CreateInstance("@mozilla.org/file/local;1", &rv);
  1542 +    NS_ENSURE_SUCCESS(rv, rv);
  1626 +    NS_ENSURE_SUCCESS(rv, rv);
  1543 +
  1627 +
  1544 +    rv = defaultReader->InitWithNativePath(path);
  1628 +    rv = defaultReader->InitWithNativePath(path);
  1545 +    NS_ENSURE_SUCCESS(rv, rv);
  1629 +    NS_ENSURE_SUCCESS(rv, rv);
  1725 +
  1809 +
  1726 +#endif // nsunixshellservice_h____
  1810 +#endif // nsunixshellservice_h____
  1727 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1811 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
  1728 --- a/browser/installer/package-manifest.in
  1812 --- a/browser/installer/package-manifest.in
  1729 +++ b/browser/installer/package-manifest.in
  1813 +++ b/browser/installer/package-manifest.in
  1730 @@ -522,18 +522,20 @@
  1814 @@ -558,18 +558,20 @@
  1731  @BINPATH@/@PREF_DIR@/services-aitc.js
  1815  @BINPATH@/@PREF_DIR@/services-sync.js
  1732  #endif
  1816  #endif
  1733  @BINPATH@/greprefs.js
  1817  @BINPATH@/greprefs.js
  1734  @BINPATH@/defaults/autoconfig/platform.js
  1818  @BINPATH@/defaults/autoconfig/platform.js
  1735  @BINPATH@/defaults/autoconfig/prefcalls.js
  1819  @BINPATH@/defaults/autoconfig/prefcalls.js
  1736  #ifndef LIBXUL_SDK
  1820  #ifndef LIBXUL_SDK