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; |