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_; |