Chromium Code Reviews| Index: content/renderer/render_thread_impl.cc |
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
| index 8122735227b8f1b7e02b6f2f6aeb2dc88e00969e..4d0af742e48ece6777abc30c3a96d0864c1e0aae 100644 |
| --- a/content/renderer/render_thread_impl.cc |
| +++ b/content/renderer/render_thread_impl.cc |
| @@ -51,6 +51,7 @@ |
| #include "content/common/gpu/client/gpu_memory_buffer_impl.h" |
| #include "content/common/gpu/gpu_messages.h" |
| #include "content/common/gpu/gpu_process_launch_causes.h" |
| +#include "content/common/mojo/mojo_service_names.h" |
| #include "content/common/resource_messages.h" |
| #include "content/common/view_messages.h" |
| #include "content/common/worker_messages.h" |
| @@ -82,7 +83,6 @@ |
| #include "content/renderer/media/video_capture_impl_manager.h" |
| #include "content/renderer/media/video_capture_message_filter.h" |
| #include "content/renderer/media/webrtc_identity_service.h" |
| -#include "content/renderer/mojo/mojo_render_process_observer.h" |
| #include "content/renderer/p2p/socket_dispatcher.h" |
| #include "content/renderer/render_process_impl.h" |
| #include "content/renderer/render_view_impl.h" |
| @@ -90,6 +90,7 @@ |
| #include "content/renderer/service_worker/embedded_worker_context_message_filter.h" |
| #include "content/renderer/service_worker/embedded_worker_dispatcher.h" |
| #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
| +#include "content/renderer/web_ui_setup_impl.h" |
| #include "grit/content_resources.h" |
| #include "ipc/ipc_channel_handle.h" |
| #include "ipc/ipc_forwarding_message_filter.h" |
| @@ -97,6 +98,7 @@ |
| #include "media/base/audio_hardware_config.h" |
| #include "media/base/media.h" |
| #include "media/filters/gpu_video_accelerator_factories.h" |
| +#include "mojo/common/common_type_converters.h" |
| #include "net/base/net_errors.h" |
| #include "net/base/net_util.h" |
| #include "skia/ext/event_tracer_impl.h" |
| @@ -310,12 +312,14 @@ RenderThreadImpl* RenderThreadImpl::current() { |
| // When we run plugins in process, we actually run them on the render thread, |
| // which means that we need to make the render thread pump UI events. |
| -RenderThreadImpl::RenderThreadImpl() { |
| +RenderThreadImpl::RenderThreadImpl() |
| + : mojo_application_(this) { |
| Init(); |
| } |
| RenderThreadImpl::RenderThreadImpl(const std::string& channel_name) |
| - : ChildThread(channel_name) { |
| + : ChildThread(channel_name), |
| + mojo_application_(this) { |
| Init(); |
| } |
| @@ -394,9 +398,6 @@ void RenderThreadImpl::Init() { |
| AddFilter((new EmbeddedWorkerContextMessageFilter())->GetFilter()); |
| - // MojoRenderProcessObserver deletes itself as necessary. |
| - new MojoRenderProcessObserver(this); |
| - |
| GetContentClient()->renderer()->RenderThreadStarted(); |
| InitSkiaEventTracer(); |
| @@ -1202,6 +1203,14 @@ scoped_ptr<gfx::GpuMemoryBuffer> RenderThreadImpl::AllocateGpuMemoryBuffer( |
| internalformat).PassAs<gfx::GpuMemoryBuffer>(); |
| } |
| +void RenderThreadImpl::AcceptConnection( |
| + const mojo::String& service_name, |
| + mojo::ScopedMessagePipeHandle message_pipe) { |
| + // TODO(darin): Invent some kind of registration system to use here. |
| + if (service_name.To<base::StringPiece>() == kRendererService_WebUISetup) |
| + WebUISetupImpl::Bind(message_pipe.Pass()); |
| +} |
|
sky
2014/04/22 15:52:20
DCHECK or something if we hit the else?
|
| + |
| void RenderThreadImpl::DoNotSuspendWebKitSharedTimer() { |
| suspend_webkit_shared_timer_ = false; |
| } |
| @@ -1226,7 +1235,8 @@ bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
| } |
| // Some messages are handled by delegates. |
| - if (appcache_dispatcher_->OnMessageReceived(msg) || |
| + if (mojo_application_.OnMessageReceived(msg) || |
| + appcache_dispatcher_->OnMessageReceived(msg) || |
| dom_storage_dispatcher_->OnMessageReceived(msg) || |
| embedded_worker_dispatcher_->OnMessageReceived(msg)) { |
| return true; |