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" | |
76 #include "content/renderer/gpu/compositor_output_surface.h" | 77 #include "content/renderer/gpu/compositor_output_surface.h" |
77 #include "content/renderer/gpu/gpu_benchmarking_extension.h" | 78 #include "content/renderer/gpu/gpu_benchmarking_extension.h" |
78 #include "content/renderer/input/input_event_filter.h" | 79 #include "content/renderer/input/input_event_filter.h" |
79 #include "content/renderer/input/input_handler_manager.h" | 80 #include "content/renderer/input/input_handler_manager.h" |
80 #include "content/renderer/media/aec_dump_message_filter.h" | 81 #include "content/renderer/media/aec_dump_message_filter.h" |
81 #include "content/renderer/media/audio_input_message_filter.h" | 82 #include "content/renderer/media/audio_input_message_filter.h" |
82 #include "content/renderer/media/audio_message_filter.h" | 83 #include "content/renderer/media/audio_message_filter.h" |
83 #include "content/renderer/media/audio_renderer_mixer_manager.h" | 84 #include "content/renderer/media/audio_renderer_mixer_manager.h" |
84 #include "content/renderer/media/media_stream_center.h" | 85 #include "content/renderer/media/media_stream_center.h" |
85 #include "content/renderer/media/midi_message_filter.h" | 86 #include "content/renderer/media/midi_message_filter.h" |
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
638 | 639 |
639 // Shutdown the file thread if it's running. | 640 // Shutdown the file thread if it's running. |
640 if (file_thread_) | 641 if (file_thread_) |
641 file_thread_->Stop(); | 642 file_thread_->Stop(); |
642 | 643 |
643 if (compositor_output_surface_filter_.get()) { | 644 if (compositor_output_surface_filter_.get()) { |
644 RemoveFilter(compositor_output_surface_filter_.get()); | 645 RemoveFilter(compositor_output_surface_filter_.get()); |
645 compositor_output_surface_filter_ = NULL; | 646 compositor_output_surface_filter_ = NULL; |
646 } | 647 } |
647 | 648 |
649 if (begin_frame_source_filter_.get()) { | |
650 RemoveFilter(begin_frame_source_filter_.get()); | |
651 begin_frame_source_filter_ = NULL; | |
652 } | |
653 | |
648 media_thread_.reset(); | 654 media_thread_.reset(); |
649 | 655 |
650 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. | 656 // AudioMessageFilter may be accessed on |media_thread_|, so shutdown after. |
651 RemoveFilter(audio_message_filter_.get()); | 657 RemoveFilter(audio_message_filter_.get()); |
652 audio_message_filter_ = NULL; | 658 audio_message_filter_ = NULL; |
653 | 659 |
654 compositor_thread_.reset(); | 660 compositor_thread_.reset(); |
655 input_handler_manager_.reset(); | 661 input_handler_manager_.reset(); |
656 if (input_event_filter_.get()) { | 662 if (input_event_filter_.get()) { |
657 RemoveFilter(input_event_filter_.get()); | 663 RemoveFilter(input_event_filter_.get()); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
896 main_thread_compositor_task_runner_, | 902 main_thread_compositor_task_runner_, |
897 compositor_message_loop_proxy_); | 903 compositor_message_loop_proxy_); |
898 AddFilter(input_event_filter_.get()); | 904 AddFilter(input_event_filter_.get()); |
899 input_handler_manager_client = input_event_filter_.get(); | 905 input_handler_manager_client = input_event_filter_.get(); |
900 } | 906 } |
901 input_handler_manager_.reset( | 907 input_handler_manager_.reset( |
902 new InputHandlerManager(compositor_message_loop_proxy_, | 908 new InputHandlerManager(compositor_message_loop_proxy_, |
903 input_handler_manager_client)); | 909 input_handler_manager_client)); |
904 } | 910 } |
905 | 911 |
906 scoped_refptr<base::MessageLoopProxy> output_surface_loop; | 912 scoped_refptr<base::MessageLoopProxy> output_surface_loop; |
danakj
2014/10/10 16:03:36
nit: rename to compositor_impl_side_loop?
simonhong
2014/10/15 01:04:22
Done.
| |
907 if (enable) | 913 if (enable) |
908 output_surface_loop = compositor_message_loop_proxy_; | 914 output_surface_loop = compositor_message_loop_proxy_; |
909 else | 915 else |
910 output_surface_loop = base::MessageLoopProxy::current(); | 916 output_surface_loop = base::MessageLoopProxy::current(); |
911 | 917 |
912 compositor_output_surface_filter_ = | 918 compositor_output_surface_filter_ = |
913 CompositorOutputSurface::CreateFilter(output_surface_loop.get()); | 919 CompositorOutputSurface::CreateFilter(output_surface_loop.get()); |
914 AddFilter(compositor_output_surface_filter_.get()); | 920 AddFilter(compositor_output_surface_filter_.get()); |
915 | 921 |
922 begin_frame_source_filter_ = CompositorExternalBeginFrameSource::CreateFilter( | |
923 output_surface_loop.get()); | |
924 AddFilter(begin_frame_source_filter_.get()); | |
piman
2014/10/10 20:39:46
I would prefer if there was still a single filter.
simonhong
2014/10/15 01:04:22
Thanks for pointing out.
CreateCompositorMessageFi
| |
925 | |
916 RenderThreadImpl::RegisterSchemes(); | 926 RenderThreadImpl::RegisterSchemes(); |
917 | 927 |
918 EnableBlinkPlatformLogChannels( | 928 EnableBlinkPlatformLogChannels( |
919 command_line.GetSwitchValueASCII(switches::kBlinkPlatformLogChannels)); | 929 command_line.GetSwitchValueASCII(switches::kBlinkPlatformLogChannels)); |
920 | 930 |
921 SetRuntimeFeaturesDefaultsAndUpdateFromArgs(command_line); | 931 SetRuntimeFeaturesDefaultsAndUpdateFromArgs(command_line); |
922 | 932 |
923 if (!media::IsMediaLibraryInitialized()) { | 933 if (!media::IsMediaLibraryInitialized()) { |
924 WebRuntimeFeatures::enableWebAudio(false); | 934 WebRuntimeFeatures::enableWebAudio(false); |
925 } | 935 } |
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1632 hidden_widget_count_--; | 1642 hidden_widget_count_--; |
1633 | 1643 |
1634 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 1644 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
1635 return; | 1645 return; |
1636 } | 1646 } |
1637 | 1647 |
1638 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 1648 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
1639 } | 1649 } |
1640 | 1650 |
1641 } // namespace content | 1651 } // namespace content |
OLD | NEW |