summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc19
1 files changed, 18 insertions, 1 deletions
diff --git a/chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc b/chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc
index cb7d4e67ef0..710ecb69070 100644
--- a/chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc
+++ b/chromium/third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_list_element.cc
@@ -6,10 +6,13 @@
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/core/dom/document.h"
+#include "third_party/blink/renderer/core/dom/dom_token_list.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
+#include "third_party/blink/renderer/modules/media_controls/elements/media_control_consts.h"
#include "third_party/blink/renderer/modules/media_controls/elements/media_control_overflow_menu_button_element.h"
#include "third_party/blink/renderer/modules/media_controls/media_controls_impl.h"
#include "third_party/blink/renderer/platform/histogram.h"
+#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
@@ -18,6 +21,15 @@ MediaControlOverflowMenuListElement::MediaControlOverflowMenuListElement(
: MediaControlPopupMenuElement(media_controls, kMediaOverflowList) {
SetShadowPseudoId(
AtomicString("-internal-media-controls-overflow-menu-list"));
+ CloseOverflowMenu();
+}
+
+void MediaControlOverflowMenuListElement::OpenOverflowMenu() {
+ classList().Remove(kClosedCSSClass);
+}
+
+void MediaControlOverflowMenuListElement::CloseOverflowMenu() {
+ classList().Add(kClosedCSSClass);
}
void MediaControlOverflowMenuListElement::MaybeRecordTimeTaken(
@@ -38,7 +50,7 @@ void MediaControlOverflowMenuListElement::MaybeRecordTimeTaken(
}
void MediaControlOverflowMenuListElement::DefaultEventHandler(Event& event) {
- if (event.type() == EventTypeNames::click)
+ if (event.type() == event_type_names::kClick)
event.SetDefaultHandled();
MediaControlPopupMenuElement::DefaultEventHandler(event);
@@ -47,6 +59,11 @@ void MediaControlOverflowMenuListElement::DefaultEventHandler(Event& event) {
void MediaControlOverflowMenuListElement::SetIsWanted(bool wanted) {
MediaControlPopupMenuElement::SetIsWanted(wanted);
+ if (wanted)
+ OpenOverflowMenu();
+ else if (!GetMediaControls().TextTrackListIsWanted())
+ CloseOverflowMenu();
+
// Record the time the overflow menu was shown to a histogram.
if (wanted) {
DCHECK(!time_shown_);