| Index: extensions/browser/api/cast_channel/cast_channel_api.cc
|
| diff --git a/extensions/browser/api/cast_channel/cast_channel_api.cc b/extensions/browser/api/cast_channel/cast_channel_api.cc
|
| index 7f64f24d24dd63d99ea3624fde9096a4438823e3..2e832b57d2a807fcfb4acb02701ad8efaee2c140 100644
|
| --- a/extensions/browser/api/cast_channel/cast_channel_api.cc
|
| +++ b/extensions/browser/api/cast_channel/cast_channel_api.cc
|
| @@ -19,6 +19,8 @@
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/values.h"
|
| #include "content/public/browser/browser_thread.h"
|
| +#include "extensions/browser/api/cast_channel/cast_channel_service.h"
|
| +#include "extensions/browser/api/cast_channel/cast_channel_service_factory.h"
|
| #include "extensions/browser/api/cast_channel/cast_message_util.h"
|
| #include "extensions/browser/api/cast_channel/cast_socket.h"
|
| #include "extensions/browser/api/cast_channel/keep_alive_delegate.h"
|
| @@ -165,15 +167,16 @@ std::unique_ptr<base::Timer> CastChannelAPI::GetInjectedTimeoutTimerForTest() {
|
|
|
| CastChannelAPI::~CastChannelAPI() {}
|
|
|
| -CastChannelAsyncApiFunction::CastChannelAsyncApiFunction() {
|
| -}
|
| +CastChannelAsyncApiFunction::CastChannelAsyncApiFunction()
|
| + : cast_channel_service_(nullptr) {}
|
|
|
| CastChannelAsyncApiFunction::~CastChannelAsyncApiFunction() { }
|
|
|
| bool CastChannelAsyncApiFunction::PrePrepare() {
|
| - DCHECK(ApiResourceManager<CastSocket>::Get(browser_context()));
|
| - sockets_ = ApiResourceManager<CastSocket>::Get(browser_context())->data_;
|
| - DCHECK(sockets_);
|
| + cast_channel_service_ =
|
| + api::cast_channel::CastChannelServiceFactory::GetInstance()
|
| + ->GetForBrowserContext(browser_context());
|
| + DCHECK(cast_channel_service_);
|
| return true;
|
| }
|
|
|
| @@ -193,16 +196,13 @@ CastSocket* CastChannelAsyncApiFunction::GetSocketOrCompleteWithError(
|
| }
|
|
|
| int CastChannelAsyncApiFunction::AddSocket(CastSocket* socket) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - DCHECK(socket);
|
| - const int id = sockets_->Add(socket);
|
| - socket->set_id(id);
|
| - return id;
|
| + auto* sockets = cast_channel_service_->GetOrCreateSocketData();
|
| + return sockets->AddSocket(socket);
|
| }
|
|
|
| void CastChannelAsyncApiFunction::RemoveSocket(int channel_id) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - sockets_->Remove(extension_->id(), channel_id);
|
| + auto* sockets = cast_channel_service_->GetOrCreateSocketData();
|
| + sockets->RemoveSocket(channel_id);
|
| }
|
|
|
| void CastChannelAsyncApiFunction::SetResultFromSocket(
|
| @@ -230,8 +230,8 @@ void CastChannelAsyncApiFunction::SetResultFromError(int channel_id,
|
| }
|
|
|
| CastSocket* CastChannelAsyncApiFunction::GetSocket(int channel_id) const {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - return sockets_->Get(extension_->id(), channel_id);
|
| + auto* sockets = cast_channel_service_->GetOrCreateSocketData();
|
| + return sockets->GetSocket(channel_id);
|
| }
|
|
|
| void CastChannelAsyncApiFunction::SetResultFromChannelInfo(
|
|
|