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

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

Issue 2820633003: Media Controls: move simple buttons to modules/. (Closed)
Patch Set: 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/MediaControlElements.cpp
diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
index c5fe80b18718cf415f617d23cbd2c659397eb31b..5589d058f49a9bc93b0e3942b292b5ce3a244f89 100644
--- a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
+++ b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
@@ -111,178 +111,6 @@ Element* ElementFromCenter(Element& element) {
} // anonymous namespace
-MediaControlPlayButtonElement::MediaControlPlayButtonElement(
- MediaControls& media_controls)
- : MediaControlInputElement(media_controls, kMediaPlayButton) {}
-
-MediaControlPlayButtonElement* MediaControlPlayButtonElement::Create(
- MediaControls& media_controls) {
- MediaControlPlayButtonElement* button =
- new MediaControlPlayButtonElement(media_controls);
- button->EnsureUserAgentShadowRoot();
- button->setType(InputTypeNames::button);
- button->SetShadowPseudoId(AtomicString("-webkit-media-controls-play-button"));
- return button;
-}
-
-void MediaControlPlayButtonElement::DefaultEventHandler(Event* event) {
- if (event->type() == EventTypeNames::click) {
- if (MediaElement().paused())
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.Play"));
- else
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.Pause"));
-
- // Allow play attempts for plain src= media to force a reload in the error
- // state. This allows potential recovery for transient network and decoder
- // resource issues.
- const String& url = MediaElement().currentSrc().GetString();
- if (MediaElement().error() && !HTMLMediaElement::IsMediaStreamURL(url) &&
- !HTMLMediaSource::Lookup(url))
- MediaElement().load();
-
- MediaElement().TogglePlayState();
- UpdateDisplayType();
- event->SetDefaultHandled();
- }
- MediaControlInputElement::DefaultEventHandler(event);
-}
-
-void MediaControlPlayButtonElement::UpdateDisplayType() {
- SetDisplayType(MediaElement().paused() ? kMediaPlayButton
- : kMediaPauseButton);
- UpdateOverflowString();
-}
-
-WebLocalizedString::Name
-MediaControlPlayButtonElement::GetOverflowStringName() {
- if (MediaElement().paused())
- return WebLocalizedString::kOverflowMenuPlay;
- return WebLocalizedString::kOverflowMenuPause;
-}
-
-// ----------------------------
-
-MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement(
- MediaControls& media_controls)
- : MediaControlInputElement(media_controls, kMediaOverlayPlayButton) {}
-
-MediaControlOverlayPlayButtonElement*
-MediaControlOverlayPlayButtonElement::Create(MediaControls& media_controls) {
- MediaControlOverlayPlayButtonElement* button =
- new MediaControlOverlayPlayButtonElement(media_controls);
- button->EnsureUserAgentShadowRoot();
- button->setType(InputTypeNames::button);
- button->SetShadowPseudoId(
- AtomicString("-webkit-media-controls-overlay-play-button"));
- return button;
-}
-
-void MediaControlOverlayPlayButtonElement::DefaultEventHandler(Event* event) {
- if (event->type() == EventTypeNames::click && MediaElement().paused()) {
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.PlayOverlay"));
- MediaElement().Play();
- UpdateDisplayType();
- event->SetDefaultHandled();
- }
-}
-
-void MediaControlOverlayPlayButtonElement::UpdateDisplayType() {
- SetIsWanted(MediaElement().ShouldShowControls() && MediaElement().paused());
-}
-
-bool MediaControlOverlayPlayButtonElement::KeepEventInNode(Event* event) {
- return IsUserInteractionEvent(event);
-}
-
-// ----------------------------
-
-MediaControlToggleClosedCaptionsButtonElement::
- MediaControlToggleClosedCaptionsButtonElement(MediaControls& media_controls)
- : MediaControlInputElement(media_controls, kMediaShowClosedCaptionsButton) {
-}
-
-MediaControlToggleClosedCaptionsButtonElement*
-MediaControlToggleClosedCaptionsButtonElement::Create(
- MediaControls& media_controls) {
- MediaControlToggleClosedCaptionsButtonElement* button =
- new MediaControlToggleClosedCaptionsButtonElement(media_controls);
- button->EnsureUserAgentShadowRoot();
- button->setType(InputTypeNames::button);
- button->SetShadowPseudoId(
- AtomicString("-webkit-media-controls-toggle-closed-captions-button"));
- button->SetIsWanted(false);
- return button;
-}
-
-void MediaControlToggleClosedCaptionsButtonElement::UpdateDisplayType() {
- bool captions_visible = MediaElement().TextTracksVisible();
- SetDisplayType(captions_visible ? kMediaHideClosedCaptionsButton
- : kMediaShowClosedCaptionsButton);
-}
-
-void MediaControlToggleClosedCaptionsButtonElement::DefaultEventHandler(
- Event* event) {
- if (event->type() == EventTypeNames::click) {
- if (MediaElement().textTracks()->length() == 1) {
- // If only one track exists, toggle it on/off
- if (MediaElement().textTracks()->HasShowingTracks()) {
- GetMediaControls().DisableShowingTextTracks();
- } else {
- GetMediaControls().ShowTextTrackAtIndex(0);
- }
- } else {
- GetMediaControls().ToggleTextTrackList();
- }
-
- UpdateDisplayType();
- event->SetDefaultHandled();
- }
-
- MediaControlInputElement::DefaultEventHandler(event);
-}
-
-WebLocalizedString::Name
-MediaControlToggleClosedCaptionsButtonElement::GetOverflowStringName() {
- return WebLocalizedString::kOverflowMenuCaptions;
-}
-
-// ----------------------------
-
-MediaControlOverflowMenuButtonElement::MediaControlOverflowMenuButtonElement(
- MediaControls& media_controls)
- : MediaControlInputElement(media_controls, kMediaOverflowButton) {}
-
-MediaControlOverflowMenuButtonElement*
-MediaControlOverflowMenuButtonElement::Create(MediaControls& media_controls) {
- MediaControlOverflowMenuButtonElement* button =
- new MediaControlOverflowMenuButtonElement(media_controls);
- button->EnsureUserAgentShadowRoot();
- button->setType(InputTypeNames::button);
- button->SetShadowPseudoId(
- AtomicString("-internal-media-controls-overflow-button"));
- button->SetIsWanted(false);
- return button;
-}
-
-void MediaControlOverflowMenuButtonElement::DefaultEventHandler(Event* event) {
- if (event->type() == EventTypeNames::click) {
- if (GetMediaControls().OverflowMenuVisible())
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.OverflowClose"));
- else
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.OverflowOpen"));
-
- GetMediaControls().ToggleOverflowMenu();
- event->SetDefaultHandled();
- }
-
- MediaControlInputElement::DefaultEventHandler(event);
-}
-
// ----------------------------
MediaControlDownloadButtonElement::MediaControlDownloadButtonElement(
MediaControls& media_controls)
@@ -595,64 +423,6 @@ bool MediaControlVolumeSliderElement::KeepEventInNode(Event* event) {
// ----------------------------
-MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(
- MediaControls& media_controls)
- : MediaControlInputElement(media_controls, kMediaEnterFullscreenButton) {}
-
-MediaControlFullscreenButtonElement*
-MediaControlFullscreenButtonElement::Create(MediaControls& media_controls) {
- MediaControlFullscreenButtonElement* button =
- new MediaControlFullscreenButtonElement(media_controls);
- button->EnsureUserAgentShadowRoot();
- button->setType(InputTypeNames::button);
- button->SetShadowPseudoId(
- AtomicString("-webkit-media-controls-fullscreen-button"));
- button->SetIsFullscreen(media_controls.MediaElement().IsFullscreen());
- button->SetIsWanted(false);
- return button;
-}
-
-void MediaControlFullscreenButtonElement::DefaultEventHandler(Event* event) {
- if (event->type() == EventTypeNames::click) {
- bool is_embedded_experience_enabled =
- GetDocument().GetSettings() &&
- GetDocument().GetSettings()->GetEmbeddedMediaExperienceEnabled();
- if (MediaElement().IsFullscreen()) {
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.ExitFullscreen"));
- if (is_embedded_experience_enabled) {
- Platform::Current()->RecordAction(UserMetricsAction(
- "Media.Controls.ExitFullscreen.EmbeddedExperience"));
- }
- GetMediaControls().ExitFullscreen();
- } else {
- Platform::Current()->RecordAction(
- UserMetricsAction("Media.Controls.EnterFullscreen"));
- if (is_embedded_experience_enabled) {
- Platform::Current()->RecordAction(UserMetricsAction(
- "Media.Controls.EnterFullscreen.EmbeddedExperience"));
- }
- GetMediaControls().EnterFullscreen();
- }
- event->SetDefaultHandled();
- }
- MediaControlInputElement::DefaultEventHandler(event);
-}
-
-void MediaControlFullscreenButtonElement::SetIsFullscreen(bool is_fullscreen) {
- SetDisplayType(is_fullscreen ? kMediaExitFullscreenButton
- : kMediaEnterFullscreenButton);
-}
-
-WebLocalizedString::Name
-MediaControlFullscreenButtonElement::GetOverflowStringName() {
- if (MediaElement().IsFullscreen())
- return WebLocalizedString::kOverflowMenuExitFullscreen;
- return WebLocalizedString::kOverflowMenuEnterFullscreen;
-}
-
-// ----------------------------
-
MediaControlCastButtonElement::MediaControlCastButtonElement(
MediaControls& media_controls,
bool is_overlay_button)

Powered by Google App Engine
This is Rietveld 408576698