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

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

Issue 6625066: Add pending preloads indexed by routing id. Start preloading once we navigate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fetch/merge Created 9 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_contents.h" 5 #include "chrome/browser/prerender/prerender_contents.h"
6 6
7 #include "base/process_util.h" 7 #include "base/process_util.h"
8 #include "base/task.h" 8 #include "base/task.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/background_contents_service.h" 10 #include "chrome/browser/background_contents_service.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 136
137 ViewMsg_Navigate_Params params; 137 ViewMsg_Navigate_Params params;
138 params.url = prerender_url_; 138 params.url = prerender_url_;
139 params.transition = PageTransition::LINK; 139 params.transition = PageTransition::LINK;
140 params.navigation_type = ViewMsg_Navigate_Params::PRERENDER; 140 params.navigation_type = ViewMsg_Navigate_Params::PRERENDER;
141 params.referrer = referrer_; 141 params.referrer = referrer_;
142 142
143 render_view_host_->Navigate(params); 143 render_view_host_->Navigate(params);
144 } 144 }
145 145
146 bool PrerenderContents::child_id(int* child_id) const {
147 CHECK(child_id);
148 if (render_view_host_) {
149 *child_id = render_view_host_->process()->id();
150 return true;
151 }
152 return false;
153 }
154
155 bool PrerenderContents::route_id(int* route_id) const {
156 CHECK(route_id);
157 if (render_view_host_) {
158 *route_id = render_view_host_->routing_id();
159 return true;
160 }
161 return false;
162 }
163
146 void PrerenderContents::set_final_status(FinalStatus final_status) { 164 void PrerenderContents::set_final_status(FinalStatus final_status) {
147 DCHECK(final_status >= FINAL_STATUS_USED && final_status < FINAL_STATUS_MAX); 165 DCHECK(final_status >= FINAL_STATUS_USED && final_status < FINAL_STATUS_MAX);
148 DCHECK_EQ(FINAL_STATUS_MAX, final_status_); 166 DCHECK_EQ(FINAL_STATUS_MAX, final_status_);
149 167
150 final_status_ = final_status; 168 final_status_ = final_status;
151 } 169 }
152 170
153 FinalStatus PrerenderContents::final_status() const { 171 FinalStatus PrerenderContents::final_status() const {
154 return final_status_; 172 return final_status_;
155 } 173 }
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 return; 486 return;
469 487
470 size_t private_bytes, shared_bytes; 488 size_t private_bytes, shared_bytes;
471 if (metrics->GetMemoryBytes(&private_bytes, &shared_bytes)) { 489 if (metrics->GetMemoryBytes(&private_bytes, &shared_bytes)) {
472 if (private_bytes > kMaxPrerenderPrivateMB * 1024 * 1024) 490 if (private_bytes > kMaxPrerenderPrivateMB * 1024 * 1024)
473 Destroy(FINAL_STATUS_MEMORY_LIMIT_EXCEEDED); 491 Destroy(FINAL_STATUS_MEMORY_LIMIT_EXCEEDED);
474 } 492 }
475 } 493 }
476 494
477 } // namespace prerender 495 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698