mozilla-kde.patch
branchfirefox87
changeset 1156 c3d884659acf
parent 1152 4cfe46c9a944
child 1157 57fc0524b50c
equal deleted inserted replaced
1155:b8c834aafde2 1156:c3d884659acf
     1 # HG changeset patch
     1 # HG changeset patch
     2 # User msirringhaus@suse.de
     2 # User msirringhaus@suse.de
     3 # Date 1559294891 -7200
     3 # Date 1559294891 -7200
     4 #      Fri May 31 11:28:11 2019 +0200
     4 #      Fri May 31 11:28:11 2019 +0200
     5 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
     5 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
     6 # Parent  4b9aa59b15c3247d263cc32804786b3a6bff7912
     6 # Parent  929fbcb071c2e1ff551c73e8c364e9c1f4495171
     7 Description: Add KDE integration to Firefox (toolkit parts)
     7 Description: Add KDE integration to Firefox (toolkit parts)
     8 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
     8 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
     9 Author: Lubos Lunak <lunak@suse.com>
     9 Author: Lubos Lunak <lunak@suse.com>
    10 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
    10 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
    11      https://bugzilla.novell.com/show_bug.cgi?id=170055
    11      https://bugzilla.novell.com/show_bug.cgi?id=170055
    12 
    12 
    13 diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
    13 diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
    14 --- a/modules/libpref/Preferences.cpp
    14 --- a/modules/libpref/Preferences.cpp
    15 +++ b/modules/libpref/Preferences.cpp
    15 +++ b/modules/libpref/Preferences.cpp
    16 @@ -82,16 +82,17 @@
    16 @@ -84,16 +84,17 @@
    17  #include "nsXPCOM.h"
       
    18  #include "nsXULAppAPI.h"
       
    19  #include "nsZipArchive.h"
       
    20  #include "plbase64.h"
    17  #include "plbase64.h"
    21  #include "PLDHashTable.h"
    18  #include "PLDHashTable.h"
    22  #include "plstr.h"
    19  #include "plstr.h"
    23  #include "prlink.h"
    20  #include "prlink.h"
    24  #include "xpcpublic.h"
    21  #include "xpcpublic.h"
       
    22  #ifdef MOZ_BACKGROUNDTASKS
       
    23  #  include "mozilla/BackgroundTasks.h"
       
    24  #endif
    25 +#include "nsKDEUtils.h"
    25 +#include "nsKDEUtils.h"
    26  
    26  
    27  #ifdef DEBUG
    27  #ifdef DEBUG
    28  #  include <map>
    28  #  include <map>
    29  #endif
    29  #endif
    30  
    30  
    31  #ifdef MOZ_MEMORY
    31  #ifdef MOZ_MEMORY
    32  #  include "mozmemory.h"
    32  #  include "mozmemory.h"
    33  #endif
    33  #endif
    34 @@ -4459,25 +4460,37 @@ nsresult Preferences::InitInitialObjects
    34 @@ -4573,25 +4574,37 @@ nsresult Preferences::InitInitialObjects
    35    // application pref files for backwards compatibility.
    35    // application pref files for backwards compatibility.
    36    static const char* specialFiles[] = {
    36    static const char* specialFiles[] = {
    37  #if defined(XP_MACOSX)
    37  #if defined(XP_MACOSX)
    38      "macprefs.js"
    38      "macprefs.js"
    39  #elif defined(XP_WIN)
    39  #elif defined(XP_WIN)
    67      NS_WARNING("Error parsing application default preferences.");
    67      NS_WARNING("Error parsing application default preferences.");
    68    }
    68    }
    69  
    69  
    70    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    70    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    71    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
    71    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
    72 @@ -4523,17 +4536,17 @@ nsresult Preferences::InitInitialObjects
    72 @@ -4656,17 +4669,17 @@ nsresult Preferences::InitInitialObjects
    73        }
    73        }
    74  
    74  
    75        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
    75        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
    76        if (!path) {
    76        if (!path) {
    77          continue;
    77          continue;
    89  
    89  
    90    if (aIsStartup) {
    90    if (aIsStartup) {
    91 diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
    91 diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
    92 --- a/modules/libpref/moz.build
    92 --- a/modules/libpref/moz.build
    93 +++ b/modules/libpref/moz.build
    93 +++ b/modules/libpref/moz.build
    94 @@ -116,16 +116,20 @@ EXPORTS.mozilla += [
    94 @@ -117,16 +117,20 @@ EXPORTS.mozilla += [
    95  ]
    95  ]
    96  EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
    96  EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
    97  
    97  
    98  UNIFIED_SOURCES += [
    98  UNIFIED_SOURCES += [
    99      "Preferences.cpp",
    99      "Preferences.cpp",
   113      inputs=["init/StaticPrefList.yaml"]
   113      inputs=["init/StaticPrefList.yaml"]
   114  )
   114  )
   115 diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
   115 diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
   116 --- a/python/mozbuild/mozpack/chrome/flags.py
   116 --- a/python/mozbuild/mozpack/chrome/flags.py
   117 +++ b/python/mozbuild/mozpack/chrome/flags.py
   117 +++ b/python/mozbuild/mozpack/chrome/flags.py
   118 @@ -228,16 +228,17 @@ class Flags(OrderedDict):
   118 @@ -229,16 +229,17 @@ class Flags(OrderedDict):
   119          "contentaccessible": Flag,
       
   120          "os": StringFlag,
   119          "os": StringFlag,
   121          "osversion": VersionFlag,
   120          "osversion": VersionFlag,
   122          "abi": StringFlag,
   121          "abi": StringFlag,
   123          "platform": Flag,
   122          "platform": Flag,
   124          "xpcnativewrappers": Flag,
   123          "xpcnativewrappers": Flag,
   125          "tablet": Flag,
   124          "tablet": Flag,
   126          "process": StringFlag,
   125          "process": StringFlag,
   127 +	"desktop": StringFlag,
   126          "backgroundtask": StringFlag,
       
   127 +        "desktop": StringFlag,
   128      }
   128      }
   129      RE = re.compile(r"([!<>=]+)")
   129      RE = re.compile(r"([!<>=]+)")
   130  
   130  
   131      def __init__(self, *flags):
   131      def __init__(self, *flags):
   132          """
   132          """
   134             flags = Flags('contentaccessible=yes', 'appversion>=3.5')
   134             flags = Flags('contentaccessible=yes', 'appversion>=3.5')
   135          """
   135          """
   136 diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
   136 diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
   137 --- a/python/mozbuild/mozpack/chrome/manifest.py
   137 --- a/python/mozbuild/mozpack/chrome/manifest.py
   138 +++ b/python/mozbuild/mozpack/chrome/manifest.py
   138 +++ b/python/mozbuild/mozpack/chrome/manifest.py
   139 @@ -38,16 +38,17 @@ class ManifestEntry(object):
   139 @@ -39,16 +39,17 @@ class ManifestEntry(object):
   140          "platformversion",
       
   141          "os",
   140          "os",
   142          "osversion",
   141          "osversion",
   143          "abi",
   142          "abi",
   144          "xpcnativewrappers",
   143          "xpcnativewrappers",
   145          "tablet",
   144          "tablet",
   146          "process",
   145          "process",
   147          "contentaccessible",
   146          "contentaccessible",
       
   147          "backgroundtask",
   148 +        "desktop",
   148 +        "desktop",
   149      ]
   149      ]
   150  
   150  
   151      def __init__(self, base, *flags):
   151      def __init__(self, base, *flags):
   152          """
   152          """
   173  with Files("**"):
   173  with Files("**"):
   174      BUG_COMPONENT = ("Toolkit", "Downloads API")
   174      BUG_COMPONENT = ("Toolkit", "Downloads API")
   175 diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
   175 diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
   176 --- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
   176 --- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
   177 +++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
   177 +++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
   178 @@ -1243,36 +1243,66 @@ nsUnknownContentTypeDialog.prototype = {
   178 @@ -1231,36 +1231,66 @@ nsUnknownContentTypeDialog.prototype = {
   179          params.handlerApp &&
   179          params.handlerApp &&
   180          params.handlerApp.executable &&
   180          params.handlerApp.executable &&
   181          params.handlerApp.executable.isFile()
   181          params.handlerApp.executable.isFile()
   182        ) {
   182        ) {
   183          // Remember the file they chose to run.
   183          // Remember the file they chose to run.
   354    return result.forget().downcast<nsISupports>();
   354    return result.forget().downcast<nsISupports>();
   355  }
   355  }
   356 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
   356 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
   357 --- a/toolkit/xre/moz.build
   357 --- a/toolkit/xre/moz.build
   358 +++ b/toolkit/xre/moz.build
   358 +++ b/toolkit/xre/moz.build
   359 @@ -91,17 +91,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
   359 @@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
   360          "../components/printingui",
   360          "../components/printingui",
   361      ]
   361      ]
   362  elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
   362  elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
   363      UNIFIED_SOURCES += [
   363      UNIFIED_SOURCES += [
   364          "nsNativeAppSupportDefault.cpp",
   364          "nsNativeAppSupportDefault.cpp",
  1212  #include "nsReadableUtils.h"
  1212  #include "nsReadableUtils.h"
  1213  #include "nsUnicharUtils.h"
  1213  #include "nsUnicharUtils.h"
  1214  #include "nsIFileStreams.h"
  1214  #include "nsIFileStreams.h"
  1215  #include "nsILineInputStream.h"
  1215  #include "nsILineInputStream.h"
  1216  #include "nsIFile.h"
  1216  #include "nsIFile.h"
  1217 @@ -1019,17 +1019,17 @@ nsresult nsOSHelperAppService::GetHandle
  1217 @@ -1020,17 +1020,17 @@ nsresult nsOSHelperAppService::GetHandle
  1218  
  1218  
  1219  nsresult nsOSHelperAppService::OSProtocolHandlerExists(
  1219  nsresult nsOSHelperAppService::OSProtocolHandlerExists(
  1220      const char* aProtocolScheme, bool* aHandlerExists) {
  1220      const char* aProtocolScheme, bool* aHandlerExists) {
  1221    nsresult rv = NS_OK;
  1221    nsresult rv = NS_OK;
  1222  
  1222  
  1231    } else {
  1231    } else {
  1232      *aHandlerExists = false;
  1232      *aHandlerExists = false;
  1233      nsCOMPtr<nsIHandlerService> handlerSvc =
  1233      nsCOMPtr<nsIHandlerService> handlerSvc =
  1234          do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
  1234          do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
  1235      if (NS_SUCCEEDED(rv) && handlerSvc) {
  1235      if (NS_SUCCEEDED(rv) && handlerSvc) {
  1236 @@ -1039,17 +1039,17 @@ nsresult nsOSHelperAppService::OSProtoco
  1236 @@ -1040,17 +1040,17 @@ nsresult nsOSHelperAppService::OSProtoco
  1237    }
  1237    }
  1238  
  1238  
  1239    return rv;
  1239    return rv;
  1240  }
  1240  }
  1241  
  1241  
  1250  #endif
  1250  #endif
  1251  }
  1251  }
  1252  
  1252  
  1253  NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol(
  1253  NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol(
  1254      const nsACString& aScheme, bool* _retval) {
  1254      const nsACString& aScheme, bool* _retval) {
  1255 @@ -1136,17 +1136,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
  1255 @@ -1137,17 +1137,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
  1256    nsresult rv =
  1256    nsresult rv =
  1257        LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
  1257        LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
  1258                                 minorType, mime_types_description, true);
  1258                                 minorType, mime_types_description, true);
  1259  
  1259  
  1260    if (NS_FAILED(rv) || majorType.IsEmpty()) {
  1260    if (NS_FAILED(rv) || majorType.IsEmpty()) {
  1269      }
  1269      }
  1270  #endif
  1270  #endif
  1271  
  1271  
  1272      rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
  1272      rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
  1273                                    minorType, mime_types_description, false);
  1273                                    minorType, mime_types_description, false);
  1274 @@ -1247,17 +1247,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
  1274 @@ -1248,17 +1248,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
  1275  
  1275  
  1276    // Now look up our extensions
  1276    // Now look up our extensions
  1277    nsAutoString extensions, mime_types_description;
  1277    nsAutoString extensions, mime_types_description;
  1278    LookUpExtensionsAndDescription(majorType, minorType, extensions,
  1278    LookUpExtensionsAndDescription(majorType, minorType, extensions,
  1279                                   mime_types_description);
  1279                                   mime_types_description);
  1291        NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?");
  1291        NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?");
  1292        gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions));
  1292        gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions));
  1293 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
  1293 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
  1294 --- a/widget/gtk/moz.build
  1294 --- a/widget/gtk/moz.build
  1295 +++ b/widget/gtk/moz.build
  1295 +++ b/widget/gtk/moz.build
  1296 @@ -138,16 +138,17 @@ FINAL_LIBRARY = "xul"
  1296 @@ -137,16 +137,17 @@ FINAL_LIBRARY = "xul"
  1297  
  1297  
  1298  LOCAL_INCLUDES += [
  1298  LOCAL_INCLUDES += [
  1299      "/layout/base",
  1299      "/layout/base",
  1300      "/layout/forms",
  1300      "/layout/forms",
  1301      "/layout/generic",
  1301      "/layout/generic",
  1683                                gboolean modal);
  1683                                gboolean modal);
  1684  
  1684  
  1685 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
  1685 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
  1686 --- a/xpcom/components/ManifestParser.cpp
  1686 --- a/xpcom/components/ManifestParser.cpp
  1687 +++ b/xpcom/components/ManifestParser.cpp
  1687 +++ b/xpcom/components/ManifestParser.cpp
  1688 @@ -34,16 +34,17 @@
  1688 @@ -38,16 +38,17 @@
  1689  #include "nsTextFormatter.h"
  1689  #include "nsTextFormatter.h"
  1690  #include "nsVersionComparator.h"
  1690  #include "nsVersionComparator.h"
  1691  #include "nsXPCOMCIDInternal.h"
  1691  #include "nsXPCOMCIDInternal.h"
  1692  
  1692  
  1693  #include "nsIConsoleService.h"
  1693  #include "nsIConsoleService.h"
  1701  struct ManifestDirective {
  1701  struct ManifestDirective {
  1702    const char* directive;
  1702    const char* directive;
  1703    int argc;
  1703    int argc;
  1704  
  1704  
  1705    bool ischrome;
  1705    bool ischrome;
  1706 @@ -393,16 +394,17 @@ void ParseManifest(NSLocationType aType,
  1706 @@ -397,16 +398,17 @@ void ParseManifest(NSLocationType aType,
  1707    constexpr auto kRemoteEnabled = u"remoteenabled"_ns;
  1707    constexpr auto kRemoteEnabled = u"remoteenabled"_ns;
  1708    constexpr auto kRemoteRequired = u"remoterequired"_ns;
  1708    constexpr auto kRemoteRequired = u"remoterequired"_ns;
  1709    constexpr auto kApplication = u"application"_ns;
  1709    constexpr auto kApplication = u"application"_ns;
  1710    constexpr auto kAppVersion = u"appversion"_ns;
  1710    constexpr auto kAppVersion = u"appversion"_ns;
  1711    constexpr auto kGeckoVersion = u"platformversion"_ns;
  1711    constexpr auto kGeckoVersion = u"platformversion"_ns;
  1715 +  constexpr auto kDesktop = u"desktop"_ns;
  1715 +  constexpr auto kDesktop = u"desktop"_ns;
  1716    constexpr auto kProcess = u"process"_ns;
  1716    constexpr auto kProcess = u"process"_ns;
  1717  #if defined(MOZ_WIDGET_ANDROID)
  1717  #if defined(MOZ_WIDGET_ANDROID)
  1718    constexpr auto kTablet = u"tablet"_ns;
  1718    constexpr auto kTablet = u"tablet"_ns;
  1719  #endif
  1719  #endif
  1720  
  1720    // You might expect this to be guarded by MOZ_BACKGROUNDTASKS, but it's not
  1721    constexpr auto kMain = u"main"_ns;
  1721    // possible to have conditional manifest contents, so we need to recognize and
  1722    constexpr auto kContent = u"content"_ns;
  1722    // discard these tokens even when MOZ_BACKGROUNDTASKS is not set.
  1723  
  1723    constexpr auto kBackgroundTask = u"backgroundtask"_ns;
  1724 @@ -448,39 +450,44 @@ void ParseManifest(NSLocationType aType,
  1724 @@ -456,39 +458,44 @@ void ParseManifest(NSLocationType aType,
  1725          CopyUTF8toUTF16(s, abi);
  1725          CopyUTF8toUTF16(s, abi);
  1726          abi.Insert(char16_t('_'), 0);
  1726          abi.Insert(char16_t('_'), 0);
  1727          abi.Insert(osTarget, 0);
  1727          abi.Insert(osTarget, 0);
  1728        }
  1728        }
  1729      }
  1729      }
  1764      process = kContent;
  1764      process = kContent;
  1765    } else {
  1765    } else {
  1766      process = kMain;
  1766      process = kMain;
  1767    }
  1767    }
  1768  
  1768  
  1769 @@ -567,25 +574,27 @@ void ParseManifest(NSLocationType aType,
  1769 @@ -583,25 +590,27 @@ void ParseManifest(NSLocationType aType,
  1770      TriState stOsVersion = eUnspecified;
  1770      // When in background task mode, default to not registering
  1771      TriState stOs = eUnspecified;
  1771      // category directivies unless backgroundtask=1 is specified.
  1772      TriState stABI = eUnspecified;
  1772      TriState stBackgroundTask = (BackgroundTasks::IsBackgroundTaskMode() &&
  1773      TriState stProcess = eUnspecified;
  1773                                   strcmp("category", directive->directive) == 0)
  1774  #if defined(MOZ_WIDGET_ANDROID)
  1774                                      ? eBad
  1775      TriState stTablet = eUnspecified;
  1775                                      : eUnspecified;
  1776  #endif
  1776  #endif
  1777      int flags = 0;
  1777      int flags = 0;
  1778 +    TriState stDesktop = eUnspecified;
  1778 +    TriState stDesktop = eUnspecified;
  1779  
  1779  
  1780      while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
  1780      while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
  1792            CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion,
  1792            CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion,
  1793                             stGeckoVersion)) {
  1793                             stGeckoVersion)) {
  1794          continue;
  1794          continue;
  1795        }
  1795        }
  1796  
  1796  
  1797 @@ -622,17 +631,17 @@ void ParseManifest(NSLocationType aType,
  1797 @@ -650,17 +659,17 @@ void ParseManifest(NSLocationType aType,
  1798        }
  1798        }
  1799  
  1799  
  1800        LogMessageWithContext(
  1800        LogMessageWithContext(
  1801            aFile, line, "Unrecognized chrome manifest modifier '%s'.", token);
  1801            aFile, line, "Unrecognized chrome manifest modifier '%s'.", token);
  1802        ok = false;
  1802        ok = false;
  1806 -        stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad ||
  1806 -        stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad ||
  1807 +        stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad || stDesktop == eBad ||
  1807 +        stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad || stDesktop == eBad ||
  1808  #ifdef MOZ_WIDGET_ANDROID
  1808  #ifdef MOZ_WIDGET_ANDROID
  1809          stTablet == eBad ||
  1809          stTablet == eBad ||
  1810  #endif
  1810  #endif
       
  1811  #ifdef MOZ_BACKGROUNDTASKS
       
  1812          stBackgroundTask == eBad ||
       
  1813  #endif
  1811          stABI == eBad || stProcess == eBad) {
  1814          stABI == eBad || stProcess == eBad) {
  1812        continue;
  1815        continue;
  1813      }
       
  1814  
       
  1815      if (directive->regfunc) {
       
  1816 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
  1816 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
  1817 --- a/xpcom/components/moz.build
  1817 --- a/xpcom/components/moz.build
  1818 +++ b/xpcom/components/moz.build
  1818 +++ b/xpcom/components/moz.build
  1819 @@ -66,16 +66,17 @@ LOCAL_INCLUDES += [
  1819 @@ -66,16 +66,17 @@ LOCAL_INCLUDES += [
  1820      "!..",
  1820      "!..",
  1831  if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
  1831  if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
  1832      CXXFLAGS += CONFIG["TK_CFLAGS"]
  1832      CXXFLAGS += CONFIG["TK_CFLAGS"]
  1833      if CONFIG["MOZ_ENABLE_DBUS"]:
  1833      if CONFIG["MOZ_ENABLE_DBUS"]:
  1834          CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
  1834          CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
  1835  
  1835  
  1836  include("/ipc/chromium/chromium-config.mozbuild")
  1836  if CONFIG["MOZ_BACKGROUNDTASKS"]:
  1837 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
  1837 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
  1838 --- a/xpcom/io/nsLocalFileUnix.cpp
  1838 --- a/xpcom/io/nsLocalFileUnix.cpp
  1839 +++ b/xpcom/io/nsLocalFileUnix.cpp
  1839 +++ b/xpcom/io/nsLocalFileUnix.cpp
  1840 @@ -49,16 +49,17 @@
  1840 @@ -49,16 +49,17 @@
  1841  #include "prproces.h"
  1841  #include "prproces.h"
  1853  #  include <Carbon/Carbon.h>
  1853  #  include <Carbon/Carbon.h>
  1854  #  include "CocoaFileUtils.h"
  1854  #  include "CocoaFileUtils.h"
  1855  #  include "prmem.h"
  1855  #  include "prmem.h"
  1856  #  include "plbase64.h"
  1856  #  include "plbase64.h"
  1857  
  1857  
  1858 @@ -1968,62 +1969,77 @@ nsLocalFile::SetPersistentDescriptor(con
  1858 @@ -2001,62 +2002,77 @@ nsLocalFile::SetPersistentDescriptor(con
  1859  
  1859  
  1860  NS_IMETHODIMP
  1860  NS_IMETHODIMP
  1861  nsLocalFile::Reveal() {
  1861  nsLocalFile::Reveal() {
  1862    if (!FilePreferences::IsAllowedPath(mPath)) {
  1862    if (!FilePreferences::IsAllowedPath(mPath)) {
  1863      return NS_ERROR_FILE_ACCESS_DENIED;
  1863      return NS_ERROR_FILE_ACCESS_DENIED;