| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index d11d877a87eddde856148f891e6d0f5b1b3dd416..f0e42e8dac014183c52907890d9561263e31a40f 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -179,7 +179,6 @@
|
| #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"
|
| #include "storage/common/data_element.h"
|
| #include "third_party/WebKit/public/platform/FilePathConversion.h"
|
| @@ -1153,12 +1152,7 @@ RenderFrameImpl::RenderFrameImpl(const CreateParams& params)
|
| frame_bindings_control_binding_(this),
|
| has_accessed_initial_document_(false),
|
| weak_factory_(this) {
|
| - // We don't have a service_manager::Connection at this point, so use empty
|
| - // identity/specs.
|
| - // TODO(beng): We should fix this, so we can apply policy about which
|
| - // interfaces get exposed.
|
| - interface_registry_ = base::MakeUnique<service_manager::InterfaceRegistry>(
|
| - mojom::kNavigation_FrameSpec);
|
| + interface_registry_ = base::MakeUnique<service_manager::BinderRegistry>();
|
| service_manager::mojom::InterfaceProviderPtr remote_interfaces;
|
| pending_remote_interface_provider_request_ = MakeRequest(&remote_interfaces);
|
| remote_interfaces_.reset(new service_manager::InterfaceProvider);
|
| @@ -1323,7 +1317,11 @@ void RenderFrameImpl::InitializeBlameContext(RenderFrameImpl* parent_frame) {
|
| void RenderFrameImpl::GetInterface(
|
| const std::string& interface_name,
|
| mojo::ScopedMessagePipeHandle interface_pipe) {
|
| - interface_registry_->BindInterface(interface_name, std::move(interface_pipe));
|
| + // TODO(beng): We should be getting this info from the frame factory request.
|
| + service_manager::ServiceInfo browser_info =
|
| + ChildThreadImpl::current()->GetBrowserServiceInfo();
|
| + interface_registry_->BindInterface(browser_info.identity, interface_name,
|
| + std::move(interface_pipe));
|
| }
|
|
|
| RenderWidget* RenderFrameImpl::GetRenderWidget() {
|
| @@ -2571,7 +2569,7 @@ void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) {
|
| OnJavaScriptExecuteRequest(javascript, 0, false);
|
| }
|
|
|
| -service_manager::InterfaceRegistry* RenderFrameImpl::GetInterfaceRegistry() {
|
| +service_manager::BinderRegistry* RenderFrameImpl::GetInterfaceRegistry() {
|
| return interface_registry_.get();
|
| }
|
|
|
| @@ -2741,6 +2739,7 @@ void RenderFrameImpl::SetEngagementLevel(const url::Origin& origin,
|
|
|
| void RenderFrameImpl::GetInterfaceProvider(
|
| service_manager::mojom::InterfaceProviderRequest request) {
|
| + // TODO(beng): We should be getting this info from the frame factory request.
|
| service_manager::ServiceInfo browser_info =
|
| ChildThreadImpl::current()->GetBrowserServiceInfo();
|
| service_manager::Connector* connector = ChildThread::Get()->GetConnector();
|
|
|