OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/root_window_controller.h" | 5 #include "ash/root_window_controller.h" |
6 | 6 |
7 #include <queue> | 7 #include <queue> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_constants.h" | 10 #include "ash/ash_constants.h" |
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 keyboard::KeyboardController* keyboard_controller) { | 615 keyboard::KeyboardController* keyboard_controller) { |
616 if (!keyboard_controller || | 616 if (!keyboard_controller || |
617 !keyboard_controller->keyboard_container_initialized()) { | 617 !keyboard_controller->keyboard_container_initialized()) { |
618 return; | 618 return; |
619 } | 619 } |
620 aura::Window* keyboard_container = | 620 aura::Window* keyboard_container = |
621 keyboard_controller->GetContainerWindow(); | 621 keyboard_controller->GetContainerWindow(); |
622 if (keyboard_container->GetRootWindow() == root_window()) { | 622 if (keyboard_container->GetRootWindow() == root_window()) { |
623 root_window()->RemoveChild(keyboard_container); | 623 root_window()->RemoveChild(keyboard_container); |
624 if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) { | 624 if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) { |
| 625 // Virtual keyboard may be deactivated while still showing, notify all |
| 626 // observers that keyboard bounds changed to 0 before remove them. |
| 627 keyboard_controller->NotifyKeyboardBoundsChanging(gfx::Rect()); |
625 keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager()); | 628 keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager()); |
626 keyboard_controller->RemoveObserver(panel_layout_manager_); | 629 keyboard_controller->RemoveObserver(panel_layout_manager_); |
627 keyboard_controller->RemoveObserver(docked_layout_manager_); | 630 keyboard_controller->RemoveObserver(docked_layout_manager_); |
628 } | 631 } |
629 } | 632 } |
630 } | 633 } |
631 | 634 |
632 //////////////////////////////////////////////////////////////////////////////// | 635 //////////////////////////////////////////////////////////////////////////////// |
633 // RootWindowController, private: | 636 // RootWindowController, private: |
634 | 637 |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
976 DisableTouchHudProjection(); | 979 DisableTouchHudProjection(); |
977 } | 980 } |
978 | 981 |
979 RootWindowController* GetRootWindowController( | 982 RootWindowController* GetRootWindowController( |
980 const aura::Window* root_window) { | 983 const aura::Window* root_window) { |
981 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; | 984 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; |
982 } | 985 } |
983 | 986 |
984 } // namespace internal | 987 } // namespace internal |
985 } // namespace ash | 988 } // namespace ash |
OLD | NEW |