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 <utility> | 10 #include <utility> |
(...skipping 1721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1732 } else { | 1732 } else { |
1733 renderer_scheduler_->OnRendererForegrounded(); | 1733 renderer_scheduler_->OnRendererForegrounded(); |
1734 is_renderer_suspended_ = false; | 1734 is_renderer_suspended_ = false; |
1735 } | 1735 } |
1736 } | 1736 } |
1737 | 1737 |
1738 void RenderThreadImpl::OnProcessPurgeAndSuspend() { | 1738 void RenderThreadImpl::OnProcessPurgeAndSuspend() { |
1739 ChildThreadImpl::OnProcessPurgeAndSuspend(); | 1739 ChildThreadImpl::OnProcessPurgeAndSuspend(); |
1740 if (is_renderer_suspended_) | 1740 if (is_renderer_suspended_) |
1741 return; | 1741 return; |
1742 // TODO(hajimehoshi): Implement purging e.g. cache (crbug/607077) | 1742 |
| 1743 base::MemoryPressureListener::NotifyMemoryPressure( |
| 1744 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
| 1745 base::allocator::ReleaseFreeMemory(); |
| 1746 |
1743 is_renderer_suspended_ = true; | 1747 is_renderer_suspended_ = true; |
1744 renderer_scheduler_->SuspendRenderer(); | 1748 renderer_scheduler_->SuspendRenderer(); |
1745 } | 1749 } |
1746 | 1750 |
1747 void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) { | 1751 void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) { |
1748 CompositorDependencies* compositor_deps = this; | 1752 CompositorDependencies* compositor_deps = this; |
1749 RenderFrameImpl::CreateFrame( | 1753 RenderFrameImpl::CreateFrame( |
1750 params.routing_id, params.proxy_routing_id, params.opener_routing_id, | 1754 params.routing_id, params.proxy_routing_id, params.opener_routing_id, |
1751 params.parent_routing_id, params.previous_sibling_routing_id, | 1755 params.parent_routing_id, params.previous_sibling_routing_id, |
1752 params.replication_state, compositor_deps, params.widget_params, | 1756 params.replication_state, compositor_deps, params.widget_params, |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2241 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2245 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
2242 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2246 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
2243 | 2247 |
2244 blink::mainThreadIsolate()->MemoryPressureNotification( | 2248 blink::mainThreadIsolate()->MemoryPressureNotification( |
2245 v8_memory_pressure_level); | 2249 v8_memory_pressure_level); |
2246 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2250 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
2247 v8_memory_pressure_level); | 2251 v8_memory_pressure_level); |
2248 } | 2252 } |
2249 | 2253 |
2250 } // namespace content | 2254 } // namespace content |
OLD | NEW |