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 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 | 609 |
610 // Shutdown in reverse of the initialization order. | 610 // Shutdown in reverse of the initialization order. |
611 if (devtools_agent_message_filter_.get()) { | 611 if (devtools_agent_message_filter_.get()) { |
612 RemoveFilter(devtools_agent_message_filter_.get()); | 612 RemoveFilter(devtools_agent_message_filter_.get()); |
613 devtools_agent_message_filter_ = NULL; | 613 devtools_agent_message_filter_ = NULL; |
614 } | 614 } |
615 | 615 |
616 RemoveFilter(audio_input_message_filter_.get()); | 616 RemoveFilter(audio_input_message_filter_.get()); |
617 audio_input_message_filter_ = NULL; | 617 audio_input_message_filter_ = NULL; |
618 | 618 |
619 RemoveFilter(audio_message_filter_.get()); | |
620 audio_message_filter_ = NULL; | |
621 | |
622 #if defined(ENABLE_WEBRTC) | 619 #if defined(ENABLE_WEBRTC) |
623 RTCPeerConnectionHandler::DestructAllHandlers(); | 620 RTCPeerConnectionHandler::DestructAllHandlers(); |
624 | 621 |
625 peer_connection_factory_.reset(); | 622 peer_connection_factory_.reset(); |
626 #endif | 623 #endif |
627 RemoveFilter(vc_manager_->video_capture_message_filter()); | 624 RemoveFilter(vc_manager_->video_capture_message_filter()); |
628 vc_manager_.reset(); | 625 vc_manager_.reset(); |
629 | 626 |
630 RemoveFilter(db_message_filter_.get()); | 627 RemoveFilter(db_message_filter_.get()); |
631 db_message_filter_ = NULL; | 628 db_message_filter_ = NULL; |
632 | 629 |
633 // Shutdown the file thread if it's running. | 630 // Shutdown the file thread if it's running. |
634 if (file_thread_) | 631 if (file_thread_) |
635 file_thread_->Stop(); | 632 file_thread_->Stop(); |
636 | 633 |
637 if (compositor_output_surface_filter_.get()) { | 634 if (compositor_output_surface_filter_.get()) { |
638 RemoveFilter(compositor_output_surface_filter_.get()); | 635 RemoveFilter(compositor_output_surface_filter_.get()); |
639 compositor_output_surface_filter_ = NULL; | 636 compositor_output_surface_filter_ = NULL; |
640 } | 637 } |
641 | 638 |
642 media_thread_.reset(); | 639 media_thread_.reset(); |
| 640 |
| 641 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. |
| 642 RemoveFilter(audio_message_filter_.get()); |
| 643 audio_message_filter_ = NULL; |
| 644 |
643 compositor_thread_.reset(); | 645 compositor_thread_.reset(); |
644 input_handler_manager_.reset(); | 646 input_handler_manager_.reset(); |
645 if (input_event_filter_.get()) { | 647 if (input_event_filter_.get()) { |
646 RemoveFilter(input_event_filter_.get()); | 648 RemoveFilter(input_event_filter_.get()); |
647 input_event_filter_ = NULL; | 649 input_event_filter_ = NULL; |
648 } | 650 } |
649 | 651 |
650 // RemoveEmbeddedWorkerRoute may be called while deleting | 652 // RemoveEmbeddedWorkerRoute may be called while deleting |
651 // EmbeddedWorkerDispatcher. So it must be deleted before deleting | 653 // EmbeddedWorkerDispatcher. So it must be deleted before deleting |
652 // RenderThreadImpl. | 654 // RenderThreadImpl. |
(...skipping 991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1644 hidden_widget_count_--; | 1646 hidden_widget_count_--; |
1645 | 1647 |
1646 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 1648 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
1647 return; | 1649 return; |
1648 } | 1650 } |
1649 | 1651 |
1650 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 1652 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
1651 } | 1653 } |
1652 | 1654 |
1653 } // namespace content | 1655 } // namespace content |
OLD | NEW |