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 42f062465d519064d0faa83b88ca66a316308781..821c1a2f7a6e8b3d77c6e65b67d7abbc4e9f2a82 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> |
@@ -70,6 +71,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); |