| 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..7f01d3f8a691f761b13b648642e7334b4b0adf40 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;
|
| +
|
| + 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::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());
|
| }
|
|
|
| } // namespace content
|
|
|