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

Unified Diff: content/renderer/render_thread_impl.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 | « content/public/renderer/content_renderer_client.h ('k') | content/shell/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_thread_impl.cc
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index cc679732849eed458d7c000f5c44a7bf423132f9..bd4ef1a6c6400f651419daaff4a67dff50dc3957 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -83,7 +83,9 @@
#include "content/public/common/content_paths.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/renderer_preferences.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/common/url_constants.h"
#include "content/public/renderer/content_renderer_client.h"
#include "content/public/renderer/render_thread_observer.h"
@@ -141,9 +143,9 @@
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "net/base/url_util.h"
#include "ppapi/features/features.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_provider.h"
-#include "services/service_manager/public/cpp/interface_registry.h"
#include "services/ui/public/cpp/bitmap/child_shared_bitmap_manager.h"
#include "services/ui/public/cpp/gpu/context_provider_command_buffer.h"
#include "services/ui/public/interfaces/constants.mojom.h"
@@ -691,11 +693,18 @@ void RenderThreadImpl::Init(
}
#endif
- // Must be called before RenderThreadStarted() below.
- StartServiceManagerConnection();
+ auto registry = base::MakeUnique<service_manager::BinderRegistry>();
+ registry->AddInterface(base::Bind(&CreateFrameFactory),
+ base::ThreadTaskRunnerHandle::Get());
+ registry->AddInterface(base::Bind(&EmbeddedWorkerInstanceClientImpl::Create),
+ base::ThreadTaskRunnerHandle::Get());
+ GetServiceManagerConnection()->AddConnectionFilter(
+ base::MakeUnique<SimpleConnectionFilter>(std::move(registry)));
GetContentClient()->renderer()->RenderThreadStarted();
+ StartServiceManagerConnection();
+
field_trial_syncer_.InitFieldTrialObserving(
*base::CommandLine::ForCurrentProcess(), switches::kSingleProcess);
@@ -859,13 +868,6 @@ void RenderThreadImpl::Init(
base::DiscardableMemoryAllocator::SetInstance(
discardable_shared_memory_manager_.get());
- GetContentClient()->renderer()->ExposeInterfacesToBrowser(
- GetInterfaceRegistry());
-
- GetInterfaceRegistry()->AddInterface(base::Bind(&CreateFrameFactory));
- GetInterfaceRegistry()->AddInterface(
- base::Bind(&EmbeddedWorkerInstanceClientImpl::Create));
-
GetConnector()->BindInterface(mojom::kBrowserServiceName,
mojo::MakeRequest(&storage_partition_service_));
« no previous file with comments | « content/public/renderer/content_renderer_client.h ('k') | content/shell/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698