OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_utils.h" | 5 #include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_utils.h" |
6 | 6 |
7 #include "base/feature_list.h" | 7 #include "base/feature_list.h" |
8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
9 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 9 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
10 #include "chrome/common/chrome_features.h" | 10 #include "chrome/common/chrome_features.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 quick_unlock_whitelist_default.DeepCopy()); | 29 quick_unlock_whitelist_default.DeepCopy()); |
30 registry->RegisterIntegerPref( | 30 registry->RegisterIntegerPref( |
31 prefs::kQuickUnlockTimeout, | 31 prefs::kQuickUnlockTimeout, |
32 static_cast<int>(QuickUnlockPasswordConfirmationFrequency::DAY)); | 32 static_cast<int>(QuickUnlockPasswordConfirmationFrequency::DAY)); |
33 | 33 |
34 // Preferences related the lock screen pin unlock. | 34 // Preferences related the lock screen pin unlock. |
35 registry->RegisterIntegerPref(prefs::kPinUnlockMinimumLength, 4); | 35 registry->RegisterIntegerPref(prefs::kPinUnlockMinimumLength, 4); |
36 // 0 indicates no maximum length for the pin. | 36 // 0 indicates no maximum length for the pin. |
37 registry->RegisterIntegerPref(prefs::kPinUnlockMaximumLength, 0); | 37 registry->RegisterIntegerPref(prefs::kPinUnlockMaximumLength, 0); |
38 registry->RegisterBooleanPref(prefs::kPinUnlockWeakPinsAllowed, true); | 38 registry->RegisterBooleanPref(prefs::kPinUnlockWeakPinsAllowed, true); |
| 39 |
| 40 registry->RegisterBooleanPref(prefs::kEnableQuickUnlockFingerprint, false); |
39 } | 41 } |
40 | 42 |
41 bool IsPinUnlockEnabled(PrefService* pref_service) { | 43 bool IsPinUnlockEnabled(PrefService* pref_service) { |
42 if (enable_for_testing_) | 44 if (enable_for_testing_) |
43 return true; | 45 return true; |
44 | 46 |
45 // Check if policy allows PIN. | 47 // Check if policy allows PIN. |
46 const base::ListValue* quick_unlock_whitelist = | 48 const base::ListValue* quick_unlock_whitelist = |
47 pref_service->GetList(prefs::kQuickUnlockModeWhitelist); | 49 pref_service->GetList(prefs::kQuickUnlockModeWhitelist); |
48 base::StringValue all_value(kQuickUnlockWhitelistOptionAll); | 50 base::StringValue all_value(kQuickUnlockWhitelistOptionAll); |
49 base::StringValue pin_value(kQuickUnlockWhitelistOptionPin); | 51 base::StringValue pin_value(kQuickUnlockWhitelistOptionPin); |
50 if (quick_unlock_whitelist->Find(all_value) == | 52 if (quick_unlock_whitelist->Find(all_value) == |
51 quick_unlock_whitelist->end() && | 53 quick_unlock_whitelist->end() && |
52 quick_unlock_whitelist->Find(pin_value) == | 54 quick_unlock_whitelist->Find(pin_value) == |
53 quick_unlock_whitelist->end()) { | 55 quick_unlock_whitelist->end()) { |
54 return false; | 56 return false; |
55 } | 57 } |
56 | 58 |
57 // TODO(jdufault): Disable PIN for supervised users until we allow the owner | 59 // TODO(jdufault): Disable PIN for supervised users until we allow the owner |
58 // to set the PIN. See crbug.com/632797. | 60 // to set the PIN. See crbug.com/632797. |
59 user_manager::User* user = user_manager::UserManager::Get()->GetActiveUser(); | 61 user_manager::User* user = user_manager::UserManager::Get()->GetActiveUser(); |
60 if (user && user->IsSupervised()) | 62 if (user && user->IsSupervised()) |
61 return false; | 63 return false; |
62 | 64 |
63 // Enable quick unlock only if the switch is present. | 65 // Enable quick unlock only if the switch is present. |
64 return base::FeatureList::IsEnabled(features::kQuickUnlockPin); | 66 return base::FeatureList::IsEnabled(features::kQuickUnlockPin); |
65 } | 67 } |
66 | 68 |
| 69 bool IsFingerprintUnlockEnabled() { |
| 70 // Enable fingerprint unlock only if the switch is present. |
| 71 return base::FeatureList::IsEnabled(features::kQuickUnlockFingerprint); |
| 72 } |
| 73 |
67 void EnableQuickUnlockForTesting() { | 74 void EnableQuickUnlockForTesting() { |
68 enable_for_testing_ = true; | 75 enable_for_testing_ = true; |
69 } | 76 } |
70 | 77 |
71 } // namespace chromeos | 78 } // namespace chromeos |
OLD | NEW |