Bug 1300735 - Flush cached locale strings when l10n SDK module is loaded. r?zer0 draft
authorWladimir Palant <trev.moz@adblockplus.org>
Wed, 07 Sep 2016 16:46:04 +0200
changeset 411062 2293bb6693d620ae123a79533f30ec46268084b7
parent 410248 863ce9e133e8dd11916315a0d2dab8ec05de2825
child 530670 f82a29c60ffab4344302eb4b8eb395be8247f932
push id28834
push userluca.greco@alcacoop.it
push dateWed, 07 Sep 2016 15:59:48 +0000
reviewerszer0
bugs1300735
milestone51.0a1
Bug 1300735 - Flush cached locale strings when l10n SDK module is loaded. r?zer0 MozReview-Commit-ID: HAOc29ebXsR
addon-sdk/source/lib/sdk/l10n/properties/core.js
--- a/addon-sdk/source/lib/sdk/l10n/properties/core.js
+++ b/addon-sdk/source/lib/sdk/l10n/properties/core.js
@@ -8,16 +8,20 @@ const { newURI } = require('../../url/ut
 const { getRulesForLocale } = require("../plural-rules");
 const { getPreferedLocales } = require('../locale');
 const { rootURI } = require("@loader/options");
 const { Services } = Cu.import("resource://gre/modules/Services.jsm", {});
 
 const baseURI = rootURI + "locale/";
 const preferedLocales = getPreferedLocales(true);
 
+// Make sure we don't get stale data after an update
+// (See Bug 1300735 for rationale).
+Services.strings.flushBundles();
+
 function getLocaleURL(locale) {
   // if the locale is a valid chrome URI, return it
   try {
     let uri = newURI(locale);
     if (uri.scheme == 'chrome')
       return uri.spec;
   }
   catch(_) {}