summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/settings/people_page/lock_state_behavior.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/settings/people_page/lock_state_behavior.js')
-rw-r--r--chromium/chrome/browser/resources/settings/people_page/lock_state_behavior.js123
1 files changed, 0 insertions, 123 deletions
diff --git a/chromium/chrome/browser/resources/settings/people_page/lock_state_behavior.js b/chromium/chrome/browser/resources/settings/people_page/lock_state_behavior.js
deleted file mode 100644
index 8ef0b549f2f..00000000000
--- a/chromium/chrome/browser/resources/settings/people_page/lock_state_behavior.js
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/**
- * @fileoverview
- * Contains utilities that help identify the current way that the lock screen
- * will be displayed.
- */
-
-/** @enum {string} */
-const LockScreenUnlockType = {
- VALUE_PENDING: 'value_pending',
- PASSWORD: 'password',
- PIN_PASSWORD: 'pin+password'
-};
-
-/**
- * Determining if the device supports PIN sign-in takes time, as it may require
- * a cryptohome call. This means incorrect strings may be shown for a brief
- * period, and updating them causes UI flicker.
- *
- * Cache the value since the behavior is instantiated multiple times. Caching
- * is safe because PIN login support depends only on hardware capabilities. The
- * value does not change after discovered.
- *
- * @type {boolean|undefined}
- */
-let cachedHasPinLogin = undefined;
-
-/** @polymerBehavior */
-const LockStateBehaviorImpl = {
- properties: {
- /**
- * The currently selected unlock type.
- * @type {!LockScreenUnlockType}
- */
- selectedUnlockType:
- {type: String, notify: true, value: LockScreenUnlockType.VALUE_PENDING},
-
- /**
- * True/false if there is a PIN set; undefined if the computation is still
- * pending. This is a separate value from selectedUnlockType because the UI
- * can change the selectedUnlockType before setting up a PIN.
- * @type {boolean|undefined}
- */
- hasPin: {type: Boolean, notify: true},
-
- /**
- * True if the PIN backend supports signin. undefined iff the value is still
- * resolving.
- * @type {boolean|undefined}
- */
- hasPinLogin: {type: Boolean, notify: true},
-
- /**
- * Interface for chrome.quickUnlockPrivate calls. May be overridden by
- * tests.
- * @type {QuickUnlockPrivate}
- */
- quickUnlockPrivate: {type: Object, value: chrome.quickUnlockPrivate},
- },
-
- /** @override */
- attached: function() {
- this.boundOnActiveModesChanged_ = this.updateUnlockType.bind(this);
- this.quickUnlockPrivate.onActiveModesChanged.addListener(
- this.boundOnActiveModesChanged_);
-
- // See comment on |cachedHasPinLogin| declaration.
- if (cachedHasPinLogin === undefined) {
- this.addWebUIListener(
- 'pin-login-available-changed',
- this.handlePinLoginAvailableChanged_.bind(this));
- chrome.send('RequestPinLoginState');
- } else {
- this.hasPinLogin = cachedHasPinLogin;
- }
-
- this.updateUnlockType();
- },
-
- /** @override */
- detached: function() {
- this.quickUnlockPrivate.onActiveModesChanged.removeListener(
- this.boundOnActiveModesChanged_);
- },
-
- /**
- * Updates the selected unlock type radio group. This function will get called
- * after preferences are initialized, after the quick unlock mode has been
- * changed, and after the lockscreen preference has changed.
- */
- updateUnlockType: function() {
- this.quickUnlockPrivate.getActiveModes(modes => {
- if (modes.includes(chrome.quickUnlockPrivate.QuickUnlockMode.PIN)) {
- this.hasPin = true;
- this.selectedUnlockType = LockScreenUnlockType.PIN_PASSWORD;
- } else {
- this.hasPin = false;
- this.selectedUnlockType = LockScreenUnlockType.PASSWORD;
- }
- });
- },
-
- /** Sets the lock screen enabled state. */
- setLockScreenEnabled(authToken, enabled) {
- this.quickUnlockPrivate.setLockScreenEnabled(authToken, enabled);
- },
-
- /**
- * Handler for when the pin login available state has been updated.
- * @private
- */
- handlePinLoginAvailableChanged_: function(isAvailable) {
- this.hasPinLogin = isAvailable;
- cachedHasPinLogin = this.hasPinLogin;
- },
-};
-
-/** @polymerBehavior */
-const LockStateBehavior =
- [I18nBehavior, WebUIListenerBehavior, LockStateBehaviorImpl]; \ No newline at end of file