OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 | 214 |
215 #if defined(ENABLE_WEBRTC) | 215 #if defined(ENABLE_WEBRTC) |
216 #include "content/browser/media/webrtc_internals.h" | 216 #include "content/browser/media/webrtc_internals.h" |
217 #include "content/browser/renderer_host/media/media_stream_track_metrics_host.h" | 217 #include "content/browser/renderer_host/media/media_stream_track_metrics_host.h" |
218 #include "content/browser/renderer_host/media/webrtc_identity_service_host.h" | 218 #include "content/browser/renderer_host/media/webrtc_identity_service_host.h" |
219 #include "content/browser/renderer_host/p2p/socket_dispatcher_host.h" | 219 #include "content/browser/renderer_host/p2p/socket_dispatcher_host.h" |
220 #include "content/common/media/aec_dump_messages.h" | 220 #include "content/common/media/aec_dump_messages.h" |
221 #include "content/common/media/media_stream_messages.h" | 221 #include "content/common/media/media_stream_messages.h" |
222 #endif | 222 #endif |
223 | 223 |
224 #if defined(MOJO_SHELL_CLIENT) | |
225 #include "content/browser/mojo/mojo_shell_client_host.h" | |
226 #endif | |
227 | |
228 #if defined(OS_WIN) | 224 #if defined(OS_WIN) |
229 #define IntToStringType base::IntToString16 | 225 #define IntToStringType base::IntToString16 |
230 #else | 226 #else |
231 #define IntToStringType base::IntToString | 227 #define IntToStringType base::IntToString |
232 #endif | 228 #endif |
233 | 229 |
234 namespace content { | 230 namespace content { |
235 namespace { | 231 namespace { |
236 | 232 |
237 const char kSiteProcessMapKeyName[] = "content_site_process_map"; | 233 const char kSiteProcessMapKeyName[] = "content_site_process_map"; |
(...skipping 2209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2447 // ExtensionService uses this notification to initialize the renderer process | 2443 // ExtensionService uses this notification to initialize the renderer process |
2448 // with state that must be there before any JavaScript executes. | 2444 // with state that must be there before any JavaScript executes. |
2449 // | 2445 // |
2450 // The queued messages contain such things as "navigate". If this notification | 2446 // The queued messages contain such things as "navigate". If this notification |
2451 // was after, we can end up executing JavaScript before the initialization | 2447 // was after, we can end up executing JavaScript before the initialization |
2452 // happens. | 2448 // happens. |
2453 NotificationService::current()->Notify(NOTIFICATION_RENDERER_PROCESS_CREATED, | 2449 NotificationService::current()->Notify(NOTIFICATION_RENDERER_PROCESS_CREATED, |
2454 Source<RenderProcessHost>(this), | 2450 Source<RenderProcessHost>(this), |
2455 NotificationService::NoDetails()); | 2451 NotificationService::NoDetails()); |
2456 | 2452 |
2457 #if defined(MOJO_SHELL_CLIENT) | |
2458 // Send a handle that the external Mojo shell can use to pass an Application | |
2459 // request to the child. | |
2460 RegisterChildWithExternalShell(id_, GetHandle(), this); | |
2461 #endif | |
2462 | |
2463 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/465841 | 2453 // TODO(erikchen): Remove ScopedTracker below once http://crbug.com/465841 |
2464 // is fixed. | 2454 // is fixed. |
2465 tracked_objects::ScopedTracker tracking_profile4( | 2455 tracked_objects::ScopedTracker tracking_profile4( |
2466 FROM_HERE_WITH_EXPLICIT_FUNCTION( | 2456 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
2467 "465841 RenderProcessHostImpl::OnProcessLaunched::MojoActivate")); | 2457 "465841 RenderProcessHostImpl::OnProcessLaunched::MojoActivate")); |
2468 // Allow Mojo to be setup before the renderer sees any Chrome IPC messages. | 2458 // Allow Mojo to be setup before the renderer sees any Chrome IPC messages. |
2469 // This way, Mojo can be safely used from the renderer in response to any | 2459 // This way, Mojo can be safely used from the renderer in response to any |
2470 // Chrome IPC message. | 2460 // Chrome IPC message. |
2471 mojo_application_host_->Activate(this, GetHandle()); | 2461 mojo_application_host_->Activate(this, GetHandle()); |
2472 | 2462 |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2647 void RenderProcessHostImpl::GetAudioOutputControllers( | 2637 void RenderProcessHostImpl::GetAudioOutputControllers( |
2648 const GetAudioOutputControllersCallback& callback) const { | 2638 const GetAudioOutputControllersCallback& callback) const { |
2649 audio_renderer_host()->GetOutputControllers(callback); | 2639 audio_renderer_host()->GetOutputControllers(callback); |
2650 } | 2640 } |
2651 | 2641 |
2652 BluetoothDispatcherHost* RenderProcessHostImpl::GetBluetoothDispatcherHost() { | 2642 BluetoothDispatcherHost* RenderProcessHostImpl::GetBluetoothDispatcherHost() { |
2653 return bluetooth_dispatcher_host_.get(); | 2643 return bluetooth_dispatcher_host_.get(); |
2654 } | 2644 } |
2655 | 2645 |
2656 } // namespace content | 2646 } // namespace content |
OLD | NEW |