Index: ash/shelf/shelf_layout_manager.cc |
diff --git a/ash/shelf/shelf_layout_manager.cc b/ash/shelf/shelf_layout_manager.cc |
index 0ab2ec305b1294468aca9f80cf403c63810aeac2..d7d10ce08ee2bc87007fb2c6150e67125c2a358b 100644 |
--- a/ash/shelf/shelf_layout_manager.cc |
+++ b/ash/shelf/shelf_layout_manager.cc |
@@ -433,9 +433,10 @@ void ShelfLayoutManager::OnKeyboardBoundsChanging(const gfx::Rect& new_bounds) { |
// If new window behavior flag enabled and in non-sticky mode, do not change |
// the work area. |
bool change_work_area = |
- (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
- ::switches::kUseNewVirtualKeyboardBehavior) || |
- keyboard::KeyboardController::GetInstance()->keyboard_locked()); |
+ (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ ::switches::kDisableNewVirtualKeyboardBehavior) || |
+ (keyboard::KeyboardController::GetInstance() && |
+ keyboard::KeyboardController::GetInstance()->keyboard_locked())); |
keyboard_bounds_ = new_bounds; |
LayoutShelfAndUpdateBounds(change_work_area); |