Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: content/renderer/render_thread_impl.cc

Issue 2130683002: [Experiment] purge-and-suspend Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698