Index: ash/root_window_controller.cc |
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc |
index ffa91d080afd64cc917d1558da69f1c4f6397118..45c0f7a6372d750e7f0a6d9088f6c7024f9a02d4 100644 |
--- a/ash/root_window_controller.cc |
+++ b/ash/root_window_controller.cc |
@@ -542,9 +542,11 @@ void RootWindowController::ActivateKeyboard( |
return; |
} |
DCHECK(keyboard_controller); |
- keyboard_controller->AddObserver(shelf()->shelf_layout_manager()); |
- keyboard_controller->AddObserver(panel_layout_manager_); |
- keyboard_controller->AddObserver(docked_layout_manager_); |
+ if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) { |
+ keyboard_controller->AddObserver(shelf()->shelf_layout_manager()); |
+ keyboard_controller->AddObserver(panel_layout_manager_); |
+ keyboard_controller->AddObserver(docked_layout_manager_); |
+ } |
aura::Window* parent = root_window(); |
aura::Window* keyboard_container = |
keyboard_controller->GetContainerWindow(); |
@@ -565,9 +567,11 @@ void RootWindowController::DeactivateKeyboard( |
keyboard_controller->GetContainerWindow(); |
if (keyboard_container->GetRootWindow() == root_window()) { |
root_window()->RemoveChild(keyboard_container); |
- keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager()); |
- keyboard_controller->RemoveObserver(panel_layout_manager_); |
- keyboard_controller->RemoveObserver(docked_layout_manager_); |
+ if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) { |
+ keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager()); |
+ keyboard_controller->RemoveObserver(panel_layout_manager_); |
+ keyboard_controller->RemoveObserver(docked_layout_manager_); |
+ } |
} |
} |
@@ -593,13 +597,16 @@ RootWindowController::RootWindowController(aura::RootWindow* root_window) |
void RootWindowController::Init(RootWindowType root_window_type, |
bool first_run_after_boot) { |
- Shell::GetInstance()->InitRootWindow(root_window()); |
+ Shell* shell = Shell::GetInstance(); |
+ shell->InitRootWindow(root_window()); |
root_window_->SetCursor(ui::kCursorPointer); |
CreateContainersInRootWindow(root_window_->window()); |
- if (root_window_type == VIRTUAL_KEYBOARD) |
+ if (root_window_type == VIRTUAL_KEYBOARD) { |
+ shell->InitKeyboard(); |
return; |
+ } |
CreateSystemBackground(first_run_after_boot); |
@@ -611,12 +618,12 @@ void RootWindowController::Init(RootWindowType root_window_type, |
GetSystemModalLayoutManager(NULL)->CreateModalBackground(); |
} |
- Shell* shell = Shell::GetInstance(); |
shell->AddShellObserver(this); |
if (root_window_type == PRIMARY) { |
root_window_layout()->OnWindowResized(); |
- shell->InitKeyboard(this); |
+ if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) |
+ shell->InitKeyboard(); |
} else { |
root_window_layout()->OnWindowResized(); |
shell->desktop_background_controller()->OnRootWindowAdded(root_window()); |