Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(485)

Unified Diff: third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp

Issue 2592443002: Media Controls: use events to enter/exit fullscreen. (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp
diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp b/third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp
index b2a71ec36714383e6fb02d20d98032540c95e9d1..7d2034368e868ae6caf1f848d5be7eb40a107a9a 100644
--- a/third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp
+++ b/third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp
@@ -14,25 +14,24 @@ namespace blink {
MediaControlsMediaEventListener::MediaControlsMediaEventListener(
MediaControls* mediaControls)
: EventListener(CPPEventListenerType), m_mediaControls(mediaControls) {
- m_mediaControls->m_mediaElement->addEventListener(
- EventTypeNames::volumechange, this, false);
- m_mediaControls->m_mediaElement->addEventListener(EventTypeNames::focusin,
- this, false);
- m_mediaControls->m_mediaElement->addEventListener(EventTypeNames::timeupdate,
- this, false);
- m_mediaControls->m_mediaElement->addEventListener(EventTypeNames::play, this,
- false);
- m_mediaControls->m_mediaElement->addEventListener(EventTypeNames::pause, this,
- false);
- m_mediaControls->m_mediaElement->addEventListener(
- EventTypeNames::durationchange, this, false);
- m_mediaControls->m_mediaElement->addEventListener(EventTypeNames::error, this,
- false);
- m_mediaControls->m_mediaElement->addEventListener(
- EventTypeNames::loadedmetadata, this, false);
+ mediaElement().addEventListener(EventTypeNames::volumechange, this, false);
+ mediaElement().addEventListener(EventTypeNames::focusin, this, false);
+ mediaElement().addEventListener(EventTypeNames::timeupdate, this, false);
+ mediaElement().addEventListener(EventTypeNames::play, this, false);
+ mediaElement().addEventListener(EventTypeNames::pause, this, false);
+ mediaElement().addEventListener(EventTypeNames::durationchange, this, false);
+ mediaElement().addEventListener(EventTypeNames::error, this, false);
+ mediaElement().addEventListener(EventTypeNames::loadedmetadata, this, false);
+
+ // Listen to two different fullscreen events in order to make sure the new and
+ // old APIs are handled.
+ mediaElement().addEventListener(EventTypeNames::webkitfullscreenchange, this,
+ false);
+ m_mediaControls->document().addEventListener(EventTypeNames::fullscreenchange,
+ this, false);
// TextTracks events.
- TextTrackList* textTracks = m_mediaControls->m_mediaElement->textTracks();
+ TextTrackList* textTracks = mediaElement().textTracks();
textTracks->addEventListener(EventTypeNames::addtrack, this, false);
textTracks->addEventListener(EventTypeNames::change, this, false);
textTracks->addEventListener(EventTypeNames::removetrack, this, false);
@@ -43,6 +42,10 @@ bool MediaControlsMediaEventListener::operator==(
return this == &other;
}
+HTMLMediaElement& MediaControlsMediaEventListener::mediaElement() {
+ return m_mediaControls->mediaElement();
+}
+
void MediaControlsMediaEventListener::handleEvent(
ExecutionContext* executionContext,
Event* event) {
@@ -79,6 +82,16 @@ void MediaControlsMediaEventListener::handleEvent(
return;
}
+ // Fullscreen handling.
+ if (event->type() == EventTypeNames::fullscreenchange ||
+ event->type() == EventTypeNames::webkitfullscreenchange) {
+ if (mediaElement().isFullscreen())
Zhiqiang Zhang (Slow) 2016/12/20 11:45:29 I think MediaControlsOrientationLockDelegate has s
mlamouri (slow - plz ping) 2016/12/20 12:15:44 I think having both listen to the event is fine. T
+ m_mediaControls->onEnteredFullscreen();
+ else
+ m_mediaControls->onExitedFullscreen();
+ return;
+ }
+
// TextTracks events.
if (event->type() == EventTypeNames::addtrack ||
event->type() == EventTypeNames::removetrack) {
« no previous file with comments | « third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698