Bug 1213450 - Complete the implementation of chrome.i18n.getAcceptLanguages, r?kmag draft
authorbsilverberg <bsilverberg@mozilla.com>
Tue, 23 Feb 2016 22:31:32 -0500
changeset 334014 389634ff35bfc55ce1361358af79e50ee9fa0698
parent 334013 deb230a64ebb0126d538667881a51339e75ad4bd
child 514798 87909f03e271f763d31f2655ec26858814fb776e
push id11422
push userbmo:bob.silverberg@gmail.com
push dateWed, 24 Feb 2016 03:33:26 +0000
reviewerskmag
bugs1213450
milestone47.0a1
Bug 1213450 - Complete the implementation of chrome.i18n.getAcceptLanguages, r?kmag Rebase against fx-team, resolving some conflicts Fix eslint errors/warnings MozReview-Commit-ID: HXAZtdrx2bb
toolkit/components/extensions/ExtensionUtils.jsm
toolkit/components/extensions/test/mochitest/test_ext_i18n.html
--- a/toolkit/components/extensions/ExtensionUtils.jsm
+++ b/toolkit/components/extensions/ExtensionUtils.jsm
@@ -11,19 +11,20 @@ const Cc = Components.classes;
 const Cu = Components.utils;
 const Cr = Components.results;
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
                                   "resource://gre/modules/AppConstants.jsm");
-
 XPCOMUtils.defineLazyModuleGetter(this, "Locale",
                                   "resource://gre/modules/Locale.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "Preferences",
+                                  "resource://gre/modules/Preferences.jsm");
 
 function filterStack(error) {
   return String(error.stack).replace(/(^.*(Task\.jsm|Promise-backend\.js).*\n)+/gm, "<Promise Chain>\n");
 }
 
 // Run a function and report exceptions.
 function runSafeSyncWithoutClone(f, ...args) {
   try {
@@ -425,17 +426,17 @@ LocaleData.prototype = {
     }
 
     this.messages.set(locale, result);
     return result;
   },
 
   get acceptLanguages() {
     let result = Preferences.get("intl.accept_languages", "", Ci.nsIPrefLocalizedString);
-    result = result.split(',');
+    result = result.split(",");
     result = result.map(lang => {
       return lang.replace(/-/g, "_").trim();
     });
     return result;
   },
 
 
   get uiLocale() {
--- a/toolkit/components/extensions/test/mochitest/test_ext_i18n.html
+++ b/toolkit/components/extensions/test/mochitest/test_ext_i18n.html
@@ -9,18 +9,17 @@
   <script type="text/javascript" src="head.js"></script>
   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
 </head>
 <body>
 
 <script type="text/javascript">
 "use strict";
 
-SimpleTest.registerCleanupFunction(() => { SpecialPowers.clearUserPref("intl.accept_languages"); })
-
+SimpleTest.registerCleanupFunction(() => { SpecialPowers.clearUserPref("intl.accept_languages"); });
 SimpleTest.registerCleanupFunction(() => { SpecialPowers.clearUserPref("general.useragent.locale"); });
 
 add_task(function* test_i18n() {
   function runTests(assertEq) {
     let _ = browser.i18n.getMessage.bind(browser.i18n);
 
     let url = browser.runtime.getURL("/");
     assertEq(url, `moz-extension://${_("@@extension_id")}/`, "@@extension_id builtin message");