Index: content/renderer/media/renderer_webmediaplayer_delegate.h |
diff --git a/content/renderer/media/renderer_webmediaplayer_delegate.h b/content/renderer/media/renderer_webmediaplayer_delegate.h |
index 001f7984a7c7350d51d5de24cda34c04c37214ac..1f69929ac8f88eaaa37295d3eec02811bf65de84 100644 |
--- a/content/renderer/media/renderer_webmediaplayer_delegate.h |
+++ b/content/renderer/media/renderer_webmediaplayer_delegate.h |
@@ -63,11 +63,12 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate |
bool OnMessageReceived(const IPC::Message& msg) override; |
void OnDestruct() override; |
- // Zeros out |idle_cleanup_interval_|, and sets |idle_timeout_| to |
- // |idle_timeout|. A zero cleanup interval will cause the idle timer to run |
- // with each run of the message loop. |
+ // Zeros out |idle_cleanup_interval_|, sets |idle_timeout_| to |idle_timeout|, |
+ // and |is_low_end_device_| to |is_low_end_device|. A zero cleanup interval |
+ // will cause the idle timer to run with each run of the message loop. |
void SetIdleCleanupParamsForTesting(base::TimeDelta idle_timeout, |
- base::TickClock* tick_clock); |
+ base::TickClock* tick_clock, |
+ bool is_low_end_device); |
bool IsIdleCleanupTimerRunningForTesting() const { |
return idle_cleanup_timer_.IsRunning(); |
} |
@@ -86,8 +87,9 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate |
void AddIdleDelegate(int delegate_id); |
void RemoveIdleDelegate(int delegate_id); |
- // Runs periodically to suspend idle delegates in |idle_delegate_map_|. |
- void CleanupIdleDelegates(); |
+ // Runs periodically to suspend idle delegates in |idle_delegate_map_| which |
+ // have been idle for longer than |timeout|. |
+ void CleanupIdleDelegates(base::TimeDelta timeout); |
// Setter for |is_playing_background_video_| that updates the metrics. |
void SetIsPlayingBackgroundVideo(bool is_playing); |
@@ -99,7 +101,7 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate |
// inactivity these players will be suspended to release unused resources. |
bool idle_cleanup_running_ = false; |
std::map<int, base::TimeTicks> idle_delegate_map_; |
- base::RepeatingTimer idle_cleanup_timer_; |
+ base::Timer idle_cleanup_timer_; |
// Amount of time allowed to elapse after a delegate enters the paused before |
// the delegate is suspended. |
@@ -129,6 +131,10 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate |
// not. |
std::set<int> playing_videos_; |
+ // Determined at construction time based on system information; determines |
+ // when the idle cleanup timer should be fired more aggressively. |
+ bool is_low_end_device_; |
+ |
DISALLOW_COPY_AND_ASSIGN(RendererWebMediaPlayerDelegate); |
}; |