OLD | NEW |
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_manager.h" | 5 #include "chrome/browser/prerender/prerender_manager.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 DCHECK(!IsPendingDelete(entry)); | 596 DCHECK(!IsPendingDelete(entry)); |
597 for (std::list<PrerenderContentsData>::iterator it = prerender_list_.begin(); | 597 for (std::list<PrerenderContentsData>::iterator it = prerender_list_.begin(); |
598 it != prerender_list_.end(); | 598 it != prerender_list_.end(); |
599 ++it) { | 599 ++it) { |
600 if (it->contents_ == entry) { | 600 if (it->contents_ == entry) { |
601 RemovePendingPrerender(entry); | 601 RemovePendingPrerender(entry); |
602 prerender_list_.erase(it); | 602 prerender_list_.erase(it); |
603 break; | 603 break; |
604 } | 604 } |
605 } | 605 } |
| 606 AddToHistory(entry); |
606 pending_delete_list_.push_back(entry); | 607 pending_delete_list_.push_back(entry); |
607 | 608 |
608 // Destroy the old TabContents relatively promptly to reduce resource usage, | 609 // Destroy the old TabContents relatively promptly to reduce resource usage, |
609 // and in the case of HTML5 media, reduce the change of playing any sound. | 610 // and in the case of HTML5 media, reduce the change of playing any sound. |
610 PostCleanupTask(); | 611 PostCleanupTask(); |
611 } | 612 } |
612 | 613 |
613 base::Time PrerenderManager::GetCurrentTime() const { | 614 base::Time PrerenderManager::GetCurrentTime() const { |
614 return base::Time::Now(); | 615 return base::Time::Now(); |
615 } | 616 } |
(...skipping 28 matching lines...) Expand all Loading... |
644 return true; | 645 return true; |
645 } | 646 } |
646 | 647 |
647 return false; | 648 return false; |
648 } | 649 } |
649 | 650 |
650 void PrerenderManager::DeletePendingDeleteEntries() { | 651 void PrerenderManager::DeletePendingDeleteEntries() { |
651 while (!pending_delete_list_.empty()) { | 652 while (!pending_delete_list_.empty()) { |
652 PrerenderContents* contents = pending_delete_list_.front(); | 653 PrerenderContents* contents = pending_delete_list_.front(); |
653 pending_delete_list_.pop_front(); | 654 pending_delete_list_.pop_front(); |
654 AddToHistory(contents); | |
655 delete contents; | 655 delete contents; |
656 } | 656 } |
657 } | 657 } |
658 | 658 |
659 // Helper macro for histograms. | 659 // Helper macro for histograms. |
660 #define RECORD_PLT(tag, perceived_page_load_time) { \ | 660 #define RECORD_PLT(tag, perceived_page_load_time) { \ |
661 PREFIXED_HISTOGRAM_PRERENDER_MANAGER(prerender_manager, \ | 661 PREFIXED_HISTOGRAM_PRERENDER_MANAGER(prerender_manager, \ |
662 UMA_HISTOGRAM_CUSTOM_TIMES( \ | 662 UMA_HISTOGRAM_CUSTOM_TIMES( \ |
663 base::FieldTrial::MakeName( \ | 663 base::FieldTrial::MakeName( \ |
664 prerender_manager->GetDefaultHistogramName(tag), "Prefetch"), \ | 664 prerender_manager->GetDefaultHistogramName(tag), "Prefetch"), \ |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1100 return last_origin_; | 1100 return last_origin_; |
1101 } | 1101 } |
1102 | 1102 |
1103 bool PrerenderManager::IsOriginExperimentWash() const { | 1103 bool PrerenderManager::IsOriginExperimentWash() const { |
1104 if (!WithinWindow()) | 1104 if (!WithinWindow()) |
1105 return false; | 1105 return false; |
1106 return origin_experiment_wash_; | 1106 return origin_experiment_wash_; |
1107 } | 1107 } |
1108 | 1108 |
1109 } // namespace prerender | 1109 } // namespace prerender |
OLD | NEW |