Bug 1390433 - (From 1385196)[Form Autofill] Enable the feature based on locale and geoip. r=MattN draft
authorLuke Chang <lchang@mozilla.com>
Thu, 10 Aug 2017 21:36:34 -0700
changeset 648822 2385f4af3c4eeda2c12650a1b73bbe4611a0d793
parent 648821 6a24d91ffc94f8f9c20d81356da46175efa0f3cf
child 648823 5921995ade10a72ebe2722e6397a4ea0a718fb3d
push id74896
push userschung@mozilla.com
push dateFri, 18 Aug 2017 10:48:05 +0000
reviewersMattN
bugs1390433, 1385196
milestone56.0
Bug 1390433 - (From 1385196)[Form Autofill] Enable the feature based on locale and geoip. r=MattN MozReview-Commit-ID: 3yvCJvB5zdT
browser/extensions/formautofill/bootstrap.js
--- a/browser/extensions/formautofill/bootstrap.js
+++ b/browser/extensions/formautofill/bootstrap.js
@@ -45,18 +45,30 @@ function onMaybeOpenPopup(evt) {
 
 function addUpgradeListener(instanceID) {
   AddonManager.addUpgradeListener(instanceID, upgrade => {
     // don't install the upgrade by doing nothing here.
     // The upgrade will be installed upon next restart.
   });
 }
 
+function isAvailable() {
+  let availablePref = Services.prefs.getCharPref("extensions.formautofill.available");
+  if (availablePref == "on") {
+    return true;
+  } else if (availablePref == "detect") {
+    let locale = Services.locale.getRequestedLocale();
+    let region = Services.prefs.getCharPref("browser.search.region", "");
+    return locale == "en-US" && region == "US";
+  }
+  return false;
+}
+
 function startup(data) {
-  if (Services.prefs.getStringPref("extensions.formautofill.available") != "on") {
+  if (!isAvailable()) {
     Services.prefs.clearUserPref("dom.forms.autocomplete.formautofill");
     return;
   }
 
   if (data.hasOwnProperty("instanceID") && data.instanceID) {
     if (AddonManagerPrivate.isDBLoaded()) {
       addUpgradeListener(data.instanceID);
     } else {