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

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

Issue 2455653005: Revert "Revert of [NoStatePrefetch] Kill renderer after preload scanning (patchset #12 id:240001 of… (Closed)
Patch Set: rebased Created 4 years, 1 month 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 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 return nullptr; 709 return nullptr;
710 } 710 }
711 711
712 PrerenderContents* PrerenderManager::GetPrerenderContentsForRoute( 712 PrerenderContents* PrerenderManager::GetPrerenderContentsForRoute(
713 int child_id, 713 int child_id,
714 int route_id) const { 714 int route_id) const {
715 WebContents* web_contents = tab_util::GetWebContentsByID(child_id, route_id); 715 WebContents* web_contents = tab_util::GetWebContentsByID(child_id, route_id);
716 return web_contents ? GetPrerenderContents(web_contents) : nullptr; 716 return web_contents ? GetPrerenderContents(web_contents) : nullptr;
717 } 717 }
718 718
719 PrerenderContents* PrerenderManager::GetPrerenderContentsForProcess(
720 int render_process_id) const {
721 DCHECK_CURRENTLY_ON(BrowserThread::UI);
722 for (auto& prerender_data : active_prerenders_) {
723 PrerenderContents* prerender_contents = prerender_data->contents();
724 if (prerender_contents->GetRenderViewHost()->GetProcess()->GetID() ==
725 render_process_id) {
726 return prerender_contents;
727 }
728 }
729 return nullptr;
730 }
731
719 std::vector<WebContents*> PrerenderManager::GetAllPrerenderingContents() const { 732 std::vector<WebContents*> PrerenderManager::GetAllPrerenderingContents() const {
720 DCHECK_CURRENTLY_ON(BrowserThread::UI); 733 DCHECK_CURRENTLY_ON(BrowserThread::UI);
721 std::vector<WebContents*> result; 734 std::vector<WebContents*> result;
722 735
723 for (const auto& prerender : active_prerenders_) { 736 for (const auto& prerender : active_prerenders_) {
724 WebContents* contents = prerender->contents()->prerender_contents(); 737 WebContents* contents = prerender->contents()->prerender_contents();
725 if (contents && 738 if (contents &&
726 prerender->contents()->prerender_mode() == FULL_PRERENDER) { 739 prerender->contents()->prerender_mode() == FULL_PRERENDER) {
727 result.push_back(contents); 740 result.push_back(contents);
728 } 741 }
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
1377 DCHECK_EQ(1u, erased); 1390 DCHECK_EQ(1u, erased);
1378 } 1391 }
1379 1392
1380 void PrerenderManager::SetPrerenderContentsFactoryForTest( 1393 void PrerenderManager::SetPrerenderContentsFactoryForTest(
1381 PrerenderContents::Factory* prerender_contents_factory) { 1394 PrerenderContents::Factory* prerender_contents_factory) {
1382 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1395 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1383 prerender_contents_factory_.reset(prerender_contents_factory); 1396 prerender_contents_factory_.reset(prerender_contents_factory);
1384 } 1397 }
1385 1398
1386 } // namespace prerender 1399 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_manager.h ('k') | chrome/browser/prerender/prerender_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698