| Index: content/renderer/media/media_permission_dispatcher.cc
|
| diff --git a/content/renderer/media/media_permission_dispatcher.cc b/content/renderer/media/media_permission_dispatcher.cc
|
| index 14d29285495d71abea57f2f443fad4a9015ffa4f..2c2068e9f3214cd8752072fbddc71db005af583e 100644
|
| --- a/content/renderer/media/media_permission_dispatcher.cc
|
| +++ b/content/renderer/media/media_permission_dispatcher.cc
|
| @@ -35,11 +35,14 @@ content::PermissionName MediaPermissionTypeToPermissionName(Type type) {
|
|
|
| namespace content {
|
|
|
| -MediaPermissionDispatcher::MediaPermissionDispatcher(RenderFrame* render_frame)
|
| - : RenderFrameObserver(render_frame),
|
| +MediaPermissionDispatcher::MediaPermissionDispatcher(
|
| + const ConnectToServiceCB& connect_to_service_cb)
|
| + : connect_to_service_cb_(connect_to_service_cb),
|
| task_runner_(base::ThreadTaskRunnerHandle::Get()),
|
| next_request_id_(0),
|
| - weak_factory_(this) {}
|
| + weak_factory_(this) {
|
| + DCHECK(!connect_to_service_cb_.is_null());
|
| +}
|
|
|
| MediaPermissionDispatcher::~MediaPermissionDispatcher() {
|
| DCHECK(task_runner_->RunsTasksOnCurrentThread());
|
| @@ -66,10 +69,8 @@ void MediaPermissionDispatcher::HasPermission(
|
|
|
| DCHECK(task_runner_->RunsTasksOnCurrentThread());
|
|
|
| - if (!permission_service_.get()) {
|
| - render_frame()->GetServiceRegistry()->ConnectToRemoteService(
|
| - mojo::GetProxy(&permission_service_));
|
| - }
|
| + if (!permission_service_.get())
|
| + connect_to_service_cb_.Run(mojo::GetProxy(&permission_service_));
|
|
|
| int request_id = RegisterCallback(permission_status_cb);
|
| DVLOG(2) << __FUNCTION__ << ": request ID " << request_id;
|
| @@ -95,10 +96,8 @@ void MediaPermissionDispatcher::RequestPermission(
|
|
|
| DCHECK(task_runner_->RunsTasksOnCurrentThread());
|
|
|
| - if (!permission_service_.get()) {
|
| - render_frame()->GetServiceRegistry()->ConnectToRemoteService(
|
| - mojo::GetProxy(&permission_service_));
|
| - }
|
| + if (!permission_service_.get())
|
| + connect_to_service_cb_.Run(mojo::GetProxy(&permission_service_));
|
|
|
| int request_id = RegisterCallback(permission_status_cb);
|
| DVLOG(2) << __FUNCTION__ << ": request ID " << request_id;
|
|
|