OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "modules/media_controls/MediaControlsMediaEventListener.h" | 5 #include "modules/media_controls/MediaControlsMediaEventListener.h" |
6 | 6 |
7 #include "core/events/Event.h" | 7 #include "core/events/Event.h" |
8 #include "core/html/HTMLMediaElement.h" | 8 #include "core/html/HTMLMediaElement.h" |
9 #include "core/html/track/TextTrackList.h" | 9 #include "core/html/track/TextTrackList.h" |
10 #include "modules/media_controls/MediaControlsImpl.h" | 10 #include "modules/media_controls/MediaControlsImpl.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 GetMediaElement().addEventListener(EventTypeNames::focusin, this, false); | 25 GetMediaElement().addEventListener(EventTypeNames::focusin, this, false); |
26 GetMediaElement().addEventListener(EventTypeNames::timeupdate, this, false); | 26 GetMediaElement().addEventListener(EventTypeNames::timeupdate, this, false); |
27 GetMediaElement().addEventListener(EventTypeNames::play, this, false); | 27 GetMediaElement().addEventListener(EventTypeNames::play, this, false); |
28 GetMediaElement().addEventListener(EventTypeNames::playing, this, false); | 28 GetMediaElement().addEventListener(EventTypeNames::playing, this, false); |
29 GetMediaElement().addEventListener(EventTypeNames::pause, this, false); | 29 GetMediaElement().addEventListener(EventTypeNames::pause, this, false); |
30 GetMediaElement().addEventListener(EventTypeNames::durationchange, this, | 30 GetMediaElement().addEventListener(EventTypeNames::durationchange, this, |
31 false); | 31 false); |
32 GetMediaElement().addEventListener(EventTypeNames::error, this, false); | 32 GetMediaElement().addEventListener(EventTypeNames::error, this, false); |
33 GetMediaElement().addEventListener(EventTypeNames::loadedmetadata, this, | 33 GetMediaElement().addEventListener(EventTypeNames::loadedmetadata, this, |
34 false); | 34 false); |
| 35 GetMediaElement().addEventListener(EventTypeNames::keypress, this, false); |
| 36 GetMediaElement().addEventListener(EventTypeNames::keydown, this, false); |
| 37 GetMediaElement().addEventListener(EventTypeNames::keyup, this, false); |
35 | 38 |
36 // Listen to two different fullscreen events in order to make sure the new and | 39 // Listen to two different fullscreen events in order to make sure the new and |
37 // old APIs are handled. | 40 // old APIs are handled. |
38 GetMediaElement().addEventListener(EventTypeNames::webkitfullscreenchange, | 41 GetMediaElement().addEventListener(EventTypeNames::webkitfullscreenchange, |
39 this, false); | 42 this, false); |
40 media_controls_->GetDocument().addEventListener( | 43 media_controls_->GetDocument().addEventListener( |
41 EventTypeNames::fullscreenchange, this, false); | 44 EventTypeNames::fullscreenchange, this, false); |
42 | 45 |
43 // TextTracks events. | 46 // TextTracks events. |
44 TextTrackList* text_tracks = GetMediaElement().textTracks(); | 47 TextTrackList* text_tracks = GetMediaElement().textTracks(); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 media_controls_->OnTextTracksAddedOrRemoved(); | 138 media_controls_->OnTextTracksAddedOrRemoved(); |
136 return; | 139 return; |
137 } | 140 } |
138 if (event->type() == EventTypeNames::change) { | 141 if (event->type() == EventTypeNames::change) { |
139 media_controls_->OnTextTracksChanged(); | 142 media_controls_->OnTextTracksChanged(); |
140 return; | 143 return; |
141 } | 144 } |
142 | 145 |
143 // Keypress events. | 146 // Keypress events. |
144 if (event->type() == EventTypeNames::keypress) { | 147 if (event->type() == EventTypeNames::keypress) { |
145 if (event->currentTarget() == media_controls_->PanelElement()) | 148 if (event->currentTarget() == media_controls_->PanelElement()) { |
146 media_controls_->OnPanelKeypress(); | 149 media_controls_->OnPanelKeypress(); |
| 150 return; |
| 151 } |
| 152 } |
| 153 |
| 154 if (event->type() == EventTypeNames::keypress || |
| 155 event->type() == EventTypeNames::keydown || |
| 156 event->type() == EventTypeNames::keyup) { |
| 157 media_controls_->OnMediaKeyboardEvent(event); |
147 return; | 158 return; |
148 } | 159 } |
149 | 160 |
150 NOTREACHED(); | 161 NOTREACHED(); |
151 } | 162 } |
152 | 163 |
153 DEFINE_TRACE(MediaControlsMediaEventListener) { | 164 DEFINE_TRACE(MediaControlsMediaEventListener) { |
154 EventListener::Trace(visitor); | 165 EventListener::Trace(visitor); |
155 visitor->Trace(media_controls_); | 166 visitor->Trace(media_controls_); |
156 } | 167 } |
157 | 168 |
158 } // namespace blink | 169 } // namespace blink |
OLD | NEW |