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 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 |