Index: content/browser/media/session/media_session_impl_browsertest.cc |
diff --git a/content/browser/media/session/media_session_impl_browsertest.cc b/content/browser/media/session/media_session_impl_browsertest.cc |
index 755bfac19cb2df12615a5523067e96346a2b8495..c9ecbb30fd118d83ed456aabbb49efa2b9b460d6 100644 |
--- a/content/browser/media/session/media_session_impl_browsertest.cc |
+++ b/content/browser/media/session/media_session_impl_browsertest.cc |
@@ -10,6 +10,7 @@ |
#include <vector> |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
#include "base/metrics/histogram_samples.h" |
#include "base/test/histogram_tester.h" |
#include "base/test/simple_test_tick_clock.h" |
@@ -33,6 +34,7 @@ using content::MediaSessionUmaHelper; |
using content::MockMediaSessionPlayerObserver; |
using ::testing::Expectation; |
+using ::testing::_; |
namespace { |
@@ -41,11 +43,13 @@ const double kDuckingVolumeMultiplier = 0.2; |
class MockAudioFocusDelegate : public AudioFocusDelegate { |
public: |
- bool RequestAudioFocus(content::AudioFocusManager::AudioFocusType) override { |
- return true; |
+ MockAudioFocusDelegate() { |
+ ON_CALL(*this, RequestAudioFocus(_)).WillByDefault(::testing::Return(true)); |
} |
- void AbandonAudioFocus() override {} |
+ MOCK_METHOD1(RequestAudioFocus, |
+ bool(content::AudioFocusManager::AudioFocusType)); |
+ MOCK_METHOD0(AbandonAudioFocus, void()); |
}; |
class MockMediaSessionObserver : public MediaSessionObserver { |
@@ -70,8 +74,9 @@ class MediaSessionImplBrowserTest : public content::ContentBrowserTest { |
media_session_ = MediaSessionImpl::Get(shell()->web_contents()); |
mock_media_session_observer_.reset( |
new MockMediaSessionObserver(media_session_)); |
+ mock_audio_focus_delegate_ = new MockAudioFocusDelegate; |
media_session_->SetDelegateForTests( |
- std::unique_ptr<AudioFocusDelegate>(new MockAudioFocusDelegate())); |
+ base::WrapUnique(mock_audio_focus_delegate_)); |
ASSERT_TRUE(media_session_); |
} |
@@ -144,8 +149,12 @@ class MediaSessionImplBrowserTest : public content::ContentBrowserTest { |
return mock_media_session_observer_.get(); |
} |
+ MockAudioFocusDelegate* mock_audio_focus_delegate() { |
+ return mock_audio_focus_delegate_; |
+ } |
+ |
std::unique_ptr<MediaSessionImpl> CreateDummyMediaSession() { |
- return std::unique_ptr<MediaSessionImpl>(new MediaSessionImpl(nullptr)); |
+ return base::WrapUnique<MediaSessionImpl>(new MediaSessionImpl(nullptr)); |
} |
MediaSessionUmaHelper* GetMediaSessionUMAHelper() { |
@@ -155,14 +164,14 @@ class MediaSessionImplBrowserTest : public content::ContentBrowserTest { |
protected: |
MediaSessionImpl* media_session_; |
std::unique_ptr<MockMediaSessionObserver> mock_media_session_observer_; |
+ MockAudioFocusDelegate* mock_audio_focus_delegate_; |
DISALLOW_COPY_AND_ASSIGN(MediaSessionImplBrowserTest); |
}; |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
PlayersFromSameObserverDoNotStopEachOtherInSameSession) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -175,12 +184,9 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
PlayersFromManyObserverDoNotStopEachOtherInSameSession) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_1( |
- new MockMediaSessionPlayerObserver); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_2( |
- new MockMediaSessionPlayerObserver); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_3( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer_1 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ auto player_observer_2 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ auto player_observer_3 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer_2.get(), media::MediaContentType::Persistent); |
@@ -193,8 +199,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
SuspendedMediaSessionStopsPlayers) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -209,8 +214,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
ResumedMediaSessionRestartsPlayers) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -226,8 +230,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
StartedPlayerOnSuspendedSessionPlaysAlone) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -250,8 +253,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, InitialVolumeMultiplier) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -262,8 +264,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, InitialVolumeMultiplier) { |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
StartDuckingReducesVolumeMultiplier) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -279,8 +280,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
StopDuckingRecoversVolumeMultiplier) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -300,8 +300,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, AudioFocusInitialState) { |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StartPlayerGivesFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -310,8 +309,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StartPlayerGivesFocus) { |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
SuspendGivesAwayAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -321,8 +319,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StopGivesAwayAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -332,8 +329,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, StopGivesAwayAudioFocus) { |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeGivesBackAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -345,8 +341,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeGivesBackAudioFocus) { |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
RemovingLastPlayerDropsAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -362,12 +357,9 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
RemovingLastPlayerFromManyObserversDropsAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_1( |
- new MockMediaSessionPlayerObserver); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_2( |
- new MockMediaSessionPlayerObserver); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_3( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer_1 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ auto player_observer_2 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ auto player_observer_3 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer_2.get(), media::MediaContentType::Persistent); |
@@ -383,10 +375,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
RemovingAllPlayersFromObserversDropsAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_1( |
- new MockMediaSessionPlayerObserver); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer_2( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer_1 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ auto player_observer_2 = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer_1.get(), media::MediaContentType::Persistent); |
@@ -400,8 +390,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumePlayGivesAudioFocus) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -415,8 +404,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumePlayGivesAudioFocus) { |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
ResumeSuspendAreSentOnlyOncePerPlayers) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -434,8 +422,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
ResumeSuspendAreSentOnlyOncePerPlayersAddedTwice) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -461,8 +448,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
RemovingTheSamePlayerTwiceIsANoop) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -471,8 +457,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, AudioFocusType) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
// Starting a player with a given type should set the session to that type. |
StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
@@ -524,8 +509,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ControlsShowForContent) { |
EXPECT_CALL(*mock_media_session_observer(), |
MediaSessionStateChanged(true, false)); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
// Starting a player with a content type should show the media controls. |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -539,8 +523,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
EXPECT_CALL(*mock_media_session_observer(), |
MediaSessionStateChanged(false, false)); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
// Starting a player with a transient type should not show the media controls. |
StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
@@ -556,8 +539,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ControlsHideWhenStopped) { |
MediaSessionStateChanged(false, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -572,8 +554,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
EXPECT_CALL(*mock_media_session_observer(), |
MediaSessionStateChanged(true, false)); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -592,8 +573,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, false)) |
.After(dontShowControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
@@ -609,8 +589,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
EXPECT_CALL(*mock_media_session_observer(), |
MediaSessionStateChanged(true, false)); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
@@ -630,8 +609,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
EXPECT_CALL(*mock_media_session_observer(), |
MediaSessionStateChanged(false, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -655,8 +634,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(false, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -675,8 +653,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -700,8 +677,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -722,8 +698,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, false)) |
.After(pauseControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
SystemSuspend(true); |
@@ -741,8 +716,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(false, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -763,8 +737,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(false, true)) |
.After(pauseControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -785,8 +758,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(false, false)) |
.After(pauseControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
SystemSuspend(true); |
@@ -810,8 +782,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, false)) |
.After(pauseControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
SystemSuspend(true); |
@@ -834,8 +805,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, false)) |
.After(pauseControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
SystemSuspend(true); |
@@ -855,8 +825,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, true)) |
.After(showControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
UISuspend(); |
@@ -876,8 +845,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
MediaSessionStateChanged(true, false)) |
.After(pauseControls); |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
UISuspend(); |
@@ -888,9 +856,87 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
+ ControlsDontShowWhenOneShotIsPresent) { |
+ EXPECT_CALL(*mock_media_session_observer(), |
+ MediaSessionStateChanged(false, false)); |
+ |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ |
+ EXPECT_FALSE(IsControllable()); |
+ EXPECT_FALSE(IsSuspended()); |
+ |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
+ EXPECT_FALSE(IsControllable()); |
+ EXPECT_FALSE(IsSuspended()); |
+ |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
+ EXPECT_FALSE(IsControllable()); |
+ EXPECT_FALSE(IsSuspended()); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
+ ControlsHiddenAfterRemoveOneShotWithoutOtherPlayers) { |
+ Expectation expect_1 = EXPECT_CALL(*mock_media_session_observer(), |
+ MediaSessionStateChanged(false, false)); |
+ Expectation expect_2 = EXPECT_CALL(*mock_media_session_observer(), |
+ MediaSessionStateChanged(false, true)) |
+ .After(expect_1); |
+ EXPECT_CALL(*mock_media_session_observer(), MediaSessionStateChanged(true, _)) |
+ .Times(0) |
+ .After(expect_2); |
+ |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ RemovePlayer(player_observer.get(), 0); |
+ |
+ EXPECT_FALSE(IsControllable()); |
+ EXPECT_TRUE(IsSuspended()); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
+ ControlsShowAfterRemoveOneShotWithPersistentPresent) { |
+ Expectation uncontrollable = EXPECT_CALL( |
+ *mock_media_session_observer(), MediaSessionStateChanged(false, false)); |
+ |
+ EXPECT_CALL(*mock_media_session_observer(), |
+ MediaSessionStateChanged(true, false)) |
+ .After(uncontrollable); |
+ |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
+ |
+ RemovePlayer(player_observer.get(), 0); |
+ |
+ EXPECT_TRUE(IsControllable()); |
+ EXPECT_FALSE(IsSuspended()); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
+ DontSuspendWhenOneShotIsPresent) { |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
+ |
+ SystemSuspend(false); |
+ |
+ EXPECT_FALSE(IsControllable()); |
+ EXPECT_FALSE(IsSuspended()); |
+ |
+ EXPECT_EQ(0, player_observer->received_suspend_calls()); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
DontResumeBySystemUISuspendedSessions) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
UISuspend(); |
@@ -904,8 +950,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
AllowUIResumeForSystemSuspend) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
SystemSuspend(true); |
@@ -918,8 +964,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendFromUI) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
UISuspend(); |
@@ -932,8 +978,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendFromUI) { |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendFromSystem) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
SystemSuspend(true); |
@@ -945,10 +991,44 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, ResumeSuspendFromSystem) { |
EXPECT_FALSE(IsSuspended()); |
} |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, OneShotTakesGainFocus) { |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ EXPECT_CALL( |
+ *mock_audio_focus_delegate(), |
+ RequestAudioFocus(content::AudioFocusManager::AudioFocusType::Gain)) |
+ .Times(1); |
+ EXPECT_CALL(*mock_audio_focus_delegate(), |
+ RequestAudioFocus(::testing::Ne( |
+ content::AudioFocusManager::AudioFocusType::Gain))) |
+ .Times(0); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Transient); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, RemovingOneShotDropsFocus) { |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ EXPECT_CALL(*mock_audio_focus_delegate(), AbandonAudioFocus()); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ RemovePlayer(player_observer.get(), 0); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
+ RemovingOneShotWhileStillHavingOtherPlayersKeepsFocus) { |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
+ EXPECT_CALL(*mock_audio_focus_delegate(), AbandonAudioFocus()) |
+ .Times(1); // Called in TearDown |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::OneShot); |
+ StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
+ RemovePlayer(player_observer.get(), 0); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_Suspended_SystemTransient) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -964,8 +1044,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_Suspended_SystemPermantent) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -980,8 +1059,8 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_UI) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
+ |
base::HistogramTester tester; |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -996,8 +1075,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_UI) { |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Multiple) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -1022,8 +1100,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Multiple) { |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Crossing) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -1047,8 +1124,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Crossing) { |
} |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, UMA_Suspended_Stop) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
@@ -1077,8 +1153,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_ActiveTime_SimpleActivation) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); |
@@ -1100,8 +1175,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_ActiveTime_ActivationWithUISuspension) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); |
@@ -1129,8 +1203,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_ActiveTime_ActivationWithSystemSuspension) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); |
@@ -1158,8 +1231,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_ActiveTime_ActivateSuspendedButNotStopped) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); |
@@ -1191,8 +1263,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_ActiveTime_ActivateSuspendStopTwice) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); |
@@ -1220,8 +1291,7 @@ IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
IN_PROC_BROWSER_TEST_F(MediaSessionImplBrowserTest, |
UMA_ActiveTime_MultipleActivations) { |
- std::unique_ptr<MockMediaSessionPlayerObserver> player_observer( |
- new MockMediaSessionPlayerObserver); |
+ auto player_observer = base::MakeUnique<MockMediaSessionPlayerObserver>(); |
base::HistogramTester tester; |
MediaSessionUmaHelper* media_session_uma_helper = GetMediaSessionUMAHelper(); |