Chromium Code Reviews| Index: content/renderer/mojo/mojo_render_process_observer.cc |
| diff --git a/content/renderer/mojo/mojo_render_process_observer.cc b/content/renderer/mojo/mojo_render_process_observer.cc |
| index f72e3989b9d4817010e7abbc072b1a01027cd274..8881673cb20b086a0840226249862885b984cda0 100644 |
| --- a/content/renderer/mojo/mojo_render_process_observer.cc |
| +++ b/content/renderer/mojo/mojo_render_process_observer.cc |
| @@ -9,6 +9,8 @@ |
| #include "content/common/mojo/mojo_channel_init.h" |
| #include "content/common/mojo/mojo_messages.h" |
| #include "content/public/renderer/render_thread.h" |
| +#include "content/public/renderer/render_view.h" |
| +#include "content/renderer/web_ui_mojo.h" |
| namespace content { |
| @@ -46,6 +48,25 @@ void MojoRenderProcessObserver::OnChannelCreated( |
| DCHECK(!channel_init_.get()); |
| channel_init_.reset(new MojoChannelInit); |
| channel_init_->Init(handle, ChildProcess::current()->io_message_loop_proxy()); |
| + if (!channel_init_->is_handle_valid()) |
| + return; |
|
darin (slow to review)
2014/03/21 00:04:52
should there be an assertion here if the handle is
sky
2014/03/21 03:19:16
I think you're suggesting to make this a DCHECK, r
|
| + |
| + ScopedRenderProcessHostMojoHandle render_process_host_handle( |
| + RenderProcessHostMojoHandle( |
| + channel_init_->bootstrap_message_pipe().release().value())); |
| + render_process_host_mojo_.reset(render_process_host_handle.Pass(), this); |
| +} |
| + |
| +void MojoRenderProcessObserver::SetBrowserWebUIHandle( |
|
darin (slow to review)
2014/03/21 00:04:52
I see why the view ID is needed now. Hmm, OK. Long
sky
2014/03/21 03:19:16
I agree. Long term it seems like we'll want an int
|
| + int32 view_routing_id, |
| + mojo::ScopedHandle 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()); |
| } |
| } // namespace content |