| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <functional> | 10 #include <functional> |
| (...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 841 if (--handle_count_ == 0) { | 841 if (--handle_count_ == 0) { |
| 842 // This will eventually remove this object from active_prerenders_. | 842 // This will eventually remove this object from active_prerenders_. |
| 843 contents_->Destroy(FINAL_STATUS_CANCELLED); | 843 contents_->Destroy(FINAL_STATUS_CANCELLED); |
| 844 } | 844 } |
| 845 } | 845 } |
| 846 | 846 |
| 847 PrerenderContents* PrerenderManager::PrerenderData::ReleaseContents() { | 847 PrerenderContents* PrerenderManager::PrerenderData::ReleaseContents() { |
| 848 return contents_.release(); | 848 return contents_.release(); |
| 849 } | 849 } |
| 850 | 850 |
| 851 void PrerenderManager::SetPrerenderContentsFactory( | |
| 852 PrerenderContents::Factory* prerender_contents_factory) { | |
| 853 DCHECK(CalledOnValidThread()); | |
| 854 prerender_contents_factory_.reset(prerender_contents_factory); | |
| 855 } | |
| 856 | |
| 857 void PrerenderManager::SourceNavigatedAway(PrerenderData* prerender_data) { | 851 void PrerenderManager::SourceNavigatedAway(PrerenderData* prerender_data) { |
| 858 // The expiry time of our prerender data will likely change because of | 852 // The expiry time of our prerender data will likely change because of |
| 859 // this navigation. This requires a resort of active_prerenders_. | 853 // this navigation. This requires a resort of active_prerenders_. |
| 860 ScopedVector<PrerenderData>::iterator it = | 854 ScopedVector<PrerenderData>::iterator it = |
| 861 std::find(active_prerenders_.begin(), active_prerenders_.end(), | 855 std::find(active_prerenders_.begin(), active_prerenders_.end(), |
| 862 prerender_data); | 856 prerender_data); |
| 863 if (it == active_prerenders_.end()) | 857 if (it == active_prerenders_.end()) |
| 864 return; | 858 return; |
| 865 | 859 |
| 866 (*it)->set_expiry_time( | 860 (*it)->set_expiry_time( |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1302 prerender_process_hosts_.end()); | 1296 prerender_process_hosts_.end()); |
| 1303 } | 1297 } |
| 1304 | 1298 |
| 1305 void PrerenderManager::RenderProcessHostDestroyed( | 1299 void PrerenderManager::RenderProcessHostDestroyed( |
| 1306 content::RenderProcessHost* host) { | 1300 content::RenderProcessHost* host) { |
| 1307 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1301 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1308 size_t erased = prerender_process_hosts_.erase(host); | 1302 size_t erased = prerender_process_hosts_.erase(host); |
| 1309 DCHECK_EQ(1u, erased); | 1303 DCHECK_EQ(1u, erased); |
| 1310 } | 1304 } |
| 1311 | 1305 |
| 1306 void PrerenderManager::SetPrerenderContentsFactoryForTest( |
| 1307 PrerenderContents::Factory* prerender_contents_factory) { |
| 1308 DCHECK(CalledOnValidThread()); |
| 1309 prerender_contents_factory_.reset(prerender_contents_factory); |
| 1310 } |
| 1311 |
| 1312 } // namespace prerender | 1312 } // namespace prerender |
| OLD | NEW |