| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/media/session/media_session_impl.h" | 5 #include "content/browser/media/session/media_session_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <list> | 9 #include <list> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 using content::WebContents; | 28 using content::WebContents; |
| 29 using content::MediaSession; | 29 using content::MediaSession; |
| 30 using content::MediaSessionImpl; | 30 using content::MediaSessionImpl; |
| 31 using content::MediaSessionObserver; | 31 using content::MediaSessionObserver; |
| 32 using content::AudioFocusDelegate; | 32 using content::AudioFocusDelegate; |
| 33 using content::MediaSessionPlayerObserver; | 33 using content::MediaSessionPlayerObserver; |
| 34 using content::MediaSessionUmaHelper; | 34 using content::MediaSessionUmaHelper; |
| 35 using content::MockMediaSessionPlayerObserver; | 35 using content::MockMediaSessionPlayerObserver; |
| 36 | 36 |
| 37 using ::testing::Expectation; | 37 using ::testing::Expectation; |
| 38 using ::testing::NiceMock; |
| 38 using ::testing::_; | 39 using ::testing::_; |
| 39 | 40 |
| 40 namespace { | 41 namespace { |
| 41 | 42 |
| 42 const double kDefaultVolumeMultiplier = 1.0; | 43 const double kDefaultVolumeMultiplier = 1.0; |
| 43 const double kDuckingVolumeMultiplier = 0.2; | 44 const double kDuckingVolumeMultiplier = 0.2; |
| 44 | 45 |
| 45 class MockAudioFocusDelegate : public AudioFocusDelegate { | 46 class MockAudioFocusDelegate : public AudioFocusDelegate { |
| 46 public: | 47 public: |
| 47 MockAudioFocusDelegate() { | 48 MockAudioFocusDelegate() { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 64 | 65 |
| 65 class MediaSessionImplBrowserTest : public content::ContentBrowserTest { | 66 class MediaSessionImplBrowserTest : public content::ContentBrowserTest { |
| 66 protected: | 67 protected: |
| 67 MediaSessionImplBrowserTest() = default; | 68 MediaSessionImplBrowserTest() = default; |
| 68 | 69 |
| 69 void SetUpOnMainThread() override { | 70 void SetUpOnMainThread() override { |
| 70 ContentBrowserTest::SetUpOnMainThread(); | 71 ContentBrowserTest::SetUpOnMainThread(); |
| 71 | 72 |
| 72 media_session_ = MediaSessionImpl::Get(shell()->web_contents()); | 73 media_session_ = MediaSessionImpl::Get(shell()->web_contents()); |
| 73 mock_media_session_observer_.reset( | 74 mock_media_session_observer_.reset( |
| 74 new content::MockMediaSessionObserver(media_session_)); | 75 new NiceMock<content::MockMediaSessionObserver>(media_session_)); |
| 75 mock_audio_focus_delegate_ = new MockAudioFocusDelegate; | 76 mock_audio_focus_delegate_ = new NiceMock<MockAudioFocusDelegate>; |
| 76 media_session_->SetDelegateForTests( | 77 media_session_->SetDelegateForTests( |
| 77 base::WrapUnique(mock_audio_focus_delegate_)); | 78 base::WrapUnique(mock_audio_focus_delegate_)); |
| 78 ASSERT_TRUE(media_session_); | 79 ASSERT_TRUE(media_session_); |
| 79 } | 80 } |
| 80 | 81 |
| 81 void TearDownOnMainThread() override { | 82 void TearDownOnMainThread() override { |
| 82 mock_media_session_observer_.reset(); | 83 mock_media_session_observer_.reset(); |
| 83 media_session_->RemoveAllPlayersForTest(); | 84 media_session_->RemoveAllPlayersForTest(); |
| 84 mock_media_session_service_.reset(); | 85 mock_media_session_service_.reset(); |
| 85 | 86 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 temporary | 139 temporary |
| 139 ? MediaSessionImpl::State::SUSPENDED | 140 ? MediaSessionImpl::State::SUSPENDED |
| 140 : MediaSessionImpl::State::INACTIVE); | 141 : MediaSessionImpl::State::INACTIVE); |
| 141 } | 142 } |
| 142 | 143 |
| 143 void SystemStartDucking() { media_session_->StartDucking(); } | 144 void SystemStartDucking() { media_session_->StartDucking(); } |
| 144 | 145 |
| 145 void SystemStopDucking() { media_session_->StopDucking(); } | 146 void SystemStopDucking() { media_session_->StopDucking(); } |
| 146 | 147 |
| 147 void EnsureMediaSessionService() { | 148 void EnsureMediaSessionService() { |
| 148 mock_media_session_service_.reset(new MockMediaSessionServiceImpl( | 149 mock_media_session_service_.reset(new NiceMock<MockMediaSessionServiceImpl>( |
| 149 shell()->web_contents()->GetMainFrame())); | 150 shell()->web_contents()->GetMainFrame())); |
| 150 } | 151 } |
| 151 | 152 |
| 152 void SetPlaybackState(blink::mojom::MediaSessionPlaybackState state) { | 153 void SetPlaybackState(blink::mojom::MediaSessionPlaybackState state) { |
| 153 mock_media_session_service_->SetPlaybackState(state); | 154 mock_media_session_service_->SetPlaybackState(state); |
| 154 } | 155 } |
| 155 | 156 |
| 156 content::MockMediaSessionObserver* mock_media_session_observer() { | 157 content::MockMediaSessionObserver* mock_media_session_observer() { |
| 157 return mock_media_session_observer_.get(); | 158 return mock_media_session_observer_.get(); |
| 158 } | 159 } |
| (...skipping 1247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1406 StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); | 1407 StartNewPlayer(player_observer.get(), media::MediaContentType::Persistent); |
| 1407 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); | 1408 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); |
| 1408 media_session_->Stop(MediaSession::SuspendType::UI); | 1409 media_session_->Stop(MediaSession::SuspendType::UI); |
| 1409 | 1410 |
| 1410 std::unique_ptr<base::HistogramSamples> samples( | 1411 std::unique_ptr<base::HistogramSamples> samples( |
| 1411 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); | 1412 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); |
| 1412 EXPECT_EQ(2, samples->TotalCount()); | 1413 EXPECT_EQ(2, samples->TotalCount()); |
| 1413 EXPECT_EQ(1, samples->GetCount(1000)); | 1414 EXPECT_EQ(1, samples->GetCount(1000)); |
| 1414 EXPECT_EQ(1, samples->GetCount(10000)); | 1415 EXPECT_EQ(1, samples->GetCount(10000)); |
| 1415 } | 1416 } |
| OLD | NEW |