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 f47506994adce8e231b396d3def5d6497d88f925..4488a65f7089ee98dcd691dac8312accee9b480c 100644 |
--- a/chrome/browser/chromeos/login/startup_utils.cc |
+++ b/chrome/browser/chromeos/login/startup_utils.cc |
@@ -57,6 +57,7 @@ void StartupUtils::RegisterPrefs(PrefRegistrySimple* registry) { |
registry->RegisterBooleanPref(prefs::kEnrollmentRecoveryRequired, false); |
registry->RegisterStringPref(prefs::kInitialLocale, "en-US"); |
registry->RegisterBooleanPref(prefs::kNewOobe, false); |
+ registry->RegisterBooleanPref(prefs::kWebviewSigninEnabled, false); |
} |
// static |
@@ -175,6 +176,28 @@ std::string StartupUtils::GetInitialLocale() { |
} |
// static |
+bool StartupUtils::IsWebviewSigninAllowed() { |
+ return extensions::GetCurrentChannel() <= chrome::VersionInfo::CHANNEL_DEV; |
+} |
+ |
+// static |
+bool StartupUtils::IsWebviewSigninEnabled() { |
+ return IsWebviewSigninAllowed() && |
+ g_browser_process->local_state()->GetBoolean( |
+ prefs::kWebviewSigninEnabled); |
+} |
+ |
+// static |
+bool StartupUtils::EnableWebviewSignin(bool is_enabled) { |
+ if (!IsWebviewSigninAllowed()) |
+ return false; |
+ |
+ g_browser_process->local_state()->SetBoolean(prefs::kWebviewSigninEnabled, |
+ is_enabled); |
+ return true; |
+} |
+ |
+// static |
void StartupUtils::SetInitialLocale(const std::string& locale) { |
if (l10n_util::IsValidLocaleSyntax(locale)) |
SaveStringPreferenceForced(prefs::kInitialLocale, locale); |