diff options
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.cc | 19 |
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_); |