Firefox 28.0beta1
authorWolfgang Rosenauer <wr@rosenauer.org>
Fri, 07 Feb 2014 22:10:42 +0100
changeset 703 c4aab80e472f
parent 700 52284fd63667
child 705 6482e73722b6
Firefox 28.0beta1
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
firefox-kde.patch
firefox-multilocale-chrome.patch
firefox-no-default-ualocale.patch
mozilla-kde.patch
mozilla-preferences.patch
mozilla-repo.patch
mozilla-shared-nss-db.patch
mozilla-xpcom-ppc64le.patch
--- a/MozillaFirefox/MozillaFirefox.changes	Wed Feb 05 07:13:27 2014 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes	Fri Feb 07 22:10:42 2014 +0100
@@ -1,4 +1,12 @@
 -------------------------------------------------------------------
+Fri Feb  7 13:34:20 UTC 2014 - wr@rosenauer.org
+
+- update to Firefox 28.0b1
+- requires NSPR 4.10.3
+- new build dependency:
+  * libpulse
+
+-------------------------------------------------------------------
 Tue Jan 28 15:45:41 UTC 2014 - wr@rosenauer.org
 
 - update to Firefox 27.0 (bnc#861847)
--- a/MozillaFirefox/MozillaFirefox.spec	Wed Feb 05 07:13:27 2014 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec	Fri Feb 07 22:10:42 2014 +0100
@@ -18,8 +18,8 @@
 
 
 %define major 27
-%define mainver %major.0
-%define update_channel release
+%define mainver %major.99
+%define update_channel beta
 
 %if %suse_version > 1220
 %define gstreamer_ver 0.10
@@ -50,9 +50,10 @@
 %else
 BuildRequires:  wireless-tools
 %endif
-BuildRequires:  mozilla-nspr-devel >= 4.10.2
+BuildRequires:  mozilla-nspr-devel >= 4.10.3
 BuildRequires:  mozilla-nss-devel >= 3.15.4
 BuildRequires:  nss-shared-helper-devel
+BuildRequires:  pkgconfig(libpulse)
 %if %suse_version > 1210
 BuildRequires:  pkgconfig(gstreamer-%gstreamer_ver)
 BuildRequires:  pkgconfig(gstreamer-app-%gstreamer_ver)
@@ -63,7 +64,7 @@
 %endif
 Version:        %{mainver}
 Release:        0
-%define         releasedate 2014012800
+%define         releasedate 2014020500
 Provides:       firefox = %{mainver}
 Provides:       firefox = %{version}-%{release}
 Provides:       web_browser
@@ -122,6 +123,7 @@
 Requires:       mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
 Requires:       mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
 Recommends:     libcanberra0
+Recommends:     libpulse0
 # libproxy's mozjs pacrunner crashes FF (bnc#759123)
 %if %suse_version < 1220
 Obsoletes:      libproxy1-pacrunner-mozjs <= 0.4.7
@@ -244,9 +246,7 @@
 %patch17 -p1
 #
 %patch30 -p1
-%if %suse_version >= 1110
 %patch31 -p1
-%endif
 %if %suse_version >= 1140
 %patch32 -p1
 %endif
@@ -363,10 +363,8 @@
 mkdir -p $RPM_BUILD_ROOT%{progdir}/browser/searchplugins
 mkdir -p $RPM_BUILD_ROOT%{progdir}/browser/defaults/preferences/
 # install kde.js
-%if %suse_version >= 1110
 install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{progdir}/browser/defaults/preferences/kde.js
 install -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{progdir}/browser/defaults/preferences/firefox.js
-%endif
 # install add-plugins.sh
 sed "s:%%PROGDIR:%{progdir}:g" \
   %{SOURCE13} > $RPM_BUILD_ROOT%{progdir}/add-plugins.sh
--- a/MozillaFirefox/create-tar.sh	Wed Feb 05 07:13:27 2014 +0100
+++ b/MozillaFirefox/create-tar.sh	Fri Feb 07 22:10:42 2014 +0100
@@ -1,9 +1,9 @@
 #!/bin/bash
 
-CHANNEL="release"
+CHANNEL="beta"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_27_0_RELEASE"
-VERSION="27.0"
+RELEASE_TAG="FIREFOX_28_01_RELEASE"
+VERSION="27.99"
 
 # mozilla
 if [ -d mozilla ]; then
--- a/firefox-kde.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/firefox-kde.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -2,7 +2,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1184 @@
+@@ -0,0 +1,1177 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -30,19 +30,19 @@
 +        xmlns:html="http://www.w3.org/1999/xhtml"
 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
 +        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
-+        title="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
-+        title_normal="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
++        title="&mainWindow.title;"
++        title_normal="&mainWindow.title;"
 +#ifdef XP_MACOSX
-+        title_privatebrowsing="&mainWindow.title;@PRE_RELEASE_SUFFIX@&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"
-+        titledefault="&mainWindow.title;@PRE_RELEASE_SUFFIX@"
++        title_privatebrowsing="&mainWindow.title;&mainWindow.titlemodifiermenuseparator;&mainWindow.titlePrivateBrowsingSuffix;"
++        titledefault="&mainWindow.title;"
 +        titlemodifier=""
 +        titlemodifier_normal=""
 +        titlemodifier_privatebrowsing="&mainWindow.titlePrivateBrowsingSuffix;"
 +#else
-+        title_privatebrowsing="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@ &mainWindow.titlePrivateBrowsingSuffix;"
-+        titlemodifier="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@"
-+        titlemodifier_normal="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@"
-+        titlemodifier_privatebrowsing="&mainWindow.titlemodifier;@PRE_RELEASE_SUFFIX@ &mainWindow.titlePrivateBrowsingSuffix;"
++        title_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
++        titlemodifier="&mainWindow.titlemodifier;"
++        titlemodifier_normal="&mainWindow.titlemodifier;"
++        titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
 +#endif
 +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
 +        lightweightthemes="true"
@@ -143,7 +143,6 @@
 +           footertype="promobox"
 +           orient="vertical"
 +           ignorekeys="true"
-+           consumeoutsideclicks="true"
 +           hidden="true"
 +           onpopupshown="StarUI.panelShown(event);"
 +           aria-labelledby="editBookmarkPanelTitle">
@@ -192,7 +191,6 @@
 +    <panel id="UITourTooltip"
 +           type="arrow"
 +           hidden="true"
-+           consumeoutsideclicks="false"
 +           noautofocus="true"
 +           align="start"
 +           orient="vertical"
@@ -207,7 +205,6 @@
 +    <panel id="socialActivatedNotification"
 +           type="arrow"
 +           hidden="true"
-+           consumeoutsideclicks="true"
 +           align="start"
 +           orient="horizontal"
 +           role="alert">
@@ -238,7 +235,6 @@
 +           orient="horizontal"
 +           onpopupshowing="SocialShare.onShowing()"
 +           onpopuphidden="SocialShare.onHidden()"
-+           consumeoutsideclicks="true"
 +           hidden="true">
 +      <vbox class="social-share-toolbar">
 +        <vbox id="social-share-provider-buttons" flex="1"/>
@@ -259,7 +255,6 @@
 +           hidden="true"
 +           flip="slide"
 +           rolluponmousewheel="true"
-+           consumeoutsideclicks="false"
 +           noautofocus="true"
 +           position="topcenter topright"/>
 +
@@ -317,7 +312,6 @@
 +           type="arrow"
 +           hidden="true"
 +           noautofocus="true"
-+           consumeoutsideclicks="true"
 +           onpopupshown="if (event.target == this)
 +                           gIdentityHandler.onPopupShown(event);"
 +           orient="vertical"
@@ -1106,7 +1100,6 @@
 +  <vbox id="browser-bottombox" layer="true">
 +    <notificationbox id="global-notificationbox"/>
 +    <toolbar id="developer-toolbar"
-+             class="devtools-toolbar"
 +             hidden="true">
 +#ifdef XP_MACOSX
 +          <toolbarbutton id="developer-toolbar-closebutton"
@@ -1324,13 +1317,13 @@
 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
-@@ -8,10 +8,12 @@ USE_STATIC_LIBS = 1
+@@ -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
  
- DEFINES += -DMOZ_APP_NAME=\"$(MOZ_APP_NAME)\" \
-   -DMOZ_APP_VERSION=\"$(MOZ_APP_VERSION)\"
- 
  CXXFLAGS += $(TK_CFLAGS)
  
 +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
@@ -1340,7 +1333,7 @@
 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
-@@ -12,16 +12,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+@@ -10,16 +10,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
      SOURCES += [
@@ -1349,12 +1342,12 @@
  elif CONFIG['MOZ_WIDGET_GTK']:
      SOURCES += [
          'nsGNOMEShellService.cpp',
-+        'nsKDEShellService.cpp',
-+        'nsUnixShellService.cpp'
++	'nsKDEShellService.cpp',
++	'nsUnixShellService.cpp',
      ]
  
  if SOURCES:
-     LIBRARY_NAME = 'shellservice_s'
+     FINAL_LIBRARY = 'browsercomps'
  
  EXTRA_COMPONENTS += [
      'nsSetDefaultBrowser.js',
@@ -1772,7 +1765,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
-@@ -613,19 +613,21 @@
+@@ -640,19 +640,21 @@
  @BINPATH@/defaults/autoconfig/prefcalls.js
  @BINPATH@/browser/defaults/profile/prefs.js
  
--- a/firefox-multilocale-chrome.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/firefox-multilocale-chrome.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -1,12 +1,12 @@
 # HG changeset patch
-# Parent f144d934d339d048bf9b650fc776397029150dd6
+# Parent 14ed7d2308e6f129e791449afa0d58869e451264
 # User Wolfgang Rosenauer <wr@rosenauer.org>
 Add searchplugins to chrome packaging for proper localization
 
 diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
 --- a/browser/app/profile/firefox.js
 +++ b/browser/app/profile/firefox.js
-@@ -381,16 +381,20 @@ pref("browser.helperApps.deleteTempFileO
+@@ -368,16 +368,20 @@ pref("browser.helperApps.deleteTempFileO
  #endif
  
  // search engines URL
@@ -30,9 +30,9 @@
 diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
 --- a/browser/locales/Makefile.in
 +++ b/browser/locales/Makefile.in
-@@ -66,21 +66,23 @@ STUB_HOOK = $(NSINSTALL) -D "$(_ABS_DIST
-     cp ../installer/windows/l10ngen/stub.exe "$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe"; \
-     chmod 0755 "$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe"; \
+@@ -66,21 +66,23 @@ STUB_HOOK = $(NSINSTALL) -D '$(_ABS_DIST
+     cp ../installer/windows/l10ngen/stub.exe '$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe'; \
+     chmod 0755 '$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe'; \
      $(NULL)
  endif
  
@@ -56,10 +56,10 @@
  DIST_SUBDIRS = browser metro
  else
  DIST_SUBDIRS = $(DIST_SUBDIR)
-@@ -127,20 +129,44 @@ install:: $(addprefix generic/profile/,$
+@@ -118,16 +120,39 @@ libs:: $(addprefix generic/profile/,$(PR
  
- install:: $(call MERGE_FILES,$(addprefix profile/chrome/,$(PROFILE_CHROME)))
- 	$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/profile/chrome
+ libs:: $(call MERGE_FILES,$(addprefix profile/chrome/,$(PROFILE_CHROME)))
+ 	$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/defaults/profile/chrome
  
  # metro build calls back here for search engine plugins
  searchplugins: $(addprefix $(FINAL_TARGET)/searchplugins/,$(SEARCHPLUGINS))
@@ -72,17 +72,17 @@
 +
 +searchplugins-jar:: $(SEARCHPLUGINS)
 +	for SEARCHPLUGIN in $^; do \
-+	 $(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) \
-+	 $$SEARCHPLUGIN > $$SEARCHPLUGIN-new ; \
-+	 mv $$SEARCHPLUGIN-new $$SEARCHPLUGIN ; \
++	$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) \
++	$$SEARCHPLUGIN > $$SEARCHPLUGIN-new ; \
++	mv $$SEARCHPLUGIN-new $$SEARCHPLUGIN ; \
 +	done
 +
 +searchplugins-jar:: tmp-search.jar.mn
 +	$(call py_action,jar_maker,\
-+	 $(QUIET) -j $(FINAL_TARGET)/chrome \
-+	 -s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
-+	 -s $(LOCALE_SRCDIR)/searchplugins \
-+	 $(MAKE_JARS_FLAGS) tmp-search.jar.mn)
++	$(QUIET) -j $(FINAL_TARGET)/chrome \
++	-s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
++	-s $(LOCALE_SRCDIR)/searchplugins \
++	$(MAKE_JARS_FLAGS) tmp-search.jar.mn)
 +
 +libs:: searchplugins-jar
 +
@@ -92,15 +92,10 @@
  	$(NSINSTALL) -D $(DIST)/install
  	@$(MAKE) -C ../../toolkit/locales libs-$*
  	@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
-+	@$(MAKE) -B searchplugins-jar AB_CD=$* XPI_NAME=locale-$*
  ifdef MOZ_WEBAPP_RUNTIME
  	@$(MAKE) -C ../../webapprt/locales AB_CD=$* XPI_NAME=locale-$*
  endif
  	@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
- 	@$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$*
- 	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
- ifdef MOZ_METRO
- 	@$(MAKE) -C ../metro/locales AB_CD=$* XPI_NAME=locale-$*
 diff --git a/browser/locales/en-US/searchplugins/google.xml b/browser/locales/en-US/searchplugins/google.xml
 --- a/browser/locales/en-US/searchplugins/google.xml
 +++ b/browser/locales/en-US/searchplugins/google.xml
@@ -133,7 +128,7 @@
 diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
 --- a/browser/locales/jar.mn
 +++ b/browser/locales/jar.mn
-@@ -124,14 +124,15 @@
+@@ -123,14 +123,15 @@
      locale/browser/syncQuota.properties         (%chrome/browser/syncQuota.properties)
  #endif
  % locale browser-region @AB_CD@ %locale/browser-region/
--- a/firefox-no-default-ualocale.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/firefox-no-default-ualocale.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -1,14 +1,14 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent e5018e95de4fe5a06e43b5e416e0333fc628408f
+# Parent 5c1cb20bb3ad68c77841909461700cbb11707708
 Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong default value
 
 diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
 --- a/browser/app/profile/firefox.js
 +++ b/browser/app/profile/firefox.js
-@@ -245,17 +245,17 @@ pref("lightweightThemes.update.enabled",
- // UI tour experience.
+@@ -246,17 +246,17 @@ pref("lightweightThemes.update.enabled",
  pref("browser.uitour.enabled", false);
+ pref("browser.uitour.requireSecure", true);
  pref("browser.uitour.themeOrigin", "https://addons.mozilla.org/%LOCALE%/firefox/themes/");
  pref("browser.uitour.pinnedTabUrl", "https://support.mozilla.org/%LOCALE%/kb/pinned-tabs-keep-favorite-websites-open");
  pref("browser.uitour.whitelist.add.260", "www.mozilla.org,support.mozilla.org");
--- a/mozilla-kde.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/mozilla-kde.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -7,19 +7,19 @@
 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
-@@ -33,14 +33,15 @@ endif
- # Optimizer bug with GCC 3.2.2 on OS/2
- ifeq ($(OS_ARCH), OS2)
- nsPrefService.$(OBJ_SUFFIX): nsPrefService.cpp
- 	$(REPORT_BUILD)
- 	@$(MAKE_DEPS_AUTO_CXX)
- 	$(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS:-O2=-O1) $(_VPATH_SRCS)
+@@ -21,13 +21,15 @@ endif
+ ifdef MOZ_SERVICES_HEALTHREPORT
+ ifneq (android,$(MOZ_WIDGET_TOOLKIT))
+ grepref_files += $(topsrcdir)/services/healthreport/healthreport-prefs.js
+ else
+ grepref_files += $(topsrcdir)/mobile/android/chrome/content/healthreport-prefs.js
+ endif
  endif
  
 +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
- 
++
  greprefs.js: $(grepref_files)
- 	$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ > $@
+ 	$(call py_action,preprocessor,$(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ -o $@)
  
  libs:: greprefs.js
  	$(INSTALL) $^ $(DIST)/bin/
@@ -44,7 +44,7 @@
  #include "prefread.h"
  #include "prefapi_private_data.h"
  
-@@ -1100,16 +1101,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
+@@ -1115,16 +1116,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char 
  
  static nsresult pref_LoadPrefsInDirList(const char *listId)
  {
@@ -79,7 +79,7 @@
      return NS_OK;
  
    bool hasMore;
-@@ -1125,17 +1144,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1140,17 +1159,17 @@ static nsresult pref_LoadPrefsInDirList(
  
      nsAutoCString leaf;
      path->GetNativeLeafName(leaf);
@@ -98,7 +98,7 @@
  {
    nsZipItemPtr<char> manifest(jarReader, name, true);
    NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1229,28 +1248,40 @@ static nsresult pref_InitInitialObjects(
+@@ -1244,28 +1263,40 @@ 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)
@@ -217,9 +217,9 @@
  
  #ifdef MOZ_WIDGET_ANDROID
  #include "AndroidBridge.h"
+ using namespace mozilla::widget::android;
  #endif
- 
-@@ -2686,16 +2690,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2687,16 +2691,25 @@ nsDownload::SetState(DownloadState aStat
        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
  
        // Master pref to control this function.
@@ -245,15 +245,15 @@
          int64_t goat = PR_Now() - mStartTime;
          showTaskbarAlert = goat > alertIntervalUSec;
  
-@@ -2722,19 +2735,20 @@ nsDownload::SetState(DownloadState aStat
-               // retention policy, there's no reason to make the text clickable
+@@ -2724,19 +2737,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(
                    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());
+                   mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
+                   EmptyString(), nullptr);
 -            }
 +          }
          }
@@ -2195,7 +2195,7 @@
 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
 --- a/toolkit/xre/moz.build
 +++ b/toolkit/xre/moz.build
-@@ -43,18 +43,20 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
+@@ -45,17 +45,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
          'nsNativeAppSupportQt.cpp',
          'nsQAppInstance.cpp',
      ]
@@ -2205,18 +2205,16 @@
      ]
  elif CONFIG['MOZ_ENABLE_GTK']:
 +    EXPORTS += ['nsKDEUtils.h']
-     SOURCES += [
--        'nsNativeAppSupportUnix.cpp',
+     UNIFIED_SOURCES += [
 +        'nsKDEUtils.cpp',
-+        'nsNativeAppSupportUnix.cpp'
+         'nsNativeAppSupportUnix.cpp',
      ]
  else:
-     SOURCES += [
+     UNIFIED_SOURCES += [
          'nsNativeAppSupportDefault.cpp',
      ]
  
  if CONFIG['MOZ_X11']:
-     SOURCES += [
 diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
 new file mode 100644
 --- /dev/null
@@ -2617,7 +2615,7 @@
 diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
 --- a/uriloader/exthandler/Makefile.in
 +++ b/uriloader/exthandler/Makefile.in
-@@ -44,9 +44,10 @@ endif
+@@ -19,9 +19,10 @@ endif
  ifdef MOZ_ENABLE_DBUS
  LOCAL_INCLUDES   += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
  endif
@@ -2631,22 +2629,22 @@
 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
 --- a/uriloader/exthandler/moz.build
 +++ b/uriloader/exthandler/moz.build
-@@ -73,17 +73,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
-     ]
+@@ -81,17 +81,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
  else:
+     # These files can't be built in unified mode because they force NSPR logging.
      SOURCES += [
          osdir + '/nsOSHelperAppService.cpp',
      ]
  
  if CONFIG['MOZ_ENABLE_GTK']:
-     SOURCES += [
+     UNIFIED_SOURCES += [
 +        'unix/nsCommonRegistry.cpp',
          'unix/nsGNOMERegistry.cpp',
-+        'unix/nsKDERegistry.cpp',
++	'unix/nsKDERegistry.cpp',
          'unix/nsMIMEInfoUnix.cpp',
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
-     SOURCES += [
+     UNIFIED_SOURCES += [
          'android/nsAndroidHandlerApp.cpp',
          'android/nsExternalSharingAppService.cpp',
          'android/nsExternalURLHandlerService.cpp',
@@ -3074,21 +3072,20 @@
 diff --git a/widget/gtk/Makefile.in b/widget/gtk/Makefile.in
 --- a/widget/gtk/Makefile.in
 +++ b/widget/gtk/Makefile.in
-@@ -26,11 +26,14 @@ DEFINES		+= -DCAIRO_GFX -DMOZ_APP_NAME='
+@@ -4,11 +4,13 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ 
+ include $(topsrcdir)/config/rules.mk
  
- INCLUDES	+= \
- 		-I$(srcdir)/../xpwidgets \
- 		-I$(srcdir)/../shared \
- 		-I$(topsrcdir)/layout/generic \
- 		-I$(topsrcdir)/layout/xul/base/src \
- 		-I$(topsrcdir)/other-licenses/atk-1.0 \
- 		$(NULL)
-+
+ CFLAGS          += $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
+ CXXFLAGS        += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) \
+ 		               $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
+ 
 +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
 +
- ifdef MOZ_X11
- INCLUDES   	+= -I$(srcdir)/../shared/x11
- endif
+ CFLAGS          += $(TK_CFLAGS)
+ CXXFLAGS        += $(TK_CFLAGS)
+ 
 diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 --- a/widget/gtk/nsFilePicker.cpp
 +++ b/widget/gtk/nsFilePicker.cpp
@@ -3098,7 +3095,7 @@
   * 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 "mozilla/Util.h"
+ #include "mozilla/Types.h"
  
  #include <gtk/gtk.h>
 +#include <gdk/gdkx.h>
@@ -3527,7 +3524,7 @@
    bool isTablet = false;
    if (mozilla::AndroidBridge::Bridge()) {
      mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION", "RELEASE", osVersion);
-     isTablet = mozilla::AndroidBridge::Bridge()->IsTablet();
+     isTablet = mozilla::widget::android::GeckoAppShell::IsTablet();
    }
 +  desktop = NS_LITERAL_STRING("android");
  #endif
@@ -3586,14 +3583,13 @@
 diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
 --- a/xpcom/io/Makefile.in
 +++ b/xpcom/io/Makefile.in
-@@ -6,9 +6,9 @@ MOZILLA_INTERNAL_API = 1
- include $(topsrcdir)/config/rules.mk
+@@ -1,8 +1,8 @@
+ # 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/.
  
- ifeq ($(OS_ARCH),Linux)
- ifneq (,$(findstring lib64,$(libdir)))
- DEFINES     += -DHAVE_USR_LIB64_DIR
- endif
- endif
+ MOZILLA_INTERNAL_API = 1
+ include $(topsrcdir)/config/rules.mk
  
 -LOCAL_INCLUDES	+= -I..
 +LOCAL_INCLUDES	+= -I.. -I$(topsrcdir)/toolkit/xre
@@ -3618,7 +3614,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1728,44 +1729,51 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1811,46 +1812,52 @@ nsLocalFile::SetPersistentDescriptor(con
      return InitWithNativePath(aPersistentDescriptor);
  #endif
  }
@@ -3637,6 +3633,7 @@
      if (NS_FAILED(IsDirectory(&isDirectory)))
          return NS_ERROR_FAILURE;
  
++    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
      if (isDirectory) {
 -        if (giovfs)
 -            return giovfs->ShowURIForInput(mPath);
@@ -3644,6 +3641,8 @@
 -            /* Fallback to GnomeVFS */
 -            return gnomevfs->ShowURIForInput(mPath);
 +        url = mPath;
+     } else if (giovfs && NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
+         return NS_OK;
      } else {
          nsCOMPtr<nsIFile> parentDir;
          nsAutoCString dirPath;
@@ -3666,7 +3665,6 @@
 +      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);
 +    if (!giovfs && !gnomevfs)
 +      return NS_ERROR_FAILURE;
@@ -3675,7 +3673,6 @@
 +      return giovfs->ShowURIForInput(url);
 +    else
 +      return gnomevfs->ShowURIForInput(url);
-+
  #elif defined(MOZ_WIDGET_COCOA)
      CFURLRef url;
      if (NS_SUCCEEDED(GetCFURL(&url))) {
@@ -3684,7 +3681,7 @@
        return rv;
      }
      return NS_ERROR_FAILURE;
-@@ -1773,16 +1781,23 @@ nsLocalFile::Reveal()
+@@ -1858,16 +1865,23 @@ nsLocalFile::Reveal()
      return NS_ERROR_FAILURE;
  #endif
  }
--- a/mozilla-preferences.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/mozilla-preferences.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -5,18 +5,19 @@
 package unconditionally.
 
 # HG changeset patch
-# Parent 020571ebc3766a68f1e50780b910c51d1bb76087
+# Parent bf7f0353aa8e00b1deaa05b7cb84bb7ea4c9ce8f
+
 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
-@@ -1085,17 +1085,17 @@ pref("intl.charsetmenu.browser.unicode",
+@@ -1554,17 +1554,17 @@ pref("intl.charsetmenu.browser.more5",  
  pref("intl.charsetmenu.mailedit",           "chrome://global/locale/intl.properties");
  pref("intl.charsetmenu.browser.cache",      "");
  pref("intl.charsetmenu.mailview.cache",     "");
  pref("intl.charsetmenu.composer.cache",     "");
  pref("intl.charsetmenu.browser.cache.size", 5);
  pref("intl.charset.detector",               "chrome://global/locale/intl.properties");
- pref("intl.charset.default",                "chrome://global-platform/locale/intl.properties");
+ pref("intl.charset.fallback.override",      "");
  pref("intl.ellipsis",                       "chrome://global-platform/locale/intl.properties");
 -pref("intl.locale.matchOS",                 false);
 +pref("intl.locale.matchOS",                 true);
--- a/mozilla-repo.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/mozilla-repo.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent 8d013204e3f06811daf5156939452765fb3e10bb
+# Parent 9b45fd4b00c45014b17358158cdb51805c8ca327
 
 diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
 --- a/toolkit/mozapps/installer/package-name.mk
@@ -33,11 +33,11 @@
 diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
 --- a/toolkit/xre/Makefile.in
 +++ b/toolkit/xre/Makefile.in
-@@ -214,17 +214,17 @@ DEFINES += -DHAVE_USR_LIB64_DIR
- endif
- endif
+@@ -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))
+ 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)
--- a/mozilla-shared-nss-db.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/mozilla-shared-nss-db.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -7,13 +7,13 @@
 diff --git a/configure.in b/configure.in
 --- a/configure.in
 +++ b/configure.in
-@@ -7999,16 +7999,31 @@ AC_SUBST(QCMS_LIBS)
- 
- dnl ========================================================
- dnl HarfBuzz
- dnl ========================================================
- MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
- AC_SUBST(MOZ_HARFBUZZ_LIBS)
+@@ -8042,16 +8042,31 @@ if test "$MOZ_ENABLE_SKIA"; then
+     MOZ_ENABLE_SKIA_GPU=1
+     AC_DEFINE(USE_SKIA_GPU)
+     AC_SUBST(MOZ_ENABLE_SKIA_GPU)
+   fi
+ fi
+ AC_SUBST(MOZ_ENABLE_SKIA)
  
  dnl ========================================================
 +dnl Check for nss-shared-helper
@@ -31,26 +31,24 @@
 +AC_SUBST(NSSHELPER_LIBS)
 +
 +dnl ========================================================
- dnl SIL Graphite
+ dnl disable xul
  dnl ========================================================
- MOZ_GRAPHITE_LIBS='$(DEPTH)/gfx/graphite2/src/$(LIB_PREFIX)mozgraphite2.$(LIB_SUFFIX)'
- AC_SUBST(MOZ_GRAPHITE_LIBS)
- 
- dnl ========================================================
- dnl OTS
- 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/src/Makefile.in b/security/manager/ssl/src/Makefile.in
---- a/security/manager/ssl/src/Makefile.in
+new file mode 100644
+--- /dev/null
 +++ b/security/manager/ssl/src/Makefile.in
-@@ -4,8 +4,11 @@
- # 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/.
- 
- DEFINES += \
-   -DNSS_ENABLE_ECC \
-   -DDLL_PREFIX=\"$(DLL_PREFIX)\" \
-   -DDLL_SUFFIX=\"$(DLL_SUFFIX)\" \
-   $(NULL)
+@@ -0,0 +1,8 @@
++#! gmake
++# 
++# 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/.
 +
 +LOCAL_INCLUDES += $(NSSHELPER_CFLAGS)
 +EXTRA_DSO_LDOPTS += $(NSSHELPER_LIBS)
@@ -81,7 +79,7 @@
  #include "nsAppDirectoryServiceDefs.h"
  #include "nsComponentManagerUtils.h"
  #include "nsDirectoryServiceDefs.h"
-@@ -1263,18 +1270,35 @@ nsNSSComponent::InitializeNSS(bool showW
+@@ -1207,18 +1214,35 @@ nsNSSComponent::InitializeNSS()
      ConfigureInternalPKCS11Token();
  
      // The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@@ -115,14 +113,14 @@
      if (init_rv != SECSuccess) {
        PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS r/w in %s\n", profileStr.get()));
  
-       if (suppressWarningPref) {
-         which_nss_problem = problem_none;
-       }
-       else {
+       // try to init r/o
+       init_flags |= NSS_INIT_READONLY;
+       init_rv = ::NSS_Initialize(profileStr.get(), "", "",
+                                  SECMOD_DB, init_flags);
 diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
 --- a/toolkit/library/Makefile.in
 +++ b/toolkit/library/Makefile.in
-@@ -484,17 +484,17 @@ LOCAL_INCLUDES += -I$(topsrcdir)/intl/un
+@@ -245,17 +245,17 @@ endif
  ifneq (,$(filter OS2 WINNT,$(OS_ARCH)))
  SDK_LIBRARY = $(IMPORT_LIBRARY)
  else
@@ -140,4 +138,4 @@
    -framework SystemConfiguration \
    -framework QTKit \
    -framework IOKit \
-   -F/System/Library/PrivateFrameworks -framework CoreUI \
+   -F$(MACOS_PRIVATE_FRAMEWORKS_DIR) -framework CoreUI \
--- a/mozilla-xpcom-ppc64le.patch	Wed Feb 05 07:13:27 2014 +0100
+++ b/mozilla-xpcom-ppc64le.patch	Fri Feb 07 22:10:42 2014 +0100
@@ -1,39 +1,17 @@
 # HG changeset patch
-# Parent 5f1384375f10a5f0ee7c8288adef9593822e4e68
+# Parent c5c0f80f1967fd1921e85b443ee87d097e4baf19
 # User Ulrich Weigand <uweigand@de.ibm.com>
 PPC64 LE support for XPCOM
 
-diff --git a/xpcom/reflect/xptcall/src/md/unix/Makefile.in b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
---- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-+++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
-@@ -161,17 +161,17 @@ endif
- ifneq (,$(filter Linuxpowerpc FreeBSDpowerpc,$(OS_ARCH)$(OS_TEST)))
- ASFILES		:= xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
- AS		:= $(CC) -c -x assembler-with-cpp
- endif
- 
- #
- # Linux/PPC64
- #
--ifneq (,$(filter Linuxpowerpc64 FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
-+ifneq (,$(filter Linuxpowerpc64 Linuxpowerpc64le FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
- ASFILES                := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
- AS             := $(CC) -c -x assembler-with-cpp
- endif
- 
- #
- # NetBSD/PPC
- #
- ifneq (,$(filter NetBSDmacppc NetBSDbebox NetBSDofppc NetBSDprep NetBSDamigappc,$(OS_ARCH)$(OS_TEST)))                           
 diff --git a/xpcom/reflect/xptcall/src/md/unix/moz.build b/xpcom/reflect/xptcall/src/md/unix/moz.build
 --- a/xpcom/reflect/xptcall/src/md/unix/moz.build
 +++ b/xpcom/reflect/xptcall/src/md/unix/moz.build
-@@ -186,16 +186,23 @@ if CONFIG['OS_TEST'] == 'powerpc':
- 
- if CONFIG['OS_TEST'] == 'powerpc64':
+@@ -228,16 +228,23 @@ if CONFIG['OS_TEST'] == 'powerpc64':
      if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD'):
            SOURCES += [
+               'xptcinvoke_asm_ppc64_linux.s',
                'xptcinvoke_ppc64_linux.cpp',
+               'xptcstubs_asm_ppc64_linux.s',
                'xptcstubs_ppc64_linux.cpp',
            ]
  
@@ -47,11 +25,11 @@
  if CONFIG['OS_TEST'] in ('macppc', 'bebox', 'ofppc', 'prep', 'amigappc'):
      if CONFIG['OS_ARCH'] == 'NetBSD':
          SOURCES += [
+             'xptcinvoke_asm_ppc_netbsd.s',
              'xptcinvoke_ppc_netbsd.cpp',
+             'xptcstubs_asm_ppc_netbsd.s',
              'xptcstubs_ppc_netbsd.cpp',
          ]
- 
- if CONFIG['OS_ARCH'] == 'OpenBSD' and CONFIG['OS_TEST'] == 'powerpc':
 diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
 --- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s
 +++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s