Index: ash/wm/workspace/workspace_layout_manager.cc |
diff --git a/ash/wm/workspace/workspace_layout_manager.cc b/ash/wm/workspace/workspace_layout_manager.cc |
index 4da7bbc049739d96ae3c4196d9c96edd4dcdedd2..f697d7dec078369e9473b0e1f123521dadafaebb 100644 |
--- a/ash/wm/workspace/workspace_layout_manager.cc |
+++ b/ash/wm/workspace/workspace_layout_manager.cc |
@@ -140,12 +140,13 @@ void WorkspaceLayoutManager::SetChildBounds(aura::Window* child, |
void WorkspaceLayoutManager::OnKeyboardBoundsChanging( |
const gfx::Rect& new_bounds) { |
- // If new window behavior flag enabled and in non-sticky mode, do not change |
+ // If new window behavior is disable or the keyboard is in sticky mode, change |
// the work area. |
- bool change_work_area = |
- (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
- ::switches::kUseNewVirtualKeyboardBehavior) || |
- keyboard::KeyboardController::GetInstance()->keyboard_locked()); |
+ const bool change_work_area = |
+ (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ ::switches::kDisableNewVirtualKeyboardBehavior) || |
+ (keyboard::KeyboardController::GetInstance() && |
+ keyboard::KeyboardController::GetInstance()->keyboard_locked())); |
if (!change_work_area) |
return; |