| 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 |