| 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 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 615 void RenderThreadImpl::RemoveObserver(RenderProcessObserver* observer) { | 614 void RenderThreadImpl::RemoveObserver(RenderProcessObserver* observer) { |
| 616 observers_.RemoveObserver(observer); | 615 observers_.RemoveObserver(observer); |
| 617 } | 616 } |
| 618 | 617 |
| 619 void RenderThreadImpl::SetResourceDispatcherDelegate( | 618 void RenderThreadImpl::SetResourceDispatcherDelegate( |
| 620 ResourceDispatcherDelegate* delegate) { | 619 ResourceDispatcherDelegate* delegate) { |
| 621 resource_dispatcher()->set_delegate(delegate); | 620 resource_dispatcher()->set_delegate(delegate); |
| 622 } | 621 } |
| 623 | 622 |
| 624 void RenderThreadImpl::WidgetHidden() { | 623 void RenderThreadImpl::WidgetHidden() { |
| 625 DCHECK(hidden_widget_count_ < widget_count_); | 624 DCHECK_LT(hidden_widget_count_, widget_count_); |
| 626 hidden_widget_count_++; | 625 hidden_widget_count_++; |
| 627 | 626 |
| 628 RenderProcessVisibilityManager* manager = | 627 if (widget_count_ && hidden_widget_count_ == widget_count_) { |
| 629 RenderProcessVisibilityManager::GetInstance(); | 628 #if !defined(SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE) |
| 630 manager->WidgetVisibilityChanged(false); | 629 // TODO(vollick): Remove this this heavy-handed approach once we're polling |
| 631 | 630 // the real system memory pressure. |
| 632 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 631 base::MemoryPressureListener::NotifyMemoryPressure( |
| 633 return; | 632 base::MemoryPressureListener::MEMORY_PRESSURE_MODERATE); |
| 633 #endif |
| 634 if (GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) |
| 635 ScheduleIdleHandler(kInitialIdleHandlerDelayMs); |
| 634 } | 636 } |
| 635 | |
| 636 if (widget_count_ && hidden_widget_count_ == widget_count_) | |
| 637 ScheduleIdleHandler(kInitialIdleHandlerDelayMs); | |
| 638 } | 637 } |
| 639 | 638 |
| 640 void RenderThreadImpl::WidgetRestored() { | 639 void RenderThreadImpl::WidgetRestored() { |
| 641 DCHECK_GT(hidden_widget_count_, 0); | 640 DCHECK_GT(hidden_widget_count_, 0); |
| 642 hidden_widget_count_--; | 641 hidden_widget_count_--; |
| 643 | 642 |
| 644 RenderProcessVisibilityManager* manager = | |
| 645 RenderProcessVisibilityManager::GetInstance(); | |
| 646 manager->WidgetVisibilityChanged(true); | |
| 647 | |
| 648 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { | 643 if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
| 649 return; | 644 return; |
| 650 } | 645 } |
| 651 | 646 |
| 652 ScheduleIdleHandler(kLongIdleHandlerDelayMs); | 647 ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
| 653 } | 648 } |
| 654 | 649 |
| 655 void RenderThreadImpl::EnsureWebKitInitialized() { | 650 void RenderThreadImpl::EnsureWebKitInitialized() { |
| 656 if (webkit_platform_support_) | 651 if (webkit_platform_support_) |
| 657 return; | 652 return; |
| (...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1139 params.renderer_preferences, | 1134 params.renderer_preferences, |
| 1140 params.web_preferences, | 1135 params.web_preferences, |
| 1141 new SharedRenderViewCounter(0), | 1136 new SharedRenderViewCounter(0), |
| 1142 params.view_id, | 1137 params.view_id, |
| 1143 params.main_frame_routing_id, | 1138 params.main_frame_routing_id, |
| 1144 params.surface_id, | 1139 params.surface_id, |
| 1145 params.session_storage_namespace_id, | 1140 params.session_storage_namespace_id, |
| 1146 params.frame_name, | 1141 params.frame_name, |
| 1147 false, | 1142 false, |
| 1148 params.swapped_out, | 1143 params.swapped_out, |
| 1144 params.hidden, |
| 1149 params.next_page_id, | 1145 params.next_page_id, |
| 1150 params.screen_info, | 1146 params.screen_info, |
| 1151 params.accessibility_mode, | 1147 params.accessibility_mode, |
| 1152 params.allow_partial_swap); | 1148 params.allow_partial_swap); |
| 1153 } | 1149 } |
| 1154 | 1150 |
| 1155 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( | 1151 GpuChannelHost* RenderThreadImpl::EstablishGpuChannelSync( |
| 1156 CauseForGpuLaunch cause_for_gpu_launch) { | 1152 CauseForGpuLaunch cause_for_gpu_launch) { |
| 1157 TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); | 1153 TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); |
| 1158 | 1154 |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1310 | 1306 |
| 1311 } | 1307 } |
| 1312 | 1308 |
| 1313 void RenderThreadImpl::SampleGamepads(WebKit::WebGamepads* data) { | 1309 void RenderThreadImpl::SampleGamepads(WebKit::WebGamepads* data) { |
| 1314 if (!gamepad_shared_memory_reader_) | 1310 if (!gamepad_shared_memory_reader_) |
| 1315 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); | 1311 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); |
| 1316 gamepad_shared_memory_reader_->SampleGamepads(*data); | 1312 gamepad_shared_memory_reader_->SampleGamepads(*data); |
| 1317 } | 1313 } |
| 1318 | 1314 |
| 1319 } // namespace content | 1315 } // namespace content |
| OLD | NEW |