firefox-esr78/mozilla-1005640-accept-lang.patch

31 lines
1.5 KiB
Diff
Raw Normal View History

diff -up firefox-67.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang firefox-67.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm
--- firefox-67.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang 2017-01-16 17:16:52.000000000 +0100
+++ firefox-67.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2017-01-18 12:35:29.380394216 +0100
@@ -2255,6 +2255,11 @@ this.XPIProvider = {
logger.error("private browsing migration failed", e);
}
+ // Save locale settings to compare it later to check whenever some addon
+ // changed it.
+ var previousLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
+ .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
+
try {
AddonManagerPrivate.recordTimestamp("XPI_bootstrap_addons_begin");
@@ -2284,6 +2289,14 @@ var XPIProvider = {
AddonManagerPrivate.recordException("XPI-BOOTSTRAP", "startup failed", e);
}
+ var currentLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
+ .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
+ if (currentLocale != previousLocale) {
+ // We have to flush string cache if the locale was changed during loading
+ // of addons
+ Services.obs.notifyObservers(null, "chrome-flush-caches", null);
+ }
+
// Let these shutdown a little earlier when they still have access to most
// of XPCOM
AsyncShutdown.quitApplicationGranted.addBlocker(