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 #include "content/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 339 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
340 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( | 340 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( |
341 thread_safe_sender())); | 341 thread_safe_sender())); |
342 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | 342 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); |
343 | 343 |
344 media_stream_center_ = NULL; | 344 media_stream_center_ = NULL; |
345 | 345 |
346 db_message_filter_ = new DBMessageFilter(); | 346 db_message_filter_ = new DBMessageFilter(); |
347 AddFilter(db_message_filter_.get()); | 347 AddFilter(db_message_filter_.get()); |
348 | 348 |
349 vc_manager_ = new VideoCaptureImplManager(); | 349 vc_manager_.reset(new VideoCaptureImplManager()); |
350 AddFilter(vc_manager_->video_capture_message_filter()); | 350 AddFilter(vc_manager_->video_capture_message_filter()); |
351 | 351 |
352 #if defined(ENABLE_WEBRTC) | 352 #if defined(ENABLE_WEBRTC) |
353 peer_connection_tracker_.reset(new PeerConnectionTracker()); | 353 peer_connection_tracker_.reset(new PeerConnectionTracker()); |
354 AddObserver(peer_connection_tracker_.get()); | 354 AddObserver(peer_connection_tracker_.get()); |
355 | 355 |
356 p2p_socket_dispatcher_ = | 356 p2p_socket_dispatcher_ = |
357 new P2PSocketDispatcher(GetIOMessageLoopProxy().get()); | 357 new P2PSocketDispatcher(GetIOMessageLoopProxy().get()); |
358 AddFilter(p2p_socket_dispatcher_.get()); | 358 AddFilter(p2p_socket_dispatcher_.get()); |
359 | 359 |
360 webrtc_identity_service_.reset(new WebRTCIdentityService()); | 360 webrtc_identity_service_.reset(new WebRTCIdentityService()); |
361 | 361 |
362 media_stream_factory_.reset(new MediaStreamDependencyFactory( | 362 media_stream_factory_.reset(new MediaStreamDependencyFactory( |
363 vc_manager_.get(), p2p_socket_dispatcher_.get())); | 363 p2p_socket_dispatcher_.get())); |
364 AddObserver(media_stream_factory_.get()); | 364 AddObserver(media_stream_factory_.get()); |
365 #endif // defined(ENABLE_WEBRTC) | 365 #endif // defined(ENABLE_WEBRTC) |
366 | 366 |
367 audio_input_message_filter_ = | 367 audio_input_message_filter_ = |
368 new AudioInputMessageFilter(GetIOMessageLoopProxy()); | 368 new AudioInputMessageFilter(GetIOMessageLoopProxy()); |
369 AddFilter(audio_input_message_filter_.get()); | 369 AddFilter(audio_input_message_filter_.get()); |
370 | 370 |
371 audio_message_filter_ = new AudioMessageFilter(GetIOMessageLoopProxy()); | 371 audio_message_filter_ = new AudioMessageFilter(GetIOMessageLoopProxy()); |
372 AddFilter(audio_message_filter_.get()); | 372 AddFilter(audio_message_filter_.get()); |
373 | 373 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 RemoveFilter(devtools_agent_message_filter_.get()); | 433 RemoveFilter(devtools_agent_message_filter_.get()); |
434 devtools_agent_message_filter_ = NULL; | 434 devtools_agent_message_filter_ = NULL; |
435 } | 435 } |
436 | 436 |
437 RemoveFilter(audio_input_message_filter_.get()); | 437 RemoveFilter(audio_input_message_filter_.get()); |
438 audio_input_message_filter_ = NULL; | 438 audio_input_message_filter_ = NULL; |
439 | 439 |
440 RemoveFilter(audio_message_filter_.get()); | 440 RemoveFilter(audio_message_filter_.get()); |
441 audio_message_filter_ = NULL; | 441 audio_message_filter_ = NULL; |
442 | 442 |
| 443 // |media_stream_factory_| produces users of |vc_manager_| so it must be |
| 444 // destroyed first. |
| 445 #if defined(ENABLE_WEBRTC) |
| 446 media_stream_factory_.reset(); |
| 447 #endif |
443 RemoveFilter(vc_manager_->video_capture_message_filter()); | 448 RemoveFilter(vc_manager_->video_capture_message_filter()); |
| 449 vc_manager_.reset(); |
444 | 450 |
445 RemoveFilter(db_message_filter_.get()); | 451 RemoveFilter(db_message_filter_.get()); |
446 db_message_filter_ = NULL; | 452 db_message_filter_ = NULL; |
447 | 453 |
448 // Shutdown the file thread if it's running. | 454 // Shutdown the file thread if it's running. |
449 if (file_thread_) | 455 if (file_thread_) |
450 file_thread_->Stop(); | 456 file_thread_->Stop(); |
451 | 457 |
452 if (compositor_output_surface_filter_.get()) { | 458 if (compositor_output_surface_filter_.get()) { |
453 RemoveFilter(compositor_output_surface_filter_.get()); | 459 RemoveFilter(compositor_output_surface_filter_.get()); |
(...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1354 if (!gamepad_shared_memory_reader_) | 1360 if (!gamepad_shared_memory_reader_) |
1355 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); | 1361 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); |
1356 gamepad_shared_memory_reader_->SampleGamepads(*data); | 1362 gamepad_shared_memory_reader_->SampleGamepads(*data); |
1357 } | 1363 } |
1358 | 1364 |
1359 base::ProcessId RenderThreadImpl::renderer_process_id() const { | 1365 base::ProcessId RenderThreadImpl::renderer_process_id() const { |
1360 return renderer_process_id_; | 1366 return renderer_process_id_; |
1361 } | 1367 } |
1362 | 1368 |
1363 } // namespace content | 1369 } // namespace content |
OLD | NEW |