Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index 5aead0f6ac08e24b1cd4912a879c6a01cc829075..551590c9bca23fb4421c9359684118c38e731f69 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -174,6 +174,7 @@ |
| #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
| #include "net/http/http_util.h" |
| #include "ppapi/features/features.h" |
| +#include "services/service_manager/public/cpp/connector.h" |
| #include "services/service_manager/public/cpp/interface_provider.h" |
| #include "services/service_manager/public/cpp/interface_registry.h" |
| #include "services/ui/public/cpp/gpu/context_provider_command_buffer.h" |
| @@ -1315,6 +1316,12 @@ void RenderFrameImpl::InitializeBlameContext(RenderFrameImpl* parent_frame) { |
| blame_context_->Initialize(); |
| } |
| +void RenderFrameImpl::GetInterface( |
|
Ken Rockot(use gerrit already)
2017/04/26 04:32:48
nit: Should the position of this function definiti
Ben Goodger (Google)
2017/04/26 17:00:07
Yes. This file is a shit-show.
Ben Goodger (Google)
2017/04/26 17:26:58
Actually it does match the function definition ord
|
| + const std::string& interface_name, |
| + mojo::ScopedMessagePipeHandle interface_pipe) { |
| + interface_registry_->BindInterface(interface_name, std::move(interface_pipe)); |
| +} |
| + |
| RenderWidget* RenderFrameImpl::GetRenderWidget() { |
| return GetLocalRoot()->render_widget_.get(); |
| } |
| @@ -2730,21 +2737,12 @@ void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin, |
| void RenderFrameImpl::GetInterfaceProvider( |
| service_manager::mojom::InterfaceProviderRequest request) { |
| - service_manager::ServiceInfo child_info = |
| - ChildThreadImpl::current()->GetChildServiceInfo(); |
| service_manager::ServiceInfo browser_info = |
| ChildThreadImpl::current()->GetBrowserServiceInfo(); |
| - |
| - service_manager::InterfaceProviderSpec child_spec, browser_spec; |
| - // TODO(beng): CHECK these return true. |
| - service_manager::GetInterfaceProviderSpec( |
| - mojom::kNavigation_FrameSpec, child_info.interface_provider_specs, |
| - &child_spec); |
| - service_manager::GetInterfaceProviderSpec( |
| - mojom::kNavigation_FrameSpec, browser_info.interface_provider_specs, |
| - &browser_spec); |
| - interface_registry_->Bind(std::move(request), child_info.identity, child_spec, |
| - browser_info.identity, browser_spec); |
| + service_manager::Connector* connector = ChildThread::Get()->GetConnector(); |
| + connector->ApplySpec( |
| + mojom::kNavigation_FrameSpec, browser_info.identity, std::move(request), |
| + interface_provider_bindings_.CreateInterfacePtrAndBind(this)); |
| } |
| void RenderFrameImpl::AllowBindings(int32_t enabled_bindings_flags) { |