Index: ash/system/chromeos/tray_caps_lock.cc |
diff --git a/ash/system/chromeos/tray_caps_lock.cc b/ash/system/chromeos/tray_caps_lock.cc |
index 7142a8ecb54e6c52d03a07bc19502e73bd3bcab9..9f4ad87653b1c50c45d2b52ece679bdc9d2ab090 100644 |
--- a/ash/system/chromeos/tray_caps_lock.cc |
+++ b/ash/system/chromeos/tray_caps_lock.cc |
@@ -129,24 +129,27 @@ TrayCapsLock::TrayCapsLock(SystemTray* system_tray) |
detailed_(NULL), |
caps_lock_enabled_(CapsLockIsEnabled()), |
message_shown_(false) { |
- // Make sure the event is processed by this before the IME. |
- Shell::GetInstance()->PrependPreTargetHandler(this); |
+ chromeos::input_method::XKeyboard* xkeyboard = |
+ chromeos::input_method::InputMethodManager::Get()->GetXKeyboard(); |
+ xkeyboard->AddObserver(this); |
} |
TrayCapsLock::~TrayCapsLock() { |
- Shell::GetInstance()->RemovePreTargetHandler(this); |
+ chromeos::input_method::XKeyboard* xkeyboard = |
+ chromeos::input_method::InputMethodManager::Get()->GetXKeyboard(); |
+ xkeyboard->RemoveObserver(this); |
} |
-void TrayCapsLock::OnCapsLockChanged(bool enabled) { |
- if (tray_view()) |
- tray_view()->SetVisible(enabled); |
+void TrayCapsLock::OnCapsLockChanged() { |
+ caps_lock_enabled_ = !caps_lock_enabled_; |
Daniel Erat
2014/04/09 20:27:00
i don't like this -- it seems like it's too easy t
Mr4D (OOO till 08-26)
2014/04/09 23:27:02
Done!
|
- caps_lock_enabled_ = enabled; |
+ if (tray_view()) |
+ tray_view()->SetVisible(caps_lock_enabled_); |
if (default_) { |
- default_->Update(enabled); |
+ default_->Update(caps_lock_enabled_); |
} else { |
- if (enabled) { |
+ if (caps_lock_enabled_) { |
if (!message_shown_) { |
Shell::GetInstance()->metrics()->RecordUserMetricsAction( |
ash::UMA_STATUS_AREA_CAPS_LOCK_POPUP); |
@@ -159,11 +162,6 @@ void TrayCapsLock::OnCapsLockChanged(bool enabled) { |
} |
} |
-void TrayCapsLock::OnKeyEvent(ui::KeyEvent* key) { |
- if (key->type() == ui::ET_KEY_PRESSED && key->key_code() == ui::VKEY_CAPITAL) |
- OnCapsLockChanged(!caps_lock_enabled_); |
-} |
- |
bool TrayCapsLock::GetInitialVisibility() { |
return CapsLockIsEnabled(); |
} |