# HG changeset patch # User Wolfgang Rosenauer # Date 1488743455 -3600 # Node ID ce8a98f8d8d729cfa377c2abfea6275d3af2a612 # Parent ace605efe50fdeccb6854dabf444ff42057b2f6f Firefox 52.0 - including application chooser fix for Gtk3 builds diff -r ace605efe50f -r ce8a98f8d8d7 MozillaFirefox/MozillaFirefox.changes --- 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 diff -r ace605efe50f -r ce8a98f8d8d7 MozillaFirefox/MozillaFirefox.spec --- 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 diff -r ace605efe50f -r ce8a98f8d8d7 MozillaFirefox/create-tar.sh --- 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 diff -r ace605efe50f -r ce8a98f8d8d7 MozillaFirefox/l10n_changesets.txt --- 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 diff -r ace605efe50f -r ce8a98f8d8d7 mozilla-kde.patch --- 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 Author: Lubos Lunak @@ -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 }