summaryrefslogtreecommitdiffstats
path: root/ash/shell.cc
diff options
context:
space:
mode:
authorkevers@chromium.org <kevers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-07 19:26:03 +0000
committerkevers@chromium.org <kevers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-07 19:26:03 +0000
commita0b3fb8891adc6ffba760a91acae0c98b23c92a0 (patch)
tree04ad1d49422b98ac6c0f52dd1c1c0b46530536fd /ash/shell.cc
parent6b6c0acee895c03e9aa71bb99b40ffb1e1f6cd13 (diff)
downloadchromium_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.cc21
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));
}
}