Index: content/browser/service_manager/service_manager_context.cc |
diff --git a/content/browser/service_manager/service_manager_context.cc b/content/browser/service_manager/service_manager_context.cc |
index eeb813967f87603be8ade337d8b31273a35f2067..54dbb861d164594b444dd51a714be20a9d0b0e9c 100644 |
--- a/content/browser/service_manager/service_manager_context.cc |
+++ b/content/browser/service_manager/service_manager_context.cc |
@@ -4,6 +4,7 @@ |
#include "content/browser/service_manager/service_manager_context.h" |
+#include <map> |
#include <memory> |
#include <string> |
#include <utility> |
@@ -71,6 +72,11 @@ void StartServiceInUtilityProcess( |
if (!use_sandbox) |
process_host->DisableSandbox(); |
process_host->Start(); |
+ // Register mojo interfaces on UI thread. |
+ BrowserThread::GetTaskRunnerForThread(BrowserThread::UI) |
+ ->PostTask(FROM_HERE, |
+ base::Bind(&UtilityProcessHost::RegisterMojoServices, |
+ base::Unretained(process_host))); |
service_manager::mojom::ServiceFactoryPtr service_factory; |
BindInterface(process_host, mojo::MakeRequest(&service_factory)); |
service_factory->CreateService(std::move(request), service_name); |