Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(754)

Unified Diff: content/browser/media/session/media_session_impl.cc

Issue 2758773003: Clean up MediaSessionImpl state interfaces (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/media/session/media_session_impl.cc
diff --git a/content/browser/media/session/media_session_impl.cc b/content/browser/media/session/media_session_impl.cc
index e3f1c26a2bcd94505bbc2c44f96bdf97a02c8692..a4aa4f80b173b337334126d4d818369e05b6dde3 100644
--- a/content/browser/media/session/media_session_impl.cc
+++ b/content/browser/media/session/media_session_impl.cc
@@ -291,12 +291,12 @@ void MediaSessionImpl::OnPlayerPaused(MediaSessionPlayerObserver* observer,
}
// Otherwise, suspend the session.
- DCHECK(!IsSuspended());
+ DCHECK(IsActive());
OnSuspendInternal(SuspendType::CONTENT, State::SUSPENDED);
}
void MediaSessionImpl::Resume(SuspendType suspend_type) {
- DCHECK(IsReallySuspended());
+ DCHECK(IsSuspended());
// When the resume requests comes from another source than system, audio focus
// must be requested.
@@ -316,7 +316,7 @@ void MediaSessionImpl::Resume(SuspendType suspend_type) {
}
void MediaSessionImpl::Suspend(SuspendType suspend_type) {
- if (IsSuspended())
+ if (!IsActive())
return;
OnSuspendInternal(suspend_type, State::SUSPENDED);
@@ -371,13 +371,16 @@ bool MediaSessionImpl::IsActive() const {
return audio_focus_state_ == State::ACTIVE;
}
-bool MediaSessionImpl::IsReallySuspended() const {
+bool MediaSessionImpl::IsSuspended() const {
return audio_focus_state_ == State::SUSPENDED;
}
-bool MediaSessionImpl::IsSuspended() const {
- // TODO(mlamouri): should be == State::SUSPENDED.
- return audio_focus_state_ != State::ACTIVE;
+bool MediaSessionImpl::IsActuallyPaused() const {
+ if (routed_service_ && routed_service_->playback_state() ==
+ blink::mojom::MediaSessionPlaybackState::PLAYING) {
+ return false;
+ }
+ return !IsActive();
}
bool MediaSessionImpl::IsControllable() const {
@@ -404,10 +407,6 @@ void MediaSessionImpl::SetDelegateForTests(
delegate_ = std::move(delegate);
}
-bool MediaSessionImpl::IsActiveForTest() const {
- return audio_focus_state_ == State::ACTIVE;
-}
-
MediaSessionUmaHelper* MediaSessionImpl::uma_helper_for_test() {
return &uma_helper_;
}
@@ -529,21 +528,11 @@ void MediaSessionImpl::AbandonSystemAudioFocusIfNeeded() {
}
void MediaSessionImpl::NotifyAboutStateChange() {
- bool is_actually_suspended = IsSuspended();
- // Compute the actual playback state using both the MediaSessionService state
- // and real state.
- //
- // TODO(zqzhang): Maybe also compute for IsControllable()? See
- // https://crbug.com/674983
- if (routed_service_ &&
- routed_service_->playback_state() ==
- blink::mojom::MediaSessionPlaybackState::PLAYING) {
- is_actually_suspended = false;
- }
+ bool is_actually_paused = IsActuallyPaused();
media_session_state_listeners_.Notify(audio_focus_state_);
for (auto& observer : observers_)
- observer.MediaSessionStateChanged(IsControllable(), is_actually_suspended);
+ observer.MediaSessionStateChanged(IsControllable(), is_actually_paused);
}
void MediaSessionImpl::SetAudioFocusState(State audio_focus_state) {

Powered by Google App Engine
This is Rietveld 408576698