| Index: third_party/WebKit/Source/core/html/shadow/MediaControlElements.h
|
| diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.h b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.h
|
| index c9aa995280ae8e19d2a823355e5b4e0ec8ad926f..c5e04b6f3d1b36e35cc72def59d3a66e5bdceaef 100644
|
| --- a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.h
|
| +++ b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.h
|
| @@ -31,6 +31,8 @@
|
| #define MediaControlElements_h
|
|
|
| #include "core/html/shadow/MediaControlElementTypes.h"
|
| +#include "public/platform/WebLocalizedString.h"
|
| +#include <set>
|
|
|
| namespace blink {
|
|
|
| @@ -94,6 +96,12 @@ public:
|
| bool willRespondToMouseClickEvents() override { return true; }
|
| void updateDisplayType() override;
|
|
|
| + WebLocalizedString::Name getOverflowStringName() override;
|
| +
|
| + bool hasOverflowButton() override { return true; }
|
| +
|
| + Element* initOverflowButton(MediaControls&) override;
|
| +
|
| private:
|
| explicit MediaControlMuteButtonElement(MediaControls&);
|
|
|
| @@ -140,6 +148,12 @@ public:
|
|
|
| void updateDisplayType() override;
|
|
|
| + WebLocalizedString::Name getOverflowStringName() override;
|
| +
|
| + bool hasOverflowButton() override { return true; }
|
| +
|
| + Element* initOverflowButton(MediaControls&) override;
|
| +
|
| private:
|
| explicit MediaControlToggleClosedCaptionsButtonElement(MediaControls&);
|
|
|
| @@ -173,6 +187,38 @@ private:
|
| };
|
|
|
| // ----------------------------
|
| +// Represents the overflow menu which is displayed when the width of the media
|
| +// player is small enough that at least two buttons are no longer visible.
|
| +class MediaControlOverflowMenuButtonElement final : public MediaControlInputElement {
|
| +public:
|
| + static MediaControlOverflowMenuButtonElement* create(MediaControls&);
|
| +
|
| + // The overflow button should respond to mouse clicks since we want a click
|
| + // to open up the menu.
|
| + bool willRespondToMouseClickEvents() override { return true; }
|
| +
|
| +private:
|
| + explicit MediaControlOverflowMenuButtonElement(MediaControls&);
|
| +
|
| + void defaultEventHandler(Event*) override;
|
| +};
|
| +
|
| +// ----------------------------
|
| +// Holds a list of elements within the overflow menu.
|
| +class MediaControlOverflowMenuListElement final : public MediaControlDivElement {
|
| +public:
|
| + static MediaControlOverflowMenuListElement* create(MediaControls&);
|
| +
|
| + // True to display overflow menu, false to hide.
|
| + void showOverflowMenu(bool);
|
| +
|
| +private:
|
| + explicit MediaControlOverflowMenuListElement(MediaControls&);
|
| +
|
| + void defaultEventHandler(Event*) override;
|
| +};
|
| +
|
| +// ----------------------------
|
|
|
| class MediaControlTimelineElement final : public MediaControlInputElement {
|
| public:
|
| @@ -202,6 +248,12 @@ public:
|
|
|
| void setIsFullscreen(bool);
|
|
|
| + WebLocalizedString::Name getOverflowStringName() override;
|
| +
|
| + bool hasOverflowButton() override { return true; }
|
| +
|
| + Element* initOverflowButton(MediaControls&) override;
|
| +
|
| private:
|
| explicit MediaControlFullscreenButtonElement(MediaControls&);
|
|
|
| @@ -218,6 +270,12 @@ public:
|
|
|
| void setIsPlayingRemotely(bool);
|
|
|
| + WebLocalizedString::Name getOverflowStringName() override;
|
| +
|
| + bool hasOverflowButton() override { return true; }
|
| +
|
| + Element* initOverflowButton(MediaControls&) override;
|
| +
|
| // This will show a cast button if it is not covered by another element.
|
| // This MUST be called for cast button elements that are overlay elements.
|
| void tryShowOverlay();
|
|
|