| Index: third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
|
| diff --git a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
|
| index 9bf2b7bd75b07965ea592663da13bd45c8245d39..004bc52c19bfd848b3d3945614acdc3e23bd9dd1 100644
|
| --- a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
|
| +++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
|
| @@ -643,6 +643,15 @@ bool MediaControlsImpl::ShouldHideMediaControls(unsigned behavior_flags) const {
|
| if (text_track_list_->IsWanted() || overflow_list_->IsWanted())
|
| return false;
|
|
|
| + // Don't hide the media controls while the in product help is showing.
|
| + if (MediaElement().GetDocument().GetFrame() &&
|
| + MediaElement()
|
| + .GetDocument()
|
| + .GetFrame()
|
| + ->IsDownloadMediaInProductHelpVisibleForElement(MediaElement())) {
|
| + return false;
|
| + }
|
| +
|
| return true;
|
| }
|
|
|
| @@ -971,6 +980,7 @@ void MediaControlsImpl::OnPlay() {
|
| UpdatePlayState();
|
| timeline_->SetPosition(MediaElement().currentTime());
|
| UpdateCurrentTimeDisplay();
|
| + MaybeDispatchDownloadIPHTrigger();
|
| }
|
|
|
| void MediaControlsImpl::OnPlaying() {
|
| @@ -1216,6 +1226,31 @@ void MediaControlsImpl::HideAllMenus() {
|
| text_track_list_->SetVisible(false);
|
| }
|
|
|
| +void MediaControlsImpl::MaybeDispatchDownloadIPHTrigger() {
|
| + if (download_button_->IsWanted() && !MediaElement().paused() &&
|
| + MediaElement().GetDocument().GetFrame()) {
|
| + MediaElement().GetDocument().GetFrame()->ShowDownloadMediaInProductHelp(
|
| + MediaElement());
|
| + if (!ShouldHideMediaControls())
|
| + MaybeShow();
|
| + }
|
| +}
|
| +
|
| +bool MediaControlsImpl::GetDownloadButtonRect(IntRect& rect) {
|
| + if (!IsVisible())
|
| + return false;
|
| + if (!download_button_->IsWanted())
|
| + return false;
|
| +
|
| + rect = download_button_->VisibleBoundsInVisualViewport();
|
| + return true;
|
| +}
|
| +
|
| +void MediaControlsImpl::InProductHelpDisabled() {
|
| + if (ShouldHideMediaControls())
|
| + StartHideMediaControlsTimer();
|
| +}
|
| +
|
| DEFINE_TRACE(MediaControlsImpl) {
|
| visitor->Trace(element_mutation_callback_);
|
| visitor->Trace(resize_observer_);
|
|
|