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

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: 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 1709 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698