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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
70 #include "content/renderer/media/media_stream_center.h" | 70 #include "content/renderer/media/media_stream_center.h" |
71 #include "content/renderer/media/media_stream_dependency_factory.h" | 71 #include "content/renderer/media/media_stream_dependency_factory.h" |
72 #include "content/renderer/media/midi_message_filter.h" | 72 #include "content/renderer/media/midi_message_filter.h" |
73 #include "content/renderer/media/peer_connection_tracker.h" | 73 #include "content/renderer/media/peer_connection_tracker.h" |
74 #include "content/renderer/media/video_capture_impl_manager.h" | 74 #include "content/renderer/media/video_capture_impl_manager.h" |
75 #include "content/renderer/media/video_capture_message_filter.h" | 75 #include "content/renderer/media/video_capture_message_filter.h" |
76 #include "content/renderer/media/webrtc_identity_service.h" | 76 #include "content/renderer/media/webrtc_identity_service.h" |
77 #include "content/renderer/memory_benchmarking_extension.h" | 77 #include "content/renderer/memory_benchmarking_extension.h" |
78 #include "content/renderer/p2p/socket_dispatcher.h" | 78 #include "content/renderer/p2p/socket_dispatcher.h" |
79 #include "content/renderer/render_process_impl.h" | 79 #include "content/renderer/render_process_impl.h" |
80 #include "content/renderer/render_process_visibility_manager.h" | |
81 #include "content/renderer/render_view_impl.h" | 80 #include "content/renderer/render_view_impl.h" |
82 #include "content/renderer/renderer_webkitplatformsupport_impl.h" | 81 #include "content/renderer/renderer_webkitplatformsupport_impl.h" |
83 #include "content/renderer/skia_benchmarking_extension.h" | 82 #include "content/renderer/skia_benchmarking_extension.h" |
84 #include "grit/content_resources.h" | 83 #include "grit/content_resources.h" |
85 #include "ipc/ipc_channel_handle.h" | 84 #include "ipc/ipc_channel_handle.h" |
86 #include "ipc/ipc_forwarding_message_filter.h" | 85 #include "ipc/ipc_forwarding_message_filter.h" |
87 #include "ipc/ipc_platform_file.h" | 86 #include "ipc/ipc_platform_file.h" |
88 #include "media/base/audio_hardware_config.h" | 87 #include "media/base/audio_hardware_config.h" |
89 #include "media/base/media.h" | 88 #include "media/base/media.h" |
90 #include "media/filters/gpu_video_accelerator_factories.h" | 89 #include "media/filters/gpu_video_accelerator_factories.h" |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
573 | 572 |
574 IPC::SyncMessageFilter* RenderThreadImpl::GetSyncMessageFilter() { | 573 IPC::SyncMessageFilter* RenderThreadImpl::GetSyncMessageFilter() { |
575 return sync_message_filter(); | 574 return sync_message_filter(); |
576 } | 575 } |
577 | 576 |
578 scoped_refptr<base::MessageLoopProxy> | 577 scoped_refptr<base::MessageLoopProxy> |
579 RenderThreadImpl::GetIOMessageLoopProxy() { | 578 RenderThreadImpl::GetIOMessageLoopProxy() { |
580 return ChildProcess::current()->io_message_loop_proxy(); | 579 return ChildProcess::current()->io_message_loop_proxy(); |
581 } | 580 } |
582 | 581 |
583 void RenderThreadImpl::AddRoute(int32 routing_id, IPC::Listener* listener) { | 582 void RenderThreadImpl::AddRoute(int32 routing_id, |
583 IPC::Listener* listener) { | |
Charlie Reis
2013/08/20 02:09:58
Style nit: No need for this change, since both arg
| |
584 widget_count_++; | 584 widget_count_++; |
585 return ChildThread::AddRoute(routing_id, listener); | 585 return ChildThread::AddRoute(routing_id, listener); |
586 } | 586 } |
587 | 587 |
588 void RenderThreadImpl::RemoveRoute(int32 routing_id) { | 588 void RenderThreadImpl::RemoveRoute(int32 routing_id) { |
589 widget_count_--; | 589 widget_count_--; |
590 return ChildThread::RemoveRoute(routing_id); | 590 return ChildThread::RemoveRoute(routing_id); |
591 } | 591 } |
592 | 592 |
593 int RenderThreadImpl::GenerateRoutingID() { | 593 int RenderThreadImpl::GenerateRoutingID() { |
(...skipping 21 matching lines...) Expand all Loading... | |
615 void RenderThreadImpl::RemoveObserver(RenderProcessObserver* observer) { | 615 void RenderThreadImpl::RemoveObserver(RenderProcessObserver* observer) { |
616 observers_.RemoveObserver(observer); | 616 observers_.RemoveObserver(observer); |
617 } | 617 } |
618 | 618 |
619 void RenderThreadImpl::SetResourceDispatcherDelegate( | 619 void RenderThreadImpl::SetResourceDispatcherDelegate( |
620 ResourceDispatcherDelegate* delegate) { | 620 ResourceDispatcherDelegate* delegate) { |
621 resource_dispatcher()->set_delegate(delegate); | 621 resource_dispatcher()->set_delegate(delegate); |
622 } | 622 } |
623 | 623 |
624 void RenderThreadImpl::WidgetHidden() { | 624 void RenderThreadImpl::WidgetHidden() { |
625 DCHECK(hidden_widget_count_ < widget_count_); | 625 DCHECK_LT(hidden_widget_count_, widget_count_); |
626 hidden_widget_count_++; | 626 hidden_widget_count_++; |
627 | 627 |
628 RenderProcessVisibilityManager* manager = | 628 if (widget_count_ && hidden_widget_count_ == widget_count_) { |
629 RenderProcessVisibilityManager::GetInstance(); | 629 #if !defined(SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE) |
630 manager->WidgetVisibilityChanged(false); | 630 // TODO(vollick): Remove this this heavy-handed approach once we're polling |
631 | 631 // the real system memory pressure. |
632 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 632 base::MemoryPressureListener::NotifyMemoryPressure( |
633 return; | 633 base::MemoryPressureListener::MEMORY_PRESSURE_MODERATE); |
634 #endif | |
635 if (GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) | |
636 ScheduleIdleHandler(kInitialIdleHandlerDelayMs); | |
634 } | 637 } |
635 | |
636 if (widget_count_ && hidden_widget_count_ == widget_count_) | |
637 ScheduleIdleHandler(kInitialIdleHandlerDelayMs); | |
638 } | 638 } |
639 | 639 |
640 void RenderThreadImpl::WidgetRestored() { | 640 void RenderThreadImpl::WidgetRestored() { |
641 DCHECK_GT(hidden_widget_count_, 0); | 641 DCHECK_GT(hidden_widget_count_, 0); |
642 hidden_widget_count_--; | 642 hidden_widget_count_--; |
643 | 643 |
644 RenderProcessVisibilityManager* manager = | |
645 RenderProcessVisibilityManager::GetInstance(); | |
646 manager->WidgetVisibilityChanged(true); | |
647 | |
648 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 644 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
649 return; | 645 return; |
650 } | 646 } |
651 | 647 |
652 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 648 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
653 } | 649 } |
654 | 650 |
655 void RenderThreadImpl::EnsureWebKitInitialized() { | 651 void RenderThreadImpl::EnsureWebKitInitialized() { |
656 if (webkit_platform_support_) | 652 if (webkit_platform_support_) |
657 return; | 653 return; |
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1139 params.renderer_preferences, | 1135 params.renderer_preferences, |
1140 params.web_preferences, | 1136 params.web_preferences, |
1141 new SharedRenderViewCounter(0), | 1137 new SharedRenderViewCounter(0), |
1142 params.view_id, | 1138 params.view_id, |
1143 params.main_frame_routing_id, | 1139 params.main_frame_routing_id, |
1144 params.surface_id, | 1140 params.surface_id, |
1145 params.session_storage_namespace_id, | 1141 params.session_storage_namespace_id, |
1146 params.frame_name, | 1142 params.frame_name, |
1147 false, | 1143 false, |
1148 params.swapped_out, | 1144 params.swapped_out, |
1145 params.hidden, | |
1149 params.next_page_id, | 1146 params.next_page_id, |
1150 params.screen_info, | 1147 params.screen_info, |
1151 params.accessibility_mode, | 1148 params.accessibility_mode, |
1152 params.allow_partial_swap); | 1149 params.allow_partial_swap); |
1153 } | 1150 } |
1154 | 1151 |
1155 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( | 1152 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( |
1156 CauseForGpuLaunch cause_for_gpu_launch) { | 1153 CauseForGpuLaunch cause_for_gpu_launch) { |
1157 TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); | 1154 TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); |
1158 | 1155 |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1310 | 1307 |
1311 } | 1308 } |
1312 | 1309 |
1313 void RenderThreadImpl::SampleGamepads(WebKit::WebGamepads* data) { | 1310 void RenderThreadImpl::SampleGamepads(WebKit::WebGamepads* data) { |
1314 if (!gamepad_shared_memory_reader_) | 1311 if (!gamepad_shared_memory_reader_) |
1315 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); | 1312 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); |
1316 gamepad_shared_memory_reader_->SampleGamepads(*data); | 1313 gamepad_shared_memory_reader_->SampleGamepads(*data); |
1317 } | 1314 } |
1318 | 1315 |
1319 } // namespace content | 1316 } // namespace content |
OLD | NEW |