| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Represents the browser side of the browser <--> renderer communication | 5 // Represents the browser side of the browser <--> renderer communication |
| 6 // channel. There will be one RenderProcessHost per renderer process. | 6 // channel. There will be one RenderProcessHost per renderer process. |
| 7 | 7 |
| 8 #include "content/browser/renderer_host/render_process_host_impl.h" | 8 #include "content/browser/renderer_host/render_process_host_impl.h" |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 const std::string& channel_id) { | 668 const std::string& channel_id) { |
| 669 scoped_refptr<base::SingleThreadTaskRunner> runner = | 669 scoped_refptr<base::SingleThreadTaskRunner> runner = |
| 670 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); | 670 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); |
| 671 if (ShouldUseMojoChannel()) { | 671 if (ShouldUseMojoChannel()) { |
| 672 VLOG(1) << "Mojo Channel is enabled on host"; | 672 VLOG(1) << "Mojo Channel is enabled on host"; |
| 673 if (!channel_mojo_host_) { | 673 if (!channel_mojo_host_) { |
| 674 channel_mojo_host_.reset(new IPC::ChannelMojoHost( | 674 channel_mojo_host_.reset(new IPC::ChannelMojoHost( |
| 675 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO))); | 675 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO))); |
| 676 } | 676 } |
| 677 | 677 |
| 678 return IPC::ChannelProxy::Create(IPC::ChannelMojo::CreateServerFactory( | 678 return IPC::ChannelProxy::Create( |
| 679 channel_mojo_host_.get(), channel_id), | 679 IPC::ChannelMojo::CreateServerFactory( |
| 680 this, | 680 channel_mojo_host_->channel_delegate(), channel_id), |
| 681 runner.get()); | 681 this, |
| 682 runner.get()); |
| 682 } | 683 } |
| 683 | 684 |
| 684 return IPC::ChannelProxy::Create( | 685 return IPC::ChannelProxy::Create( |
| 685 channel_id, IPC::Channel::MODE_SERVER, this, runner.get()); | 686 channel_id, IPC::Channel::MODE_SERVER, this, runner.get()); |
| 686 } | 687 } |
| 687 | 688 |
| 688 void RenderProcessHostImpl::CreateMessageFilters() { | 689 void RenderProcessHostImpl::CreateMessageFilters() { |
| 689 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 690 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 690 AddFilter(new ResourceSchedulerFilter(GetID())); | 691 AddFilter(new ResourceSchedulerFilter(GetID())); |
| 691 MediaInternals* media_internals = MediaInternals::GetInstance(); | 692 MediaInternals* media_internals = MediaInternals::GetInstance(); |
| (...skipping 1406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2098 NOTIFICATION_RENDERER_PROCESS_CREATED, | 2099 NOTIFICATION_RENDERER_PROCESS_CREATED, |
| 2099 Source<RenderProcessHost>(this), | 2100 Source<RenderProcessHost>(this), |
| 2100 NotificationService::NoDetails()); | 2101 NotificationService::NoDetails()); |
| 2101 | 2102 |
| 2102 // Allow Mojo to be setup before the renderer sees any Chrome IPC messages. | 2103 // Allow Mojo to be setup before the renderer sees any Chrome IPC messages. |
| 2103 // This way, Mojo can be safely used from the renderer in response to any | 2104 // This way, Mojo can be safely used from the renderer in response to any |
| 2104 // Chrome IPC message. | 2105 // Chrome IPC message. |
| 2105 MaybeActivateMojo(); | 2106 MaybeActivateMojo(); |
| 2106 | 2107 |
| 2107 if (channel_mojo_host_) | 2108 if (channel_mojo_host_) |
| 2108 channel_mojo_host_->OnClientLaunched(child_process_launcher_->GetHandle()); | 2109 channel_mojo_host_->OnClientLaunched(GetHandle()); |
| 2109 | 2110 |
| 2110 while (!queued_messages_.empty()) { | 2111 while (!queued_messages_.empty()) { |
| 2111 Send(queued_messages_.front()); | 2112 Send(queued_messages_.front()); |
| 2112 queued_messages_.pop(); | 2113 queued_messages_.pop(); |
| 2113 } | 2114 } |
| 2114 | 2115 |
| 2115 #if defined(ENABLE_WEBRTC) | 2116 #if defined(ENABLE_WEBRTC) |
| 2116 if (WebRTCInternals::GetInstance()->aec_dump_enabled()) | 2117 if (WebRTCInternals::GetInstance()->aec_dump_enabled()) |
| 2117 EnableAecDump(WebRTCInternals::GetInstance()->aec_dump_file_path()); | 2118 EnableAecDump(WebRTCInternals::GetInstance()->aec_dump_file_path()); |
| 2118 #endif | 2119 #endif |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2245 if (worker_ref_count_ == 0) | 2246 if (worker_ref_count_ == 0) |
| 2246 Cleanup(); | 2247 Cleanup(); |
| 2247 } | 2248 } |
| 2248 | 2249 |
| 2249 void RenderProcessHostImpl::EnsureMojoActivated() { | 2250 void RenderProcessHostImpl::EnsureMojoActivated() { |
| 2250 mojo_activation_required_ = true; | 2251 mojo_activation_required_ = true; |
| 2251 MaybeActivateMojo(); | 2252 MaybeActivateMojo(); |
| 2252 } | 2253 } |
| 2253 | 2254 |
| 2254 } // namespace content | 2255 } // namespace content |
| OLD | NEW |