Index: chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
index 42497f92713f0ba5221914c5ae9cfda5112de0c1..3fa96213334c04fd753add6cc344a76858ccae93 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc |
@@ -14,12 +14,14 @@ |
#include "chrome/browser/browser_shutdown.h" |
#include "chrome/browser/chromeos/input_method/input_method_util.h" |
#include "chrome/browser/chromeos/language_preferences.h" |
+#include "chrome/browser/chromeos/login/startup_utils.h" |
#include "chrome/browser/chromeos/login/ui/user_adding_screen.h" |
#include "chrome/browser/chromeos/policy/consumer_management_service.h" |
#include "chrome/browser/chromeos/policy/consumer_management_stage.h" |
#include "chrome/browser/chromeos/profiles/profile_helper.h" |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
#include "chrome/browser/io_thread.h" |
+#include "chrome/browser/lifetime/application_lifetime.h" |
#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" |
#include "chrome/browser/ui/webui/signin/inline_login_ui.h" |
#include "chrome/common/chrome_version_info.h" |
@@ -297,6 +299,10 @@ void GaiaScreenHandler::DeclareLocalizedValues( |
builder->Add("fatalErrorDismissButton", IDS_OK); |
} |
+void GaiaScreenHandler::GetAdditionalParameters(base::DictionaryValue* dict) { |
+ dict->SetBoolean("isWebviewSignin", StartupUtils::IsWebviewSigninEnabled()); |
+} |
+ |
void GaiaScreenHandler::Initialize() { |
} |
@@ -313,6 +319,8 @@ void GaiaScreenHandler::RegisterMessages() { |
&GaiaScreenHandler::HandleScrapedPasswordVerificationFailed); |
AddCallback("loginWebuiReady", &GaiaScreenHandler::HandleGaiaUIReady); |
AddCallback("switchToFullTab", &GaiaScreenHandler::HandleSwitchToFullTab); |
+ AddCallback("toggleWebviewSignin", |
+ &GaiaScreenHandler::HandleToggleWebviewSignin); |
} |
void GaiaScreenHandler::HandleFrameLoadingCompleted(int status) { |
@@ -408,6 +416,13 @@ void GaiaScreenHandler::HandleSwitchToFullTab() { |
CallJS("switchToFullTab"); |
} |
+void GaiaScreenHandler::HandleToggleWebviewSignin() { |
+ if (StartupUtils::EnableWebviewSignin( |
+ !StartupUtils::IsWebviewSigninEnabled())) { |
+ chrome::AttemptRestart(); |
+ } |
+} |
+ |
void GaiaScreenHandler::HandleGaiaUIReady() { |
if (focus_stolen_) { |
// Set focus to the Gaia page. |