| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |