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

Unified Diff: content/renderer/render_thread_impl.cc

Issue 236813002: Move Mojo channel initialization closer to IPC::Channel setup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixup Created 6 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
Index: content/renderer/render_thread_impl.cc
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index f1a704e0bc0deba9d882f8f9290f505f8b116833..bf4a8b025bd02a914dbcdb1b78a9af46bab6fc5e 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -82,7 +82,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 +89,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_mojo.h"
#include "grit/content_resources.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_forwarding_message_filter.h"
@@ -310,12 +310,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 +396,6 @@ void RenderThreadImpl::Init() {
AddFilter((new EmbeddedWorkerContextMessageFilter())->GetFilter());
- // MojoRenderProcessObserver deletes itself as necessary.
- new MojoRenderProcessObserver(this);
-
GetContentClient()->renderer()->RenderThreadStarted();
InitSkiaEventTracer();
@@ -1202,6 +1201,28 @@ scoped_ptr<gfx::GpuMemoryBuffer> RenderThreadImpl::AllocateGpuMemoryBuffer(
internalformat).PassAs<gfx::GpuMemoryBuffer>();
}
+void RenderThreadImpl::AcceptConnection(
+ const mojo::String& url,
+ mojo::ScopedMessagePipeHandle message_pipe) {
+ // TODO(darin): Figure out what URL to use for the RenderProcess service.
+ if (url.To<std::string>() == "content:render_process") {
+ render_process_host_.reset(
+ ScopedIRenderProcessHostHandle::From(message_pipe.Pass()), this);
+ }
+}
+
+void RenderThreadImpl::SetWebUIHandle(
+ int32 view_routing_id,
+ mojo::ScopedMessagePipeHandle web_ui_handle) {
+ RenderView* render_view = RenderView::FromRoutingID(view_routing_id);
+ if (!render_view)
+ return;
+ WebUIMojo* web_ui_mojo = WebUIMojo::Get(render_view);
+ if (!web_ui_mojo)
+ return;
+ web_ui_mojo->SetBrowserHandle(web_ui_handle.Pass());
+}
+
void RenderThreadImpl::DoNotSuspendWebKitSharedTimer() {
suspend_webkit_shared_timer_ = false;
}
@@ -1226,7 +1247,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;
« content/renderer/mojo/mojo_application.h ('K') | « content/renderer/render_thread_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698