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 9dda656be646616934a39358464502cf5fea5e37..6be35f5207fdd7148942936031106ace913283e0 100644 |
--- a/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp |
+++ b/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp |
@@ -581,6 +581,7 @@ void MediaControlsImpl::MaybeShow() { |
// Only make the controls visible if they won't get hidden by OnTimeUpdate. |
if (MediaElement().paused() || !ShouldHideMediaControls()) |
MakeOpaque(); |
+ download_button_->MaybeDispatchInProductHelpTrigger(); |
} |
void MediaControlsImpl::Hide() { |
@@ -588,6 +589,11 @@ void MediaControlsImpl::Hide() { |
panel_->SetIsDisplayed(false); |
if (overlay_play_button_) |
overlay_play_button_->SetIsWanted(false); |
+ download_button_->DismissInProductHelp(); |
+} |
+ |
+bool MediaControlsImpl::CanShow() const { |
+ return panel_->IsWanted(); |
} |
bool MediaControlsImpl::IsVisible() const { |
@@ -643,6 +649,10 @@ 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 (download_button_->IsShowingInProductHelp()) |
+ return false; |
+ |
return true; |
} |
@@ -826,8 +836,7 @@ void MediaControlsImpl::DefaultEventHandler(Event* event) { |
is_mouse_over_controls_ = true; |
if (!MediaElement().paused()) { |
MakeOpaque(); |
- if (ShouldHideMediaControls()) |
- StartHideMediaControlsTimer(); |
+ StartHideMediaControlsIfNecessary(); |
} |
} |
return; |
@@ -971,6 +980,7 @@ void MediaControlsImpl::OnPlay() { |
UpdatePlayState(); |
timeline_->SetPosition(MediaElement().currentTime()); |
UpdateCurrentTimeDisplay(); |
+ download_button_->MaybeDispatchInProductHelpTrigger(); |
} |
void MediaControlsImpl::OnPlaying() { |
@@ -1216,6 +1226,11 @@ void MediaControlsImpl::HideAllMenus() { |
text_track_list_->SetVisible(false); |
} |
+void MediaControlsImpl::StartHideMediaControlsIfNecessary() { |
+ if (ShouldHideMediaControls()) |
+ StartHideMediaControlsTimer(); |
+} |
+ |
DEFINE_TRACE(MediaControlsImpl) { |
visitor->Trace(element_mutation_callback_); |
visitor->Trace(resize_observer_); |