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/android/media_session.h" | 5 #include "content/browser/media/android/media_session.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "content/browser/media/android/media_session_observer.h" | 10 #include "content/browser/media/android/media_session_observer.h" |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
147 bool HasAudioFocus() { return media_session_->IsActiveForTest(); } | 147 bool HasAudioFocus() { return media_session_->IsActiveForTest(); } |
148 | 148 |
149 MediaSession::Type GetSessionType() { | 149 MediaSession::Type GetSessionType() { |
150 return media_session_->audio_focus_type_for_test(); | 150 return media_session_->audio_focus_type_for_test(); |
151 } | 151 } |
152 | 152 |
153 bool IsControllable() { return media_session_->IsControllable(); } | 153 bool IsControllable() { return media_session_->IsControllable(); } |
154 | 154 |
155 bool IsSuspended() { return media_session_->IsSuspended(); } | 155 bool IsSuspended() { return media_session_->IsSuspended(); } |
156 | 156 |
157 void ResumeSession() { media_session_->Resume(); } | 157 void ResumeSession(content::MediaSession::SuspendType type) { |
158 media_session_->Resume(type); | |
159 } | |
158 | 160 |
159 void SuspendSession() { media_session_->Suspend(); } | 161 void SuspendSession(content::MediaSession::SuspendType type) { |
162 media_session_->Suspend(type); | |
163 } | |
160 | 164 |
161 MockWebContentsObserver* mock_web_contents_observer() { | 165 MockWebContentsObserver* mock_web_contents_observer() { |
162 return mock_web_contents_observer_.get(); | 166 return mock_web_contents_observer_.get(); |
163 } | 167 } |
164 | 168 |
165 protected: | 169 protected: |
166 MediaSession* media_session_; | 170 MediaSession* media_session_; |
167 scoped_ptr<MockWebContentsObserver> mock_web_contents_observer_; | 171 scoped_ptr<MockWebContentsObserver> mock_web_contents_observer_; |
168 | 172 |
169 DISALLOW_COPY_AND_ASSIGN(MediaSessionBrowserTest); | 173 DISALLOW_COPY_AND_ASSIGN(MediaSessionBrowserTest); |
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
746 | 750 |
747 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, | 751 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, |
748 ControlsNotUpdatedDueToResumeSessionAction) { | 752 ControlsNotUpdatedDueToResumeSessionAction) { |
749 EXPECT_CALL(*mock_web_contents_observer(), | 753 EXPECT_CALL(*mock_web_contents_observer(), |
750 MediaSessionStateChanged(true, false)); | 754 MediaSessionStateChanged(true, false)); |
751 | 755 |
752 scoped_ptr<MockMediaSessionObserver> media_session_observer( | 756 scoped_ptr<MockMediaSessionObserver> media_session_observer( |
753 new MockMediaSessionObserver); | 757 new MockMediaSessionObserver); |
754 | 758 |
755 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); | 759 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); |
756 SuspendSession(); | 760 SuspendSession(content::MediaSession::SuspendType::UI); |
757 | 761 |
758 EXPECT_TRUE(IsControllable()); | 762 EXPECT_TRUE(IsControllable()); |
759 EXPECT_TRUE(IsSuspended()); | 763 EXPECT_TRUE(IsSuspended()); |
760 } | 764 } |
761 | 765 |
762 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, | 766 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, |
763 ControlsNotUpdatedDueToSuspendSessionAction) { | 767 ControlsNotUpdatedDueToSuspendSessionAction) { |
764 EXPECT_CALL(*mock_web_contents_observer(), | 768 EXPECT_CALL(*mock_web_contents_observer(), |
765 MediaSessionStateChanged(true, false)); | 769 MediaSessionStateChanged(true, false)); |
766 | 770 |
767 scoped_ptr<MockMediaSessionObserver> media_session_observer( | 771 scoped_ptr<MockMediaSessionObserver> media_session_observer( |
768 new MockMediaSessionObserver); | 772 new MockMediaSessionObserver); |
769 | 773 |
770 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); | 774 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); |
771 SuspendSession(); | 775 SuspendSession(content::MediaSession::SuspendType::UI); |
772 ResumeSession(); | 776 ResumeSession(content::MediaSession::SuspendType::UI); |
773 | 777 |
774 EXPECT_TRUE(IsControllable()); | 778 EXPECT_TRUE(IsControllable()); |
775 EXPECT_FALSE(IsSuspended()); | 779 EXPECT_FALSE(IsSuspended()); |
780 } | |
781 | |
782 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, | |
783 DontResumeBySystemUISuspendedSessions) { | |
784 scoped_ptr<MockMediaSessionObserver> media_session_observer( | |
785 new MockMediaSessionObserver); | |
786 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); | |
787 SuspendSession(content::MediaSession::SuspendType::UI); | |
788 ResumeSession(content::MediaSession::SuspendType::System); | |
789 | |
790 EXPECT_TRUE(IsControllable()); | |
791 EXPECT_TRUE(IsSuspended()); | |
792 } | |
793 | |
794 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, | |
795 AllowUIResumeForSystemSuspend) { | |
796 scoped_ptr<MockMediaSessionObserver> media_session_observer( | |
797 new MockMediaSessionObserver); | |
798 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); | |
799 SuspendSession(content::MediaSession::SuspendType::System); | |
800 ResumeSession(content::MediaSession::SuspendType::UI); | |
801 | |
802 EXPECT_TRUE(IsControllable()); | |
803 EXPECT_FALSE(IsSuspended()); | |
whywhat
2015/07/21 19:21:28
Add a test that checks that Suspend(System) and Re
| |
776 } | 804 } |
OLD | NEW |