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

Side by Side Diff: chrome/browser/prerender/prerender_manager.cc

Issue 14113053: chrome: Use base::MessageLoop. (Part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase again Created 7 years, 7 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 | Annotate | Revision Log
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/prerender/prerender_manager.h" 5 #include "chrome/browser/prerender/prerender_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 class PrerenderManager::OnCloseWebContentsDeleter 155 class PrerenderManager::OnCloseWebContentsDeleter
156 : public content::WebContentsDelegate, 156 : public content::WebContentsDelegate,
157 public base::SupportsWeakPtr< 157 public base::SupportsWeakPtr<
158 PrerenderManager::OnCloseWebContentsDeleter> { 158 PrerenderManager::OnCloseWebContentsDeleter> {
159 public: 159 public:
160 OnCloseWebContentsDeleter(PrerenderManager* manager, 160 OnCloseWebContentsDeleter(PrerenderManager* manager,
161 WebContents* tab) 161 WebContents* tab)
162 : manager_(manager), 162 : manager_(manager),
163 tab_(tab) { 163 tab_(tab) {
164 tab_->SetDelegate(this); 164 tab_->SetDelegate(this);
165 MessageLoop::current()->PostDelayedTask(FROM_HERE, 165 base::MessageLoop::current()->PostDelayedTask(FROM_HERE,
166 base::Bind(&OnCloseWebContentsDeleter::ScheduleWebContentsForDeletion, 166 base::Bind(&OnCloseWebContentsDeleter::ScheduleWebContentsForDeletion,
167 AsWeakPtr(), true), 167 AsWeakPtr(), true),
168 base::TimeDelta::FromSeconds(kDeleteWithExtremePrejudiceSeconds)); 168 base::TimeDelta::FromSeconds(kDeleteWithExtremePrejudiceSeconds));
169 } 169 }
170 170
171 virtual void CloseContents(WebContents* source) OVERRIDE { 171 virtual void CloseContents(WebContents* source) OVERRIDE {
172 DCHECK_EQ(tab_, source); 172 DCHECK_EQ(tab_, source);
173 ScheduleWebContentsForDeletion(false); 173 ScheduleWebContentsForDeletion(false);
174 } 174 }
175 175
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after
1198 // And now check for prerenders using too much memory. 1198 // And now check for prerenders using too much memory.
1199 std::for_each(prerender_contents.begin(), prerender_contents.end(), 1199 std::for_each(prerender_contents.begin(), prerender_contents.end(),
1200 std::mem_fun( 1200 std::mem_fun(
1201 &PrerenderContents::DestroyWhenUsingTooManyResources)); 1201 &PrerenderContents::DestroyWhenUsingTooManyResources));
1202 1202
1203 to_delete_prerenders_.clear(); 1203 to_delete_prerenders_.clear();
1204 } 1204 }
1205 1205
1206 void PrerenderManager::PostCleanupTask() { 1206 void PrerenderManager::PostCleanupTask() {
1207 DCHECK(CalledOnValidThread()); 1207 DCHECK(CalledOnValidThread());
1208 MessageLoop::current()->PostTask( 1208 base::MessageLoop::current()->PostTask(
1209 FROM_HERE, 1209 FROM_HERE,
1210 base::Bind(&PrerenderManager::PeriodicCleanup, AsWeakPtr())); 1210 base::Bind(&PrerenderManager::PeriodicCleanup, AsWeakPtr()));
1211 } 1211 }
1212 1212
1213 base::TimeTicks PrerenderManager::GetExpiryTimeForNewPrerender( 1213 base::TimeTicks PrerenderManager::GetExpiryTimeForNewPrerender(
1214 Origin origin) const { 1214 Origin origin) const {
1215 base::TimeDelta ttl = config_.time_to_live; 1215 base::TimeDelta ttl = config_.time_to_live;
1216 if (origin == ORIGIN_LOCAL_PREDICTOR) 1216 if (origin == ORIGIN_LOCAL_PREDICTOR)
1217 ttl = base::TimeDelta::FromSeconds(180); 1217 ttl = base::TimeDelta::FromSeconds(180);
1218 return GetCurrentTimeTicks() + ttl; 1218 return GetCurrentTimeTicks() + ttl;
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1537 logged_in_state_->erase(domain_key); 1537 logged_in_state_->erase(domain_key);
1538 } 1538 }
1539 1539
1540 void PrerenderManager::LoggedInPredictorDataReceived( 1540 void PrerenderManager::LoggedInPredictorDataReceived(
1541 scoped_ptr<LoggedInStateMap> new_map) { 1541 scoped_ptr<LoggedInStateMap> new_map) {
1542 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1542 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1543 logged_in_state_.swap(new_map); 1543 logged_in_state_.swap(new_map);
1544 } 1544 }
1545 1545
1546 } // namespace prerender 1546 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698