| Index: content/browser/frame_host/render_frame_host_impl.cc
|
| diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
|
| index c9a6d113d39ef1ae008b68e05a246574ddc8d633..15283cb405f4729ad809960ddc183ff5da2961cf 100644
|
| --- a/content/browser/frame_host/render_frame_host_impl.cc
|
| +++ b/content/browser/frame_host/render_frame_host_impl.cc
|
| @@ -235,7 +235,9 @@ class RemoterFactoryImpl final : public media::mojom::RemoterFactory {
|
| RemoterFactoryImpl(int process_id, int routing_id)
|
| : process_id_(process_id), routing_id_(routing_id) {}
|
|
|
| - static void Bind(int process_id, int routing_id,
|
| + static void Bind(int process_id,
|
| + int routing_id,
|
| + const service_manager::BindSourceInfo& source_info,
|
| media::mojom::RemoterFactoryRequest request) {
|
| mojo::MakeStrongBinding(
|
| base::MakeUnique<RemoterFactoryImpl>(process_id, routing_id),
|
| @@ -259,7 +261,8 @@ class RemoterFactoryImpl final : public media::mojom::RemoterFactory {
|
| #endif // BUILDFLAG(ENABLE_MEDIA_REMOTING)
|
|
|
| template <typename Interface>
|
| -void IgnoreInterfaceRequest(mojo::InterfaceRequest<Interface> request) {
|
| +void IgnoreInterfaceRequest(const service_manager::BindSourceInfo& source_info,
|
| + mojo::InterfaceRequest<Interface> request) {
|
| // Intentionally ignore the interface request.
|
| }
|
|
|
| @@ -323,7 +326,8 @@ void RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView() {
|
|
|
| void CreateMediaPlayerRenderer(
|
| content::RenderFrameHost* render_frame_host,
|
| - mojo::InterfaceRequest<media::mojom::Renderer> request) {
|
| + const service_manager::BindSourceInfo& source_info,
|
| + media::mojom::RendererRequest request) {
|
| std::unique_ptr<MediaPlayerRenderer> renderer =
|
| base::MakeUnique<MediaPlayerRenderer>(render_frame_host);
|
|
|
| @@ -2672,16 +2676,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
|
| base::Unretained(geolocation_service_context)));
|
| }
|
|
|
| - device::mojom::WakeLockContext* wake_lock_service_context =
|
| - delegate_ ? delegate_->GetWakeLockServiceContext() : nullptr;
|
| - if (wake_lock_service_context) {
|
| - // WakeLockServiceContext is owned by WebContentsImpl so it will outlive
|
| - // this RenderFrameHostImpl, hence a raw pointer can be bound to service
|
| - // factory callback.
|
| - GetInterfaceRegistry()->AddInterface<device::mojom::WakeLockService>(
|
| - base::Bind(&device::mojom::WakeLockContext::GetWakeLock,
|
| - base::Unretained(wake_lock_service_context)));
|
| - }
|
| + GetInterfaceRegistry()->AddInterface<device::mojom::WakeLockService>(
|
| + base::Bind(&RenderFrameHostImpl::BindWakeLockServiceRequest,
|
| + base::Unretained(this)));
|
|
|
| if (!permission_service_context_)
|
| permission_service_context_.reset(new PermissionServiceContext(this));
|
| @@ -3670,6 +3667,7 @@ void RenderFrameHostImpl::AXContentTreeDataToAXTreeData(
|
| }
|
|
|
| WebBluetoothServiceImpl* RenderFrameHostImpl::CreateWebBluetoothService(
|
| + const service_manager::BindSourceInfo& source_info,
|
| blink::mojom::WebBluetoothServiceRequest request) {
|
| // RFHI owns |web_bluetooth_services_| and |web_bluetooth_service| owns the
|
| // |binding_| which may run the error handler. |binding_| can't run the error
|
| @@ -3720,6 +3718,15 @@ void RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError() {
|
| media_interface_proxy_.reset();
|
| }
|
|
|
| +void RenderFrameHostImpl::BindWakeLockServiceRequest(
|
| + const service_manager::BindSourceInfo& source_info,
|
| + device::mojom::WakeLockServiceRequest request) {
|
| + device::mojom::WakeLockContext* wake_lock_service_context =
|
| + delegate_ ? delegate_->GetWakeLockServiceContext() : nullptr;
|
| + if (wake_lock_service_context)
|
| + wake_lock_service_context->GetWakeLock(std::move(request));
|
| +}
|
| +
|
| void RenderFrameHostImpl::GetInterface(
|
| const std::string& interface_name,
|
| mojo::ScopedMessagePipeHandle interface_pipe) {
|
|
|