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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 #include "content/public/common/content_switches.h" | 66 #include "content/public/common/content_switches.h" |
67 #include "content/public/common/renderer_preferences.h" | 67 #include "content/public/common/renderer_preferences.h" |
68 #include "content/public/common/url_constants.h" | 68 #include "content/public/common/url_constants.h" |
69 #include "content/public/renderer/content_renderer_client.h" | 69 #include "content/public/renderer/content_renderer_client.h" |
70 #include "content/public/renderer/render_process_observer.h" | 70 #include "content/public/renderer/render_process_observer.h" |
71 #include "content/public/renderer/render_view_visitor.h" | 71 #include "content/public/renderer/render_view_visitor.h" |
72 #include "content/renderer/devtools/devtools_agent_filter.h" | 72 #include "content/renderer/devtools/devtools_agent_filter.h" |
73 #include "content/renderer/dom_storage/dom_storage_dispatcher.h" | 73 #include "content/renderer/dom_storage/dom_storage_dispatcher.h" |
74 #include "content/renderer/dom_storage/webstoragearea_impl.h" | 74 #include "content/renderer/dom_storage/webstoragearea_impl.h" |
75 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" | 75 #include "content/renderer/dom_storage/webstoragenamespace_impl.h" |
| 76 #include "content/renderer/gpu/compositor_external_begin_frame_source.h" |
| 77 #include "content/renderer/gpu/compositor_forwarding_message_filter.h" |
76 #include "content/renderer/gpu/compositor_output_surface.h" | 78 #include "content/renderer/gpu/compositor_output_surface.h" |
77 #include "content/renderer/gpu/gpu_benchmarking_extension.h" | 79 #include "content/renderer/gpu/gpu_benchmarking_extension.h" |
78 #include "content/renderer/input/input_event_filter.h" | 80 #include "content/renderer/input/input_event_filter.h" |
79 #include "content/renderer/input/input_handler_manager.h" | 81 #include "content/renderer/input/input_handler_manager.h" |
80 #include "content/renderer/media/aec_dump_message_filter.h" | 82 #include "content/renderer/media/aec_dump_message_filter.h" |
81 #include "content/renderer/media/audio_input_message_filter.h" | 83 #include "content/renderer/media/audio_input_message_filter.h" |
82 #include "content/renderer/media/audio_message_filter.h" | 84 #include "content/renderer/media/audio_message_filter.h" |
83 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 85 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
84 #include "content/renderer/media/media_stream_center.h" | 86 #include "content/renderer/media/media_stream_center.h" |
85 #include "content/renderer/media/midi_message_filter.h" | 87 #include "content/renderer/media/midi_message_filter.h" |
86 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" | 88 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
87 #include "content/renderer/media/video_capture_impl_manager.h" | 89 #include "content/renderer/media/video_capture_impl_manager.h" |
88 #include "content/renderer/media/video_capture_message_filter.h" | 90 #include "content/renderer/media/video_capture_message_filter.h" |
89 #include "content/renderer/net_info_helper.h" | 91 #include "content/renderer/net_info_helper.h" |
90 #include "content/renderer/p2p/socket_dispatcher.h" | 92 #include "content/renderer/p2p/socket_dispatcher.h" |
91 #include "content/renderer/render_frame_proxy.h" | 93 #include "content/renderer/render_frame_proxy.h" |
92 #include "content/renderer/render_process_impl.h" | 94 #include "content/renderer/render_process_impl.h" |
93 #include "content/renderer/render_view_impl.h" | 95 #include "content/renderer/render_view_impl.h" |
94 #include "content/renderer/renderer_blink_platform_impl.h" | 96 #include "content/renderer/renderer_blink_platform_impl.h" |
95 #include "content/renderer/service_worker/embedded_worker_context_message_filter
.h" | 97 #include "content/renderer/service_worker/embedded_worker_context_message_filter
.h" |
96 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" | 98 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" |
97 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" | 99 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
98 #include "ipc/ipc_channel_handle.h" | 100 #include "ipc/ipc_channel_handle.h" |
99 #include "ipc/ipc_forwarding_message_filter.h" | |
100 #include "ipc/ipc_platform_file.h" | 101 #include "ipc/ipc_platform_file.h" |
101 #include "ipc/mojo/ipc_channel_mojo.h" | 102 #include "ipc/mojo/ipc_channel_mojo.h" |
102 #include "media/base/audio_hardware_config.h" | 103 #include "media/base/audio_hardware_config.h" |
103 #include "media/base/media.h" | 104 #include "media/base/media.h" |
104 #include "media/filters/gpu_video_accelerator_factories.h" | 105 #include "media/filters/gpu_video_accelerator_factories.h" |
105 #include "mojo/common/common_type_converters.h" | 106 #include "mojo/common/common_type_converters.h" |
106 #include "net/base/net_errors.h" | 107 #include "net/base/net_errors.h" |
107 #include "net/base/net_util.h" | 108 #include "net/base/net_util.h" |
108 #include "skia/ext/event_tracer_impl.h" | 109 #include "skia/ext/event_tracer_impl.h" |
109 #include "third_party/WebKit/public/platform/WebString.h" | 110 #include "third_party/WebKit/public/platform/WebString.h" |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 RemoveFilter(vc_manager_->video_capture_message_filter()); | 623 RemoveFilter(vc_manager_->video_capture_message_filter()); |
623 vc_manager_.reset(); | 624 vc_manager_.reset(); |
624 | 625 |
625 RemoveFilter(db_message_filter_.get()); | 626 RemoveFilter(db_message_filter_.get()); |
626 db_message_filter_ = NULL; | 627 db_message_filter_ = NULL; |
627 | 628 |
628 // Shutdown the file thread if it's running. | 629 // Shutdown the file thread if it's running. |
629 if (file_thread_) | 630 if (file_thread_) |
630 file_thread_->Stop(); | 631 file_thread_->Stop(); |
631 | 632 |
632 if (compositor_output_surface_filter_.get()) { | 633 if (compositor_message_filter_.get()) { |
633 RemoveFilter(compositor_output_surface_filter_.get()); | 634 RemoveFilter(compositor_message_filter_.get()); |
634 compositor_output_surface_filter_ = NULL; | 635 compositor_message_filter_ = NULL; |
635 } | 636 } |
636 | 637 |
637 media_thread_.reset(); | 638 media_thread_.reset(); |
638 | 639 |
639 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. | 640 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. |
640 RemoveFilter(audio_message_filter_.get()); | 641 RemoveFilter(audio_message_filter_.get()); |
641 audio_message_filter_ = NULL; | 642 audio_message_filter_ = NULL; |
642 | 643 |
643 compositor_thread_.reset(); | 644 compositor_thread_.reset(); |
644 input_handler_manager_.reset(); | 645 input_handler_manager_.reset(); |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
886 main_thread_compositor_task_runner_, | 887 main_thread_compositor_task_runner_, |
887 compositor_message_loop_proxy_); | 888 compositor_message_loop_proxy_); |
888 AddFilter(input_event_filter_.get()); | 889 AddFilter(input_event_filter_.get()); |
889 input_handler_manager_client = input_event_filter_.get(); | 890 input_handler_manager_client = input_event_filter_.get(); |
890 } | 891 } |
891 input_handler_manager_.reset( | 892 input_handler_manager_.reset( |
892 new InputHandlerManager(compositor_message_loop_proxy_, | 893 new InputHandlerManager(compositor_message_loop_proxy_, |
893 input_handler_manager_client)); | 894 input_handler_manager_client)); |
894 } | 895 } |
895 | 896 |
896 scoped_refptr<base::MessageLoopProxy> output_surface_loop; | 897 scoped_refptr<base::MessageLoopProxy> compositor_impl_side_loop; |
897 if (enable) | 898 if (enable) |
898 output_surface_loop = compositor_message_loop_proxy_; | 899 compositor_impl_side_loop = compositor_message_loop_proxy_; |
899 else | 900 else |
900 output_surface_loop = base::MessageLoopProxy::current(); | 901 compositor_impl_side_loop = base::MessageLoopProxy::current(); |
901 | 902 |
902 compositor_output_surface_filter_ = | 903 compositor_message_filter_ = CompositorForwardingMessageFilter::Create( |
903 CompositorOutputSurface::CreateFilter(output_surface_loop.get()); | 904 compositor_impl_side_loop.get()); |
904 AddFilter(compositor_output_surface_filter_.get()); | 905 AddFilter(compositor_message_filter_.get()); |
905 | 906 |
906 RenderThreadImpl::RegisterSchemes(); | 907 RenderThreadImpl::RegisterSchemes(); |
907 | 908 |
908 EnableBlinkPlatformLogChannels( | 909 EnableBlinkPlatformLogChannels( |
909 command_line.GetSwitchValueASCII(switches::kBlinkPlatformLogChannels)); | 910 command_line.GetSwitchValueASCII(switches::kBlinkPlatformLogChannels)); |
910 | 911 |
911 SetRuntimeFeaturesDefaultsAndUpdateFromArgs(command_line); | 912 SetRuntimeFeaturesDefaultsAndUpdateFromArgs(command_line); |
912 | 913 |
913 if (!media::IsMediaLibraryInitialized()) { | 914 if (!media::IsMediaLibraryInitialized()) { |
914 WebRuntimeFeatures::enableWebAudio(false); | 915 WebRuntimeFeatures::enableWebAudio(false); |
(...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1581 hidden_widget_count_--; | 1582 hidden_widget_count_--; |
1582 | 1583 |
1583 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 1584 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
1584 return; | 1585 return; |
1585 } | 1586 } |
1586 | 1587 |
1587 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 1588 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
1588 } | 1589 } |
1589 | 1590 |
1590 } // namespace content | 1591 } // namespace content |
OLD | NEW |