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

Side by Side Diff: chrome/browser/memory/tab_manager.cc

Issue 1749073002: Do V8 GC ASAP if system memory is pressured (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 8 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 "chrome/browser/memory/tab_manager.h" 5 #include "chrome/browser/memory/tab_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <set> 10 #include <set>
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 } 199 }
200 if (!recent_tab_discard_timer_.IsRunning()) { 200 if (!recent_tab_discard_timer_.IsRunning()) {
201 recent_tab_discard_timer_.Start( 201 recent_tab_discard_timer_.Start(
202 FROM_HERE, TimeDelta::FromSeconds(kRecentTabDiscardIntervalSeconds), 202 FROM_HERE, TimeDelta::FromSeconds(kRecentTabDiscardIntervalSeconds),
203 this, &TabManager::RecordRecentTabDiscard); 203 this, &TabManager::RecordRecentTabDiscard);
204 } 204 }
205 start_time_ = NowTicks(); 205 start_time_ = NowTicks();
206 // Create a |MemoryPressureListener| to listen for memory events. 206 // Create a |MemoryPressureListener| to listen for memory events.
207 base::MemoryPressureMonitor* monitor = base::MemoryPressureMonitor::Get(); 207 base::MemoryPressureMonitor* monitor = base::MemoryPressureMonitor::Get();
208 if (monitor) { 208 if (monitor) {
209 memory_pressure_listener_.reset(new base::MemoryPressureListener( 209 memory_pressure_listener_.reset(base::MemoryPressureListener::Create(
210 base::Bind(&TabManager::OnMemoryPressure, base::Unretained(this)))); 210 base::Bind(&TabManager::OnMemoryPressure, base::Unretained(this))));
211 base::MemoryPressureListener::MemoryPressureLevel level = 211 base::MemoryPressureListener::MemoryPressureLevel level =
212 monitor->GetCurrentPressureLevel(); 212 monitor->GetCurrentPressureLevel();
213 if (level == base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL) { 213 if (level == base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL) {
214 OnMemoryPressure(level); 214 OnMemoryPressure(level);
215 } 215 }
216 } 216 }
217 } 217 }
218 218
219 void TabManager::Stop() { 219 void TabManager::Stop() {
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 } 840 }
841 } else { 841 } else {
842 // The code here can only be tested under a full browser test. 842 // The code here can only be tested under a full browser test.
843 AddTabStats(&stats_list); 843 AddTabStats(&stats_list);
844 } 844 }
845 845
846 return stats_list; 846 return stats_list;
847 } 847 }
848 848
849 } // namespace memory 849 } // namespace memory
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698