| 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 1709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1720 } else { | 1720 } else { |
| 1721 renderer_scheduler_->OnRendererForegrounded(); | 1721 renderer_scheduler_->OnRendererForegrounded(); |
| 1722 is_renderer_suspended_ = false; | 1722 is_renderer_suspended_ = false; |
| 1723 } | 1723 } |
| 1724 } | 1724 } |
| 1725 | 1725 |
| 1726 void RenderThreadImpl::OnProcessPurgeAndSuspend() { | 1726 void RenderThreadImpl::OnProcessPurgeAndSuspend() { |
| 1727 ChildThreadImpl::OnProcessPurgeAndSuspend(); | 1727 ChildThreadImpl::OnProcessPurgeAndSuspend(); |
| 1728 if (is_renderer_suspended_) | 1728 if (is_renderer_suspended_) |
| 1729 return; | 1729 return; |
| 1730 // TODO(hajimehoshi): Implement purging e.g. cache (crbug/607077) | 1730 |
| 1731 OnSyncMemoryPressure( |
| 1732 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
| 1733 OnMemoryPressure( |
| 1734 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
| 1735 base::MemoryPressureListener::NotifyMemoryPressure( |
| 1736 base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
| 1737 base::allocator::ReleaseFreeMemory(); |
| 1738 |
| 1731 is_renderer_suspended_ = true; | 1739 is_renderer_suspended_ = true; |
| 1732 renderer_scheduler_->SuspendRenderer(); | 1740 renderer_scheduler_->SuspendRenderer(); |
| 1733 } | 1741 } |
| 1734 | 1742 |
| 1735 void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) { | 1743 void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) { |
| 1736 CompositorDependencies* compositor_deps = this; | 1744 CompositorDependencies* compositor_deps = this; |
| 1737 RenderFrameImpl::CreateFrame( | 1745 RenderFrameImpl::CreateFrame( |
| 1738 params.routing_id, params.proxy_routing_id, params.opener_routing_id, | 1746 params.routing_id, params.proxy_routing_id, params.opener_routing_id, |
| 1739 params.parent_routing_id, params.previous_sibling_routing_id, | 1747 params.parent_routing_id, params.previous_sibling_routing_id, |
| 1740 params.replication_state, compositor_deps, params.widget_params, | 1748 params.replication_state, compositor_deps, params.widget_params, |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2223 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) | 2231 v8_memory_pressure_level == v8::MemoryPressureLevel::kCritical) |
| 2224 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; | 2232 v8_memory_pressure_level = v8::MemoryPressureLevel::kModerate; |
| 2225 | 2233 |
| 2226 blink::mainThreadIsolate()->MemoryPressureNotification( | 2234 blink::mainThreadIsolate()->MemoryPressureNotification( |
| 2227 v8_memory_pressure_level); | 2235 v8_memory_pressure_level); |
| 2228 blink::MemoryPressureNotificationToWorkerThreadIsolates( | 2236 blink::MemoryPressureNotificationToWorkerThreadIsolates( |
| 2229 v8_memory_pressure_level); | 2237 v8_memory_pressure_level); |
| 2230 } | 2238 } |
| 2231 | 2239 |
| 2232 } // namespace content | 2240 } // namespace content |
| OLD | NEW |