| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/base/user_input_monitor.h" | 5 #include "media/base/user_input_monitor.h" |
| 6 | 6 |
| 7 #include "third_party/skia/include/core/SkPoint.h" | 7 #include "third_party/skia/include/core/SkPoint.h" |
| 8 | 8 |
| 9 namespace media { | 9 namespace media { |
| 10 | 10 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 void UserInputMonitor::OnMouseEvent(const SkIPoint& position) { | 64 void UserInputMonitor::OnMouseEvent(const SkIPoint& position) { |
| 65 base::AutoLock auto_lock(lock_); | 65 base::AutoLock auto_lock(lock_); |
| 66 FOR_EACH_OBSERVER( | 66 FOR_EACH_OBSERVER( |
| 67 MouseEventListener, mouse_listeners_, OnMouseMoved(position)); | 67 MouseEventListener, mouse_listeners_, OnMouseMoved(position)); |
| 68 } | 68 } |
| 69 | 69 |
| 70 void UserInputMonitor::OnKeyboardEvent(ui::EventType event, | 70 void UserInputMonitor::OnKeyboardEvent(ui::EventType event, |
| 71 ui::KeyboardCode key_code) { | 71 ui::KeyboardCode key_code) { |
| 72 base::AutoLock auto_lock(lock_); | 72 base::AutoLock auto_lock(lock_); |
| 73 // Updates the pressed keys and maybe notifies the key_stroke_listeners_. | 73 // Updates the pressed keys and maybe notifies the key_stroke_listeners_. |
| 74 // The Mac implementation does not listen to the the key down/up events, but |
| 75 // polls the key state and only notifies UserInputMonitor when a key is down |
| 76 // now but not in the previous polling. So we do not check/update |
| 77 // |pressed_keys_| here. |
| 74 if (event == ui::ET_KEY_PRESSED) { | 78 if (event == ui::ET_KEY_PRESSED) { |
| 79 #if !defined(OS_MACOSX) |
| 75 if (pressed_keys_.find(key_code) != pressed_keys_.end()) | 80 if (pressed_keys_.find(key_code) != pressed_keys_.end()) |
| 76 return; | 81 return; |
| 77 pressed_keys_.insert(key_code); | 82 pressed_keys_.insert(key_code); |
| 83 #endif |
| 84 |
| 78 DVLOG(6) << "Key stroke detected."; | 85 DVLOG(6) << "Key stroke detected."; |
| 79 FOR_EACH_OBSERVER(KeyStrokeListener, key_stroke_listeners_, OnKeyStroke()); | 86 FOR_EACH_OBSERVER(KeyStrokeListener, key_stroke_listeners_, OnKeyStroke()); |
| 80 } else { | 87 } else { |
| 88 #if defined(OS_MACOSX) |
| 89 NOTREACHED(); |
| 90 return; |
| 91 #endif |
| 92 |
| 81 DCHECK_EQ(ui::ET_KEY_RELEASED, event); | 93 DCHECK_EQ(ui::ET_KEY_RELEASED, event); |
| 82 DCHECK(pressed_keys_.find(key_code) != pressed_keys_.end()); | 94 DCHECK(pressed_keys_.find(key_code) != pressed_keys_.end()); |
| 83 pressed_keys_.erase(key_code); | 95 pressed_keys_.erase(key_code); |
| 84 } | 96 } |
| 85 } | 97 } |
| 86 | 98 |
| 87 } // namespace media | 99 } // namespace media |
| OLD | NEW |