mozilla-kde.patch
branchfirefox40
changeset 868 284da266ec46
parent 850 a2bdff616a0e
child 869 0dd25a92df97
equal deleted inserted replaced
867:3af93b7e5e3d 868:284da266ec46
     1 # HG changeset patch
     1 # HG changeset patch
     2 # Parent  214f99f3ce4f1f8ae9b3d18da44e5d66b3105663
     2 # Parent  372d46509a8899feb3473becff869159d01f1f4c
     3 Description: Add KDE integration to Firefox (toolkit parts)
     3 Description: Add KDE integration to Firefox (toolkit parts)
     4 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
     4 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
     5 Author: Lubos Lunak <lunak@suse.com>
     5 Author: Lubos Lunak <lunak@suse.com>
     6 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
     6 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
     7      https://bugzilla.novell.com/show_bug.cgi?id=170055
     7      https://bugzilla.novell.com/show_bug.cgi?id=170055
    44  
    44  
    45  #include "prefapi.h"
    45  #include "prefapi.h"
    46  #include "prefread.h"
    46  #include "prefread.h"
    47  #include "prefapi_private_data.h"
    47  #include "prefapi_private_data.h"
    48  
    48  
    49 @@ -1165,16 +1166,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
    49 @@ -1154,16 +1155,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
    50  
    50  
    51  static nsresult pref_LoadPrefsInDirList(const char *listId)
    51  static nsresult pref_LoadPrefsInDirList(const char *listId)
    52  {
    52  {
    53    nsresult rv;
    53    nsresult rv;
    54    nsCOMPtr<nsIProperties> dirSvc(do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv));
    54    nsCOMPtr<nsIProperties> dirSvc(do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv));
    79                getter_AddRefs(list));
    79                getter_AddRefs(list));
    80    if (!list)
    80    if (!list)
    81      return NS_OK;
    81      return NS_OK;
    82  
    82  
    83    bool hasMore;
    83    bool hasMore;
    84 @@ -1190,17 +1209,17 @@ static nsresult pref_LoadPrefsInDirList(
    84 @@ -1179,17 +1198,17 @@ static nsresult pref_LoadPrefsInDirList(
    85  
    85  
    86      nsAutoCString leaf;
    86      nsAutoCString leaf;
    87      path->GetNativeLeafName(leaf);
    87      path->GetNativeLeafName(leaf);
    88  
    88  
    89      // Do we care if a file provided by this process fails to load?
    89      // Do we care if a file provided by this process fails to load?
    98  
    98  
    99  static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name)
    99  static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name)
   100  {
   100  {
   101    nsZipItemPtr<char> manifest(jarReader, name, true);
   101    nsZipItemPtr<char> manifest(jarReader, name, true);
   102    NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
   102    NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
   103 @@ -1294,26 +1313,38 @@ static nsresult pref_InitInitialObjects(
   103 @@ -1283,26 +1302,38 @@ static nsresult pref_InitInitialObjects(
   104    /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
   104    /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
   105    static const char* specialFiles[] = {
   105    static const char* specialFiles[] = {
   106  #if defined(XP_MACOSX)
   106  #if defined(XP_MACOSX)
   107      "macprefs.js"
   107      "macprefs.js"
   108  #elif defined(XP_WIN)
   108  #elif defined(XP_WIN)
   182          self.base = base
   182          self.base = base
   183          self.flags = Flags(*flags)
   183          self.flags = Flags(*flags)
   184 diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
   184 diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
   185 --- a/toolkit/components/downloads/moz.build
   185 --- a/toolkit/components/downloads/moz.build
   186 +++ b/toolkit/components/downloads/moz.build
   186 +++ b/toolkit/components/downloads/moz.build
   187 @@ -52,14 +52,15 @@ if not CONFIG['MOZ_SUITE']:
   187 @@ -67,14 +67,15 @@ if not CONFIG['MOZ_SUITE']:
   188      ]
   188      ]
   189  
   189  
   190  FAIL_ON_WARNINGS = True
   190  FAIL_ON_WARNINGS = True
   191  
   191  
   192  FINAL_LIBRARY = 'xul'
   192  FINAL_LIBRARY = 'xul'
   223  
   223  
   224  #ifdef MOZ_WIDGET_ANDROID
   224  #ifdef MOZ_WIDGET_ANDROID
   225  #include "AndroidBridge.h"
   225  #include "AndroidBridge.h"
   226  #endif
   226  #endif
   227  
   227  
   228 @@ -2716,16 +2720,25 @@ nsDownload::SetState(DownloadState aStat
   228 @@ -2711,16 +2715,25 @@ nsDownload::SetState(DownloadState aStat
   229        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
   229        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
   230  
   230  
   231        // Master pref to control this function.
   231        // Master pref to control this function.
   232        bool showTaskbarAlert = true;
   232        bool showTaskbarAlert = true;
   233        if (pref)
   233        if (pref)
   249  
   249  
   250          int64_t alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
   250          int64_t alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
   251          int64_t goat = PR_Now() - mStartTime;
   251          int64_t goat = PR_Now() - mStartTime;
   252          showTaskbarAlert = goat > alertIntervalUSec;
   252          showTaskbarAlert = goat > alertIntervalUSec;
   253  
   253  
   254 @@ -2756,16 +2769,17 @@ nsDownload::SetState(DownloadState aStat
   254 @@ -2751,16 +2764,17 @@ nsDownload::SetState(DownloadState aStat
   255                    NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
   255                    NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
   256                    message, !removeWhenDone,
   256                    message, !removeWhenDone,
   257                    mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
   257                    mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
   258                    mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
   258                    mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
   259                    EmptyString(), EmptyString(), nullptr, mPrivate);
   259                    EmptyString(), EmptyString(), nullptr, mPrivate);
   270        if (fileURL &&
   270        if (fileURL &&
   271            NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
   271            NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
   272 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
   272 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
   273 --- a/toolkit/content/jar.mn
   273 --- a/toolkit/content/jar.mn
   274 +++ b/toolkit/content/jar.mn
   274 +++ b/toolkit/content/jar.mn
   275 @@ -57,29 +57,33 @@ toolkit.jar:
   275 @@ -60,29 +60,33 @@ toolkit.jar:
   276     content/global/viewZoomOverlay.js          (viewZoomOverlay.js)
   276     content/global/viewZoomOverlay.js          (viewZoomOverlay.js)
   277  *+ content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
   277  *+ content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
   278     content/global/bindings/browser.xml         (widgets/browser.xml)
   278     content/global/bindings/browser.xml         (widgets/browser.xml)
   279     content/global/bindings/button.xml          (widgets/button.xml)
   279     content/global/bindings/button.xml          (widgets/button.xml)
   280     content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
   280     content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
   308     content/global/bindings/scrollbox.xml       (widgets/scrollbox.xml)
   308     content/global/bindings/scrollbox.xml       (widgets/scrollbox.xml)
   309 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
   309 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
   310 new file mode 100644
   310 new file mode 100644
   311 --- /dev/null
   311 --- /dev/null
   312 +++ b/toolkit/content/widgets/dialog-kde.xml
   312 +++ b/toolkit/content/widgets/dialog-kde.xml
   313 @@ -0,0 +1,455 @@
   313 @@ -0,0 +1,460 @@
   314 +<?xml version="1.0"?>
   314 +<?xml version="1.0"?>
   315 +<!-- This Source Code Form is subject to the terms of the Mozilla Public
   315 +<!-- This Source Code Form is subject to the terms of the Mozilla Public
   316 +   - License, v. 2.0. If a copy of the MPL was not distributed with this
   316 +   - License, v. 2.0. If a copy of the MPL was not distributed with this
   317 +   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
   317 +   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
   318 +
   318 +
   342 +        <xul:spacer anonid="spacer" flex="1"/>
   342 +        <xul:spacer anonid="spacer" flex="1"/>
   343 +        <xul:button dlgtype="cancel" class="dialog-button"/>
   343 +        <xul:button dlgtype="cancel" class="dialog-button"/>
   344 +        <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
   344 +        <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
   345 +#elif XP_UNIX
   345 +#elif XP_UNIX
   346 +                >
   346 +                >
   347 +        <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
   347 +	<xul:button dlgtype="help" class="dialog-button" hidden="true"/>
   348 +	<xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
   348 +	<xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
   349 +	<xul:spacer anonid="spacer" flex="1"/>
   349 +	<xul:spacer anonid="spacer" flex="1"/>
   350 +	<xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
   350 +	<xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
   351 +	<xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
   351 +	<xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
   352 +	<xul:button dlgtype="cancel" class="dialog-button"/>
   352 +	<xul:button dlgtype="cancel" class="dialog-button"/>
   424 +          if (window.outerWidth == 1) {
   424 +          if (window.outerWidth == 1) {
   425 +            dump("Trying to position a sizeless window; caller should have called sizeToContent() or sizeTo(). See bug 75649.\n");
   425 +            dump("Trying to position a sizeless window; caller should have called sizeToContent() or sizeTo(). See bug 75649.\n");
   426 +            sizeToContent();
   426 +            sizeToContent();
   427 +          }
   427 +          }
   428 +
   428 +
   429 +          var xOffset = (opener.outerWidth - window.outerWidth) / 2;
   429 +          if (opener) {
   430 +          var yOffset = opener.outerHeight / 5;
   430 +            var xOffset = (opener.outerWidth - window.outerWidth) / 2;
   431 +
   431 +            var yOffset = opener.outerHeight / 5;
   432 +          var newX = opener.screenX + xOffset;
   432 +
   433 +          var newY = opener.screenY + yOffset;
   433 +            var newX = opener.screenX + xOffset;
       
   434 +            var newY = opener.screenY + yOffset;
       
   435 +          } else {
       
   436 +            newX = (screen.availWidth - window.outerWidth) / 2;
       
   437 +            newY = (screen.availHeight - window.outerHeight) / 2;
       
   438 +          }
   434 +
   439 +
   435 +          // ensure the window is fully onscreen (if smaller than the screen)
   440 +          // ensure the window is fully onscreen (if smaller than the screen)
   436 +          if (newX < screen.availLeft)
   441 +          if (newX < screen.availLeft)
   437 +            newX = screen.availLeft + 20;
   442 +            newX = screen.availLeft + 20;
   438 +          if ((newX + window.outerWidth) > (screen.availLeft + screen.availWidth))
   443 +          if ((newX + window.outerWidth) > (screen.availLeft + screen.availWidth))
   768 +</bindings>
   773 +</bindings>
   769 diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widgets/preferences-kde.xml
   774 diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widgets/preferences-kde.xml
   770 new file mode 100644
   775 new file mode 100644
   771 --- /dev/null
   776 --- /dev/null
   772 +++ b/toolkit/content/widgets/preferences-kde.xml
   777 +++ b/toolkit/content/widgets/preferences-kde.xml
   773 @@ -0,0 +1,1350 @@
   778 @@ -0,0 +1,1357 @@
   774 +<?xml version="1.0"?>
   779 +<?xml version="1.0"?>
   775 +
   780 +
   776 +<!DOCTYPE bindings [
   781 +<!DOCTYPE bindings [
   777 +  <!ENTITY % preferencesDTD SYSTEM "chrome://global/locale/preferences.dtd">
   782 +  <!ENTITY % preferencesDTD SYSTEM "chrome://global/locale/preferences.dtd">
   778 +  %preferencesDTD;
   783 +  %preferencesDTD;
  1392 +    </content>
  1397 +    </content>
  1393 +    <implementation implements="nsITimerCallback">
  1398 +    <implementation implements="nsITimerCallback">
  1394 +      <constructor>
  1399 +      <constructor>
  1395 +      <![CDATA[
  1400 +      <![CDATA[
  1396 +        if (this.type != "child") {
  1401 +        if (this.type != "child") {
  1397 +          var psvc = Components.classes["@mozilla.org/preferences-service;1"]
  1402 +          if (!this._instantApplyInitialized) {
  1398 +                               .getService(Components.interfaces.nsIPrefBranch);
  1403 +            let psvc = Components.classes["@mozilla.org/preferences-service;1"]
  1399 +          this.instantApply = psvc.getBoolPref("browser.preferences.instantApply");
  1404 +                                 .getService(Components.interfaces.nsIPrefBranch);
       
  1405 +            this.instantApply = psvc.getBoolPref("browser.preferences.instantApply");
       
  1406 +          }
  1400 +          if (this.instantApply) {
  1407 +          if (this.instantApply) {
  1401 +            var docElt = document.documentElement;
  1408 +            var docElt = document.documentElement;
  1402 +            var acceptButton = docElt.getButton("accept");
  1409 +            var acceptButton = docElt.getButton("accept");
  1403 +            acceptButton.hidden = true;
  1410 +            acceptButton.hidden = true;
  1404 +            var cancelButton  = docElt.getButton("cancel");
  1411 +            var cancelButton  = docElt.getButton("cancel");
  1464 +          this._fadeTimer = null;
  1471 +          this._fadeTimer = null;
  1465 +        }
  1472 +        }
  1466 +      ]]>
  1473 +      ]]>
  1467 +      </destructor>
  1474 +      </destructor>
  1468 +
  1475 +
       
  1476 +      <!-- Derived bindings can set this to true to cause us to skip
       
  1477 +           reading the browser.preferences.instantApply pref in the constructor.
       
  1478 +           Then they can set instantApply to their wished value. -->
       
  1479 +      <field name="_instantApplyInitialized">false</field>
       
  1480 +      <!-- Controls whether changed pref values take effect immediately. -->
  1469 +      <field name="instantApply">false</field>
  1481 +      <field name="instantApply">false</field>
  1470 +      
  1482 +
  1471 +      <property name="preferencePanes"
  1483 +      <property name="preferencePanes"
  1472 +                onget="return this.getElementsByTagName('prefpane');"/>
  1484 +                onget="return this.getElementsByTagName('prefpane');"/>
  1473 +
  1485 +
  1474 +      <property name="type" onget="return this.getAttribute('type');"/>
  1486 +      <property name="type" onget="return this.getAttribute('type');"/>
  1475 +      <property name="_paneDeck"
  1487 +      <property name="_paneDeck"
  3464  
  3476  
  3465  #endif
  3477  #endif
  3466 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
  3478 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
  3467 --- a/xpcom/components/ManifestParser.cpp
  3479 --- a/xpcom/components/ManifestParser.cpp
  3468 +++ b/xpcom/components/ManifestParser.cpp
  3480 +++ b/xpcom/components/ManifestParser.cpp
  3469 @@ -34,16 +34,17 @@
  3481 @@ -35,16 +35,17 @@
  3470  
  3482  
  3471  #include "nsIConsoleService.h"
  3483  #include "nsIConsoleService.h"
  3472  #include "nsIScriptError.h"
  3484  #include "nsIScriptError.h"
  3473  #include "nsIXULAppInfo.h"
  3485  #include "nsIXULAppInfo.h"
  3474  #include "nsIXULRuntime.h"
  3486  #include "nsIXULRuntime.h"
  3482  #define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT
  3494  #define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT
  3483  #else
  3495  #else
  3484  #define XPTONLY_MANIFEST nullptr
  3496  #define XPTONLY_MANIFEST nullptr
  3485  #define XPTONLY_XPT nullptr
  3497  #define XPTONLY_XPT nullptr
  3486  #endif
  3498  #endif
  3487 @@ -489,16 +490,17 @@ ParseManifest(NSLocationType aType, File
  3499 @@ -494,16 +495,17 @@ ParseManifest(NSLocationType aType, File
  3488    NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
  3500    NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
  3489    NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
  3501    NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
  3490    NS_NAMED_LITERAL_STRING(kApplication, "application");
  3502    NS_NAMED_LITERAL_STRING(kApplication, "application");
  3491    NS_NAMED_LITERAL_STRING(kAppVersion, "appversion");
  3503    NS_NAMED_LITERAL_STRING(kAppVersion, "appversion");
  3492    NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion");
  3504    NS_NAMED_LITERAL_STRING(kGeckoVersion, "platformversion");
  3500  #endif
  3512  #endif
  3501  
  3513  
  3502    NS_NAMED_LITERAL_STRING(kMain, "main");
  3514    NS_NAMED_LITERAL_STRING(kMain, "main");
  3503    NS_NAMED_LITERAL_STRING(kContent, "content");
  3515    NS_NAMED_LITERAL_STRING(kContent, "content");
  3504  
  3516  
  3505 @@ -549,44 +551,49 @@ ParseManifest(NSLocationType aType, File
  3517 @@ -554,44 +556,49 @@ ParseManifest(NSLocationType aType, File
  3506          CopyUTF8toUTF16(s, abi);
  3518          CopyUTF8toUTF16(s, abi);
  3507          abi.Insert(char16_t('_'), 0);
  3519          abi.Insert(char16_t('_'), 0);
  3508          abi.Insert(osTarget, 0);
  3520          abi.Insert(osTarget, 0);
  3509        }
  3521        }
  3510      }
  3522      }
  3550      process = kContent;
  3562      process = kContent;
  3551    } else {
  3563    } else {
  3552      process = kMain;
  3564      process = kMain;
  3553    }
  3565    }
  3554  
  3566  
  3555 @@ -681,25 +688,27 @@ ParseManifest(NSLocationType aType, File
  3567 @@ -694,25 +701,27 @@ ParseManifest(NSLocationType aType, File
  3556      TriState stOsVersion = eUnspecified;
  3568      TriState stOsVersion = eUnspecified;
  3557      TriState stOs = eUnspecified;
  3569      TriState stOs = eUnspecified;
  3558      TriState stABI = eUnspecified;
  3570      TriState stABI = eUnspecified;
  3559      TriState stProcess = eUnspecified;
  3571      TriState stProcess = eUnspecified;
  3560  #if defined(MOZ_WIDGET_ANDROID)
  3572  #if defined(MOZ_WIDGET_ANDROID)
  3578            CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) {
  3590            CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) {
  3579          continue;
  3591          continue;
  3580        }
  3592        }
  3581  
  3593  
  3582  #if defined(MOZ_WIDGET_ANDROID)
  3594  #if defined(MOZ_WIDGET_ANDROID)
  3583 @@ -749,16 +758,17 @@ ParseManifest(NSLocationType aType, File
  3595 @@ -762,16 +771,17 @@ ParseManifest(NSLocationType aType, File
  3584      }
  3596      }
  3585  
  3597  
  3586      if (!ok ||
  3598      if (!ok ||
  3587          stApp == eBad ||
  3599          stApp == eBad ||
  3588          stAppVersion == eBad ||
  3600          stAppVersion == eBad ||
  3599      }
  3611      }
  3600  
  3612  
  3601 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
  3613 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
  3602 --- a/xpcom/components/moz.build
  3614 --- a/xpcom/components/moz.build
  3603 +++ b/xpcom/components/moz.build
  3615 +++ b/xpcom/components/moz.build
  3604 @@ -48,12 +48,13 @@ FINAL_LIBRARY = 'xul'
  3616 @@ -46,12 +46,13 @@ FINAL_LIBRARY = 'xul'
  3605  GENERATED_INCLUDES += ['..']
  3617  GENERATED_INCLUDES += ['..']
  3606  LOCAL_INCLUDES += [
  3618  LOCAL_INCLUDES += [
  3607      '../base',
  3619      '../base',
  3608      '../build',
  3620      '../build',
  3609      '../ds',
  3621      '../ds',
  3634  #include <Carbon/Carbon.h>
  3646  #include <Carbon/Carbon.h>
  3635  #include "CocoaFileUtils.h"
  3647  #include "CocoaFileUtils.h"
  3636  #include "prmem.h"
  3648  #include "prmem.h"
  3637  #include "plbase64.h"
  3649  #include "plbase64.h"
  3638  
  3650  
  3639 @@ -1964,42 +1965,52 @@ nsLocalFile::SetPersistentDescriptor(con
  3651 @@ -1960,42 +1961,52 @@ nsLocalFile::SetPersistentDescriptor(con
  3640    return InitWithNativePath(aPersistentDescriptor);
  3652    return InitWithNativePath(aPersistentDescriptor);
  3641  #endif
  3653  #endif
  3642  }
  3654  }
  3643  
  3655  
  3644  NS_IMETHODIMP
  3656  NS_IMETHODIMP
  3693      nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
  3705      nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
  3694      ::CFRelease(url);
  3706      ::CFRelease(url);
  3695      return rv;
  3707      return rv;
  3696    }
  3708    }
  3697    return NS_ERROR_FAILURE;
  3709    return NS_ERROR_FAILURE;
  3698 @@ -2007,16 +2018,22 @@ nsLocalFile::Reveal()
  3710 @@ -2003,16 +2014,22 @@ nsLocalFile::Reveal()
  3699    return NS_ERROR_FAILURE;
  3711    return NS_ERROR_FAILURE;
  3700  #endif
  3712  #endif
  3701  }
  3713  }
  3702  
  3714  
  3703  NS_IMETHODIMP
  3715  NS_IMETHODIMP