Index: chrome/browser/chromeos/login/startup_utils.cc |
diff --git a/chrome/browser/chromeos/login/startup_utils.cc b/chrome/browser/chromeos/login/startup_utils.cc |
index 48c32fe1142ae02e0c5178b8703cebd115e33d9e..592abbf715e5f457437b221c3d972c70b7cbef18 100644 |
--- a/chrome/browser/chromeos/login/startup_utils.cc |
+++ b/chrome/browser/chromeos/login/startup_utils.cc |
@@ -52,6 +52,7 @@ void StartupUtils::RegisterPrefs(PrefRegistrySimple* registry) { |
registry->RegisterBooleanPref(prefs::kOobeComplete, false); |
registry->RegisterStringPref(prefs::kOobeScreenPending, ""); |
registry->RegisterIntegerPref(prefs::kDeviceRegistered, -1); |
+ registry->RegisterBooleanPref(prefs::kEnrollmentRecoveryRequired, false); |
registry->RegisterStringPref(prefs::kInitialLocale, "en-US"); |
} |
@@ -77,6 +78,9 @@ void StartupUtils::MarkOobeCompleted() { |
// side-effects. |
g_browser_process->local_state()->ClearPref(prefs::kOobeScreenPending); |
SaveBoolPreferenceForced(prefs::kOobeComplete, true); |
+ |
+ // Successful enrollment implies that recovery is not required. |
+ SaveBoolPreferenceForced(prefs::kEnrollmentRecoveryRequired, false); |
} |
void StartupUtils::SaveOobePendingScreen(const std::string& screen) { |
@@ -154,6 +158,17 @@ void StartupUtils::MarkDeviceRegistered(const base::Closure& done_callback) { |
} |
// static |
+bool StartupUtils::IsEnrollmentRecoveryRequired() { |
+ return g_browser_process->local_state() |
+ ->GetBoolean(prefs::kEnrollmentRecoveryRequired); |
+} |
+ |
+// static |
+void StartupUtils::MarkEnrollmentRecoveryRequired() { |
+ SaveBoolPreferenceForced(prefs::kEnrollmentRecoveryRequired, true); |
+} |
+ |
+// static |
std::string StartupUtils::GetInitialLocale() { |
std::string locale = |
g_browser_process->local_state()->GetString(prefs::kInitialLocale); |