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

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

Issue 2757323002: Prevent Media Controls from hiding when the user is interacting via the keyboard (Closed)
Patch Set: rebase Created 3 years, 8 months 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
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 d49d069ca7326b8943b12f03022542c63111bb26..6f9486573087534c2ae416c3800339c59e57f90c 100644
--- a/third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp
+++ b/third_party/WebKit/Source/core/html/shadow/MediaControlsMediaEventListener.cpp
@@ -7,6 +7,7 @@
#include "core/events/Event.h"
#include "core/html/HTMLMediaElement.h"
#include "core/html/media/MediaControls.h"
+#include "core/html/shadow/MediaControlElements.h"
#include "core/html/track/TextTrackList.h"
namespace blink {
@@ -43,6 +44,12 @@ void MediaControlsMediaEventListener::attach() {
textTracks->addEventListener(EventTypeNames::addtrack, this, false);
textTracks->addEventListener(EventTypeNames::change, this, false);
textTracks->addEventListener(EventTypeNames::removetrack, this, false);
+
+ // Keypress events.
+ if (m_mediaControls->panelElement()) {
+ m_mediaControls->panelElement()->addEventListener(EventTypeNames::keypress,
+ this, false);
+ }
}
void MediaControlsMediaEventListener::detach() {
@@ -55,6 +62,11 @@ void MediaControlsMediaEventListener::detach() {
textTracks->removeEventListener(EventTypeNames::addtrack, this, false);
textTracks->removeEventListener(EventTypeNames::change, this, false);
textTracks->removeEventListener(EventTypeNames::removetrack, this, false);
+
+ if (m_mediaControls->panelElement()) {
+ m_mediaControls->panelElement()->removeEventListener(
+ EventTypeNames::keypress, this, false);
+ }
}
bool MediaControlsMediaEventListener::operator==(
@@ -127,6 +139,13 @@ void MediaControlsMediaEventListener::handleEvent(
return;
}
+ // Keypress events.
+ if (event->type() == EventTypeNames::keypress) {
+ if (event->currentTarget() == m_mediaControls->panelElement())
+ m_mediaControls->onPanelKeypress();
+ return;
+ }
+
NOTREACHED();
}

Powered by Google App Engine
This is Rietveld 408576698