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

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

Issue 1977463002: Prerender: Remove MatchComplete status. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git cl format Created 4 years, 7 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_contents.h" 5 #include "chrome/browser/prerender/prerender_contents.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 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 Origin origin) 198 Origin origin)
199 : prerendering_has_started_(false), 199 : prerendering_has_started_(false),
200 session_storage_namespace_id_(-1), 200 session_storage_namespace_id_(-1),
201 prerender_manager_(prerender_manager), 201 prerender_manager_(prerender_manager),
202 prerender_url_(url), 202 prerender_url_(url),
203 referrer_(referrer), 203 referrer_(referrer),
204 profile_(profile), 204 profile_(profile),
205 has_stopped_loading_(false), 205 has_stopped_loading_(false),
206 has_finished_loading_(false), 206 has_finished_loading_(false),
207 final_status_(FINAL_STATUS_MAX), 207 final_status_(FINAL_STATUS_MAX),
208 match_complete_status_(MATCH_COMPLETE_DEFAULT),
209 prerendering_has_been_cancelled_(false), 208 prerendering_has_been_cancelled_(false),
210 child_id_(-1), 209 child_id_(-1),
211 route_id_(-1), 210 route_id_(-1),
212 origin_(origin), 211 origin_(origin),
213 network_bytes_(0) { 212 network_bytes_(0) {
214 DCHECK(prerender_manager != NULL); 213 DCHECK(prerender_manager != NULL);
215 } 214 }
216 215
217 bool PrerenderContents::Init() { 216 bool PrerenderContents::Init() {
218 return AddAliasURL(prerender_url_); 217 return AddAliasURL(prerender_url_);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 339
341 final_status_ = final_status; 340 final_status_ = final_status;
342 } 341 }
343 342
344 PrerenderContents::~PrerenderContents() { 343 PrerenderContents::~PrerenderContents() {
345 DCHECK_NE(FINAL_STATUS_MAX, final_status()); 344 DCHECK_NE(FINAL_STATUS_MAX, final_status());
346 DCHECK( 345 DCHECK(
347 prerendering_has_been_cancelled() || final_status() == FINAL_STATUS_USED); 346 prerendering_has_been_cancelled() || final_status() == FINAL_STATUS_USED);
348 DCHECK_NE(ORIGIN_MAX, origin()); 347 DCHECK_NE(ORIGIN_MAX, origin());
349 348
350 prerender_manager_->RecordFinalStatusWithMatchCompleteStatus( 349 prerender_manager_->RecordFinalStatus(origin(), final_status());
351 origin(), match_complete_status(), final_status());
352 350
353 bool used = final_status() == FINAL_STATUS_USED || 351 bool used = final_status() == FINAL_STATUS_USED ||
354 final_status() == FINAL_STATUS_WOULD_HAVE_BEEN_USED; 352 final_status() == FINAL_STATUS_WOULD_HAVE_BEEN_USED;
355 prerender_manager_->RecordNetworkBytes(origin(), used, network_bytes_); 353 prerender_manager_->RecordNetworkBytes(origin(), used, network_bytes_);
356 354
357 // Broadcast the removal of aliases. 355 // Broadcast the removal of aliases.
358 for (content::RenderProcessHost::iterator host_iterator = 356 for (content::RenderProcessHost::iterator host_iterator =
359 content::RenderProcessHost::AllHostsIterator(); 357 content::RenderProcessHost::AllHostsIterator();
360 !host_iterator.IsAtEnd(); 358 !host_iterator.IsAtEnd();
361 host_iterator.Advance()) { 359 host_iterator.Advance()) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CancelPrerenderForPrinting, 453 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CancelPrerenderForPrinting,
456 OnCancelPrerenderForPrinting) 454 OnCancelPrerenderForPrinting)
457 IPC_MESSAGE_UNHANDLED(handled = false) 455 IPC_MESSAGE_UNHANDLED(handled = false)
458 IPC_END_MESSAGE_MAP() 456 IPC_END_MESSAGE_MAP()
459 457
460 return handled; 458 return handled;
461 } 459 }
462 460
463 bool PrerenderContents::CheckURL(const GURL& url) { 461 bool PrerenderContents::CheckURL(const GURL& url) {
464 if (!url.SchemeIsHTTPOrHTTPS()) { 462 if (!url.SchemeIsHTTPOrHTTPS()) {
465 DCHECK_NE(MATCH_COMPLETE_REPLACEMENT_PENDING, match_complete_status_);
466 Destroy(FINAL_STATUS_UNSUPPORTED_SCHEME); 463 Destroy(FINAL_STATUS_UNSUPPORTED_SCHEME);
467 return false; 464 return false;
468 } 465 }
469 if (match_complete_status_ != MATCH_COMPLETE_REPLACEMENT_PENDING && 466 if (prerender_manager_->HasRecentlyBeenNavigatedTo(origin(), url)) {
470 prerender_manager_->HasRecentlyBeenNavigatedTo(origin(), url)) {
471 Destroy(FINAL_STATUS_RECENTLY_VISITED); 467 Destroy(FINAL_STATUS_RECENTLY_VISITED);
472 return false; 468 return false;
473 } 469 }
474 return true; 470 return true;
475 } 471 }
476 472
477 bool PrerenderContents::AddAliasURL(const GURL& url) { 473 bool PrerenderContents::AddAliasURL(const GURL& url) {
478 if (!CheckURL(url)) 474 if (!CheckURL(url))
479 return false; 475 return false;
480 476
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 void PrerenderContents::AddResourceThrottle( 714 void PrerenderContents::AddResourceThrottle(
719 const base::WeakPtr<PrerenderResourceThrottle>& throttle) { 715 const base::WeakPtr<PrerenderResourceThrottle>& throttle) {
720 resource_throttles_.push_back(throttle); 716 resource_throttles_.push_back(throttle);
721 } 717 }
722 718
723 void PrerenderContents::AddNetworkBytes(int64_t bytes) { 719 void PrerenderContents::AddNetworkBytes(int64_t bytes) {
724 network_bytes_ += bytes; 720 network_bytes_ += bytes;
725 } 721 }
726 722
727 } // namespace prerender 723 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_contents.h ('k') | chrome/browser/prerender/prerender_histograms.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698