| Index: chrome/browser/extensions/global_shortcut_listener_win.cc
|
| diff --git a/chrome/browser/extensions/global_shortcut_listener_win.cc b/chrome/browser/extensions/global_shortcut_listener_win.cc
|
| index 318e06e11a3647f6d13c76995f0f104c3406a340..1518c7e8236f7b184233a928a4abe2fe2bc8291e 100644
|
| --- a/chrome/browser/extensions/global_shortcut_listener_win.cc
|
| +++ b/chrome/browser/extensions/global_shortcut_listener_win.cc
|
| @@ -69,15 +69,9 @@ void GlobalShortcutListenerWin::OnWndProc(HWND hwnd,
|
| instance.Get().NotifyKeyPressed(accelerator);
|
| }
|
|
|
| -void GlobalShortcutListenerWin::RegisterAccelerator(
|
| - const ui::Accelerator& accelerator,
|
| - GlobalShortcutListener::Observer* observer) {
|
| - if (hotkey_ids_.find(accelerator) != hotkey_ids_.end()) {
|
| - // The shortcut has already been registered. Some shortcuts, such as
|
| - // MediaKeys can have multiple targets, all keyed off of the same
|
| - // accelerator.
|
| - return;
|
| - }
|
| +bool GlobalShortcutListenerWin::RegisterAcceleratorImpl(
|
| + const ui::Accelerator& accelerator) {
|
| + DCHECK(hotkey_ids_.find(accelerator) == hotkey_ids_.end());
|
|
|
| int modifiers = 0;
|
| modifiers |= accelerator.IsShiftDown() ? MOD_SHIFT : 0;
|
| @@ -93,22 +87,17 @@ void GlobalShortcutListenerWin::RegisterAccelerator(
|
| if (!success) {
|
| // Most likely error: 1409 (Hotkey already registered).
|
| LOG(ERROR) << "RegisterHotKey failed, error: " << GetLastError();
|
| - return;
|
| + return false;
|
| }
|
|
|
| hotkey_ids_[accelerator] = hotkey_id++;
|
| - GlobalShortcutListener::RegisterAccelerator(accelerator, observer);
|
| + return true;
|
| }
|
|
|
| -void GlobalShortcutListenerWin::UnregisterAccelerator(
|
| - const ui::Accelerator& accelerator,
|
| - GlobalShortcutListener::Observer* observer) {
|
| - // We may get asked to unregister something that we couldn't register (for
|
| - // example if the shortcut was already taken by another app), so we
|
| - // need to handle that gracefully.
|
| +void GlobalShortcutListenerWin::UnregisterAcceleratorImpl(
|
| + const ui::Accelerator& accelerator) {
|
| HotkeyIdMap::iterator it = hotkey_ids_.find(accelerator);
|
| - if (it == hotkey_ids_.end())
|
| - return;
|
| + DCHECK(it != hotkey_ids_.end());
|
|
|
| bool success = !!UnregisterHotKey(
|
| gfx::SingletonHwnd::GetInstance()->hwnd(), it->second);
|
| @@ -117,7 +106,6 @@ void GlobalShortcutListenerWin::UnregisterAccelerator(
|
| DCHECK(success);
|
|
|
| hotkey_ids_.erase(it);
|
| - GlobalShortcutListener::UnregisterAccelerator(accelerator, observer);
|
| }
|
|
|
| } // namespace extensions
|
|
|