| Index: chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
|
| index 6e5f600a1776d090c24dcc34e5a1b4ee1ed7b9f8..602ffe72a7e85d25cb8ee2ddca7811df422a7147 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
|
| @@ -5,11 +5,13 @@
|
| #include "chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h"
|
|
|
| #include "ash/magnifier/magnifier_constants.h"
|
| +#include "ash/shell.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
|
| #include "chrome/browser/chromeos/accessibility/magnification_manager.h"
|
| +#include "chrome/browser/chromeos/login/helper.h"
|
| #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
|
| #include "chrome/browser/chromeos/login/wizard_controller.h"
|
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
|
| @@ -23,6 +25,10 @@
|
| #include "chromeos/chromeos_constants.h"
|
| #include "grit/chromium_strings.h"
|
| #include "grit/generated_resources.h"
|
| +#include "ui/gfx/display.h"
|
| +#include "ui/gfx/screen.h"
|
| +#include "ui/gfx/size.h"
|
| +#include "ui/keyboard/keyboard_controller.h"
|
|
|
| namespace {
|
|
|
| @@ -103,6 +109,8 @@ void CoreOobeHandler::Initialize() {
|
| version_info_updater_.StartUpdate(false);
|
| #endif
|
| UpdateDeviceRequisition();
|
| + UpdateKeyboardState();
|
| + UpdateClientAreaSize();
|
| }
|
|
|
| void CoreOobeHandler::RegisterMessages() {
|
| @@ -214,6 +222,14 @@ void CoreOobeHandler::ShowControlBar(bool show) {
|
| CallJS("showControlBar", show);
|
| }
|
|
|
| +void CoreOobeHandler::SetKeyboardState(bool shown) {
|
| + CallJS("setKeyboardState", shown);
|
| +}
|
| +
|
| +void CoreOobeHandler::SetClientAreaSize(int width, int height) {
|
| + CallJS("setClientAreaSize", width, height);
|
| +}
|
| +
|
| void CoreOobeHandler::HandleInitialized() {
|
| oobe_ui_->InitializeHandlers();
|
| }
|
| @@ -345,6 +361,22 @@ void CoreOobeHandler::UpdateDeviceRequisition() {
|
| connector->GetDeviceCloudPolicyManager()->GetDeviceRequisition());
|
| }
|
|
|
| +void CoreOobeHandler::UpdateKeyboardState() {
|
| + if (login::LoginScrollIntoViewEnabled()) {
|
| + keyboard::KeyboardController* keyboard_controller =
|
| + keyboard::KeyboardController::GetInstance();
|
| + if (keyboard_controller) {
|
| + gfx::Rect bounds = keyboard_controller->current_keyboard_bounds();
|
| + SetKeyboardState(!bounds.IsEmpty());
|
| + }
|
| + }
|
| +}
|
| +
|
| +void CoreOobeHandler::UpdateClientAreaSize() {
|
| + const gfx::Size& size = ash::Shell::GetScreen()->GetPrimaryDisplay().size();
|
| + SetClientAreaSize(size.width(), size.height());
|
| +}
|
| +
|
| void CoreOobeHandler::OnAccessibilityStatusChanged(
|
| const AccessibilityStatusEventDetails& details) {
|
| if (details.notification_type == ACCESSIBILITY_MANAGER_SHUTDOWN)
|
|
|