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

Side by Side Diff: chrome/browser/sessions/tab_loader.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/sessions/tab_loader.h" 5 #include "chrome/browser/sessions/tab_loader.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/memory_pressure_monitor.h" 10 #include "base/memory/memory_pressure_monitor.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 const base::TimeTicks& restore_started) { 70 const base::TimeTicks& restore_started) {
71 if (!shared_tab_loader_) 71 if (!shared_tab_loader_)
72 shared_tab_loader_ = new TabLoader(restore_started); 72 shared_tab_loader_ = new TabLoader(restore_started);
73 73
74 shared_tab_loader_->stats_collector_->TrackTabs(tabs); 74 shared_tab_loader_->stats_collector_->TrackTabs(tabs);
75 shared_tab_loader_->StartLoading(tabs); 75 shared_tab_loader_->StartLoading(tabs);
76 } 76 }
77 77
78 TabLoader::TabLoader(base::TimeTicks restore_started) 78 TabLoader::TabLoader(base::TimeTicks restore_started)
79 : memory_pressure_listener_( 79 : memory_pressure_listener_(
80 base::Bind(&TabLoader::OnMemoryPressure, base::Unretained(this))), 80 base::MemoryPressureListener::Create(base::Bind(
81 &TabLoader::OnMemoryPressure, base::Unretained(this)))),
81 force_load_delay_multiplier_(1), 82 force_load_delay_multiplier_(1),
82 loading_enabled_(true), 83 loading_enabled_(true),
83 restore_started_(restore_started) { 84 restore_started_(restore_started) {
84 stats_collector_ = new SessionRestoreStatsCollector( 85 stats_collector_ = new SessionRestoreStatsCollector(
85 restore_started, 86 restore_started,
86 make_scoped_ptr( 87 make_scoped_ptr(
87 new SessionRestoreStatsCollector::UmaStatsReportingDelegate())); 88 new SessionRestoreStatsCollector::UmaStatsReportingDelegate()));
88 shared_tab_loader_ = this; 89 shared_tab_loader_ = this;
89 this_retainer_ = this; 90 this_retainer_ = this;
90 } 91 }
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 // memory pressure. 268 // memory pressure.
268 stats_collector_->DeferTab(tab); 269 stats_collector_->DeferTab(tab);
269 } 270 }
270 // By calling |LoadNextTab| explicitly, we make sure that the 271 // By calling |LoadNextTab| explicitly, we make sure that the
271 // |NOTIFICATION_SESSION_RESTORE_DONE| event gets sent. 272 // |NOTIFICATION_SESSION_RESTORE_DONE| event gets sent.
272 LoadNextTab(); 273 LoadNextTab();
273 } 274 }
274 275
275 // static 276 // static
276 TabLoader* TabLoader::shared_tab_loader_ = nullptr; 277 TabLoader* TabLoader::shared_tab_loader_ = nullptr;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698