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 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 340 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
341 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( | 341 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( |
342 thread_safe_sender())); | 342 thread_safe_sender())); |
343 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | 343 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); |
344 | 344 |
345 media_stream_center_ = NULL; | 345 media_stream_center_ = NULL; |
346 | 346 |
347 db_message_filter_ = new DBMessageFilter(); | 347 db_message_filter_ = new DBMessageFilter(); |
348 AddFilter(db_message_filter_.get()); | 348 AddFilter(db_message_filter_.get()); |
349 | 349 |
350 vc_manager_ = new VideoCaptureImplManager(); | 350 vc_manager_.reset(new VideoCaptureImplManager()); |
351 AddFilter(vc_manager_->video_capture_message_filter()); | 351 AddFilter(vc_manager_->video_capture_message_filter()); |
352 | 352 |
353 #if defined(ENABLE_WEBRTC) | 353 #if defined(ENABLE_WEBRTC) |
354 peer_connection_tracker_.reset(new PeerConnectionTracker()); | 354 peer_connection_tracker_.reset(new PeerConnectionTracker()); |
355 AddObserver(peer_connection_tracker_.get()); | 355 AddObserver(peer_connection_tracker_.get()); |
356 | 356 |
357 p2p_socket_dispatcher_ = | 357 p2p_socket_dispatcher_ = |
358 new P2PSocketDispatcher(GetIOMessageLoopProxy().get()); | 358 new P2PSocketDispatcher(GetIOMessageLoopProxy().get()); |
359 AddFilter(p2p_socket_dispatcher_.get()); | 359 AddFilter(p2p_socket_dispatcher_.get()); |
360 | 360 |
361 webrtc_identity_service_.reset(new WebRTCIdentityService()); | 361 webrtc_identity_service_.reset(new WebRTCIdentityService()); |
362 | 362 |
363 media_stream_factory_.reset(new MediaStreamDependencyFactory( | 363 media_stream_factory_.reset(new MediaStreamDependencyFactory( |
364 vc_manager_.get(), p2p_socket_dispatcher_.get())); | 364 p2p_socket_dispatcher_.get())); |
365 AddObserver(media_stream_factory_.get()); | 365 AddObserver(media_stream_factory_.get()); |
366 #endif // defined(ENABLE_WEBRTC) | 366 #endif // defined(ENABLE_WEBRTC) |
367 | 367 |
368 audio_input_message_filter_ = | 368 audio_input_message_filter_ = |
369 new AudioInputMessageFilter(GetIOMessageLoopProxy()); | 369 new AudioInputMessageFilter(GetIOMessageLoopProxy()); |
370 AddFilter(audio_input_message_filter_.get()); | 370 AddFilter(audio_input_message_filter_.get()); |
371 | 371 |
372 audio_message_filter_ = new AudioMessageFilter(GetIOMessageLoopProxy()); | 372 audio_message_filter_ = new AudioMessageFilter(GetIOMessageLoopProxy()); |
373 AddFilter(audio_message_filter_.get()); | 373 AddFilter(audio_message_filter_.get()); |
374 | 374 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 RemoveFilter(devtools_agent_message_filter_.get()); | 457 RemoveFilter(devtools_agent_message_filter_.get()); |
458 devtools_agent_message_filter_ = NULL; | 458 devtools_agent_message_filter_ = NULL; |
459 } | 459 } |
460 | 460 |
461 RemoveFilter(audio_input_message_filter_.get()); | 461 RemoveFilter(audio_input_message_filter_.get()); |
462 audio_input_message_filter_ = NULL; | 462 audio_input_message_filter_ = NULL; |
463 | 463 |
464 RemoveFilter(audio_message_filter_.get()); | 464 RemoveFilter(audio_message_filter_.get()); |
465 audio_message_filter_ = NULL; | 465 audio_message_filter_ = NULL; |
466 | 466 |
| 467 // |media_stream_factory_| produces users of |vc_manager_| so it must be |
| 468 // destroyed first. |
| 469 #if defined(ENABLE_WEBRTC) |
| 470 media_stream_factory_.reset(); |
| 471 #endif |
467 RemoveFilter(vc_manager_->video_capture_message_filter()); | 472 RemoveFilter(vc_manager_->video_capture_message_filter()); |
| 473 vc_manager_.reset(); |
468 | 474 |
469 RemoveFilter(db_message_filter_.get()); | 475 RemoveFilter(db_message_filter_.get()); |
470 db_message_filter_ = NULL; | 476 db_message_filter_ = NULL; |
471 | 477 |
472 // Shutdown the file thread if it's running. | 478 // Shutdown the file thread if it's running. |
473 if (file_thread_) | 479 if (file_thread_) |
474 file_thread_->Stop(); | 480 file_thread_->Stop(); |
475 | 481 |
476 if (compositor_output_surface_filter_.get()) { | 482 if (compositor_output_surface_filter_.get()) { |
477 RemoveFilter(compositor_output_surface_filter_.get()); | 483 RemoveFilter(compositor_output_surface_filter_.get()); |
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1396 hidden_widget_count_--; | 1402 hidden_widget_count_--; |
1397 | 1403 |
1398 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 1404 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
1399 return; | 1405 return; |
1400 } | 1406 } |
1401 | 1407 |
1402 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 1408 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
1403 } | 1409 } |
1404 | 1410 |
1405 } // namespace content | 1411 } // namespace content |
OLD | NEW |