Chromium Code Reviews| 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 |