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

Side by Side Diff: content/browser/media/session/media_session_controller.cc

Issue 2453623003: Decouple MediaSession messages from WebContents (full patch) (Closed)
Patch Set: nit Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_controller.h" 5 #include "content/browser/media/session/media_session_controller.h"
6 6
7 #include "content/browser/media/media_web_contents_observer.h" 7 #include "content/browser/media/media_web_contents_observer.h"
8 #include "content/browser/media/session/media_session.h" 8 #include "content/browser/media/session/media_session_impl.h"
9 #include "content/common/media/media_player_delegate_messages.h" 9 #include "content/common/media/media_player_delegate_messages.h"
10 #include "content/public/browser/browser_thread.h" 10 #include "content/public/browser/browser_thread.h"
11 #include "content/public/browser/render_frame_host.h" 11 #include "content/public/browser/render_frame_host.h"
12 #include "media/base/media_content_type.h" 12 #include "media/base/media_content_type.h"
13 13
14 namespace content { 14 namespace content {
15 15
16 MediaSessionController::MediaSessionController( 16 MediaSessionController::MediaSessionController(
17 const WebContentsObserver::MediaPlayerId& id, 17 const WebContentsObserver::MediaPlayerId& id,
18 MediaWebContentsObserver* media_web_contents_observer) 18 MediaWebContentsObserver* media_web_contents_observer)
19 : id_(id), 19 : id_(id),
20 media_web_contents_observer_(media_web_contents_observer), 20 media_web_contents_observer_(media_web_contents_observer),
21 media_session_( 21 media_session_(
22 MediaSession::Get(media_web_contents_observer_->web_contents())) {} 22 MediaSessionImpl::Get(media_web_contents_observer_->web_contents())) {
23 }
23 24
24 MediaSessionController::~MediaSessionController() { 25 MediaSessionController::~MediaSessionController() {
25 if (!has_session_) 26 if (!has_session_)
26 return; 27 return;
27 media_session_->RemovePlayer(this, player_id_); 28 media_session_->RemovePlayer(this, player_id_);
28 } 29 }
29 30
30 bool MediaSessionController::Initialize( 31 bool MediaSessionController::Initialize(
31 bool has_audio, 32 bool has_audio,
32 bool is_remote, 33 bool is_remote,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } 96 }
96 97
97 void MediaSessionController::OnPlaybackPaused() { 98 void MediaSessionController::OnPlaybackPaused() {
98 // We check for suspension here since the renderer may issue its own pause 99 // We check for suspension here since the renderer may issue its own pause
99 // in response to or while a pause from the browser is in flight. 100 // in response to or while a pause from the browser is in flight.
100 if (!media_session_->IsSuspended()) 101 if (!media_session_->IsSuspended())
101 media_session_->OnPlayerPaused(this, player_id_); 102 media_session_->OnPlayerPaused(this, player_id_);
102 } 103 }
103 104
104 } // namespace content 105 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698