Index: ash/common/wm/system_modal_container_layout_manager.cc |
diff --git a/ash/common/wm/system_modal_container_layout_manager.cc b/ash/common/wm/system_modal_container_layout_manager.cc |
index 46aa21f64721c6c0611b2ff147f7afacbba7689a..4185abf49d47879c1da3b2e1b42f03f23e5157c8 100644 |
--- a/ash/common/wm/system_modal_container_layout_manager.cc |
+++ b/ash/common/wm/system_modal_container_layout_manager.cc |
@@ -44,7 +44,10 @@ SystemModalContainerLayoutManager::SystemModalContainerLayoutManager( |
WmWindow* container) |
: container_(container) {} |
-SystemModalContainerLayoutManager::~SystemModalContainerLayoutManager() {} |
+SystemModalContainerLayoutManager::~SystemModalContainerLayoutManager() { |
+ if (keyboard::KeyboardController::GetInstance()) |
+ keyboard::KeyboardController::GetInstance()->RemoveObserver(this); |
+} |
//////////////////////////////////////////////////////////////////////////////// |
// SystemModalContainerLayoutManager, WmLayoutManager implementation: |
@@ -130,6 +133,8 @@ void SystemModalContainerLayoutManager::OnKeyboardBoundsChanging( |
PositionDialogsAfterWorkAreaResize(); |
} |
+void SystemModalContainerLayoutManager::OnKeyboardClosed() {} |
+ |
bool SystemModalContainerLayoutManager::IsPartOfActiveModalWindow( |
WmWindow* window) { |
return modal_window() && |