Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
index 5151a9a92556ec71643203342427d9d1075f0027..5eeff9c7d255667564ddb44722582aaad0182063 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -299,6 +299,9 @@ SigninScreenHandler::SigninScreenHandler( |
if (keyboard) |
keyboard->AddObserver(this); |
+ max_mode_delegate_.reset(new TouchViewControllerDelegate()); |
+ max_mode_delegate_->AddObserver(this); |
+ |
policy::ConsumerManagementService* consumer_management = |
g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
GetConsumerManagementService(); |
@@ -317,6 +320,8 @@ SigninScreenHandler::~SigninScreenHandler() { |
if (delegate_) |
delegate_->SetWebUIHandler(NULL); |
network_state_informer_->RemoveObserver(this); |
+ max_mode_delegate_->RemoveObserver(this); |
+ max_mode_delegate_.reset(NULL); |
ScreenlockBridge::Get()->SetLockHandler(NULL); |
} |
@@ -771,6 +776,8 @@ void SigninScreenHandler::RegisterMessages() { |
&SigninScreenHandler::HandleGetPublicSessionKeyboardLayouts); |
AddCallback("cancelConsumerManagementEnrollment", |
&SigninScreenHandler::HandleCancelConsumerManagementEnrollment); |
+ AddCallback("getTouchViewState", |
+ &SigninScreenHandler::HandleGetTouchViewState); |
// This message is sent by the kiosk app menu, but is handled here |
@@ -971,6 +978,14 @@ void SigninScreenHandler::Unlock(const std::string& user_email) { |
ScreenLocker::Hide(); |
} |
+void SigninScreenHandler::OnMaximizeModeStarted() { |
+ CallJS("login.AccountPickerScreen.setTouchViewState", true); |
+} |
+ |
+void SigninScreenHandler::OnMaximizeModeEnded() { |
+ CallJS("login.AccountPickerScreen.setTouchViewState", false); |
+} |
+ |
bool SigninScreenHandler::ShouldLoadGaia() const { |
// Fetching of the extension is not started before account picker page is |
// loaded because it can affect the loading speed. |
@@ -1368,6 +1383,11 @@ void SigninScreenHandler::HandleCancelConsumerManagementEnrollment() { |
ShowImpl(); |
} |
+void SigninScreenHandler::HandleGetTouchViewState() { |
+ CallJS("login.AccountPickerScreen.setTouchViewState", |
+ max_mode_delegate_->IsMaximizeModeEnabled()); |
+} |
+ |
bool SigninScreenHandler::AllWhitelistedUsersPresent() { |
CrosSettings* cros_settings = CrosSettings::Get(); |
bool allow_new_user = false; |