| Index: chrome/renderer/chrome_render_thread_observer.cc
|
| diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/chrome_render_thread_observer.cc
|
| index 6c42add93269fc8a1e9c6fc4eee22edffb8b1795..043975d22cbed79c2fdd8907c5bf212afdbfe0f9 100644
|
| --- a/chrome/renderer/chrome_render_thread_observer.cc
|
| +++ b/chrome/renderer/chrome_render_thread_observer.cc
|
| @@ -38,10 +38,13 @@
|
| #include "chrome/renderer/content_settings_observer.h"
|
| #include "chrome/renderer/security_filter_peer.h"
|
| #include "components/visitedlink/renderer/visitedlink_slave.h"
|
| +#include "content/public/child/child_thread.h"
|
| #include "content/public/child/resource_dispatcher_delegate.h"
|
| #include "content/public/common/associated_interface_registry.h"
|
| #include "content/public/common/content_switches.h"
|
| +#include "content/public/common/service_manager_connection.h"
|
| #include "content/public/common/service_names.mojom.h"
|
| +#include "content/public/common/simple_connection_filter.h"
|
| #include "content/public/renderer/render_thread.h"
|
| #include "content/public/renderer/render_view.h"
|
| #include "content/public/renderer/render_view_visitor.h"
|
| @@ -50,8 +53,8 @@
|
| #include "mojo/public/cpp/bindings/strong_binding.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/base/net_module.h"
|
| +#include "services/service_manager/public/cpp/binder_registry.h"
|
| #include "services/service_manager/public/cpp/connector.h"
|
| -#include "services/service_manager/public/cpp/interface_registry.h"
|
| #include "third_party/WebKit/public/platform/WebCache.h"
|
| #include "third_party/WebKit/public/web/WebDocument.h"
|
| #include "third_party/WebKit/public/web/WebFrame.h"
|
| @@ -241,9 +244,6 @@ ChromeRenderThreadObserver::ChromeRenderThreadObserver()
|
| resource_delegate_.reset(new RendererResourceDelegate());
|
| thread->SetResourceDispatcherDelegate(resource_delegate_.get());
|
|
|
| - thread->GetInterfaceRegistry()->AddInterface(
|
| - base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr()));
|
| -
|
| // Configure modules that need access to resources.
|
| net::NetModule::SetResourceProvider(chrome_common_net::NetResourceProvider);
|
| media::SetLocalizedStringProvider(
|
| @@ -261,8 +261,18 @@ ChromeRenderThreadObserver::ChromeRenderThreadObserver()
|
| WebSecurityPolicy::RegisterURLSchemeAsNotAllowingJavascriptURLs(
|
| native_scheme);
|
|
|
| - thread->GetInterfaceRegistry()->AddInterface(
|
| - visited_link_slave_->GetBindCallback());
|
| + auto registry = base::MakeUnique<service_manager::BinderRegistry>();
|
| + registry->AddInterface(
|
| + base::Bind(CreateResourceUsageReporter, weak_factory_.GetWeakPtr()),
|
| + base::ThreadTaskRunnerHandle::Get());
|
| + registry->AddInterface(visited_link_slave_->GetBindCallback(),
|
| + base::ThreadTaskRunnerHandle::Get());
|
| + if (content::ChildThread::Get()) {
|
| + content::ChildThread::Get()
|
| + ->GetServiceManagerConnection()
|
| + ->AddConnectionFilter(base::MakeUnique<content::SimpleConnectionFilter>(
|
| + std::move(registry)));
|
| + }
|
| }
|
|
|
| ChromeRenderThreadObserver::~ChromeRenderThreadObserver() {}
|
|
|