Chromium Code Reviews| Index: third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
| diff --git a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp b/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
| index 93b086d7a3009e18700e817fbeb05ed09f3f3aad..17b5d8d5a0484f7819a33cf2f5aafa28bec9e854 100644 |
| --- a/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
| +++ b/third_party/WebKit/Source/core/html/shadow/MediaControls.cpp |
| @@ -120,6 +120,7 @@ MediaControls::MediaControls(HTMLMediaElement& mediaElement) |
| , m_overflowList(nullptr) |
| , m_castButton(nullptr) |
| , m_fullscreenButton(nullptr) |
| + , m_downloadButton(nullptr) |
| , m_hideMediaControlsTimer(this, &MediaControls::hideMediaControlsTimerFired) |
| , m_hideTimerBehaviorFlags(IgnoreNone) |
| , m_isMouseOverControls(false) |
| @@ -234,6 +235,10 @@ void MediaControls::initializeControls() |
| m_fullscreenButton = fullscreenButton; |
| panel->appendChild(fullscreenButton); |
| + MediaControlDownloadButtonElement* downloadButton = MediaControlDownloadButtonElement::create(*this, &document()); |
| + m_downloadButton = downloadButton; |
| + panel->appendChild(downloadButton); |
| + |
| m_panel = panel; |
| enclosure->appendChild(panel); |
| @@ -258,6 +263,7 @@ void MediaControls::initializeControls() |
| m_overflowList->appendChild(m_toggleClosedCaptionsButton->createOverflowElement(*this, MediaControlToggleClosedCaptionsButtonElement::create(*this))); |
| m_overflowList->appendChild(m_fullscreenButton->createOverflowElement(*this, MediaControlFullscreenButtonElement::create(*this))); |
| m_overflowList->appendChild(m_playButton->createOverflowElement(*this, MediaControlPlayButtonElement::create(*this))); |
| + m_overflowList->appendChild(m_downloadButton->createOverflowElement(*this, MediaControlDownloadButtonElement::create(*this, &document()))); |
| } |
| void MediaControls::reset() |
| @@ -300,6 +306,10 @@ void MediaControls::reset() |
| m_fullscreenButton->setIsWanted(shouldShowFullscreenButton(mediaElement())); |
| refreshCastButtonVisibilityWithoutUpdate(); |
| + |
| + if (RuntimeEnabledFeatures::mediaControlsDownloadButtonEnabled()) { |
| + m_downloadButton->setIsWanted(m_downloadButton->shouldDisplayDownloadButton()); |
| + } |
|
mlamouri (slow - plz ping)
2016/09/12 11:06:25
style: no { }
kdsilva
2016/09/12 17:25:49
Done.
|
| } |
| LayoutObject* MediaControls::layoutObjectForTextTrackLayout() |
| @@ -707,6 +717,7 @@ void MediaControls::computeWhichControlsFit() |
| // Exclude m_overflowMenu; we handle it specially. |
| m_playButton.get(), |
| m_fullscreenButton.get(), |
| + m_downloadButton.get(), |
| m_toggleClosedCaptionsButton.get(), |
| m_timeline.get(), |
| m_currentTimeDisplay.get(), |
| @@ -824,6 +835,7 @@ void MediaControls::networkStateChanged() |
| invalidate(m_overlayPlayButton); |
| invalidate(m_muteButton); |
| invalidate(m_fullscreenButton); |
| + invalidate(m_downloadButton); |
| invalidate(m_timeline); |
| invalidate(m_volumeSlider); |
| } |
| @@ -851,6 +863,7 @@ DEFINE_TRACE(MediaControls) |
| visitor->trace(m_volumeSlider); |
| visitor->trace(m_toggleClosedCaptionsButton); |
| visitor->trace(m_fullscreenButton); |
| + visitor->trace(m_downloadButton); |
| visitor->trace(m_durationDisplay); |
| visitor->trace(m_enclosure); |
| visitor->trace(m_textTrackList); |