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

Unified Diff: content/renderer/media/renderer_webmediaplayer_delegate.cc

Issue 1766783003: Expand suspension of idle media players to all platforms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@notify_pause
Patch Set: Cleanup. Created 4 years, 10 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: content/renderer/media/renderer_webmediaplayer_delegate.cc
diff --git a/content/renderer/media/renderer_webmediaplayer_delegate.cc b/content/renderer/media/renderer_webmediaplayer_delegate.cc
index 9966382c37291edb9e3ccef5c9b8359f136c9682..e31307770f07d5c32a0ea32408b4b699a90d8ed6 100644
--- a/content/renderer/media/renderer_webmediaplayer_delegate.cc
+++ b/content/renderer/media/renderer_webmediaplayer_delegate.cc
@@ -18,13 +18,8 @@ RendererWebMediaPlayerDelegate::RendererWebMediaPlayerDelegate(
: RenderFrameObserver(render_frame),
default_tick_clock_(new base::DefaultTickClock()),
tick_clock_(default_tick_clock_.get()) {
-#if defined(OS_ANDROID)
- // On Android the idle cleanup timer is enabled by default.
- // TODO(dalecurtis): Eventually this should be enabled on all platforms.
- idle_cleanup_enabled_ = true;
idle_cleanup_interval_ = base::TimeDelta::FromSeconds(5);
idle_timeout_ = base::TimeDelta::FromSeconds(15);
-#endif
}
RendererWebMediaPlayerDelegate::~RendererWebMediaPlayerDelegate() {}
@@ -56,8 +51,7 @@ void RendererWebMediaPlayerDelegate::DidPlay(int delegate_id,
void RendererWebMediaPlayerDelegate::DidPause(int delegate_id,
bool reached_end_of_stream) {
DCHECK(id_map_.Lookup(delegate_id));
- if (reached_end_of_stream)
- AddIdleDelegate(delegate_id);
+ AddIdleDelegate(delegate_id);
Send(new MediaPlayerDelegateHostMsg_OnMediaPaused(routing_id(), delegate_id,
reached_end_of_stream));
}
@@ -75,7 +69,7 @@ bool RendererWebMediaPlayerDelegate::IsHidden() {
void RendererWebMediaPlayerDelegate::WasHidden() {
for (IDMap<Observer>::iterator it(&id_map_); !it.IsAtEnd(); it.Advance())
- it.GetCurrentValue()->OnHidden(false);
+ it.GetCurrentValue()->OnHidden();
}
void RendererWebMediaPlayerDelegate::WasShown() {
@@ -98,10 +92,9 @@ bool RendererWebMediaPlayerDelegate::OnMessageReceived(
return handled;
}
-void RendererWebMediaPlayerDelegate::EnableInstantIdleCleanupForTesting(
+void RendererWebMediaPlayerDelegate::SetIdleCleanupParamsForTesting(
base::TimeDelta idle_timeout,
base::TickClock* tick_clock) {
- idle_cleanup_enabled_ = true;
idle_cleanup_interval_ = base::TimeDelta();
idle_timeout_ = idle_timeout;
tick_clock_ = tick_clock;
@@ -121,7 +114,7 @@ void RendererWebMediaPlayerDelegate::OnMediaDelegatePlay(int delegate_id) {
void RendererWebMediaPlayerDelegate::OnMediaDelegateSuspendAllMediaPlayers() {
for (IDMap<Observer>::iterator it(&id_map_); !it.IsAtEnd(); it.Advance())
- it.GetCurrentValue()->OnHidden(true);
+ it.GetCurrentValue()->OnSuspend(true);
}
void RendererWebMediaPlayerDelegate::OnMediaDelegateVolumeMultiplierUpdate(
@@ -133,9 +126,6 @@ void RendererWebMediaPlayerDelegate::OnMediaDelegateVolumeMultiplierUpdate(
}
void RendererWebMediaPlayerDelegate::AddIdleDelegate(int delegate_id) {
- if (!idle_cleanup_enabled_)
- return;
-
idle_delegate_map_[delegate_id] = tick_clock_->NowTicks();
if (!idle_cleanup_timer_.IsRunning()) {
idle_cleanup_timer_.Start(
@@ -145,9 +135,6 @@ void RendererWebMediaPlayerDelegate::AddIdleDelegate(int delegate_id) {
}
void RendererWebMediaPlayerDelegate::RemoveIdleDelegate(int delegate_id) {
- if (!idle_cleanup_enabled_)
- return;
-
// To avoid invalidating the iterator, just mark the delegate for deletion
// using a sentinel value of an empty TimeTicks.
if (idle_cleanup_running_) {
@@ -168,7 +155,7 @@ void RendererWebMediaPlayerDelegate::CleanupIdleDelegates() {
const base::TimeTicks now = tick_clock_->NowTicks();
for (const auto& kv : idle_delegate_map_) {
if (now - kv.second > idle_timeout_)
- id_map_.Lookup(kv.first)->OnHidden(true);
+ id_map_.Lookup(kv.first)->OnSuspend(false);
mlamouri (slow - plz ping) 2016/03/05 22:37:36 Why did this changed from OnHidden(true) to OnSusp
DaleCurtis 2016/03/07 19:08:06 |must_suspend| requires calling PlayerGone(), whic
}
// Take care of any removals that happened during the above iteration.

Powered by Google App Engine
This is Rietveld 408576698