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

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

Issue 2411863002: [NoStatePrefetch] Kill renderer after preload scanning (Closed)
Patch Set: Created 4 years, 2 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 1325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1336 prerender_process_hosts_.end()); 1336 prerender_process_hosts_.end());
1337 } 1337 }
1338 1338
1339 void PrerenderManager::RenderProcessHostDestroyed( 1339 void PrerenderManager::RenderProcessHostDestroyed(
1340 content::RenderProcessHost* host) { 1340 content::RenderProcessHost* host) {
1341 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1341 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1342 size_t erased = prerender_process_hosts_.erase(host); 1342 size_t erased = prerender_process_hosts_.erase(host);
1343 DCHECK_EQ(1u, erased); 1343 DCHECK_EQ(1u, erased);
1344 } 1344 }
1345 1345
1346 void PrerenderManager::RenderProcessHostPrefetchFinished(
1347 content::RenderProcessHost* host) {
1348 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1349 for (auto& prerender_data : active_prerenders_) {
1350 PrerenderContents* prerender_contents = prerender_data->contents();
1351 if (prerender_contents->GetRenderViewHost()->GetProcess() == host) {
1352 prerender_contents->Destroy(FINAL_STATUS_PREFETCH_FINISHED);
1353 break;
1354 }
1355 }
1356 }
1357
1346 void PrerenderManager::SetPrerenderContentsFactoryForTest( 1358 void PrerenderManager::SetPrerenderContentsFactoryForTest(
1347 PrerenderContents::Factory* prerender_contents_factory) { 1359 PrerenderContents::Factory* prerender_contents_factory) {
1348 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1360 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1349 prerender_contents_factory_.reset(prerender_contents_factory); 1361 prerender_contents_factory_.reset(prerender_contents_factory);
1350 } 1362 }
1351 1363
1352 } // namespace prerender 1364 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698