diff --git a/MozillaFirefox.changes b/MozillaFirefox.changes
index fbacf5a..f80daae 100644
--- a/MozillaFirefox.changes
+++ b/MozillaFirefox.changes
@@ -1,3 +1,41 @@
+-------------------------------------------------------------------
+Mon Sep 16 11:59:18 UTC 2013 - lnussel@suse.de
+
+- move greek to the translations-common package (bnc#840551)
+
+-------------------------------------------------------------------
+Sat Sep 14 14:39:58 UTC 2013 - wr@rosenauer.org
+
+- update to Firefox 24.0 (bnc#840485)
+ * MFSA 2013-76/CVE-2013-1718/CVE-2013-1719
+ Miscellaneous memory safety hazards
+ * MFSA 2013-77/CVE-2013-1720 (bmo#888820)
+ Improper state in HTML5 Tree Builder with templates
+ * MFSA 2013-78/CVE-2013-1721 (bmo#890277)
+ Integer overflow in ANGLE library
+ * MFSA 2013-79/CVE-2013-1722 (bmo#893308)
+ Use-after-free in Animation Manager during stylesheet cloning
+ * MFSA 2013-80/CVE-2013-1723 (bmo#891292)
+ NativeKey continues handling key messages after widget is destroyed
+ * MFSA 2013-81/CVE-2013-1724 (bmo#894137)
+ Use-after-free with select element
+ * MFSA 2013-82/CVE-2013-1725 (bmo#876762)
+ Calling scope for new Javascript objects can lead to memory corruption
+ * MFSA 2013-85/CVE-2013-1728 (bmo#883686)
+ Uninitialized data in IonMonkey
+ * MFSA 2013-88/CVE-2013-1730 (bmo#851353)
+ Compartment mismatch re-attaching XBL-backed nodes
+ * MFSA 2013-89/CVE-2013-1732 (bmo#883514)
+ Buffer overflow with multi-column, lists, and floats
+ * MFSA 2013-90/CVE-2013-1735/CVE-2013-1736 (bmo#898871, bmo#906301)
+ Memory corruption involving scrolling
+ * MFSA 2013-91/CVE-2013-1737 (bmo#907727)
+ User-defined properties on DOM proxies get the wrong "this" object
+ * MFSA 2013-92/CVE-2013-1738 (bmo#887334, bmo#882897)
+ GC hazard with default compartments and frame chain restoration
+- enable gstreamer explicitely via pref (gecko.js)
+- require NSS 3.15.1
+
-------------------------------------------------------------------
Mon Aug 26 07:35:36 UTC 2013 - wr@rosenauer.org
diff --git a/MozillaFirefox.spec b/MozillaFirefox.spec
index a23878d..ba275a0 100644
--- a/MozillaFirefox.spec
+++ b/MozillaFirefox.spec
@@ -17,8 +17,8 @@
#
-%define major 23
-%define mainver %major.0.1
+%define major 24
+%define mainver %major.0
%define update_channel release
%if %suse_version > 1220
@@ -51,7 +51,7 @@ BuildRequires: libproxy-devel
BuildRequires: wireless-tools
%endif
BuildRequires: mozilla-nspr-devel >= 4.10
-BuildRequires: mozilla-nss-devel >= 3.15
+BuildRequires: mozilla-nss-devel >= 3.15.1
BuildRequires: nss-shared-helper-devel
%if %suse_version > 1210
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
@@ -60,7 +60,7 @@ BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
%endif
Version: %{mainver}
Release: 0
-%define releasedate 2013082400
+%define releasedate 2013091200
Provides: firefox = %{mainver}
Provides: firefox = %{version}-%{release}
Provides: web_browser
@@ -88,6 +88,7 @@ Source11: firefox.1
Source12: mozilla-get-app-id
Source13: add-plugins.sh.in
Source14: create-tar.sh
+Source15: gecko.js
# Gecko/Toolkit
Patch1: toolkit-download-folder.patch
Patch2: mozilla-nongnome-proxies.patch
@@ -164,7 +165,7 @@ Development files for Firefox to make packaging of addons easier.
%package translations-common
Summary: Common translations for Firefox
Group: System/Localization
-Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
+Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;el;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@@ -175,7 +176,7 @@ of Firefox.
%package translations-other
Summary: Extra translations for Firefox
Group: System/Localization
-Provides: locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;el;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
+Provides: locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@@ -306,9 +307,9 @@ ac_add_options --disable-gnomevfs
ac_add_options --enable-gio
EOF
%endif
-%if %suse_version > 1210
+%if %suse_version < 1220
cat << EOF >> $MOZCONFIG
-ac_add_options --enable-gstreamer
+ac_add_options --disable-gstreamer
EOF
%endif
%if %branding
@@ -358,6 +359,9 @@ mkdir -p $RPM_BUILD_ROOT%{progdir}/browser/defaults/preferences/
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
+# core configuration (e.g. temporary gstreamer pref)
+# this is expected to be just temporary and therefore not handled in openSUSE branding
+install -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{progdir}/defaults/pref/gecko.js
# install add-plugins.sh
sed "s:%%PROGDIR:%{progdir}:g" \
%{SOURCE13} > $RPM_BUILD_ROOT%{progdir}/add-plugins.sh
@@ -385,7 +389,7 @@ for locale in $(awk '{ print $1; }' ../mozilla/browser/locales/shipped-locales);
rm -rf $RPM_BUILD_ROOT%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
# check against the fixed common list and sort into the right filelist
_matched=0
- for _match in ar ca cs da de en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
+ for _match in ar ca cs da de en-GB el es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
[ "$_match" = "$locale" ] && _matched=1
done
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
diff --git a/compare-locales.tar.bz2 b/compare-locales.tar.bz2
index 96d5de9..d488510 100644
--- a/compare-locales.tar.bz2
+++ b/compare-locales.tar.bz2
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:79295d236b36d97af1d769e536e7e85121bcd1894ea574a185c13a7a331c2e02
-size 29883
+oid sha256:4c8e6c204cd5aed68fc6a290f26f44980c5d9cece37eba8f5c0f8ce971f10068
+size 29932
diff --git a/create-tar.sh b/create-tar.sh
index 28a03be..9153a65 100644
--- a/create-tar.sh
+++ b/create-tar.sh
@@ -2,8 +2,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_23_0_1_RELEASE"
-VERSION="23.0.1"
+RELEASE_TAG="FIREFOX_24_0_RELEASE"
+VERSION="24.0"
# mozilla
if [ -d mozilla ]; then
@@ -27,6 +27,7 @@ if [ ! -d mozilla ]; then
hg clone http://hg.mozilla.org/$BRANCH mozilla
fi
pushd mozilla
+hg update --check
[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
# get repo and source stamp
echo -n "REV=" > ../source-stamp.txt
diff --git a/firefox-23.0.1-source.tar.bz2 b/firefox-23.0.1-source.tar.bz2
deleted file mode 100644
index e42c2e4..0000000
--- a/firefox-23.0.1-source.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1088857360fbfc0b2021d367ad0472d922b157378372856c6682b6b04ffd460d
-size 116963536
diff --git a/firefox-24.0-source.tar.bz2 b/firefox-24.0-source.tar.bz2
new file mode 100644
index 0000000..6c4db1e
--- /dev/null
+++ b/firefox-24.0-source.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a174f14e75774211548510c9e91f40b74c25ca3a013cd64e62138fef96688a15
+size 121150373
diff --git a/firefox-branded-icons.patch b/firefox-branded-icons.patch
index 8931d6a..1978093 100644
--- a/firefox-branded-icons.patch
+++ b/firefox-branded-icons.patch
@@ -1,13 +1,13 @@
# HG changeset patch
-# Parent a5cc092ab98bc6d4c1b09b5cc86791bae1313c73
+# Parent 5defe7bd2f041c227fe4a65f8a90e6cc42a9a339
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
-@@ -136,16 +136,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
+@@ -133,16 +133,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
endif
- ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
+ ifdef MOZ_WIDGET_GTK
libs::
$(INSTALL) $(IFLAGS1) $(DIST)/branding/mozicon128.png $(FINAL_TARGET)/icons
$(INSTALL) $(IFLAGS1) $(DIST)/branding/default16.png $(FINAL_TARGET)/chrome/icons/default
@@ -54,14 +54,14 @@ diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/M
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
-@@ -574,18 +574,21 @@
+@@ -571,18 +571,21 @@
@BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
@BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
@BINPATH@/chrome/toolkit@JAREXT@
@BINPATH@/chrome/toolkit.manifest
@BINPATH@/chrome/recording.manifest
@BINPATH@/chrome/recording/*
- #ifdef MOZ_GTK2
+ #ifdef MOZ_GTK
@BINPATH@/browser/chrome/icons/default/default16.png
+@BINPATH@/browser/chrome/icons/default/default22.png
+@BINPATH@/browser/chrome/icons/default/default24.png
diff --git a/firefox-kde.patch b/firefox-kde.patch
index 6b7a0aa..d2485de 100644
--- a/firefox-kde.patch
+++ b/firefox-kde.patch
@@ -2,7 +2,7 @@ diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1196 @@
+@@ -0,0 +1,1097 @@
+#filter substitution
+
+# -*- Mode: HTML -*-
@@ -102,6 +102,8 @@ new file mode 100644
+ label="&bookmarkAllTabs.label;"
+ accesskey="&bookmarkAllTabs.accesskey;"
+ command="Browser:BookmarkAllTabs"/>
++
+
+
@@ -235,6 +237,7 @@ new file mode 100644
+ side="right"
+ type="arrow"
+ hidden="true"
++ flip="slide"
+ rolluponmousewheel="true"
+ consumeoutsideclicks="false"
+ noautofocus="true"
@@ -289,59 +292,6 @@ new file mode 100644
+
+
+
-+
-+
-+
-+
+
+
+
@@ -384,57 +334,7 @@ new file mode 100644
+#endif
+
+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ &mixedContentBlocked.moreinfo;
-+
-+
-+
-+
++#include popup-notifications.inc
+
+
+
@@ -552,6 +452,7 @@ new file mode 100644
+
+
+
++
+
+
+
@@ -745,6 +646,9 @@ new file mode 100644
+ hidden="true"
+ skipintoolbarset="true"
+ observes="socialActiveBroadcaster">
++
+
@@ -957,7 +861,6 @@ new file mode 100644
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
-+ ondragleave="DownloadsIndicatorView.onDragLeave(event);"
+ label="&downloads.label;"
+ tooltiptext="&downloads.tooltip;"/>
+
@@ -1085,6 +988,7 @@ new file mode 100644
+ context="contentAreaContextMenu"
+ disableglobalhistory="true"
+ tooltip="aHTMLTooltip"
++ popupnotificationanchor="social-notification-icon"
+ flex="1"
+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
+
@@ -1124,11 +1028,8 @@ new file mode 100644
+ tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
+#endif
+
-+
-+
-+
-+
+
++
+
+ GetNativeLeafName(leaf);
@@ -98,7 +98,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
{
nsZipItemPtr manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1095,28 +1114,40 @@ static nsresult pref_InitInitialObjects(
+@@ -1101,28 +1120,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)
@@ -184,8 +184,8 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
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
-@@ -32,9 +32,11 @@ ifndef MOZ_SUITE
- EXTRA_COMPONENTS = \
+@@ -23,9 +23,11 @@ ifndef MOZ_SUITE
+ DISABLED_EXTRA_COMPONENTS = \
nsDownloadManagerUI.js \
nsDownloadManagerUI.manifest \
$(NULL)
@@ -220,7 +220,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#include "AndroidBridge.h"
#endif
-@@ -2603,16 +2607,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2609,16 +2613,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
@@ -246,7 +246,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
-@@ -2639,19 +2652,20 @@ nsDownload::SetState(DownloadState aStat
+@@ -2645,19 +2658,20 @@ nsDownload::SetState(DownloadState aStat
// retention policy, there's no reason to make the text clickable
// because if it is, they'll click open the download manager and
// the items they downloaded will have been removed.
@@ -2200,29 +2200,30 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ return NS_OK;
+}
+
-diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in
---- a/toolkit/xre/Makefile.in
-+++ b/toolkit/xre/Makefile.in
-@@ -60,17 +60,18 @@ DEFINES += -DWIN32_LEAN_AND_MEAN -DUNICO
- else
- ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
- CMMSRCS = nsNativeAppSupportCocoa.mm
- else
- ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
- CPPSRCS += nsNativeAppSupportOS2.cpp
- else
- ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
--CPPSRCS += nsNativeAppSupportUnix.cpp
-+CPPSRCS += nsNativeAppSupportUnix.cpp nsKDEUtils.cpp
-+EXPORTS += nsKDEUtils.h
- else
- ifeq ($(MOZ_WIDGET_TOOLKIT),qt)
- MOCSRCS += moc_nsNativeAppSupportQt.cpp
- CPPSRCS += $(MOCSRCS)
- CPPSRCS += nsNativeAppSupportQt.cpp
- CPPSRCS += nsQAppInstance.cpp
- else
- CPPSRCS += nsNativeAppSupportDefault.cpp
+diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
+--- a/toolkit/xre/moz.build
++++ b/toolkit/xre/moz.build
+@@ -38,18 +38,20 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
+ 'nsNativeAppSupportQt.cpp',
+ 'nsQAppInstance.cpp',
+ ]
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'os2':
+ CPP_SOURCES += [
+ 'nsNativeAppSupportOS2.cpp',
+ ]
+ elif CONFIG['MOZ_ENABLE_GTK']:
++ EXPORTS += ['nsKDEUtils.h']
+ CPP_SOURCES += [
+ 'nsNativeAppSupportUnix.cpp',
++ 'nsKDEUtils.cpp'
+ ]
+ else:
+ CPP_SOURCES += [
+ 'nsNativeAppSupportDefault.cpp',
+ ]
+
+ if CONFIG['MOZ_X11']:
+ CPP_SOURCES += [
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
@@ -2623,27 +2624,39 @@ new file mode 100644
diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
--- a/uriloader/exthandler/Makefile.in
+++ b/uriloader/exthandler/Makefile.in
-@@ -53,18 +53,19 @@ LOCAL_INCLUDES = -I$(srcdir)
- LOCAL_INCLUDES += -I$(topsrcdir)/dom/base \
- -I$(topsrcdir)/dom/ipc \
- -I$(topsrcdir)/content/base/src \
- -I$(topsrcdir)/content/events/src \
- -I$(topsrcdir)/netwerk/base/src \
- -I$(topsrcdir)/netwerk/protocol/http
+@@ -86,9 +86,10 @@ EXTRA_COMPONENTS = \
+ # we don't want the shared lib, but we want to force the creation of a static lib.
+ FORCE_STATIC_LIB = 1
+ include $(topsrcdir)/config/config.mk
+ include $(topsrcdir)/ipc/chromium/chromium-config.mk
+ include $(topsrcdir)/config/rules.mk
- ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
--OSHELPER += nsGNOMERegistry.cpp
-+OSHELPER += nsCommonRegistry.cpp nsGNOMERegistry.cpp nsKDERegistry.cpp
- OSHELPER += nsMIMEInfoUnix.cpp
+ 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
+@@ -68,16 +68,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
+ pass
+ else:
+ CPP_SOURCES += [
+ 'nsOSHelperAppService.cpp',
+ ]
- ifeq ($(MOZ_WIDGET_TOOLKIT),android)
- OSHELPER += nsMIMEInfoAndroid.cpp
- OSHELPER += nsAndroidHandlerApp.cpp
- OSHELPER += nsExternalSharingAppService.cpp
- OSHELPER += nsExternalURLHandlerService.cpp
- endif
+ if CONFIG['MOZ_ENABLE_GTK']:
+ CPP_SOURCES += [
++ 'nsCommonRegistry.cpp',
++ 'nsKDERegistry.cpp',
+ 'nsGNOMERegistry.cpp',
+ 'nsMIMEInfoUnix.cpp',
+ ]
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
+ CPP_SOURCES += [
+ 'nsMIMEInfoAndroid.cpp',
+ 'nsAndroidHandlerApp.cpp',
+ 'nsExternalSharingAppService.cpp',
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
new file mode 100644
--- /dev/null
@@ -2735,7 +2748,7 @@ diff --git a/uriloader/exthandler/unix/nsKDERegistry.cpp b/uriloader/exthandler/
new file mode 100644
--- /dev/null
+++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
-@@ -0,0 +1,90 @@
+@@ -0,0 +1,88 @@
+/* -*- 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
@@ -2820,9 +2833,7 @@ new file mode 100644
+ nsCString handlerAppName = output[ 2 ];
+ mimeInfo->SetDefaultDescription(NS_ConvertUTF8toUTF16(handlerAppName));
+ mimeInfo->SetPreferredAction(nsIMIMEInfo::useSystemDefault);
-+ nsMIMEInfoBase* retval;
-+ NS_ADDREF((retval = mimeInfo));
-+ return retval;
++ return mimeInfo.forget();
+ }
+ return nullptr;
+}
@@ -2988,7 +2999,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#include "nsOSHelperAppService.h"
#include "nsMIMEInfoUnix.h"
- #ifdef MOZ_WIDGET_GTK2
+ #ifdef MOZ_WIDGET_GTK
-#include "nsGNOMERegistry.h"
+#include "nsCommonRegistry.h"
#endif
@@ -3006,7 +3017,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
*aHandlerExists = true;
#endif
- #ifdef MOZ_WIDGET_GTK2
+ #ifdef MOZ_WIDGET_GTK
// Check the GConf registry for a protocol handler
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
@@ -3020,7 +3031,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
NS_IMETHODIMP nsOSHelperAppService::GetApplicationDescription(const nsACString& aScheme, nsAString& _retval)
{
- #ifdef MOZ_WIDGET_GTK2
+ #ifdef MOZ_WIDGET_GTK
- nsGNOMERegistry::GetAppDescForScheme(aScheme, _retval);
+ nsCommonRegistry::GetAppDescForScheme(aScheme, _retval);
return _retval.IsEmpty() ? NS_ERROR_NOT_AVAILABLE : NS_OK;
@@ -3037,7 +3048,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
if (NS_FAILED(rv) || majorType.IsEmpty()) {
- #ifdef MOZ_WIDGET_GTK2
+ #ifdef MOZ_WIDGET_GTK
LOG(("Looking in GNOME registry\n"));
nsRefPtr gnomeInfo =
- nsGNOMERegistry::GetFromExtension(aFileExt);
@@ -3051,7 +3062,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
majorType,
@@ -1389,17 +1389,17 @@ nsOSHelperAppService::GetFromType(const
- #ifdef MOZ_WIDGET_GTK2
+ #ifdef MOZ_WIDGET_GTK
nsRefPtr gnomeInfo;
if (handler.IsEmpty()) {
// No useful data yet. Check the GNOME registry. Unfortunately, newer
@@ -3072,7 +3083,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
--- a/widget/gtk2/Makefile.in
+++ b/widget/gtk2/Makefile.in
-@@ -96,11 +96,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
+@@ -67,11 +67,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
INCLUDES += \
-I$(srcdir)/../xpwidgets \
@@ -3124,7 +3135,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
using namespace mozilla;
#define MAX_PREVIEW_SIZE 180
-@@ -236,17 +238,19 @@ nsFilePicker::AppendFilters(int32_t aFil
+@@ -242,17 +244,19 @@ nsFilePicker::AppendFilters(int32_t aFil
return nsBaseFilePicker::AppendFilters(aFilterMask);
}
@@ -3145,7 +3156,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
mFilters.AppendElement(filter);
mFilterNames.AppendElement(name);
-@@ -360,16 +364,32 @@ nsFilePicker::Show(int16_t *aReturn)
+@@ -366,16 +370,32 @@ nsFilePicker::Show(int16_t *aReturn)
NS_IMETHODIMP
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
@@ -3178,7 +3189,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
-@@ -561,8 +581,235 @@ nsFilePicker::Done(GtkWidget* file_choos
+@@ -567,8 +587,235 @@ nsFilePicker::Done(GtkWidget* file_choos
if (mCallback) {
mCallback->Done(result);
mCallback = nullptr;
@@ -3438,17 +3449,16 @@ diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
--- a/xpcom/components/Makefile.in
+++ b/xpcom/components/Makefile.in
-@@ -34,10 +34,11 @@ LOCAL_INCLUDES = \
- # we don't want the shared lib, but we want to force the creation of a static lib.
+@@ -28,9 +28,10 @@ LOCAL_INCLUDES = \
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/rules.mk
DEFINES += -D_IMPL_NS_COM
- ifneq (,$(filter gtk2,$(MOZ_WIDGET_TOOLKIT)))
+ ifdef MOZ_WIDGET_GTK
+ CXXFLAGS += $(TK_CFLAGS)
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
- CXXFLAGS += $(MOZ_GTK2_CFLAGS)
endif
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp
@@ -3516,7 +3526,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
minorVersion);
}
+ desktop = NS_LITERAL_STRING("macosx");
- #elif defined(MOZ_WIDGET_GTK2)
+ #elif defined(MOZ_WIDGET_GTK)
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
gtk_major_version,
gtk_minor_version);
@@ -3584,7 +3594,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
--- a/xpcom/io/Makefile.in
+++ b/xpcom/io/Makefile.in
-@@ -77,17 +77,17 @@ include $(topsrcdir)/ipc/chromium/chromi
+@@ -43,17 +43,17 @@ include $(topsrcdir)/ipc/chromium/chromi
DEFINES += -D_IMPL_NS_COM
ifeq ($(OS_ARCH),Linux)
@@ -3624,7 +3634,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h"
#include "plbase64.h"
-@@ -1752,44 +1753,51 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1753,44 +1754,51 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
@@ -3690,7 +3700,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return rv;
}
return NS_ERROR_FAILURE;
-@@ -1815,16 +1823,23 @@ nsLocalFile::Launch()
+@@ -1816,16 +1824,23 @@ nsLocalFile::Launch()
if (nullptr == connection)
return NS_ERROR_FAILURE;
diff --git a/mozilla-ppc.patch b/mozilla-ppc.patch
index a388e3a..9ad8f08 100644
--- a/mozilla-ppc.patch
+++ b/mozilla-ppc.patch
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 2c9bf1336fd0811e0112953334df4c81c717e6ff
+# Parent 21d0e194954e451f0f1935d0ed68ee9eae432ddf
# User Wolfgang Rosenauer
Bug 746112 - RegExp hang on ppc64 in execute.
Bug 750620 - Make double-conversion portable to exotic architectures. TM: mozilla15
@@ -7,7 +7,7 @@ Bug 750620 - Make double-conversion portable to exotic architectures. TM: mozill
diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h
--- a/js/src/yarr/YarrInterpreter.h
+++ b/js/src/yarr/YarrInterpreter.h
-@@ -159,17 +159,17 @@ struct ByteTerm {
+@@ -162,17 +162,17 @@ struct ByteTerm {
, m_invert(invert)
{
atom.characterClass = characterClass;
@@ -26,7 +26,7 @@ diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h
atom.parenthesesDisjunction = parenthesesInfo;
atom.quantityType = QuantifierFixedCount;
atom.quantityCount = 1;
-@@ -180,17 +180,17 @@ struct ByteTerm {
+@@ -183,17 +183,17 @@ struct ByteTerm {
: type(type)
, m_capture(false)
, m_invert(invert)
@@ -48,7 +48,7 @@ diff --git a/js/src/yarr/YarrInterpreter.h b/js/src/yarr/YarrInterpreter.h
diff --git a/js/src/yarr/YarrPattern.h b/js/src/yarr/YarrPattern.h
--- a/js/src/yarr/YarrPattern.h
+++ b/js/src/yarr/YarrPattern.h
-@@ -179,17 +179,17 @@ struct PatternTerm {
+@@ -180,17 +180,17 @@ struct PatternTerm {
, m_capture(false)
, m_invert(invert)
{
@@ -70,7 +70,7 @@ diff --git a/js/src/yarr/YarrPattern.h b/js/src/yarr/YarrPattern.h
diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
--- a/memory/mozjemalloc/jemalloc.c
+++ b/memory/mozjemalloc/jemalloc.c
-@@ -1099,17 +1099,19 @@ struct arena_s {
+@@ -1099,17 +1099,17 @@ struct arena_s {
static unsigned ncpus;
#endif
@@ -79,17 +79,16 @@ diff --git a/memory/mozjemalloc/jemalloc.c b/memory/mozjemalloc/jemalloc.c
* controlling the malloc behavior are defined as compile-time constants
* for best performance and cannot be altered at runtime.
*/
-+#if !(defined(__powerpc__))
+-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(defined(__powerpc__))
#define MALLOC_STATIC_SIZES 1
-+#endif
+ #endif
#ifdef MALLOC_STATIC_SIZES
/*
* VM page size. It must divide the runtime CPU page size or the code
* will abort.
- * Platform specific page size conditions copied from js/public/HeapAPI.h
- */
diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
--- a/mfbt/double-conversion/utils.h
+++ b/mfbt/double-conversion/utils.h
diff --git a/mozilla-shared-nss-db.patch b/mozilla-shared-nss-db.patch
index 5311847..9c9da8e 100644
--- a/mozilla-shared-nss-db.patch
+++ b/mozilla-shared-nss-db.patch
@@ -7,7 +7,7 @@ References:
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
-@@ -8309,16 +8309,31 @@ AC_SUBST(QCMS_LIBS)
+@@ -8330,16 +8330,31 @@ AC_SUBST(QCMS_LIBS)
dnl ========================================================
dnl HarfBuzz
@@ -42,7 +42,7 @@ diff --git a/configure.in b/configure.in
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
--- a/security/manager/ssl/src/Makefile.in
+++ b/security/manager/ssl/src/Makefile.in
-@@ -87,10 +87,13 @@ endif
+@@ -18,10 +18,13 @@ LIBXUL_LIBRARY = 1
CSRCS += md4.c
DEFINES += \
@@ -78,12 +78,12 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
#include "nsNSSComponent.h"
#include "CertVerifier.h"
- #include "nsNSSCallbacks.h"
- #include "nsNSSIOLayer.h"
#include "nsCertVerificationThread.h"
-
- #include "nsNetUtil.h"
-@@ -1721,18 +1728,34 @@ nsNSSComponent::InitializeNSS(bool showW
+ #include "nsAppDirectoryServiceDefs.h"
+ #include "nsComponentManagerUtils.h"
+ #include "nsDirectoryServiceDefs.h"
+ #include "nsICertOverrideService.h"
+@@ -1132,18 +1139,34 @@ nsNSSComponent::InitializeNSS(bool showW
ConfigureInternalPKCS11Token();
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
@@ -123,12 +123,12 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
-@@ -510,17 +510,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
+@@ -490,17 +490,17 @@ EXTRA_DSO_LDOPTS += -INCREMENTAL:NO
endif
endif
endif
- EXTRA_DSO_LDOPTS += $(LIBS_DIR) $(EXTRA_DSO_LIBS)
+ EXTRA_DSO_LDOPTS += $(LIBS_DIR)
DEFINES += -DIMPL_XREAPI
diff --git a/source-stamp.txt b/source-stamp.txt
index 81c7ba8..2e9644c 100644
--- a/source-stamp.txt
+++ b/source-stamp.txt
@@ -1,2 +1,2 @@
-REV=0576ba82616e
+REV=7c3b0732e765
REPO=http://hg.mozilla.org/releases/mozilla-release