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

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

Issue 11348357: Add observer interface to PrerenderContents. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 1035 matching lines...) Expand 10 before | Expand all | Expand 10 after
1046 } 1046 }
1047 1047
1048 PrerenderContents* prerender_contents = CreatePrerenderContents( 1048 PrerenderContents* prerender_contents = CreatePrerenderContents(
1049 url, referrer, origin, experiment); 1049 url, referrer, origin, experiment);
1050 DCHECK(prerender_contents); 1050 DCHECK(prerender_contents);
1051 active_prerenders_.push_back( 1051 active_prerenders_.push_back(
1052 new PrerenderData(this, prerender_contents, 1052 new PrerenderData(this, prerender_contents,
1053 GetExpiryTimeForNewPrerender())); 1053 GetExpiryTimeForNewPrerender()));
1054 if (!prerender_contents->Init()) 1054 if (!prerender_contents->Init())
1055 return NULL; 1055 return NULL;
1056 prerender_tracker_->AddPrerenderContents(prerender_contents);
1056 1057
1057 histograms_->RecordPrerenderStarted(origin); 1058 histograms_->RecordPrerenderStarted(origin);
1058 DCHECK(!prerender_contents->prerendering_has_started()); 1059 DCHECK(!prerender_contents->prerendering_has_started());
1059 1060
1060 PrerenderHandle* prerender_handle = 1061 PrerenderHandle* prerender_handle =
1061 new PrerenderHandle(active_prerenders_.back()); 1062 new PrerenderHandle(active_prerenders_.back());
1062 SortActivePrerenders(); 1063 SortActivePrerenders();
1063 1064
1064 last_prerender_start_time_ = GetCurrentTimeTicks(); 1065 last_prerender_start_time_ = GetCurrentTimeTicks();
1065 1066
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
1161 return base::TimeTicks::Now(); 1162 return base::TimeTicks::Now();
1162 } 1163 }
1163 1164
1164 PrerenderContents* PrerenderManager::CreatePrerenderContents( 1165 PrerenderContents* PrerenderManager::CreatePrerenderContents(
1165 const GURL& url, 1166 const GURL& url,
1166 const content::Referrer& referrer, 1167 const content::Referrer& referrer,
1167 Origin origin, 1168 Origin origin,
1168 uint8 experiment_id) { 1169 uint8 experiment_id) {
1169 DCHECK(CalledOnValidThread()); 1170 DCHECK(CalledOnValidThread());
1170 return prerender_contents_factory_->CreatePrerenderContents( 1171 return prerender_contents_factory_->CreatePrerenderContents(
1171 this, prerender_tracker_, profile_, url, referrer, origin, experiment_id); 1172 this, profile_, url, referrer, origin, experiment_id);
1172 } 1173 }
1173 1174
1174 void PrerenderManager::SortActivePrerenders() { 1175 void PrerenderManager::SortActivePrerenders() {
1175 std::sort(active_prerenders_.begin(), active_prerenders_.end(), 1176 std::sort(active_prerenders_.begin(), active_prerenders_.end(),
1176 PrerenderData::OrderByExpiryTime()); 1177 PrerenderData::OrderByExpiryTime());
1177 } 1178 }
1178 1179
1179 PrerenderManager::PrerenderData* PrerenderManager::FindPrerenderData( 1180 PrerenderManager::PrerenderData* PrerenderManager::FindPrerenderData(
1180 const GURL& url, 1181 const GURL& url,
1181 const SessionStorageNamespace* session_storage_namespace) { 1182 const SessionStorageNamespace* session_storage_namespace) {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1342 if (!render_process_host || !render_process_host->GetBrowserContext()) 1343 if (!render_process_host || !render_process_host->GetBrowserContext())
1343 return NULL; 1344 return NULL;
1344 Profile* profile = Profile::FromBrowserContext( 1345 Profile* profile = Profile::FromBrowserContext(
1345 render_process_host->GetBrowserContext()); 1346 render_process_host->GetBrowserContext());
1346 if (!profile) 1347 if (!profile)
1347 return NULL; 1348 return NULL;
1348 return PrerenderManagerFactory::GetInstance()->GetForProfile(profile); 1349 return PrerenderManagerFactory::GetInstance()->GetForProfile(profile);
1349 } 1350 }
1350 1351
1351 } // namespace prerender 1352 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698