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

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

Issue 2411863002: [NoStatePrefetch] Kill renderer after preload scanning (Closed)
Patch Set: rebase and git cl format 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 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 return nullptr; 685 return nullptr;
686 } 686 }
687 687
688 PrerenderContents* PrerenderManager::GetPrerenderContentsForRoute( 688 PrerenderContents* PrerenderManager::GetPrerenderContentsForRoute(
689 int child_id, 689 int child_id,
690 int route_id) const { 690 int route_id) const {
691 WebContents* web_contents = tab_util::GetWebContentsByID(child_id, route_id); 691 WebContents* web_contents = tab_util::GetWebContentsByID(child_id, route_id);
692 return web_contents ? GetPrerenderContents(web_contents) : nullptr; 692 return web_contents ? GetPrerenderContents(web_contents) : nullptr;
693 } 693 }
694 694
695 PrerenderContents* PrerenderManager::GetPrerenderContentsForProcess(
696 int render_process_id) const {
697 DCHECK_CURRENTLY_ON(BrowserThread::UI);
698 for (auto& prerender_data : active_prerenders_) {
699 PrerenderContents* prerender_contents = prerender_data->contents();
700 if (prerender_contents->GetRenderViewHost()->GetProcess()->GetID() ==
701 render_process_id) {
702 return prerender_contents;
703 }
704 }
705 return nullptr;
706 }
707
695 std::vector<WebContents*> PrerenderManager::GetAllPrerenderingContents() const { 708 std::vector<WebContents*> PrerenderManager::GetAllPrerenderingContents() const {
696 DCHECK_CURRENTLY_ON(BrowserThread::UI); 709 DCHECK_CURRENTLY_ON(BrowserThread::UI);
697 std::vector<WebContents*> result; 710 std::vector<WebContents*> result;
698 711
699 for (const auto& prerender : active_prerenders_) { 712 for (const auto& prerender : active_prerenders_) {
700 WebContents* contents = prerender->contents()->prerender_contents(); 713 WebContents* contents = prerender->contents()->prerender_contents();
701 if (contents && 714 if (contents &&
702 prerender->contents()->prerender_mode() == FULL_PRERENDER) { 715 prerender->contents()->prerender_mode() == FULL_PRERENDER) {
703 result.push_back(contents); 716 result.push_back(contents);
704 } 717 }
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
1343 DCHECK_EQ(1u, erased); 1356 DCHECK_EQ(1u, erased);
1344 } 1357 }
1345 1358
1346 void PrerenderManager::SetPrerenderContentsFactoryForTest( 1359 void PrerenderManager::SetPrerenderContentsFactoryForTest(
1347 PrerenderContents::Factory* prerender_contents_factory) { 1360 PrerenderContents::Factory* prerender_contents_factory) {
1348 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1361 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1349 prerender_contents_factory_.reset(prerender_contents_factory); 1362 prerender_contents_factory_.reset(prerender_contents_factory);
1350 } 1363 }
1351 1364
1352 } // namespace prerender 1365 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698