Firefox 54.0b13
authorWolfgang Rosenauer <wr@rosenauer.org>
Sun, 04 Jun 2017 10:34:32 +0200
changeset 979 f82a374a310d
parent 978 214d22b0c31c
child 981 593707d5c013
Firefox 54.0b13 rebased patches removed mozilla-shared-nss-db.patch updated l10n_changesets.txt
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/l10n_changesets.txt
MozillaFirefox/mozilla-shared-nss-db.patch
firefox-kde.patch
mozilla-kde.patch
mozilla-shared-nss-db.patch
series
--- a/MozillaFirefox/MozillaFirefox.changes	Sun Jun 04 09:56:53 2017 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Sun Jun 04 10:34:32 2017 +0200
@@ -1,4 +1,13 @@
 -------------------------------------------------------------------
+Sun Jun  4 07:57:41 UTC 2017 - wr@rosenauer.org
+
+- update to Firefox 54.0b13
+- requires NSPR 4.14 and NSS 3.30.2
+- requires rust 1.15.1
+- removed mozilla-shared-nss-db.patch as it seems to be a rather
+  unused feature
+
+-------------------------------------------------------------------
 Thu Jun  1 04:25:05 UTC 2017 - kah0922@gmail.com
 
 - remove -fno-inline-small-functions and explicitely optimize with
--- a/MozillaFirefox/MozillaFirefox.spec	Sun Jun 04 09:56:53 2017 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Sun Jun 04 10:34:32 2017 +0200
@@ -74,9 +74,8 @@
 BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
-BuildRequires:  mozilla-nspr-devel >= 4.13.1
-BuildRequires:  mozilla-nss-devel >= 3.29.5
-BuildRequires:  nss-shared-helper-devel
+BuildRequires:  mozilla-nspr-devel >= 4.14
+BuildRequires:  mozilla-nss-devel >= 3.30.2
 BuildRequires:  python-devel
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
@@ -92,7 +91,7 @@
 BuildRequires:  pkgconfig(gtk+-unix-print-3.0)
 %if 0%{?firefox_use_rust}
 BuildRequires:  cargo
-BuildRequires:  rust >= 1.10
+BuildRequires:  rust >= 1.15.1
 BuildRequires:  rust-std
 %endif
 # libavcodec is required for H.264 support but the
@@ -138,7 +137,6 @@
 Source18:       mozilla-api-key
 # Gecko/Toolkit
 Patch1:         mozilla-nongnome-proxies.patch
-Patch2:         mozilla-shared-nss-db.patch
 Patch3:         mozilla-kde.patch
 Patch5:         mozilla-language.patch
 Patch6:         mozilla-ntlm-full-path.patch
@@ -248,7 +246,6 @@
 %endif
 cd $RPM_BUILD_DIR/mozilla
 %patch1 -p1
-%patch2 -p1
 %patch3 -p1
 %patch5 -p1
 %patch6 -p1
--- a/MozillaFirefox/l10n_changesets.txt	Sun Jun 04 09:56:53 2017 +0200
+++ b/MozillaFirefox/l10n_changesets.txt	Sun Jun 04 10:34:32 2017 +0200
@@ -1,94 +1,95 @@
-ach ad4861cc8b97
-af ed2ad4994929
-an 99f7617b5ca8
-ar 2f28d11d1657
-as ec72c8873d6f
-ast 234a91384f3a
-az 65e7cd3b577c
-bg 69bcfc15305b
-bn-BD 53c25d5b4589
-bn-IN 9f8087a5f6cd
-br 276a0bd1ddec
-bs bd981c758c72
-ca 799630b0c669
-cak 3ad4113a7360
-cs b2f1daccfa0d
-cy 09de6e11eb03
-da e0a49a797d36
-de 648fa4bf1c2c
-dsb c53dc817114e
-el 5c938eaf3701
-en-GB 26cd2b7806cc
-en-ZA 3e25fa2becca
-eo 49831294d72e
-es-AR b836bece31c8
-es-CL 58ac3780452e
-es-ES 6f99cb5c975b
-es-MX 9d1640aa44cc
-et 4aa55cdd1504
-eu 2333c4822f7c
-fa d5f8a48f15d2
-ff fd37d118280c
-fi db0a67c30074
-fr 54307652740e
-fy-NL 085a47bc877c
-ga-IE 8d20d03ac938
-gd fc9ab54d84a9
-gl 849e4e3a3fc9
-gn 51054649b046
-gu-IN c713ea51e83a
-he 68f368c165a5
-hi-IN 24a69ca3f8ea
-hr 5e08e334a84c
-hsb 393c98c68916
-hu 97f36446d52a
-hy-AM d467bd690878
-id f390b2688780
-is 9ee7f7c99512
-it ed1aa37dd8c7
-ja ed7c7ca5cbd2
-ja-JP-mac c95055d36190
-ka 3b036c9e61a6
-kab 364adce77c72
-kk 08696f7c8a1a
-km c68136590500
-kn 6160ec938484
-ko 936eb0ebb2da
-lij 6f8083311567
-lt 2b1cbb210da2
-lv 10389753c571
-mai 7e4a8262ce47
-mk 123d0c7a029e
-ml 6489a17e1231
-mr 6e618c26bbbc
-ms f1b58ca03654
-nb-NO e87d4d61a15e
-nl 095e7caafd73
-nn-NO dd567e171cc0
-or 16dd77306673
-pa-IN 4fa5174a3d00
-pl e0cb50020774
-pt-BR 291efbc7eda6
-pt-PT 8ba304b52d98
-rm ec384cb407d1
-ro d8c54284d42c
-ru 72f076d6157a
-si d0ecb8470e6b
-sk 5461f87207f7
-sl 5057b16cc0a4
-son 8a18464fb645
-sq 8dcd80c157b4
-sr 49f0c3635d34
-sv-SE ba8c81281095
-ta 1e7e519542ff
-te 510cff80cfbe
-th 5aa843627cdb
-tr 33ade23966b0
-uk 7db099371772
-ur 8916a4a4ac78
-uz 4f2be0c7cf61
-vi a0e2d5d10028
-xh 0bbddd61bf1d
-zh-CN 0a704c7c84a1
-zh-TW 5a852a958ba3
+ach 3d16ffc635fa
+af c253fc5c461c
+an 709595e9d6d9
+ar 8e84db70090c
+as 3273f8a51369
+ast c70eb0effdea
+az 513a38f67e53
+bg 16f590ce9b0f
+bn-BD 30a95df68250
+bn-IN 61ccbd31448f
+br 74f32dd3035a
+bs d123df5bd790
+ca 0f03ac5b5da0
+cak 8fa929cfc8bd
+cs 5d3d002ddbac
+cy df69730c6138
+da 7dc0483d5665
+de 0d12a52554f7
+dsb 5fb991493714
+el 6ad7c29f8be7
+en-GB 386758cec551
+en-ZA e7d811a62b2e
+eo b83c957ffed3
+es-AR 1e03932f76c0
+es-CL fccd555cf1b3
+es-ES 6f6cedf58756
+es-MX a95fc166c386
+et c13394682e2e
+eu 152ef6637475
+fa a82f310d3cf4
+ff 2f8fe276747e
+fi 24aefa9d21f6
+fr 40b71a8af77f
+fy-NL 8f43c4479225
+ga-IE 1ad18b82e5e0
+gd 886cf4b669d9
+gl f2e416fd9acb
+gn 08130e6e6b98
+gu-IN e833353c2612
+he e744937d682f
+hi-IN df27152fc8b4
+hr e3ddc16dbe49
+hsb 73c4c02be624
+hu 444b008f2971
+hy-AM 75d2d8da0ea2
+id d012ea9873b6
+is 877b2f2933cb
+it cbd37998f082
+ja fc03f12a536f
+ja-JP-mac 1cf3b9a58727
+ka 2109fd41c843
+kab 32ca41108bb5
+kk 0cd55422cf5d
+km 2fe614c56966
+kn 9746c95e6c92
+ko b76b762e0886
+lij bbbb6c90b00d
+lt a9732ebde542
+lv 630c8c7c1e0d
+mai b18bc831d3de
+mk 1d6d0e92d804
+ml 12321b4dc12b
+mr 3b5abb6d729c
+ms 88e67c9c4c7d
+my f0fec5a6dd5c
+nb-NO b06f356d7a23
+nl 6f43bd87f3ab
+nn-NO d062f71bc25d
+or 9dd78ca774cc
+pa-IN 51052f49037b
+pl c3ac5d18050d
+pt-BR 23a867d7a861
+pt-PT 555ec87449af
+rm 5677e3a3d4d7
+ro 65de41bf43cc
+ru 726930da4608
+si e21964ef4f5c
+sk 0c05a55b0dc2
+sl b436442f6650
+son e526828625ea
+sq f80aa499a9a8
+sr 4d8424f5d51f
+sv-SE 163e033a8d03
+ta 90d4447ad2cf
+te 5eff01a34e1f
+th 92681bccc461
+tr 4208e1a93994
+uk 883cef864f83
+ur b800a594d871
+uz 2b4cac9eb483
+vi 4cd6b32e0fbf
+xh 27e442d1b183
+zh-CN cc468e0cdc32
+zh-TW ce919472c211
 
--- a/MozillaFirefox/mozilla-shared-nss-db.patch	Sun Jun 04 09:56:53 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-shared-nss-db.patch
\ No newline at end of file
--- a/firefox-kde.patch	Sun Jun 04 09:56:53 2017 +0200
+++ b/firefox-kde.patch	Sun Jun 04 10:34:32 2017 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  9488ac970162c2224614d544b9bab7b984b38c90
+# Parent  f17aea11a99a3ea5fee78bc53bdecb8d851660f0
 
 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
 new file mode 100644
@@ -1145,7 +1145,7 @@
 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
 --- a/browser/base/jar.mn
 +++ b/browser/base/jar.mn
-@@ -60,16 +60,18 @@ browser.jar:
+@@ -58,16 +58,18 @@ browser.jar:
          content/browser/aboutSocialError.xhtml        (content/aboutSocialError.xhtml)
          content/browser/aboutProviderDirectory.xhtml  (content/aboutProviderDirectory.xhtml)
          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
@@ -1227,7 +1227,7 @@
 diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
 --- a/browser/components/preferences/in-content/main.js
 +++ b/browser/components/preferences/in-content/main.js
-@@ -32,16 +32,22 @@ var gMainPane = {
+@@ -34,16 +34,22 @@ var gMainPane = {
          // In Windows 8 we launch the control panel since it's the only
          // way to get all file type association prefs. So we don't know
          // when the user will select the default.  We refresh here periodically
@@ -1250,7 +1250,7 @@
      this.updateBrowserStartupLastSession();
  
      if (AppConstants.platform == "win") {
-@@ -680,16 +686,27 @@ var gMainPane = {
+@@ -682,16 +688,27 @@ var gMainPane = {
        let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
        alwaysCheckPref.value = true;
  
@@ -1281,7 +1281,7 @@
 diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
 --- a/browser/components/shell/moz.build
 +++ b/browser/components/shell/moz.build
-@@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+@@ -38,16 +38,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
      SOURCES += [
@@ -1593,10 +1593,10 @@
 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
 --- a/browser/installer/package-manifest.in
 +++ b/browser/installer/package-manifest.in
-@@ -638,16 +638,17 @@
- @RESPATH@/greprefs.js
+@@ -645,16 +645,17 @@
  @RESPATH@/defaults/autoconfig/prefcalls.js
  @RESPATH@/browser/defaults/permissions
+ @RESPATH@/browser/defaults/blocklists
  
  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
  ; Technically this is an app pref file, but we are keeping it in the original
@@ -1604,10 +1604,10 @@
  @RESPATH@/defaults/pref/channel-prefs.js
 +@BINPATH@/defaults/pref/kde.js
  
+ ; Remote control protocol prefs
+ ; defined in ../../testing/marionette/prefs/marionette.js
+ @RESPATH@/defaults/pref/marionette.js
+ 
  ; Services (gre) prefs
  @RESPATH@/defaults/pref/services-sync.js
  
- ; [Layout Engine Resources]
- ; Style Sheets, Graphics and other Resources used by the layout engine.
- @RESPATH@/res/EditorOverride.css
- @RESPATH@/res/contenteditable.css
--- a/mozilla-kde.patch	Sun Jun 04 09:56:53 2017 +0200
+++ b/mozilla-kde.patch	Sun Jun 04 10:34:32 2017 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  564e9441f71b5bc368c33697428f756f5914eb04
+# Parent  1fccdb56cf307cef5ddd39ece2ac58c93fe706b8
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -27,7 +27,7 @@
  #include "prefread.h"
  #include "prefapi_private_data.h"
  
-@@ -1174,16 +1175,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
+@@ -1199,16 +1200,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
  
  static nsresult pref_LoadPrefsInDirList(const char *listId)
  {
@@ -62,7 +62,7 @@
      return NS_OK;
  
    bool hasMore;
-@@ -1199,17 +1218,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1224,17 +1243,17 @@ static nsresult pref_LoadPrefsInDirList(
  
      nsAutoCString leaf;
      path->GetNativeLeafName(leaf);
@@ -81,7 +81,7 @@
  {
    nsZipItemPtr<char> manifest(jarReader, name, true);
    NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1303,24 +1322,36 @@ static nsresult pref_InitInitialObjects(
+@@ -1328,24 +1347,36 @@ static nsresult pref_InitInitialObjects(
    /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
    static const char* specialFiles[] = {
  #if defined(XP_MACOSX)
@@ -2169,7 +2169,7 @@
 diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
 --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
 +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -629,17 +629,17 @@ nsUnknownContentTypeDialog.prototype = {
        else
          typeString = mimeInfo.MIMEType;
      }
@@ -2188,7 +2188,7 @@
    },
  
    // Returns true if opening the default application makes sense.
-@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -803,17 +803,17 @@ nsUnknownContentTypeDialog.prototype = {
        switch (this.dialogElement("openHandler").selectedIndex) {
        case 0:
          // No app need be specified in this case.
@@ -2207,7 +2207,7 @@
      this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
    },
  
-@@ -1068,30 +1068,56 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1070,30 +1070,56 @@ nsUnknownContentTypeDialog.prototype = {
            params.handlerApp.executable &&
            params.handlerApp.executable.isFile()) {
          // Remember the file they chose to run.
@@ -3178,7 +3178,7 @@
  #include "nsXPIDLString.h"
  #include "nsIURL.h"
  #include "nsIFileStreams.h"
-@@ -1146,26 +1146,26 @@ nsresult nsOSHelperAppService::OSProtoco
+@@ -1147,26 +1147,26 @@ nsresult nsOSHelperAppService::OSProtoco
      ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':');
  
    if (action.isValid())
@@ -3207,7 +3207,7 @@
  
  nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
  {
-@@ -1252,17 +1252,17 @@ nsOSHelperAppService::GetFromExtension(c
+@@ -1253,17 +1253,17 @@ nsOSHelperAppService::GetFromExtension(c
                                           mime_types_description,
                                           true);
  
@@ -3226,7 +3226,7 @@
  
      rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
                                    majorType,
-@@ -1373,17 +1373,17 @@ nsOSHelperAppService::GetFromType(const 
+@@ -1374,17 +1374,17 @@ nsOSHelperAppService::GetFromType(const 
    nsAutoString extensions, mime_types_description;
    LookUpExtensionsAndDescription(majorType,
                                   minorType,
@@ -3623,7 +3623,7 @@
 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
 --- a/xpcom/components/ManifestParser.cpp
 +++ b/xpcom/components/ManifestParser.cpp
-@@ -32,16 +32,17 @@
+@@ -33,16 +33,17 @@
  #include "nsTextFormatter.h"
  #include "nsVersionComparator.h"
  #include "nsXPCOMCIDInternal.h"
@@ -3641,7 +3641,7 @@
    const char* directive;
    int argc;
  
-@@ -472,16 +473,17 @@ ParseManifest(NSLocationType aType, File
+@@ -466,16 +467,17 @@ ParseManifest(NSLocationType aType, File
    NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
    NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
    NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -3659,7 +3659,7 @@
    NS_NAMED_LITERAL_STRING(kMain, "main");
    NS_NAMED_LITERAL_STRING(kContent, "content");
  
-@@ -532,44 +534,49 @@ ParseManifest(NSLocationType aType, File
+@@ -526,44 +528,49 @@ ParseManifest(NSLocationType aType, File
          CopyUTF8toUTF16(s, abi);
          abi.Insert(char16_t('_'), 0);
          abi.Insert(osTarget, 0);
@@ -3709,7 +3709,7 @@
      process = kMain;
    }
  
-@@ -672,25 +679,27 @@ ParseManifest(NSLocationType aType, File
+@@ -666,25 +673,27 @@ ParseManifest(NSLocationType aType, File
      TriState stOsVersion = eUnspecified;
      TriState stOs = eUnspecified;
      TriState stABI = eUnspecified;
@@ -3737,7 +3737,7 @@
        }
  
  #if defined(MOZ_WIDGET_ANDROID)
-@@ -740,16 +749,17 @@ ParseManifest(NSLocationType aType, File
+@@ -734,16 +743,17 @@ ParseManifest(NSLocationType aType, File
      }
  
      if (!ok ||
@@ -3758,7 +3758,7 @@
 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
 --- a/xpcom/components/moz.build
 +++ b/xpcom/components/moz.build
-@@ -43,12 +43,13 @@ FINAL_LIBRARY = 'xul'
+@@ -50,12 +50,13 @@ FINAL_LIBRARY = 'xul'
  LOCAL_INCLUDES += [
      '!..',
      '../base',
@@ -3793,7 +3793,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1949,42 +1950,52 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1948,59 +1949,74 @@ nsLocalFile::SetPersistentDescriptor(con
    return InitWithNativePath(aPersistentDescriptor);
  #endif
  }
@@ -3817,22 +3817,32 @@
    if (isDirectory) {
 -    return giovfs->ShowURIForInput(mPath);
 +    url = mPath;
-   } else if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
+   }
+   if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
      return NS_OK;
-   } else {
-     nsCOMPtr<nsIFile> parentDir;
-     nsAutoCString dirPath;
-     if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
-       return NS_ERROR_FAILURE;
-     }
-     if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
-       return NS_ERROR_FAILURE;
-     }
+   }
+   nsCOMPtr<nsIFile> parentDir;
+   nsAutoCString dirPath;
+   if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
+     return NS_ERROR_FAILURE;
+   }
+   if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
+     return NS_ERROR_FAILURE;
+   }
  
--    return giovfs->ShowURIForInput(dirPath);
-+    url = dirPath;
+-  return giovfs->ShowURIForInput(dirPath);
++  url = dirPath;
+ #elif defined(MOZ_WIDGET_COCOA)
+   CFURLRef url;
+   if (NS_SUCCEEDED(GetCFURL(&url))) {
+     nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
+     ::CFRelease(url);
+     return rv;
    }
-+
+   return NS_ERROR_FAILURE;
+ #else
+   return NS_ERROR_FAILURE;
+ #endif
 +  if(nsKDEUtils::kdeSupport()) {
 +    nsTArray<nsCString> command;
 +    command.AppendElement( NS_LITERAL_CSTRING("REVEAL") );
@@ -3844,17 +3854,6 @@
 +    return NS_ERROR_FAILURE;
 +
 +  return giovfs->ShowURIForInput(url);
- #elif defined(MOZ_WIDGET_COCOA)
-   CFURLRef url;
-   if (NS_SUCCEEDED(GetCFURL(&url))) {
-     nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
-     ::CFRelease(url);
-     return rv;
-   }
-   return NS_ERROR_FAILURE;
-@@ -1992,16 +2003,22 @@ nsLocalFile::Reveal()
-   return NS_ERROR_FAILURE;
- #endif
  }
  
  NS_IMETHODIMP
--- a/mozilla-shared-nss-db.patch	Sun Jun 04 09:56:53 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-From: Hans Petter Jansson <hpj@copyleft.no>
-      Wolfgang Rosenauer <wr@rosenauer.org>
-Subject: use libnsssharedhelper if available at compile time
-         (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
-References:
-
-diff --git a/old-configure.in b/old-configure.in
---- a/old-configure.in
-+++ b/old-configure.in
-@@ -5358,16 +5358,31 @@ esac
- 
- AC_SUBST(MOZ_TREE_CAIRO)
- AC_SUBST_LIST(MOZ_CAIRO_CFLAGS)
- AC_SUBST_LIST(MOZ_CAIRO_LIBS)
- AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
- AC_SUBST(MOZ_TREE_PIXMAN)
- 
- dnl ========================================================
-+dnl Check for nss-shared-helper
-+dnl ========================================================
-+
-+  PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
-+    [MOZ_ENABLE_NSSHELPER=1],
-+    [MOZ_ENABLE_NSSHELPER=])
-+
-+if test "$MOZ_ENABLE_NSSHELPER"; then
-+  AC_DEFINE(MOZ_ENABLE_NSSHELPER)
-+fi
-+AC_SUBST(MOZ_ENABLE_NSSHELPER)
-+AC_SUBST_LIST(NSSHELPER_CFLAGS)
-+AC_SUBST_LIST(NSSHELPER_LIBS)
-+
-+dnl ========================================================
- dnl disable xul
- dnl ========================================================
- MOZ_ARG_DISABLE_BOOL(xul,
- [  --disable-xul           Disable XUL],
-     MOZ_XUL= )
- if test "$MOZ_XUL"; then
-   AC_DEFINE(MOZ_XUL)
- else
-diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build
---- a/security/manager/ssl/moz.build
-+++ b/security/manager/ssl/moz.build
-@@ -160,16 +160,19 @@ if CONFIG['MOZ_XUL']:
-     ]
- 
- UNIFIED_SOURCES += [
-     'md4.c',
- ]
- 
- FINAL_LIBRARY = 'xul'
- 
-+CXXFLAGS += sorted(CONFIG['NSSHELPER_CFLAGS'])
-+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
-+
- LOCAL_INCLUDES += [
-     '/dom/base',
-     '/dom/crypto',
-     '/security/certverifier',
-     '/security/pkix/include',
- ]
- 
- LOCAL_INCLUDES += [
-diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp
---- a/security/manager/ssl/nsNSSComponent.cpp
-+++ b/security/manager/ssl/nsNSSComponent.cpp
-@@ -1,14 +1,21 @@
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-  *
-  * This Source Code Form is subject to the terms of the Mozilla Public
-  * License, v. 2.0. If a copy of the MPL was not distributed with this
-  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- 
-+#ifdef MOZ_ENABLE_NSSHELPER
-+#pragma GCC visibility push(default)
-+#include <nss-shared-helper.h>
-+#pragma GCC visibility pop
-+#include "prenv.h"
-+#endif
-+
- #include "nsNSSComponent.h"
- 
- #include "ExtendedValidation.h"
- #include "NSSCertDBTrustDomain.h"
- #include "ScopedNSSTypes.h"
- #include "SharedSSLState.h"
- #include "cert.h"
- #include "certdb.h"
-@@ -1702,17 +1709,31 @@ nsNSSComponent::InitializeNSS()
-       return rv;
-     }
-   }
-   MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("inSafeMode: %u\n", inSafeMode));
- 
-   if (!nocertdb && !profileStr.IsEmpty()) {
-     // First try to initialize the NSS DB in read/write mode.
-     // Only load PKCS11 modules if we're not in safe mode.
-+#ifdef MOZ_ENABLE_NSSHELPER
-+    if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
-+      init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
-+    } else {
-+      uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
-+      init_rv = ::nsshelp_open_db ("Firefox", profileStr.get(), flags);
-+
-+      if (init_rv != SECSuccess) {
-+        MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
-+        init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
-+      }
-+    }
-+#else
-     init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false, !inSafeMode);
-+#endif
-     // If that fails, attempt read-only mode.
-     if (init_rv != SECSuccess) {
-       MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init NSS r/w in %s\n", profileStr.get()));
-       init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true, !inSafeMode);
-     }
-     if (init_rv != SECSuccess) {
-       MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("could not init in r/o either\n"));
-     }
-diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
---- a/toolkit/library/moz.build
-+++ b/toolkit/library/moz.build
-@@ -220,16 +220,18 @@ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
- OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
- 
- if CONFIG['SERVO_TARGET_DIR']:
-     if CONFIG['_MSC_VER']:
-         OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']]
-     else:
-         OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
- 
-+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
-+
- if CONFIG['MOZ_SYSTEM_JPEG']:
-     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
- 
- if CONFIG['MOZ_SYSTEM_PNG']:
-     OS_LIBS += CONFIG['MOZ_PNG_LIBS']
- 
- if CONFIG['MOZ_SYSTEM_HUNSPELL']:
-     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
--- a/series	Sun Jun 04 09:56:53 2017 +0200
+++ b/series	Sun Jun 04 10:34:32 2017 +0200
@@ -1,6 +1,5 @@
 # xulrunner/gecko patches
 mozilla-nongnome-proxies.patch
-mozilla-shared-nss-db.patch
 mozilla-kde.patch
 mozilla-language.patch
 mozilla-ntlm-full-path.patch