Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: chrome/renderer/chrome_render_thread_observer.cc

Issue 2823693002: Migrate RenderThreadImpl to use ConnectionFilter instead of the ChildThread's InterfaceRegistry to … (Closed)
Patch Set: . Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « android_webview/renderer/aw_content_renderer_client.cc ('k') | components/web_cache/renderer/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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() {}
« no previous file with comments | « android_webview/renderer/aw_content_renderer_client.cc ('k') | components/web_cache/renderer/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698