Index: chrome/browser/resources/settings/people_page/quick_unlock_choose_method.js |
diff --git a/chrome/browser/resources/settings/people_page/quick_unlock_choose_method.js b/chrome/browser/resources/settings/people_page/quick_unlock_choose_method.js |
index db0a57993622827f94dbf33c74d096ee2db6ca6b..bb6cf54d6a0f564192910422af16fec294bb8592 100644 |
--- a/chrome/browser/resources/settings/people_page/quick_unlock_choose_method.js |
+++ b/chrome/browser/resources/settings/people_page/quick_unlock_choose_method.js |
@@ -54,7 +54,27 @@ Polymer({ |
notify: true, |
value: QuickUnlockUnlockType.VALUE_PENDING, |
observer: 'selectedUnlockTypeChanged_' |
- } |
+ }, |
+ |
+ /** |
+ * Interface for chrome.quickUnlockPrivate calls. May be overriden by tests. |
+ * @private |
+ * @type {QuickUnlockPrivate} |
+ */ |
+ quickUnlockPrivate_: { |
+ type: Object, |
+ value: chrome.quickUnlockPrivate |
+ }, |
+ |
+ /** |
+ * Interface for chrome.settingsPrivate calls. May be overriden by tests. |
+ * @private |
+ * @type {SettingsPrivate} |
+ */ |
+ settingsPrivate_: { |
+ type: Object, |
+ value: chrome.settingsPrivate |
+ }, |
}, |
observers: [ |
@@ -74,9 +94,9 @@ Polymer({ |
}.bind(this); |
this.boundOnActiveModesChanged_ = this.updateUnlockType_.bind(this); |
- chrome.settingsPrivate.onPrefsChanged.addListener( |
+ this.settingsPrivate_.onPrefsChanged.addListener( |
this.boundOnPrefsChanged_); |
- chrome.quickUnlockPrivate.onActiveModesChanged.addListener( |
+ this.quickUnlockPrivate_.onActiveModesChanged.addListener( |
this.boundOnActiveModesChanged_); |
this.askForPasswordIfUnset(); |
@@ -84,9 +104,9 @@ Polymer({ |
/** @override */ |
detached: function() { |
- chrome.settingsPrivate.onPrefsChanged.removeListener( |
+ this.settingsPrivate_.onPrefsChanged.removeListener( |
this.boundOnPrefsChanged_); |
- chrome.quickUnlockPrivate.onActiveModesChanged.removeListener( |
+ this.quickUnlockPrivate_.onActiveModesChanged.removeListener( |
this.boundOnActiveModesChanged_); |
}, |
@@ -121,7 +141,7 @@ Polymer({ |
return; |
} |
- chrome.quickUnlockPrivate.getActiveModes(function(modes) { |
+ this.quickUnlockPrivate_.getActiveModes(function(modes) { |
if (modes.includes(chrome.quickUnlockPrivate.QuickUnlockMode.PIN)) { |
this.selectedUnlockType_ = QuickUnlockUnlockType.PIN_PASSWORD; |
} else if (this.selectedUnlockType_ != |
@@ -148,7 +168,7 @@ Polymer({ |
selectedUnlockTypeChanged_: function(selected, previous) { |
// This method gets invoked when setting the initial value from the existing |
// state. In that case, we don't need to bother updating the prefs. |
- if (!previous) |
+ if (!previous || previous == QuickUnlockUnlockType.VALUE_PENDING) |
return; |
this.setPrefValue(ENABLE_LOCK_SCREEN_PREF, |