OLD | NEW |
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 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 DCHECK(entry); | 515 DCHECK(entry); |
516 | 516 |
517 PrerenderDataVector::iterator it = FindIteratorForPrerenderContents(entry); | 517 PrerenderDataVector::iterator it = FindIteratorForPrerenderContents(entry); |
518 DCHECK(it != active_prerenders_.end()); | 518 DCHECK(it != active_prerenders_.end()); |
519 to_delete_prerenders_.push_back(std::move(*it)); | 519 to_delete_prerenders_.push_back(std::move(*it)); |
520 active_prerenders_.erase(it); | 520 active_prerenders_.erase(it); |
521 // Destroy the old WebContents relatively promptly to reduce resource usage. | 521 // Destroy the old WebContents relatively promptly to reduce resource usage. |
522 PostCleanupTask(); | 522 PostCleanupTask(); |
523 } | 523 } |
524 | 524 |
525 void PrerenderManager::RecordPageLoadTimeNotSwappedIn( | |
526 Origin origin, | |
527 base::TimeDelta page_load_time, | |
528 const GURL& url) { | |
529 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
530 histograms_->RecordPageLoadTimeNotSwappedIn(origin, page_load_time, url); | |
531 } | |
532 | |
533 void PrerenderManager::RecordPerceivedPageLoadTime( | |
534 Origin origin, | |
535 NavigationType navigation_type, | |
536 base::TimeDelta perceived_page_load_time, | |
537 double fraction_plt_elapsed_at_swap_in, | |
538 const GURL& url) { | |
539 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
540 if (GetPredictionStatusForOrigin(origin) | |
541 != NetworkPredictionStatus::ENABLED) { | |
542 return; | |
543 } | |
544 | |
545 histograms_->RecordPerceivedPageLoadTime( | |
546 origin, perceived_page_load_time, navigation_type, url); | |
547 | |
548 if (navigation_type == NAVIGATION_TYPE_PRERENDERED) { | |
549 histograms_->RecordPercentLoadDoneAtSwapin( | |
550 origin, fraction_plt_elapsed_at_swap_in); | |
551 } | |
552 } | |
553 | |
554 void PrerenderManager::RecordPrefetchResponseReceived(Origin origin, | 525 void PrerenderManager::RecordPrefetchResponseReceived(Origin origin, |
555 bool is_main_resource, | 526 bool is_main_resource, |
556 bool is_redirect, | 527 bool is_redirect, |
557 bool is_no_store) { | 528 bool is_no_store) { |
558 histograms_->RecordPrefetchResponseReceived(origin, is_main_resource, | 529 histograms_->RecordPrefetchResponseReceived(origin, is_main_resource, |
559 is_redirect, is_no_store); | 530 is_redirect, is_no_store); |
560 } | 531 } |
561 | 532 |
562 void PrerenderManager::RecordPrefetchRedirectCount(Origin origin, | 533 void PrerenderManager::RecordPrefetchRedirectCount(Origin origin, |
563 bool is_main_resource, | 534 bool is_main_resource, |
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1439 return weak_factory_.GetWeakPtr(); | 1410 return weak_factory_.GetWeakPtr(); |
1440 } | 1411 } |
1441 | 1412 |
1442 void PrerenderManager::SetPrerenderContentsFactoryForTest( | 1413 void PrerenderManager::SetPrerenderContentsFactoryForTest( |
1443 PrerenderContents::Factory* prerender_contents_factory) { | 1414 PrerenderContents::Factory* prerender_contents_factory) { |
1444 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1415 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
1445 prerender_contents_factory_.reset(prerender_contents_factory); | 1416 prerender_contents_factory_.reset(prerender_contents_factory); |
1446 } | 1417 } |
1447 | 1418 |
1448 } // namespace prerender | 1419 } // namespace prerender |
OLD | NEW |