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

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

Issue 2293273002: Add a download button to the media player (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@media-controls
Patch Set: Created 4 years, 3 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 7b3cb56bd34b823b2c7f678f2f789f2210cad641..e1ed80c3699d370c24aa5d41402d28839550eef8 100644
--- a/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
+++ b/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
@@ -627,6 +627,42 @@ void MediaControlOverflowMenuListElement::defaultEventHandler(Event* event)
}
// ----------------------------
+MediaControlDownloadButtonElement::MediaControlDownloadButtonElement(MediaControls& mediaControls)
+ : MediaControlInputElement(mediaControls, MediaDownloadButton)
+{
+}
+
+MediaControlDownloadButtonElement* MediaControlDownloadButtonElement::create(MediaControls& mediaControls, Document* document)
+{
+ MediaControlDownloadButtonElement* button = new MediaControlDownloadButtonElement(mediaControls);
+ button->ensureUserAgentShadowRoot();
+ button->setType(InputTypeNames::button);
+ button->setShadowPseudoId(AtomicString("-internal-download-button"));
+ button->setIsWanted(false);
+ return button;
+}
+
+WebLocalizedString::Name MediaControlDownloadButtonElement::getOverflowStringName()
+{
+ return WebLocalizedString::OverflowMenuDownload;
+}
+
+bool MediaControlDownloadButtonElement::shouldDisplayDownloadButton()
+{
+ const KURL& url = mediaElement().currentSrc();
+ if (!HTMLMediaElement::isMediaStreamURL(url.getString()) && !url.protocolIs("blob") && !HTMLMediaSource::lookup(url)) {
+ return true;
+ }
+ return false;
+}
+
+void MediaControlDownloadButtonElement::defaultEventHandler(Event* event)
+{
+ // TODO(kdsilva): The implementation will be finished as part of
+ // https://crbug.com/601247
+}
+
+// ----------------------------
MediaControlTimelineElement::MediaControlTimelineElement(MediaControls& mediaControls)
: MediaControlInputElement(mediaControls, MediaSlider)

Powered by Google App Engine
This is Rietveld 408576698