diff options
author | kevers@chromium.org <kevers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-07 19:26:03 +0000 |
---|---|---|
committer | kevers@chromium.org <kevers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-07 19:26:03 +0000 |
commit | a0b3fb8891adc6ffba760a91acae0c98b23c92a0 (patch) | |
tree | 04ad1d49422b98ac6c0f52dd1c1c0b46530536fd /ash/shell.cc | |
parent | 6b6c0acee895c03e9aa71bb99b40ffb1e1f6cd13 (diff) | |
download | chromium_src-a0b3fb8891adc6ffba760a91acae0c98b23c92a0.zip chromium_src-a0b3fb8891adc6ffba760a91acae0c98b23c92a0.tar.gz chromium_src-a0b3fb8891adc6ffba760a91acae0c98b23c92a0.tar.bz2 |
Make keyboard controller a singleton.
BUG=358191
Review URL: https://codereview.chromium.org/219503003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262177 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r-- | ash/shell.cc | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/ash/shell.cc b/ash/shell.cc index f297ca2..bdc9c57 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -410,22 +410,22 @@ void Shell::CreateKeyboard() { InitKeyboard(); if (keyboard::IsKeyboardUsabilityExperimentEnabled()) { display_controller()->virtual_keyboard_window_controller()-> - ActivateKeyboard(keyboard_controller_.get()); + ActivateKeyboard(keyboard::KeyboardController::GetInstance()); } else { GetPrimaryRootWindowController()-> - ActivateKeyboard(keyboard_controller_.get()); + ActivateKeyboard(keyboard::KeyboardController::GetInstance()); } } void Shell::DeactivateKeyboard() { - if (keyboard_controller_.get()) { + if (keyboard::KeyboardController::GetInstance()) { RootWindowControllerList controllers = GetAllRootWindowControllers(); for (RootWindowControllerList::iterator iter = controllers.begin(); iter != controllers.end(); ++iter) { - (*iter)->DeactivateKeyboard(keyboard_controller_.get()); + (*iter)->DeactivateKeyboard(keyboard::KeyboardController::GetInstance()); } } - keyboard_controller_.reset(); + keyboard::KeyboardController::ResetInstance(NULL); } void Shell::ShowShelf() { @@ -753,12 +753,12 @@ Shell::~Shell() { display_controller_->Shutdown(); display_controller_.reset(); screen_position_controller_.reset(); - - keyboard_controller_.reset(); accessibility_delegate_.reset(); new_window_delegate_.reset(); media_delegate_.reset(); + keyboard::KeyboardController::ResetInstance(NULL); + #if defined(OS_CHROMEOS) if (display_change_observer_) output_configurator_->RemoveObserver(display_change_observer_.get()); @@ -1023,16 +1023,17 @@ void Shell::Init() { void Shell::InitKeyboard() { if (keyboard::IsKeyboardEnabled()) { - if (keyboard_controller_.get()) { + if (keyboard::KeyboardController::GetInstance()) { RootWindowControllerList controllers = GetAllRootWindowControllers(); for (RootWindowControllerList::iterator iter = controllers.begin(); iter != controllers.end(); ++iter) { - (*iter)->DeactivateKeyboard(keyboard_controller_.get()); + (*iter)->DeactivateKeyboard( + keyboard::KeyboardController::GetInstance()); } } keyboard::KeyboardControllerProxy* proxy = delegate_->CreateKeyboardControllerProxy(); - keyboard_controller_.reset( + keyboard::KeyboardController::ResetInstance( new keyboard::KeyboardController(proxy)); } } |