From ebae24cacc63ab5720c6eba9118dc2792d0764b3 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sat, 18 Mar 2017 11:14:02 +0100 Subject: [PATCH] Upstream the changes from bug 1345294 - nsIPrefBranch should have methods to get/set unicode strings Note that in order to not break compatibility for the Firefox addon, the preprocessor is used. Re: [bug 1345294](https://bugzilla.mozilla.org/show_bug.cgi?id=1345294) and also [this commit](https://hg.mozilla.org/mozilla-central/rev/5a8192a650e9). --- extensions/firefox/content/PdfStreamConverter.jsm | 7 ++++++- extensions/firefox/content/PdfjsChromeUtils.jsm | 14 ++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/extensions/firefox/content/PdfStreamConverter.jsm b/extensions/firefox/content/PdfStreamConverter.jsm index dd052a1e80af2..9ff5d4dc865b6 100644 --- a/extensions/firefox/content/PdfStreamConverter.jsm +++ b/extensions/firefox/content/PdfStreamConverter.jsm @@ -93,7 +93,12 @@ function getIntPref(pref, def) { function getStringPref(pref, def) { try { - return Services.prefs.getComplexValue(pref, Ci.nsISupportsString).data; +//#if !MOZCENTRAL + if (!Services.prefs.getStringPref) { + return Services.prefs.getComplexValue(pref, Ci.nsISupportsString).data; + } +//#endif + return Services.prefs.getStringPref(pref); } catch (ex) { return def; } diff --git a/extensions/firefox/content/PdfjsChromeUtils.jsm b/extensions/firefox/content/PdfjsChromeUtils.jsm index 1d6c3f8af707a..f6e7e44c73c4d 100644 --- a/extensions/firefox/content/PdfjsChromeUtils.jsm +++ b/extensions/firefox/content/PdfjsChromeUtils.jsm @@ -273,10 +273,16 @@ var PdfjsChromeUtils = { _setStringPref(aPrefName, aPrefValue) { this._ensurePreferenceAllowed(aPrefName); - let str = Cc["@mozilla.org/supports-string;1"] - .createInstance(Ci.nsISupportsString); - str.data = aPrefValue; - Services.prefs.setComplexValue(aPrefName, Ci.nsISupportsString, str); +//#if !MOZCENTRAL + if (!Services.prefs.setStringPref) { + let str = Cc["@mozilla.org/supports-string;1"] + .createInstance(Ci.nsISupportsString); + str.data = aPrefValue; + Services.prefs.setComplexValue(aPrefName, Ci.nsISupportsString, str); + return; + } +//#endif + Services.prefs.setStringPref(aPrefName, aPrefValue); }, /*