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

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

Issue 2044613003: Adds unit tests for offline_pages::PrerenderAdapter calling PrerenderManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated DCHECK to ASSERT Created 4 years, 6 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 (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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_manager.h ('k') | chrome/browser/ui/search/instant_search_prerenderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698