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

Unified Diff: chromecast/media/cdm/browser_cdm_cast.cc

Issue 1407933010: media: Make MediaKeys ref-counted. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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: chromecast/media/cdm/browser_cdm_cast.cc
diff --git a/chromecast/media/cdm/browser_cdm_cast.cc b/chromecast/media/cdm/browser_cdm_cast.cc
index fa4195ad3c9cafb55bda1672a0c2a1af860e0b08..c864930e70af0e5ff97f2ee4cfcf1c3fdeef4c0c 100644
--- a/chromecast/media/cdm/browser_cdm_cast.cc
+++ b/chromecast/media/cdm/browser_cdm_cast.cc
@@ -89,7 +89,7 @@ void BrowserCdmCast::Initialize(
const ::media::SessionExpirationUpdateCB& session_expiration_update_cb) {
DCHECK(thread_checker_.CalledOnValidThread());
- player_tracker_impl_.reset(new ::media::PlayerTrackerImpl);
+ player_tracker_impl_.reset(new ::media::PlayerTrackerImpl());
session_message_cb_ = session_message_cb;
session_closed_cb_ = session_closed_cb;
@@ -154,24 +154,13 @@ void BrowserCdmCast::OnSessionKeysChange(
base::Unretained(browser_cdm_cast_.get()), ##__VA_ARGS__))
BrowserCdmCastUi::BrowserCdmCastUi(
- scoped_ptr<BrowserCdmCast> browser_cdm_cast,
+ const scoped_refptr<BrowserCdmCast>& browser_cdm_cast,
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
- : browser_cdm_cast_(browser_cdm_cast.Pass()), task_runner_(task_runner) {
-}
+ : browser_cdm_cast_(browser_cdm_cast), task_runner_(task_runner) {}
BrowserCdmCastUi::~BrowserCdmCastUi() {
- DCHECK(thread_checker_.CalledOnValidThread());
- task_runner_->DeleteSoon(FROM_HERE, browser_cdm_cast_.release());
-}
-
-int BrowserCdmCastUi::RegisterPlayer(const base::Closure& new_key_cb,
- const base::Closure& cdm_unset_cb) {
- NOTREACHED() << "RegisterPlayer should be called on BrowserCdmCast";
- return -1;
-}
-
-void BrowserCdmCastUi::UnregisterPlayer(int registration_id) {
- NOTREACHED() << "UnregisterPlayer should be called on BrowserCdmCast";
+ // |this| should be destroyed on |task_runner_|.
+ DCHECK(task_runner_->BelongsToCurrentThread());
gunsch 2015/10/28 20:51:01 It seems a little awkward to toss out thread_check
xhwang 2015/10/29 00:17:28 As discussed offline (thanks!), using ReleaseSoon
}
BrowserCdmCast* BrowserCdmCastUi::browser_cdm_cast() const {
@@ -246,6 +235,11 @@ void BrowserCdmCastUi::RemoveSession(
return nullptr;
}
+void BrowserCdmCastUi::DeleteOnCorrectThread() const {
+ // Always destroy |this| on |task_runner_|.
+ task_runner_->DeleteSoon(FROM_HERE, this);
+}
+
// A default empty implementation for subclasses that don't need to provide
// any key system specific initialization.
void BrowserCdmCast::InitializeInternal() {

Powered by Google App Engine
This is Rietveld 408576698