Chromium Code Reviews| Index: content/browser/media/media_web_contents_observer.h |
| diff --git a/content/browser/media/media_web_contents_observer.h b/content/browser/media/media_web_contents_observer.h |
| index 3a2a0d3a5c3c8b8b8dc2c0d3de3c532eb58a4c05..4ad7db05a6d727cdbd493dc2d00d2123b186953e 100644 |
| --- a/content/browser/media/media_web_contents_observer.h |
| +++ b/content/browser/media/media_web_contents_observer.h |
| @@ -15,15 +15,12 @@ |
| #include "content/browser/media/session/media_session_controllers_manager.h" |
| #include "content/common/content_export.h" |
| #include "content/public/browser/web_contents_observer.h" |
| +#include "device/wake_lock/public/interfaces/wake_lock_service.mojom.h" |
| #if defined(OS_ANDROID) |
| #include "ui/android/view_android.h" |
| #endif // OS_ANDROID |
| -namespace device { |
| -class PowerSaveBlocker; |
| -} // namespace device |
| - |
| namespace media { |
| enum class MediaContentType; |
| } // namespace media |
| @@ -63,12 +60,12 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver { |
| // fullscreening video element to the same place. |
| void RequestPersistentVideo(bool value); |
| - bool has_audio_power_save_blocker_for_testing() const { |
| - return !!audio_power_save_blocker_; |
| + bool has_audio_wake_lock_for_testing() const { |
| + return has_audio_wake_lock_for_testing_; |
|
DaleCurtis
2017/05/02 17:08:42
Why change this? YOu don't need the bool variables
ke.he
2017/05/04 11:58:24
The "mojo::MakeRequest(&audio_wake_lock_)" is alwa
|
| } |
| - bool has_video_power_save_blocker_for_testing() const { |
| - return !!video_power_save_blocker_; |
| + bool has_video_wake_lock_for_testing() const { |
| + return has_video_wake_lock_for_testing_; |
| } |
| protected: |
| @@ -91,17 +88,24 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver { |
| int delegate_id, |
| bool is_fullscreen); |
| - // Clear |render_frame_host|'s tracking entry for its power save blockers. |
| - void ClearPowerSaveBlockers(RenderFrameHost* render_frame_host); |
| + // Clear |render_frame_host|'s tracking entry for its WakeLocks. |
| + void ClearWakeLocks(RenderFrameHost* render_frame_host); |
| + |
| + device::mojom::WakeLockServicePtr& GetAudioWakeLock(); |
|
DaleCurtis
2017/05/02 17:08:42
Return device::mojom::WakeLockService* instead? Pe
ke.he
2017/05/04 11:58:23
Done.
|
| + device::mojom::WakeLockServicePtr& GetVideoWakeLock(); |
| + bool has_audio_wake_lock_for_testing_; |
|
DaleCurtis
2017/05/02 17:08:42
Variables below functions.
ke.he
2017/05/04 11:58:23
Done.
|
| + bool has_video_wake_lock_for_testing_; |
| + |
| + // Try to request audio wake lock. |
|
DaleCurtis
2017/05/02 17:08:42
These comments aren't really useful, so no need fo
ke.he
2017/05/04 11:58:23
Done.
|
| + void LockAudio(); |
| + // Try to request video wake lock. |
| + void LockVideo(); |
| - // Creates an audio or video power save blocker respectively. |
| - void CreateAudioPowerSaveBlocker(); |
| - void CreateVideoPowerSaveBlocker(); |
| + // Cancel the video wake lock if |active_video_players_| is empty. |
| + void MaybeCancelVideoLock(); |
| - // Releases the audio power save blockers if |active_audio_players_| is empty. |
| - // Likewise, releases the video power save blockers if |active_video_players_| |
| - // is empty. |
| - void MaybeReleasePowerSaveBlockers(); |
| + // Cancel the audio wake lock. |
| + void CancelAudioLock(); |
| // Helper methods for adding or removing player entries in |player_map|. |
| using PlayerSet = std::set<int>; |
| @@ -117,11 +121,11 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver { |
| ActiveMediaPlayerMap* player_map, |
| std::set<MediaPlayerId>* removed_players); |
| - // Tracking variables and associated power save blockers for media playback. |
| + // Tracking variables and associated wake locks for media playback. |
| ActiveMediaPlayerMap active_audio_players_; |
| ActiveMediaPlayerMap active_video_players_; |
| - std::unique_ptr<device::PowerSaveBlocker> audio_power_save_blocker_; |
| - std::unique_ptr<device::PowerSaveBlocker> video_power_save_blocker_; |
| + device::mojom::WakeLockServicePtr audio_wake_lock_; |
| + device::mojom::WakeLockServicePtr video_wake_lock_; |
| base::Optional<MediaPlayerId> fullscreen_player_; |
| MediaSessionControllersManager session_controllers_manager_; |