Chromium Code Reviews| 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 45cf9cfdc865ed82c82a655cf49b05212c2ef109..9d7aff2c2afb90c35449a16cdc00580436cb604a 100644 |
| --- a/content/browser/frame_host/render_frame_host_impl.cc |
| +++ b/content/browser/frame_host/render_frame_host_impl.cc |
| @@ -3331,17 +3331,14 @@ bool RenderFrameHostImpl::HasSelection() { |
| void RenderFrameHostImpl::GetInterfaceProvider( |
| service_manager::mojom::InterfaceProviderRequest interfaces) { |
| - service_manager::InterfaceProviderSpec browser_spec, renderer_spec; |
| - // TODO(beng): CHECK these return true. |
| - service_manager::GetInterfaceProviderSpec( |
| - mojom::kNavigation_FrameSpec, browser_info_.interface_provider_specs, |
| - &browser_spec); |
| - service_manager::GetInterfaceProviderSpec( |
| - mojom::kNavigation_FrameSpec, renderer_info_.interface_provider_specs, |
| - &renderer_spec); |
| - interface_registry_->Bind(std::move(interfaces), |
| - browser_info_.identity, browser_spec, |
| - renderer_info_.identity, renderer_spec); |
| + service_manager::Identity child_identity = GetProcess()->GetChildIdentity(); |
| + child_identity.set_user_id( |
| + BrowserContext::GetServiceUserIdFor(GetProcess()->GetBrowserContext())); |
|
Ken Rockot(use gerrit already)
2017/04/26 04:32:48
Weird - why wouldn't this already be set correctly
Ben Goodger (Google)
2017/04/26 17:00:07
No it uses kInheritUserID. Remember SM doesn't all
Ken Rockot(use gerrit already)
2017/04/26 17:39:19
Oh right. It's the BrowserContext's content_browse
|
| + service_manager::Connector* connector = |
| + BrowserContext::GetConnectorFor(GetProcess()->GetBrowserContext()); |
| + connector->ApplySpec( |
| + mojom::kNavigation_FrameSpec, child_identity, std::move(interfaces), |
| + interface_provider_bindings_.CreateInterfacePtrAndBind(this)); |
| } |
| #if BUILDFLAG(USE_EXTERNAL_POPUP_MENU) |
| @@ -3641,6 +3638,15 @@ void RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError() { |
| media_interface_proxy_.reset(); |
| } |
| +void RenderFrameHostImpl::GetInterface( |
| + const std::string& interface_name, |
| + mojo::ScopedMessagePipeHandle interface_pipe) { |
| + if (interface_registry_.get()) { |
| + interface_registry_->BindInterface(interface_name, |
| + std::move(interface_pipe)); |
| + } |
| +} |
| + |
| std::unique_ptr<NavigationHandleImpl> |
| RenderFrameHostImpl::TakeNavigationHandleForCommit( |
| const FrameHostMsg_DidCommitProvisionalLoad_Params& params) { |