| Index: content/browser/media/session/media_session_browsertest.cc
|
| diff --git a/content/browser/media/session/media_session_browsertest.cc b/content/browser/media/session/media_session_browsertest.cc
|
| index 699570f175e61589bca568911be3253821c67cc9..4c53b3b5dc5141edd6217421990807c0108f320e 100644
|
| --- a/content/browser/media/session/media_session_browsertest.cc
|
| +++ b/content/browser/media/session/media_session_browsertest.cc
|
| @@ -34,6 +34,9 @@ using ::testing::Expectation;
|
|
|
| namespace {
|
|
|
| +const double kDefaultVolumeMultiplier = 1.0;
|
| +const double kDuckingVolumeMultiplier = 0.2;
|
| +
|
| class MockMediaSessionDelegate : public MediaSessionDelegate {
|
| public:
|
| bool RequestAudioFocus(content::AudioFocusManager::AudioFocusType) override {
|
| @@ -137,8 +140,12 @@ class MediaSessionBrowserTest : public content::ContentBrowserTest {
|
| : MediaSession::State::INACTIVE);
|
| }
|
|
|
| - void SystemSetVolumeMultiplier(double volume_multiplier) {
|
| - media_session_->SetVolumeMultiplier(volume_multiplier);
|
| + void SystemStartDucking() {
|
| + media_session_->StartDucking();
|
| + }
|
| +
|
| + void SystemStopDucking() {
|
| + media_session_->StopDucking();
|
| }
|
|
|
| MockWebContentsObserver* mock_web_contents_observer() {
|
| @@ -266,7 +273,24 @@ IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
|
| - MediaSessionSetVolumeMultiplier) {
|
| + InitialVolumeMultiplier) {
|
| + std::unique_ptr<MockMediaSessionObserver> media_session_observer(
|
| + new MockMediaSessionObserver);
|
| +
|
| + StartNewPlayer(media_session_observer.get(),
|
| + media::MediaContentType::Persistent);
|
| + StartNewPlayer(media_session_observer.get(),
|
| + media::MediaContentType::Persistent);
|
| +
|
| + EXPECT_EQ(kDefaultVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(0));
|
| + EXPECT_EQ(kDefaultVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(1));
|
| +
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
|
| + StartDuckingReducesVolumeMultiplier) {
|
| std::unique_ptr<MockMediaSessionObserver> media_session_observer(
|
| new MockMediaSessionObserver);
|
|
|
| @@ -274,17 +298,42 @@ IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
|
| media::MediaContentType::Persistent);
|
| StartNewPlayer(media_session_observer.get(),
|
| media::MediaContentType::Persistent);
|
| + SystemStartDucking();
|
|
|
| - double volume_multiplier = 0.2f;
|
| - SystemSetVolumeMultiplier(volume_multiplier);
|
| + EXPECT_EQ(kDuckingVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(0));
|
| + EXPECT_EQ(kDuckingVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(1));
|
| +
|
| + StartNewPlayer(media_session_observer.get(),
|
| + media::MediaContentType::Persistent);
|
| +
|
| + EXPECT_EQ(kDuckingVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(2));
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
|
| + StopDuckingRecoversVolumeMultiplier) {
|
| + std::unique_ptr<MockMediaSessionObserver> media_session_observer(
|
| + new MockMediaSessionObserver);
|
| +
|
| + StartNewPlayer(media_session_observer.get(),
|
| + media::MediaContentType::Persistent);
|
| + StartNewPlayer(media_session_observer.get(),
|
| + media::MediaContentType::Persistent);
|
| + SystemStartDucking();
|
| + SystemStopDucking();
|
|
|
| - EXPECT_EQ(volume_multiplier, media_session_observer->GetVolumeMultiplier(0));
|
| - EXPECT_EQ(volume_multiplier, media_session_observer->GetVolumeMultiplier(1));
|
| + EXPECT_EQ(kDefaultVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(0));
|
| + EXPECT_EQ(kDefaultVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(1));
|
|
|
| StartNewPlayer(media_session_observer.get(),
|
| media::MediaContentType::Persistent);
|
|
|
| - EXPECT_EQ(volume_multiplier, media_session_observer->GetVolumeMultiplier(2));
|
| + EXPECT_EQ(kDefaultVolumeMultiplier,
|
| + media_session_observer->GetVolumeMultiplier(2));
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, AudioFocusInitialState) {
|
|
|