--- a/MozillaFirefox/MozillaFirefox.changes Sat Mar 04 17:54:44 2017 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes Sun Mar 05 20:50:55 2017 +0100
@@ -1,8 +1,8 @@
-------------------------------------------------------------------
-Sat Feb 25 15:19:15 UTC 2017 - wr@rosenauer.org
-
-- update to Firefox 52.0b9
- * requires NSS >= 3.28.2
+Sat Mar 4 16:57:45 UTC 2017 - wr@rosenauer.org
+
+- update to Firefox 52.0
+ * requires NSS >= 3.28.3
* Pages containing insecure password fields now display a warning
directly within username and password fields.
* Windows 8 touch screen support for multiprocess Firefox
--- a/MozillaFirefox/MozillaFirefox.spec Sat Mar 04 17:54:44 2017 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec Sun Mar 05 20:50:55 2017 +0100
@@ -18,10 +18,10 @@
# changed with every update
-%define major 51
-%define mainver %major.99
-%define update_channel beta
-%define releasedate 20170224000000
+%define major 52
+%define mainver %major.0
+%define update_channel release
+%define releasedate 20170302000000
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@@ -31,7 +31,6 @@
%define firefox_use_rust 1
%endif
-
# general build definitions
%if "%{update_channel}" != "aurora"
%define progname firefox
@@ -81,7 +80,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.13.1
-BuildRequires: mozilla-nss-devel >= 3.28.2
+BuildRequires: mozilla-nss-devel >= 3.28.3
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -100,6 +99,7 @@
%if 0%{?firefox_use_rust}
BuildRequires: cargo
BuildRequires: rust >= 1.10
+BuildRequires: rust-std
%endif
# libavcodec is required for H.264 support but the
# openSUSE version is currently not able to play H.264
--- a/MozillaFirefox/create-tar.sh Sat Mar 04 17:54:44 2017 +0100
+++ b/MozillaFirefox/create-tar.sh Sun Mar 05 20:50:55 2017 +0100
@@ -5,10 +5,10 @@
# "moz_source_stamp": "c1de04f39fa956cfce83f6065b0e709369215ed5"
# http://ftp.mozilla.org/pub/firefox/candidates/48.0-candidates/build2/l10n_changesets.txt
-CHANNEL="beta"
+CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_52_0b9_RELEASE"
-VERSION="51.99"
+RELEASE_TAG="44d6a57ab554308585a67a13035d31b264be781e"
+VERSION="52.0"
# mozilla
if [ -d mozilla ]; then
--- a/MozillaFirefox/l10n_changesets.txt Sat Mar 04 17:54:44 2017 +0100
+++ b/MozillaFirefox/l10n_changesets.txt Sun Mar 05 20:50:55 2017 +0100
@@ -5,7 +5,7 @@
as ee642d74fde9
ast 80b866a98b5a
az 07778ef756d4
-bg 3e1affaac949
+bg f86aa012265d
bn-BD 6182802acd04
bn-IN 0775fc62a38e
br 88938f2eb7e2
@@ -20,7 +20,7 @@
el 4232653d09a7
en-GB 3b1783bdb6fd
en-ZA 86f98526de2f
-eo d478da264502
+eo 6af9eb3bb290
es-AR adc3a9f3054e
es-CL 8ce5a00c2709
es-ES 3debdad3d876
@@ -45,9 +45,9 @@
hy-AM ee9609100a98
id 584289a98164
is 0de2039f0ead
-it ac8abee179d4
-ja c596f800130a
-ja-JP-mac e3b94e022b7d
+it 81a6b9f3a701
+ja 289cc8d9b658
+ja-JP-mac 1dc42d8f8c6b
ka fd11643d032b
kab 89a29ca718ef
kk bbde07088662
@@ -77,7 +77,7 @@
sk 968ee9fbd8ba
sl e398e25297bc
son a071d439a5f3
-sq c526b7451403
+sq ab626a887267
sr 3fb1197cc3f3
sv-SE 2d93a3f0c284
ta e5fbcf49496f
@@ -88,6 +88,6 @@
uz 53122cc7d6ad
vi e4f8d820bef2
xh 6ba5a5671721
-zh-CN fb21432035d2
+zh-CN 02ca4c1400c1
zh-TW d17da9c45a93
--- a/mozilla-kde.patch Sat Mar 04 17:54:44 2017 +0100
+++ b/mozilla-kde.patch Sun Mar 05 20:50:55 2017 +0100
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 0e88a32ef7263e76f6970bab17458130d1f3677f
+# Parent 5c8ae59424f5318bf7a387257771bf95d3893063
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -2200,6 +2200,117 @@
+# PrefWindow II (???)
+# PrefWindow I (June 4, 1999)
+#
+diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
+--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
++++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
+@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
+ else
+ typeString = mimeInfo.MIMEType;
+ }
+ // When the length is unknown, contentLength would be -1
+ if (this.mLauncher.contentLength >= 0) {
+ let [size, unit] = DownloadUtils.
+ convertByteUnits(this.mLauncher.contentLength);
+ type.value = this.dialogElement("strings")
+- .getFormattedString("orderedFileSizeWithType",
++ .getFormattedString("orderedFileSizeWithType",
+ [typeString, size, unit]);
+ }
+ else {
+ type.value = typeString;
+ }
+ },
+
+ // Returns true if opening the default application makes sense.
+@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
+ switch (this.dialogElement("openHandler").selectedIndex) {
+ case 0:
+ // No app need be specified in this case.
+ ok = true;
+ break;
+ case 1:
+ // only enable the OK button if we have a default app to use or if
+ // the user chose an app....
+- ok = this.chosenApp || /\S/.test(this.dialogElement("otherHandler").getAttribute("path"));
++ ok = this.chosenApp || /\S/.test(this.dialogElement("otherHandler").getAttribute("path"));
+ break;
+ }
+ }
+
+ // Enable Ok button if ok to press.
+ this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
+ },
+
+@@ -1068,30 +1068,56 @@ nsUnknownContentTypeDialog.prototype = {
+ params.handlerApp.executable &&
+ params.handlerApp.executable.isFile()) {
+ // Remember the file they chose to run.
+ this.chosenApp = params.handlerApp;
+ }
+ }
+ else {
+ #if MOZ_WIDGET_GTK == 3
+- var nsIApplicationChooser = Components.interfaces.nsIApplicationChooser;
+- var appChooser = Components.classes["@mozilla.org/applicationchooser;1"]
+- .createInstance(nsIApplicationChooser);
+- appChooser.init(this.mDialog, this.dialogElement("strings").getString("chooseAppFilePickerTitle"));
+- var contentTypeDialogObj = this;
+- let appChooserCallback = function appChooserCallback_done(aResult) {
+- if (aResult) {
+- contentTypeDialogObj.chosenApp = aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
++ // handle the KDE case which is implemented in the filepicker
++ // therefore falling back to Gtk2 like behaviour if KDE is running
++ // FIXME this should be better handled in the nsIApplicationChooser interface
++ var env = Components.classes["@mozilla.org/process/environment;1"]
++ .getService(Components.interfaces.nsIEnvironment);
++ if (env.get('KDE_FULL_SESSION') == "true")
++ {
++ var nsIFilePicker = Components.interfaces.nsIFilePicker;
++ var fp = Components.classes["@mozilla.org/filepicker;1"]
++ .createInstance(nsIFilePicker);
++ fp.init(this.mDialog,
++ this.dialogElement("strings").getString("chooseAppFilePickerTitle"),
++ nsIFilePicker.modeOpen);
++
++ fp.appendFilters(nsIFilePicker.filterApps);
++
++ if (fp.show() == nsIFilePicker.returnOK && fp.file) {
++ // Remember the file they chose to run.
++ var localHandlerApp =
++ Components.classes["@mozilla.org/uriloader/local-handler-app;1"].
++ createInstance(Components.interfaces.nsILocalHandlerApp);
++ localHandlerApp.executable = fp.file;
++ this.chosenApp = localHandlerApp;
+ }
+- contentTypeDialogObj.finishChooseApp();
+- };
+- appChooser.open(this.mLauncher.MIMEInfo.MIMEType, appChooserCallback);
+- // The finishChooseApp is called from appChooserCallback
+- return;
++ } else {
++ var nsIApplicationChooser = Components.interfaces.nsIApplicationChooser;
++ var appChooser = Components.classes["@mozilla.org/applicationchooser;1"]
++ .createInstance(nsIApplicationChooser);
++ appChooser.init(this.mDialog, this.dialogElement("strings").getString("chooseAppFilePickerTitle"));
++ var contentTypeDialogObj = this;
++ let appChooserCallback = function appChooserCallback_done(aResult) {
++ if (aResult) {
++ contentTypeDialogObj.chosenApp = aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
++ }
++ contentTypeDialogObj.finishChooseApp();
++ };
++ appChooser.open(this.mLauncher.MIMEInfo.MIMEType, appChooserCallback);
++ // The finishChooseApp is called from appChooserCallback
++ return;
++ }
+ #else
+ var nsIFilePicker = Components.interfaces.nsIFilePicker;
+ var fp = Components.classes["@mozilla.org/filepicker;1"]
+ .createInstance(nsIFilePicker);
+ fp.init(this.mDialog,
+ this.dialogElement("strings").getString("chooseAppFilePickerTitle"),
+ nsIFilePicker.modeOpen);
+
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -3696,7 +3807,7 @@
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -45,16 +45,17 @@
+@@ -46,16 +46,17 @@
#include "prproces.h"
#include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h"
@@ -3714,7 +3825,7 @@
#include "prmem.h"
#include "plbase64.h"
-@@ -1947,42 +1948,52 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1948,42 +1949,52 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
@@ -3773,7 +3884,7 @@
return rv;
}
return NS_ERROR_FAILURE;
-@@ -1990,16 +2001,22 @@ nsLocalFile::Reveal()
+@@ -1991,16 +2002,22 @@ nsLocalFile::Reveal()
return NS_ERROR_FAILURE;
#endif
}