Chromium Code Reviews| Index: chromecast/browser/cast_media_blocker.cc |
| diff --git a/chromecast/browser/cast_media_blocker.cc b/chromecast/browser/cast_media_blocker.cc |
| index 9f49bab4ff66ac5774edcf0c188ed27ff348347f..874dc227810f4b609430bfc57c980fa5db183cad 100644 |
| --- a/chromecast/browser/cast_media_blocker.cc |
| +++ b/chromecast/browser/cast_media_blocker.cc |
| @@ -4,23 +4,24 @@ |
| #include "chromecast/browser/cast_media_blocker.h" |
| -#include "base/callback.h" |
| +#include "base/bind.h" |
| #include "base/threading/thread_checker.h" |
| +#include "content/public/browser/media_session.h" |
| #include "content/public/browser/web_contents.h" |
| namespace chromecast { |
| namespace shell { |
| -CastMediaBlocker::CastMediaBlocker(content::WebContents* web_contents) |
| +CastMediaBlocker::CastMediaBlocker(content::MediaSession* media_session) |
| : CastMediaBlocker::CastMediaBlocker( |
| - web_contents, |
| + media_session, |
|
derekjchow1
2016/10/24 18:50:33
How is a content embedder supposed to obtain a ref
Zhiqiang Zhang (Slow)
2016/10/28 10:36:52
Yes, it is 1-1 mapping.
You can use MediaSession::
|
| base::Bind(&CastMediaBlocker::Suspend, base::Unretained(this)), |
| base::Bind(&CastMediaBlocker::Resume, base::Unretained(this))) {} |
|
Zhiqiang Zhang (Slow)
2016/10/24 18:29:32
Are these callbacks used for testing?
After we exp
derekjchow1
2016/10/24 18:50:33
Correct. Your approach SGTM. We can probably remov
Zhiqiang Zhang (Slow)
2016/10/28 10:36:52
Done removing the callbacks. See the tests for det
|
| -CastMediaBlocker::CastMediaBlocker(content::WebContents* web_contents, |
| +CastMediaBlocker::CastMediaBlocker(content::MediaSession* media_session, |
| const base::Closure& suspend_cb, |
| const base::Closure& resume_cb) |
| - : content::WebContentsObserver(web_contents), |
| + : content::MediaSessionObserver(media_session), |
| suspend_cb_(suspend_cb), |
| resume_cb_(resume_cb), |
| blocked_(false), |
| @@ -101,19 +102,19 @@ void CastMediaBlocker::MediaSessionStateChanged(bool is_controllable, |
| } |
| void CastMediaBlocker::Suspend() { |
| - if (!web_contents()) |
| + if (!media_session()) |
| return; |
| LOG(INFO) << "Suspending media session."; |
| - web_contents()->SuspendMediaSession(); |
| + media_session()->Suspend(content::MediaSession::SuspendType::SYSTEM); |
| } |
| void CastMediaBlocker::Resume() { |
| - if (!web_contents()) |
| + if (!media_session()) |
| return; |
| LOG(INFO) << "Resuming media session."; |
| - web_contents()->ResumeMediaSession(); |
| + media_session()->Resume(content::MediaSession::SuspendType::SYSTEM); |
| } |
| } // namespace shell |