| 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 f8c8563d347718c3bc12a8cc9228200325afb90c..84841a0ddff841e79f4f21fe0067aee5bc3f5032 100644
|
| --- a/content/renderer/media/renderer_webmediaplayer_delegate.h
|
| +++ b/content/renderer/media/renderer_webmediaplayer_delegate.h
|
| @@ -12,7 +12,9 @@
|
| #include "base/id_map.h"
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/power_monitor/power_observer.h"
|
| #include "base/time/default_tick_clock.h"
|
| +#include "base/time/time.h"
|
| #include "base/timer/timer.h"
|
| #include "content/common/content_export.h"
|
| #include "content/public/renderer/render_frame_observer.h"
|
| @@ -28,6 +30,7 @@ namespace media {
|
| // to objects that need to know.
|
| class CONTENT_EXPORT RendererWebMediaPlayerDelegate
|
| : public content::RenderFrameObserver,
|
| + public NON_EXPORTED_BASE(base::PowerObserver),
|
| public NON_EXPORTED_BASE(WebMediaPlayerDelegate),
|
| public NON_EXPORTED_BASE(
|
| base::SupportsWeakPtr<RendererWebMediaPlayerDelegate>) {
|
| @@ -38,6 +41,10 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate
|
| // Returns true if this RenderFrame has ever seen media playback before.
|
| bool has_played_media() const { return has_played_media_; }
|
|
|
| + // PowerObserver implementation.
|
| + void OnSuspend() override;
|
| + void OnResume() override;
|
| +
|
| // WebMediaPlayerDelegate implementation.
|
| int AddObserver(Observer* observer) override;
|
| void RemoveObserver(int delegate_id) override;
|
| @@ -83,6 +90,9 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate
|
| // Runs periodically to suspend idle delegates in |idle_delegate_map_|.
|
| void CleanupIdleDelegates();
|
|
|
| + // Setter for |is_playing_background_video_| that updates the metrics.
|
| + void SetIsPlayingBackgroundVideo(bool is_playing);
|
| +
|
| bool has_played_media_ = false;
|
| IDMap<Observer> id_map_;
|
|
|
| @@ -110,6 +120,12 @@ class CONTENT_EXPORT RendererWebMediaPlayerDelegate
|
| // foreground.
|
| bool is_playing_background_video_ = false;
|
|
|
| + // Keeps track of when the background video playback started for metrics.
|
| + base::TimeTicks background_video_playing_start_time_;
|
| +
|
| + // Keeps track of for how long the device was in a power suspended state.
|
| + base::TimeTicks power_suspended_time_;
|
| +
|
| // The currently playing local videos. Used to determine whether
|
| // OnMediaDelegatePlay() should allow the videos to play in the background or
|
| // not.
|
|
|