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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 #include "content/renderer/media/midi_message_filter.h" | 86 #include "content/renderer/media/midi_message_filter.h" |
87 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" | 87 #include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" |
88 #include "content/renderer/media/video_capture_impl_manager.h" | 88 #include "content/renderer/media/video_capture_impl_manager.h" |
89 #include "content/renderer/media/video_capture_message_filter.h" | 89 #include "content/renderer/media/video_capture_message_filter.h" |
90 #include "content/renderer/net_info_helper.h" | 90 #include "content/renderer/net_info_helper.h" |
91 #include "content/renderer/p2p/socket_dispatcher.h" | 91 #include "content/renderer/p2p/socket_dispatcher.h" |
92 #include "content/renderer/render_frame_proxy.h" | 92 #include "content/renderer/render_frame_proxy.h" |
93 #include "content/renderer/render_process_impl.h" | 93 #include "content/renderer/render_process_impl.h" |
94 #include "content/renderer/render_view_impl.h" | 94 #include "content/renderer/render_view_impl.h" |
95 #include "content/renderer/renderer_blink_platform_impl.h" | 95 #include "content/renderer/renderer_blink_platform_impl.h" |
| 96 #include "content/renderer/scheduler/renderer_scheduler.h" |
96 #include "content/renderer/service_worker/embedded_worker_context_message_filter
.h" | 97 #include "content/renderer/service_worker/embedded_worker_context_message_filter
.h" |
97 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" | 98 #include "content/renderer/service_worker/embedded_worker_dispatcher.h" |
98 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" | 99 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
99 #include "ipc/ipc_channel_handle.h" | 100 #include "ipc/ipc_channel_handle.h" |
100 #include "ipc/ipc_forwarding_message_filter.h" | 101 #include "ipc/ipc_forwarding_message_filter.h" |
101 #include "ipc/ipc_platform_file.h" | 102 #include "ipc/ipc_platform_file.h" |
102 #include "ipc/mojo/ipc_channel_mojo.h" | 103 #include "ipc/mojo/ipc_channel_mojo.h" |
103 #include "media/base/audio_hardware_config.h" | 104 #include "media/base/audio_hardware_config.h" |
104 #include "media/base/media.h" | 105 #include "media/base/media.h" |
105 #include "media/filters/gpu_video_accelerator_factories.h" | 106 #include "media/filters/gpu_video_accelerator_factories.h" |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 hidden_widget_count_ = 0; | 433 hidden_widget_count_ = 0; |
433 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; | 434 idle_notification_delay_in_ms_ = kInitialIdleHandlerDelayMs; |
434 idle_notifications_to_skip_ = 0; | 435 idle_notifications_to_skip_ = 0; |
435 layout_test_mode_ = false; | 436 layout_test_mode_ = false; |
436 | 437 |
437 appcache_dispatcher_.reset( | 438 appcache_dispatcher_.reset( |
438 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); | 439 new AppCacheDispatcher(Get(), new AppCacheFrontendImpl())); |
439 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); | 440 dom_storage_dispatcher_.reset(new DomStorageDispatcher()); |
440 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( | 441 main_thread_indexed_db_dispatcher_.reset(new IndexedDBDispatcher( |
441 thread_safe_sender())); | 442 thread_safe_sender())); |
| 443 renderer_scheduler_ = RendererScheduler::Create(); |
442 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); | 444 embedded_worker_dispatcher_.reset(new EmbeddedWorkerDispatcher()); |
443 | 445 |
444 media_stream_center_ = NULL; | 446 media_stream_center_ = NULL; |
445 | 447 |
446 db_message_filter_ = new DBMessageFilter(); | 448 db_message_filter_ = new DBMessageFilter(); |
447 AddFilter(db_message_filter_.get()); | 449 AddFilter(db_message_filter_.get()); |
448 | 450 |
449 vc_manager_.reset(new VideoCaptureImplManager()); | 451 vc_manager_.reset(new VideoCaptureImplManager()); |
450 AddFilter(vc_manager_->video_capture_message_filter()); | 452 AddFilter(vc_manager_->video_capture_message_filter()); |
451 | 453 |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 | 838 |
837 void RenderThreadImpl::SetResourceDispatcherDelegate( | 839 void RenderThreadImpl::SetResourceDispatcherDelegate( |
838 ResourceDispatcherDelegate* delegate) { | 840 ResourceDispatcherDelegate* delegate) { |
839 resource_dispatcher()->set_delegate(delegate); | 841 resource_dispatcher()->set_delegate(delegate); |
840 } | 842 } |
841 | 843 |
842 void RenderThreadImpl::EnsureWebKitInitialized() { | 844 void RenderThreadImpl::EnsureWebKitInitialized() { |
843 if (blink_platform_impl_) | 845 if (blink_platform_impl_) |
844 return; | 846 return; |
845 | 847 |
846 blink_platform_impl_.reset(new RendererBlinkPlatformImpl); | 848 blink_platform_impl_.reset( |
| 849 new RendererBlinkPlatformImpl(renderer_scheduler_.get())); |
847 blink::initialize(blink_platform_impl_.get()); | 850 blink::initialize(blink_platform_impl_.get()); |
848 | 851 |
849 v8::Isolate* isolate = blink::mainThreadIsolate(); | 852 v8::Isolate* isolate = blink::mainThreadIsolate(); |
850 | 853 |
851 isolate->SetCounterFunction(base::StatsTable::FindLocation); | 854 isolate->SetCounterFunction(base::StatsTable::FindLocation); |
852 isolate->SetCreateHistogramFunction(CreateHistogram); | 855 isolate->SetCreateHistogramFunction(CreateHistogram); |
853 isolate->SetAddHistogramSampleFunction(AddHistogramSample); | 856 isolate->SetAddHistogramSampleFunction(AddHistogramSample); |
854 | 857 |
855 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 858 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
856 | 859 |
857 main_thread_compositor_task_runner_ = base::MessageLoopProxy::current(); | 860 main_thread_compositor_task_runner_ = |
| 861 renderer_scheduler()->CompositorTaskRunner(); |
858 | 862 |
859 bool enable = !command_line.HasSwitch(switches::kDisableThreadedCompositing); | 863 bool enable = !command_line.HasSwitch(switches::kDisableThreadedCompositing); |
860 if (enable) { | 864 if (enable) { |
861 #if defined(OS_ANDROID) | 865 #if defined(OS_ANDROID) |
862 if (SynchronousCompositorFactory* factory = | 866 if (SynchronousCompositorFactory* factory = |
863 SynchronousCompositorFactory::GetInstance()) | 867 SynchronousCompositorFactory::GetInstance()) |
864 compositor_message_loop_proxy_ = | 868 compositor_message_loop_proxy_ = |
865 factory->GetCompositorMessageLoop(); | 869 factory->GetCompositorMessageLoop(); |
866 #endif | 870 #endif |
867 if (!compositor_message_loop_proxy_.get()) { | 871 if (!compositor_message_loop_proxy_.get()) { |
(...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1589 hidden_widget_count_--; | 1593 hidden_widget_count_--; |
1590 | 1594 |
1591 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 1595 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
1592 return; | 1596 return; |
1593 } | 1597 } |
1594 | 1598 |
1595 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 1599 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
1596 } | 1600 } |
1597 | 1601 |
1598 } // namespace content | 1602 } // namespace content |
OLD | NEW |