Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7993)

Unified Diff: chrome/browser/chromeos/login/quick_unlock/pin_storage.cc

Issue 2480203002: ui: Cleanup class/struct forward declarations (Closed)
Patch Set: Sync CL to position 430550 Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/quick_unlock/pin_storage.cc
diff --git a/chrome/browser/chromeos/login/quick_unlock/pin_storage.cc b/chrome/browser/chromeos/login/quick_unlock/pin_storage.cc
index 25abdaf2417994b33e3be641a5eedb34f7f25441..386fe26772a658078f70e370532df829864ba0a2 100644
--- a/chrome/browser/chromeos/login/quick_unlock/pin_storage.cc
+++ b/chrome/browser/chromeos/login/quick_unlock/pin_storage.cc
@@ -37,11 +37,23 @@ std::string ComputeSecret(const std::string& pin, const std::string& salt) {
return key.GetSecret();
}
-} // namespace
+base::TimeDelta QuickUnlockPasswordConfirmationFrequencyToTimeDelta(
+ QuickUnlockPasswordConfirmationFrequency frequency) {
+ switch (frequency) {
+ case QuickUnlockPasswordConfirmationFrequency::SIX_HOURS:
+ return base::TimeDelta::FromHours(6);
+ case QuickUnlockPasswordConfirmationFrequency::TWELVE_HOURS:
+ return base::TimeDelta::FromHours(12);
+ case QuickUnlockPasswordConfirmationFrequency::DAY:
+ return base::TimeDelta::FromDays(1);
+ case QuickUnlockPasswordConfirmationFrequency::WEEK:
+ return base::TimeDelta::FromDays(7);
+ }
+ NOTREACHED();
+ return base::TimeDelta();
+}
-// static
-const base::TimeDelta PinStorage::kStrongAuthTimeout =
- base::TimeDelta::FromHours(24);
+} // namespace
// static
void PinStorage::RegisterProfilePrefs(
@@ -63,7 +75,16 @@ void PinStorage::MarkStrongAuth() {
}
bool PinStorage::HasStrongAuth() const {
- return !last_strong_auth_.is_null();
+ if (last_strong_auth_.is_null())
+ return false;
+
+ QuickUnlockPasswordConfirmationFrequency strong_auth_interval =
+ static_cast<QuickUnlockPasswordConfirmationFrequency>(
+ pref_service_->GetInteger(prefs::kQuickUnlockTimeout));
+ base::TimeDelta strong_auth_timeout =
+ QuickUnlockPasswordConfirmationFrequencyToTimeDelta(strong_auth_interval);
+
+ return TimeSinceLastStrongAuth() < strong_auth_timeout;
}
base::TimeDelta PinStorage::TimeSinceLastStrongAuth() const {
@@ -107,10 +128,8 @@ std::string PinStorage::PinSecret() const {
bool PinStorage::IsPinAuthenticationAvailable() const {
const bool exceeded_unlock_attempts =
unlock_attempt_count() >= kMaximumUnlockAttempts;
- const bool has_strong_auth =
- HasStrongAuth() && TimeSinceLastStrongAuth() < kStrongAuthTimeout;
- return IsQuickUnlockEnabled() && IsPinSet() && has_strong_auth &&
+ return IsPinUnlockEnabled(pref_service_) && IsPinSet() && HasStrongAuth() &&
!exceeded_unlock_attempts;
}

Powered by Google App Engine
This is Rietveld 408576698