Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 968802f571031281370978093687b4b9f8e2de3d..c4ec9d04ecbd212dc336527b8af1935ce6d9954d 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -142,8 +142,10 @@ |
#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/connector.h" |
#include "services/service_manager/public/cpp/interface_provider.h" |
#include "services/service_manager/public/cpp/interface_registry.h" |
+#include "services/ui/public/interfaces/constants.mojom.h" |
#include "skia/ext/event_tracer_impl.h" |
#include "skia/ext/skia_memory_dump_provider.h" |
#include "third_party/WebKit/public/platform/WebImageGenerator.h" |
@@ -655,9 +657,8 @@ void RenderThreadImpl::Init( |
#if defined(USE_AURA) |
if (IsRunningInMash()) { |
- gpu_service_ = |
- ui::GpuService::Create(GetServiceManagerConnection()->GetConnector(), |
- ChildProcess::current()->io_task_runner()); |
+ gpu_service_ = ui::GpuService::Create( |
+ GetServiceManagerConnection()->GetConnector(), GetIOTaskRunner()); |
} |
#endif |
gpu_memory_buffer_manager_ = |
@@ -884,8 +885,19 @@ void RenderThreadImpl::Init( |
categorized_worker_pool_->Start(num_raster_threads); |
discardable_memory::mojom::DiscardableSharedMemoryManagerPtr manager_ptr; |
- ChildThread::Get()->GetRemoteInterfaces()->GetInterface( |
- mojo::GetProxy(&manager_ptr)); |
+ bool manager_initialized = false; |
+#if defined(USE_AURA) |
+ if (IsRunningInMash()) { |
+ GetServiceManagerConnection()->GetConnector()->ConnectToInterface( |
+ ui::mojom::kServiceName, &manager_ptr); |
+ manager_initialized = true; |
+ } |
+#endif |
+ if (!manager_initialized) { |
sadrul
2016/12/07 17:56:40
Do you need |manager_initialized|? Can you check |
Peng
2016/12/07 19:02:05
Seems ConnectToInterface() can be failed, so proba
|
+ ChildThread::Get()->GetRemoteInterfaces()->GetInterface( |
+ mojo::GetProxy(&manager_ptr)); |
+ } |
+ |
discardable_shared_memory_manager_ = base::MakeUnique< |
discardable_memory::ClientDiscardableSharedMemoryManager>( |
std::move(manager_ptr), GetIOTaskRunner()); |