rebased patches
authorWolfgang Rosenauer <wr@rosenauer.org>
Thu, 16 Oct 2014 23:09:58 +0200
changeset 779 354c672efefa
parent 778 9483ff78d5a0
child 782 7c9b67ad12bb
rebased patches (KDE patches likely not complete yet and not building)
firefox-kde-114.patch
firefox-kde.patch
mozilla-kde.patch
mozilla-language.patch
mozilla-pkgconfig.patch
mozilla-preferences.patch
mozilla-repo.patch
mozilla-shared-nss-db.patch
--- a/firefox-kde-114.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/firefox-kde-114.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -1,27 +1,27 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent ba2d9b1374e15e7c339a44452169d0afac2ca82e
+# Parent a5921092e6fb2dc39b1426139eb8406f5fd3cfa9
 With openSUSE 11.4 the desktop file name changed from MozillaFirefox to firefox
 
-diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
---- a/browser/components/preferences/advanced.js
-+++ b/browser/components/preferences/advanced.js
-@@ -751,17 +751,17 @@ var gAdvancedPane = {
-     if (kde_session == 1) {
-       var shellObj = Components.classes["@mozilla.org/file/local;1"]
-                                .createInstance(Components.interfaces.nsILocalFile);
-       shellObj.initWithPath("/usr/bin/kwriteconfig");
-       var process = Components.classes["@mozilla.org/process/util;1"]
-                               .createInstance(Components.interfaces.nsIProcess);
-       process.init(shellObj);
-       var args = ["--file", "kdeglobals", "--group", "General", "--key",
--          "BrowserApplication", "MozillaFirefox"];
-+          "BrowserApplication", "firefox"];
-       process.run(false, args, args.length);
+diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
+--- a/browser/components/preferences/main.js
++++ b/browser/components/preferences/main.js
+@@ -511,17 +511,17 @@ var gMainPane = {
+       if (kde_session == 1) {
+         var shellObj = Components.classes["@mozilla.org/file/local;1"]
+                                  .createInstance(Components.interfaces.nsILocalFile);
+         shellObj.initWithPath("/usr/bin/kwriteconfig");
+         var process = Components.classes["@mozilla.org/process/util;1"]
+                                 .createInstance(Components.interfaces.nsIProcess);
+         process.init(shellObj);
+         var args = ["--file", "kdeglobals", "--group", "General", "--key",
+-            "BrowserApplication", "MozillaFirefox"];
++            "BrowserApplication", "firefox"];
+         process.run(false, args, args.length);
+       }
+     } catch (ex) {
+       Components.utils.reportError(ex);
+       return;
      }
      let selectedIndex =
        shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
-     document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
-   }
- #endif
- };
--- a/firefox-kde.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/firefox-kde.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -1263,7 +1263,7 @@
          <button id="editBookmarkPanelDeleteButton"
                  class="editBookmarkPanelBottomButton"
                  label="&editBookmark.cancel.label;"
-@@ -1164,17 +1164,17 @@
+@@ -1150,17 +1150,17 @@
  
    <hbox id="full-screen-warning-container" hidden="true" fadeout="true">
      <hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
@@ -1299,11 +1299,11 @@
  *       content/browser/browser-tabPreviews.xml       (content/browser-tabPreviews.xml)
  *       content/browser/chatWindow.xul                (content/chatWindow.xul)
          content/browser/content.js                    (content/content.js)
-         content/browser/newtab/newTab.xul             (content/newtab/newTab.xul)
- *       content/browser/newtab/newTab.js              (content/newtab/newTab.js)
-         content/browser/newtab/newTab.css             (content/newtab/newTab.css)
- *       content/browser/pageinfo/pageInfo.xul         (content/pageinfo/pageInfo.xul)
-         content/browser/pageinfo/pageInfo.js          (content/pageinfo/pageInfo.js)
+         content/browser/defaultthemes/1.footer.jpg    (content/defaultthemes/1.footer.jpg)
+         content/browser/defaultthemes/1.header.jpg    (content/defaultthemes/1.header.jpg)
+         content/browser/defaultthemes/1.icon.jpg      (content/defaultthemes/1.icon.jpg)
+         content/browser/defaultthemes/1.preview.jpg   (content/defaultthemes/1.preview.jpg)
+         content/browser/defaultthemes/2.footer.jpg    (content/defaultthemes/2.footer.jpg)
 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
 --- a/browser/components/build/nsModule.cpp
 +++ b/browser/components/build/nsModule.cpp
@@ -1364,17 +1364,17 @@
  #elif defined(XP_MACOSX)
      { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
  #endif
-diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js
---- a/browser/components/preferences/advanced.js
-+++ b/browser/components/preferences/advanced.js
-@@ -25,16 +25,22 @@ var gAdvancedPane = {
-     if (extraArgs && extraArgs["advancedTab"]){
-       advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]);
-     } else {
-       var preference = document.getElementById("browser.preferences.advanced.selectedTabIndex");
-       if (preference.value !== null)
-         advancedPrefs.selectedIndex = preference.value;
-     }
+diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
+--- a/browser/components/preferences/main.js
++++ b/browser/components/preferences/main.js
+@@ -12,16 +12,22 @@ var gMainPane = {
+ 
+   /**
+    * Initialization of this.
+    */
+   init: function ()
+   {
+     this._pane = document.getElementById("paneMain");
  
 +    var env = Components.classes["@mozilla.org/process/environment;1"]
 +                        .getService(Components.interfaces.nsIEnvironment);
@@ -1390,52 +1390,38 @@
      // when the user will select the default.  We refresh here periodically
      // in case the default changes.  On other Windows OS's defaults can also
      // be set while the prefs are open.
-@@ -889,14 +895,25 @@ var gAdvancedPane = {
-    * Set browser as the operating system default browser.
+@@ -497,16 +503,27 @@ var gMainPane = {
     */
    setDefaultBrowser: function()
    {
      let shellSvc = getShellService();
      if (!shellSvc)
        return;
-     shellSvc.setDefaultBrowser(true, false);
-+    if (kde_session == 1) {
-+      var shellObj = Components.classes["@mozilla.org/file/local;1"]
-+                               .createInstance(Components.interfaces.nsILocalFile);
-+      shellObj.initWithPath("/usr/bin/kwriteconfig");
-+      var process = Components.classes["@mozilla.org/process/util;1"]
-+                              .createInstance(Components.interfaces.nsIProcess);
-+      process.init(shellObj);
-+      var args = ["--file", "kdeglobals", "--group", "General", "--key",
-+          "BrowserApplication", "MozillaFirefox"];
-+      process.run(false, args, args.length);
-+    }
+     try {
+       shellSvc.setDefaultBrowser(true, false);
++      if (kde_session == 1) {
++        var shellObj = Components.classes["@mozilla.org/file/local;1"]
++                                 .createInstance(Components.interfaces.nsILocalFile);
++        shellObj.initWithPath("/usr/bin/kwriteconfig");
++        var process = Components.classes["@mozilla.org/process/util;1"]
++                                .createInstance(Components.interfaces.nsIProcess);
++        process.init(shellObj);
++        var args = ["--file", "kdeglobals", "--group", "General", "--key",
++            "BrowserApplication", "MozillaFirefox"];
++        process.run(false, args, args.length);
++      }
+     } catch (ex) {
+       Components.utils.reportError(ex);
+       return;
+     }
      let selectedIndex =
        shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
      document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
    }
- #endif
- };
-diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in
---- a/browser/components/shell/src/Makefile.in
-+++ b/browser/components/shell/src/Makefile.in
-@@ -2,10 +2,12 @@
- # 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/.
- 
- include $(topsrcdir)/config/rules.mk
- 
- CXXFLAGS += $(TK_CFLAGS)
- 
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
-+
- clobber::
- 	rm -f $(DIST)/lib/$(LIBRARY_NAME).lib
-diff --git a/browser/components/shell/src/moz.build b/browser/components/shell/src/moz.build
---- a/browser/components/shell/src/moz.build
-+++ b/browser/components/shell/src/moz.build
-@@ -10,16 +10,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+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
+@@ -30,16 +30,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
      SOURCES += [
@@ -1454,10 +1440,10 @@
  EXTRA_COMPONENTS += [
      'nsSetDefaultBrowser.js',
      'nsSetDefaultBrowser.manifest',
-diff --git a/browser/components/shell/src/nsKDEShellService.cpp b/browser/components/shell/src/nsKDEShellService.cpp
+diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
 new file mode 100644
 --- /dev/null
-+++ b/browser/components/shell/src/nsKDEShellService.cpp
++++ b/browser/components/shell/nsKDEShellService.cpp
 @@ -0,0 +1,238 @@
 +/* -*- 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
@@ -1697,10 +1683,10 @@
 +    NS_ADDREF(*_retval = defaultReader);
 +    return NS_OK;
 +}
-diff --git a/browser/components/shell/src/nsKDEShellService.h b/browser/components/shell/src/nsKDEShellService.h
+diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
 new file mode 100644
 --- /dev/null
-+++ b/browser/components/shell/src/nsKDEShellService.h
++++ b/browser/components/shell/nsKDEShellService.h
 @@ -0,0 +1,60 @@
 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 +/* ***** BEGIN LICENSE BLOCK *****
@@ -1762,10 +1748,10 @@
 +};
 +
 +#endif // nskdeshellservice_h____
-diff --git a/browser/components/shell/src/nsUnixShellService.cpp b/browser/components/shell/src/nsUnixShellService.cpp
+diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp
 new file mode 100644
 --- /dev/null
-+++ b/browser/components/shell/src/nsUnixShellService.cpp
++++ b/browser/components/shell/nsUnixShellService.cpp
 @@ -0,0 +1,52 @@
 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 +/* ***** BEGIN LICENSE BLOCK *****
@@ -1819,10 +1805,10 @@
 +        return nsKDEShellServiceConstructor( aOuter, aIID, aResult );
 +    return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult );
 +}
-diff --git a/browser/components/shell/src/nsUnixShellService.h b/browser/components/shell/src/nsUnixShellService.h
+diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
 new file mode 100644
 --- /dev/null
-+++ b/browser/components/shell/src/nsUnixShellService.h
++++ b/browser/components/shell/nsUnixShellService.h
 @@ -0,0 +1,45 @@
 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 +/* ***** BEGIN LICENSE BLOCK *****
@@ -1872,7 +1858,7 @@
 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
-@@ -658,19 +658,21 @@
+@@ -685,19 +685,21 @@
  @BINPATH@/defaults/autoconfig/prefcalls.js
  @BINPATH@/browser/defaults/profile/prefs.js
  
--- a/mozilla-kde.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-kde.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -4,9 +4,9 @@
 Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
      https://bugzilla.novell.com/show_bug.cgi?id=170055
 
-diff --git a/modules/libpref/src/Makefile.in b/modules/libpref/src/Makefile.in
---- a/modules/libpref/src/Makefile.in
-+++ b/modules/libpref/src/Makefile.in
+diff --git a/modules/libpref/Makefile.in b/modules/libpref/Makefile.in
+--- a/modules/libpref/Makefile.in
++++ b/modules/libpref/Makefile.in
 @@ -21,13 +21,15 @@ endif
  ifdef MOZ_SERVICES_HEALTHREPORT
  ifneq (android,$(MOZ_WIDGET_TOOLKIT))
@@ -23,9 +23,9 @@
  
  libs:: greprefs.js
  	$(INSTALL) $^ $(DIST)/bin/
-diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferences.cpp
---- a/modules/libpref/src/Preferences.cpp
-+++ b/modules/libpref/src/Preferences.cpp
+diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
+--- a/modules/libpref/Preferences.cpp
++++ b/modules/libpref/Preferences.cpp
 @@ -27,16 +27,17 @@
  #include "nsIZipReader.h"
  #include "nsPrefBranch.h"
@@ -179,20 +179,26 @@
          '''
          self.base = base
          self.flags = Flags(*flags)
-diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
---- a/toolkit/components/downloads/Makefile.in
-+++ b/toolkit/components/downloads/Makefile.in
-@@ -1,9 +1,9 @@
- #
- # 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/.
+diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
+--- a/toolkit/components/downloads/moz.build
++++ b/toolkit/components/downloads/moz.build
+@@ -52,14 +52,15 @@ if not CONFIG['MOZ_SUITE']:
+     ]
+ 
+ FAIL_ON_WARNINGS = True
+ 
+ FINAL_LIBRARY = 'xul'
  
- include $(topsrcdir)/config/rules.mk
+ LOCAL_INCLUDES += [
+     '../protobuf',
+-    '/ipc/chromium/src'
++    '/ipc/chromium/src',
++    '/toolkit/xre'
+ ]
  
- CXXFLAGS += $(TK_CFLAGS)
--
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+ DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
+ 
+ CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
 --- a/toolkit/components/downloads/nsDownloadManager.cpp
 +++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -217,7 +223,7 @@
  #include "AndroidBridge.h"
  using namespace mozilla::widget::android;
  #endif
-@@ -2729,16 +2733,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2711,16 +2715,25 @@ nsDownload::SetState(DownloadState aStat
        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
  
        // Master pref to control this function.
@@ -243,17 +249,13 @@
          int64_t goat = PR_Now() - mStartTime;
          showTaskbarAlert = goat > alertIntervalUSec;
  
-@@ -2766,19 +2779,20 @@ nsDownload::SetState(DownloadState aStat
-               // because if it is, they'll click open the download manager and
-               // the items they downloaded will have been removed.
-               alerts->ShowAlertNotification(
+@@ -2751,16 +2764,17 @@ nsDownload::SetState(DownloadState aStat
                    NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
                    message, !removeWhenDone,
                    mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
                    mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
-                   EmptyString(), nullptr);
--            }
-+          }
+                   EmptyString(), EmptyString(), nullptr);
+             }
          }
        }
 +      }
@@ -268,7 +270,7 @@
 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -54,29 +54,33 @@ toolkit.jar:
+@@ -55,29 +55,33 @@ toolkit.jar:
     content/global/viewZoomOverlay.js          (viewZoomOverlay.js)
  *+ content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
     content/global/bindings/browser.xml         (widgets/browser.xml)
@@ -2131,7 +2133,7 @@
    NS_DECL_NSISYSTEMPROXYSETTINGS
  
    nsUnixSystemProxySettings()
-     : mSchemeProxySettings(5)
+     : mSchemeProxySettings(4)
 @@ -38,16 +40,17 @@ private:
    nsCOMPtr<nsIGSettingsService> mGSettings;
    nsCOMPtr<nsIGSettingsCollection> mProxySettings;
@@ -2625,20 +2627,6 @@
 +    };
 +
 +#endif // nsKDEUtils
-diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
---- a/uriloader/exthandler/Makefile.in
-+++ b/uriloader/exthandler/Makefile.in
-@@ -6,9 +6,10 @@
- ifdef MOZ_ENABLE_DBUS
- OS_INCLUDES   += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
- endif
- 
- include $(topsrcdir)/config/rules.mk
- 
- ifneq (,$(filter qt gtk2 gtk3, $(MOZ_WIDGET_TOOLKIT)))
- CXXFLAGS += $(TK_CFLAGS) $(MOZ_DBUS_GLIB_CFLAGS)
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
- endif
 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
 --- a/uriloader/exthandler/moz.build
 +++ b/uriloader/exthandler/moz.build
@@ -2662,6 +2650,24 @@
          'android/nsExternalSharingAppService.cpp',
          'android/nsExternalURLHandlerService.cpp',
          'android/nsMIMEInfoAndroid.cpp',
+@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m
+ FINAL_LIBRARY = 'xul'
+ 
+ LOCAL_INCLUDES += [
+     '/content/base/src',
+     '/dom/base',
+     '/dom/ipc',
+     '/netwerk/base/src',
+     '/netwerk/protocol/http',
++    '/toolkit/xre'
+ ]
+ 
+ if CONFIG['MOZ_ENABLE_DBUS']:
+     CXXFLAGS += CONFIG['TK_CFLAGS']
+     CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
+ 
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('qt', 'gtk2', 'gtk3'):
+     CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
 new file mode 100644
 --- /dev/null
@@ -3095,26 +3101,27 @@
  #endif
  
    // Now look up our extensions
-diff --git a/widget/gtk/Makefile.in b/widget/gtk/Makefile.in
---- a/widget/gtk/Makefile.in
-+++ b/widget/gtk/Makefile.in
-@@ -3,14 +3,16 @@
- # 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/.
- 
- include $(topsrcdir)/config/rules.mk
+diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
+--- a/widget/gtk/moz.build
++++ b/widget/gtk/moz.build
+@@ -88,16 +88,17 @@ include('/ipc/chromium/chromium-config.m
+ FINAL_LIBRARY = 'xul'
  
- CFLAGS          += $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
- CXXFLAGS        += $(MOZ_CAIRO_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
+ LOCAL_INCLUDES += [
+     '../shared',
+     '../xpwidgets',
+     '/layout/generic',
+     '/layout/xul',
+     '/other-licenses/atk-1.0',
++    '/toolkit/xre'
+ ]
  
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
-+
- CFLAGS          += $(TK_CFLAGS)
- CXXFLAGS        += $(TK_CFLAGS)
+ if CONFIG['MOZ_X11']:
+     LOCAL_INCLUDES += [
+         '../shared/x11',
+     ]
  
- ifdef MOZ_ENABLE_DBUS
- CXXFLAGS        += $(MOZ_DBUS_GLIB_CFLAGS)
- endif
+ DEFINES['CAIRO_GFX'] = True
 diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 --- a/widget/gtk/nsFilePicker.cpp
 +++ b/widget/gtk/nsFilePicker.cpp
@@ -3464,42 +3471,28 @@
  };
  
  #endif
-diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
---- a/xpcom/components/Makefile.in
-+++ b/xpcom/components/Makefile.in
-@@ -2,9 +2,10 @@
- # 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/.
- 
- include $(topsrcdir)/config/rules.mk
- 
- ifdef MOZ_WIDGET_GTK
- CXXFLAGS        += $(TK_CFLAGS)
-+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
- endif
 diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
 --- a/xpcom/components/ManifestParser.cpp
 +++ b/xpcom/components/ManifestParser.cpp
-@@ -31,16 +31,17 @@
- #include "nsTextFormatter.h"
- #include "nsVersionComparator.h"
- #include "nsXPCOMCIDInternal.h"
+@@ -34,16 +34,17 @@
  
  #include "nsIConsoleService.h"
  #include "nsIScriptError.h"
  #include "nsIXULAppInfo.h"
  #include "nsIXULRuntime.h"
+ #ifdef MOZ_B2G_LOADER
+ #include "mozilla/XPTInterfaceInfoManager.h"
+ #endif
 +#include "nsKDEUtils.h"
  
- using namespace mozilla;
- 
- struct ManifestDirective
- {
-   const char* directive;
-   int argc;
- 
-@@ -398,16 +399,17 @@ ParseManifest(NSLocationType type, FileL
+ #ifdef MOZ_B2G_LOADER
+ #define XPTONLY_MANIFEST &nsComponentManagerImpl::XPTOnlyManifestManifest
+ #define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT
+ #else
+ #define XPTONLY_MANIFEST nullptr
+ #define XPTONLY_XPT nullptr
+ #endif
+@@ -488,16 +489,17 @@ ParseManifest(NSLocationType aType, File
    NS_NAMED_LITERAL_STRING(kPlatform, "platform");
    NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
    NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -3517,7 +3510,7 @@
    NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers");
  
    nsAutoString appID;
-@@ -445,42 +447,47 @@ ParseManifest(NSLocationType type, FileL
+@@ -543,44 +545,49 @@ ParseManifest(NSLocationType aType, File
          CopyUTF8toUTF16(s, abi);
          abi.Insert(char16_t('_'), 0);
          abi.Insert(osTarget, 0);
@@ -3533,8 +3526,8 @@
    OSVERSIONINFO info = { sizeof(OSVERSIONINFO) };
    if (GetVersionEx(&info)) {
      nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
-                                          info.dwMajorVersion,
-                                          info.dwMinorVersion);
+                               info.dwMajorVersion,
+                               info.dwMinorVersion);
    }
 +  desktop = NS_LITERAL_STRING("win");
  #pragma warning(pop)
@@ -3542,18 +3535,20 @@
    SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
    SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
    nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
-                                        majorVersion,
-                                        minorVersion);
+                             majorVersion,
+                             minorVersion);
 +  desktop = NS_LITERAL_STRING("macosx");
  #elif defined(MOZ_WIDGET_GTK)
    nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
-                                        gtk_major_version,
-                                        gtk_minor_version);
+                             gtk_major_version,
+                             gtk_minor_version);
 +  desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome");
  #elif defined(MOZ_WIDGET_ANDROID)
    bool isTablet = false;
    if (mozilla::AndroidBridge::Bridge()) {
-     mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION", "RELEASE", osVersion);
+     mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION",
+                                                            "RELEASE",
+                                                            osVersion);
      isTablet = mozilla::widget::android::GeckoAppShell::IsTablet();
    }
 +  desktop = NS_LITERAL_STRING("android");
@@ -3563,9 +3558,9 @@
    // at the end.
    nsTArray<CachedDirective> contracts;
  
-   char *token;
-   char *newline = buf;
-@@ -562,24 +569,26 @@ ParseManifest(NSLocationType type, FileL
+   char* token;
+   char* newline = aBuf;
+@@ -669,25 +676,27 @@ ParseManifest(NSLocationType aType, File
      TriState stOsVersion = eUnspecified;
      TriState stOs = eUnspecified;
      TriState stABI = eUnspecified;
@@ -3576,7 +3571,8 @@
      bool contentAccessible = false;
 +    TriState stDesktop = eUnspecified;
  
-     while (nullptr != (token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && ok) {
+     while ((token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) &&
+            ok) {
        ToLowerCase(token);
        NS_ConvertASCIItoUTF16 wtoken(token);
  
@@ -3586,13 +3582,13 @@
 +          CheckStringFlag(kDesktop, wtoken, desktop, stDesktop) ||
            CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) ||
            CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion) ||
-           CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion))
+           CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) {
          continue;
+       }
  
  #if defined(MOZ_WIDGET_ANDROID)
        bool tablet = false;
-       if (CheckFlag(kTablet, wtoken, tablet)) {
-@@ -608,16 +617,17 @@ ParseManifest(NSLocationType type, FileL
+@@ -718,16 +727,17 @@ ParseManifest(NSLocationType aType, File
      }
  
      if (!ok ||
@@ -3605,11 +3601,28 @@
  #ifdef MOZ_WIDGET_ANDROID
          stTablet == eBad ||
  #endif
-         stABI == eBad)
+         stABI == eBad) {
        continue;
+     }
  
-     if (directive->regfunc) {
-       if (GeckoProcessType_Default != XRE_GetProcessType())
+ #ifdef MOZ_B2G_LOADER
+diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
+--- a/xpcom/components/moz.build
++++ b/xpcom/components/moz.build
+@@ -47,12 +47,13 @@ FINAL_LIBRARY = 'xul'
+ GENERATED_INCLUDES += ['..']
+ LOCAL_INCLUDES += [
+     '../base',
+     '../build',
+     '../ds',
+     '../reflect/xptinfo',
+     '/chrome',
+     '/modules/libjar',
++    '/toolkit/xre'
+ ]
+ 
+ if CONFIG['MOZ_WIDGET_GTK']:
+     CXXFLAGS += CONFIG['TK_CFLAGS']
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp
@@ -3631,7 +3644,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1962,53 +1963,55 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1965,55 +1966,57 @@ nsLocalFile::SetPersistentDescriptor(con
    return InitWithNativePath(aPersistentDescriptor);
  #endif
  }
@@ -3641,11 +3654,13 @@
  {
  #ifdef MOZ_WIDGET_GTK
 -  nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
--  nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+-  nsCOMPtr<nsIGnomeVFSService> gnomevfs =
+-    do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
 -  if (!giovfs && !gnomevfs) {
 -    return NS_ERROR_FAILURE;
 -  }
 -
++
 +  nsAutoCString url;
    bool isDirectory;
    if (NS_FAILED(IsDirectory(&isDirectory))) {
@@ -3662,7 +3677,8 @@
 -      return gnomevfs->ShowURIForInput(mPath);
 -    }
 +    url = mPath;
-   } else if (giovfs && NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
+   } else if (giovfs &&
+              NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
      return NS_OK;
    } else {
      nsCOMPtr<nsIFile> parentDir;
@@ -3705,7 +3721,7 @@
      return rv;
    }
    return NS_ERROR_FAILURE;
-@@ -2016,16 +2019,22 @@ nsLocalFile::Reveal()
+@@ -2021,16 +2024,22 @@ nsLocalFile::Reveal()
    return NS_ERROR_FAILURE;
  #endif
  }
@@ -3721,10 +3737,10 @@
 +    return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
 +  }
    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
-   nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+   nsCOMPtr<nsIGnomeVFSService> gnomevfs =
+     do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
    if (giovfs) {
      return giovfs->ShowURIForInput(mPath);
    } else if (gnomevfs) {
      /* GnomeVFS fallback */
      return gnomevfs->ShowURIForInput(mPath);
-   }
--- a/mozilla-language.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-language.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 13eb644c1216aed92b29dbc63fc26ce66f98c66c
+# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
 Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
 
-diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
---- a/intl/locale/src/nsLocaleService.cpp
-+++ b/intl/locale/src/nsLocaleService.cpp
+diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
+--- a/intl/locale/nsLocaleService.cpp
++++ b/intl/locale/nsLocaleService.cpp
 @@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
      nsRefPtr<nsLocale> resultLocale(new nsLocale());
      NS_ENSURE_TRUE_VOID(resultLocale);
--- a/mozilla-pkgconfig.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-pkgconfig.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -4,7 +4,7 @@
 diff --git a/xulrunner/installer/Makefile.in b/xulrunner/installer/Makefile.in
 --- a/xulrunner/installer/Makefile.in
 +++ b/xulrunner/installer/Makefile.in
-@@ -31,16 +31,19 @@ include $(topsrcdir)/config/rules.mk
+@@ -32,16 +32,19 @@ include $(topsrcdir)/config/rules.mk
  
  INSTALL_SDK = 1
  
@@ -24,7 +24,7 @@
  	$(NULL)
  
  ifdef MOZ_NATIVE_NSPR
-@@ -68,16 +71,17 @@ pkg_config_files += mozilla-nss.pc
+@@ -69,16 +72,17 @@ pkg_config_files += mozilla-nss.pc
  endif
  
  %.pc: $(srcdir)/%.pc.in $(GLOBAL_DEPS)
@@ -88,4 +88,4 @@
  Requires: %NSPR_NAME% >= %NSPR_VERSION%
 -Libs: -L${sdkdir}/lib %MOZ_JS_LINK%
 +Libs: -Wl,-rpath,${libdir} -L${sdkdir}/lib %MOZ_JS_LINK%
- Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
+ Cflags: -I${includedir} -DXP_UNIX
--- a/mozilla-preferences.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-preferences.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -7,9 +7,9 @@
 # HG changeset patch
 # Parent 8c1bfc96b05ef1836aad6e9f2af323f63ed1b69c
 
-diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
---- a/modules/libpref/src/init/all.js
-+++ b/modules/libpref/src/init/all.js
+diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
+--- a/modules/libpref/init/all.js
++++ b/modules/libpref/init/all.js
 @@ -1503,17 +1503,17 @@ pref("converter.html2txt.header_strategy
  
  pref("intl.accept_languages",               "chrome://global/locale/intl.properties");
--- a/mozilla-repo.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-repo.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent 9b45fd4b00c45014b17358158cdb51805c8ca327
+# Parent 1478a2c97152e81b6d7cb89a4ab34da7310e3e86
 
 diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
 --- a/toolkit/mozapps/installer/package-name.mk
 +++ b/toolkit/mozapps/installer/package-name.mk
-@@ -138,23 +138,23 @@ else
+@@ -137,24 +137,24 @@ else
  BUILDID = $(shell $(PYTHON) $(MOZILLA_DIR)/config/printconfigsetting.py $(DIST)/bin/platform.ini Build BuildID)
  endif
  
@@ -20,8 +20,10 @@
  # bug: 746277 - preserve existing functionality.
  # MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
  ###########################################################################
+ ifdef MOZILLA_OFFICIAL
 -MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
 +#MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
+ endif
  
  MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
  MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
@@ -29,26 +31,3 @@
  # JavaScript Shell
  PKG_JSSHELL = $(DIST)/jsshell-$(MOZ_PKG_PLATFORM).zip
  
- endif # PACKAGE_NAME_MK_INCLUDED
-diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
---- a/toolkit/xre/Makefile.in
-+++ b/toolkit/xre/Makefile.in
-@@ -39,17 +39,17 @@ TOOLKIT_EM_VERSION=$(shell $(PERL) $(top
- # Valid if null: {warn,error}IfEmpty
- DEFINES += -DTOOLKIT_EM_VERSION='"$(TOOLKIT_EM_VERSION)"'
- 
- MOZ_SOURCE_STAMP ?= $(firstword $(shell hg -R $(topsrcdir) parent --template='{node|short}\n' 2>/dev/null))
- ifdef MOZ_SOURCE_STAMP
- 
-   INIARGS = --sourcestamp=$(MOZ_SOURCE_STAMP)
- 
--  source_repo := $(call getSourceRepo)
-+  source_repo ?= $(call getSourceRepo)
- 
-   # extra sanity check for old versions of hg, no showconfig support
-   ifneq (,$(filter http%,$(source_repo)))
-     INIARGS += --sourcerepo=$(source_repo)
-   endif
- 
- endif # MOZ_SOURCE_STAMP
- 
--- a/mozilla-shared-nss-db.patch	Thu Oct 16 21:20:22 2014 +0200
+++ b/mozilla-shared-nss-db.patch	Thu Oct 16 23:09:58 2014 +0200
@@ -7,7 +7,7 @@
 diff --git a/configure.in b/configure.in
 --- a/configure.in
 +++ b/configure.in
-@@ -8193,16 +8193,31 @@ if test "$MOZ_ENABLE_SKIA"; then
+@@ -8192,16 +8192,31 @@ if test "$MOZ_ENABLE_SKIA"; then
      MOZ_ENABLE_SKIA_GPU=1
      AC_DEFINE(USE_SKIA_GPU)
      AC_SUBST(MOZ_ENABLE_SKIA_GPU)
@@ -79,7 +79,7 @@
  #include "nsCertVerificationThread.h"
  #include "nsAppDirectoryServiceDefs.h"
  #include "nsComponentManagerUtils.h"
-@@ -1115,17 +1122,31 @@ nsNSSComponent::InitializeNSS()
+@@ -944,17 +951,31 @@ nsNSSComponent::InitializeNSS()
    if (NS_FAILED(rv)) {
      nsPSMInitPanic::SetPanic();
      return NS_ERROR_NOT_AVAILABLE;
@@ -115,22 +115,22 @@
 diff --git a/toolkit/library/libxul.mk b/toolkit/library/libxul.mk
 --- a/toolkit/library/libxul.mk
 +++ b/toolkit/library/libxul.mk
-@@ -145,17 +145,17 @@ endif
- ifdef MOZ_WMF
- OS_LIBS += $(call EXPAND_LIBNAME,mfuuid wmcodecdspuuid strmiids)
- endif
- 
- ifdef MOZ_DIRECTSHOW
- OS_LIBS += $(call EXPAND_LIBNAME,dmoguids wmcodecdspuuid strmiids msdmo)
+@@ -32,16 +32,18 @@ endif
+ ifeq (Linux,$(OS_ARCH))
+ # Create a GDB Python auto-load file alongside the libxul shared library in
+ # the build directory.
+ PP_TARGETS += LIBXUL_AUTOLOAD
+ LIBXUL_AUTOLOAD = $(topsrcdir)/toolkit/library/libxul.so-gdb.py.in
+ LIBXUL_AUTOLOAD_FLAGS := -Dtopsrcdir=$(abspath $(topsrcdir))
  endif
  
--EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB)
-+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS)
- 
- ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
- OS_LIBS += \
-   $(TK_LIBS) \
-   $(NULL)
- endif
- 
- ifeq (OpenBSD,$(OS_ARCH))
++EXTRA_DSO_LDOPTS += $(NSSHELPER_LIBS)
++
+ # BFD ld doesn't create multiple PT_LOADs as usual when an unknown section
+ # exists. Using an implicit linker script to make it fold that section in
+ # .data.rel.ro makes it create multiple PT_LOADs. That implicit linker
+ # script however makes gold misbehave, first because it doesn't like that
+ # the linker script is given after crtbegin.o, and even past that, replaces
+ # the default section rules with those from the script instead of
+ # supplementing them. Which leads to a lib with a huge load of sections.
+ ifneq (OpenBSD,$(OS_TARGET))