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

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

Issue 519583005: Remove PrerenderManager.enabled_ and related members. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Re: #3. Created 6 years, 3 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_manager.h" 5 #include "chrome/browser/prerender/prerender_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 : url(url), 231 : url(url),
232 time(time) { 232 time(time) {
233 } 233 }
234 234
235 GURL url; 235 GURL url;
236 base::TimeTicks time; 236 base::TimeTicks time;
237 }; 237 };
238 238
239 PrerenderManager::PrerenderManager(Profile* profile, 239 PrerenderManager::PrerenderManager(Profile* profile,
240 PrerenderTracker* prerender_tracker) 240 PrerenderTracker* prerender_tracker)
241 : enabled_(true), 241 : profile_(profile),
242 profile_(profile),
243 prerender_tracker_(prerender_tracker), 242 prerender_tracker_(prerender_tracker),
244 prerender_contents_factory_(PrerenderContents::CreateFactory()), 243 prerender_contents_factory_(PrerenderContents::CreateFactory()),
245 last_prerender_start_time_(GetCurrentTimeTicks() - 244 last_prerender_start_time_(GetCurrentTimeTicks() -
246 base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)), 245 base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)),
247 prerender_history_(new PrerenderHistory(kHistoryLength)), 246 prerender_history_(new PrerenderHistory(kHistoryLength)),
248 histograms_(new PrerenderHistograms()), 247 histograms_(new PrerenderHistograms()),
249 profile_network_bytes_(0), 248 profile_network_bytes_(0),
250 last_recorded_profile_network_bytes_(0), 249 last_recorded_profile_network_bytes_(0),
251 cookie_store_loaded_(false) { 250 cookie_store_loaded_(false) {
252 // There are some assumptions that the PrerenderManager is on the UI thread. 251 // There are some assumptions that the PrerenderManager is on the UI thread.
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
734 733
735 if (navigation_type == NAVIGATION_TYPE_PRERENDERED) { 734 if (navigation_type == NAVIGATION_TYPE_PRERENDERED) {
736 histograms_->RecordPercentLoadDoneAtSwapin( 735 histograms_->RecordPercentLoadDoneAtSwapin(
737 origin, fraction_plt_elapsed_at_swap_in); 736 origin, fraction_plt_elapsed_at_swap_in);
738 } 737 }
739 if (local_predictor_) { 738 if (local_predictor_) {
740 local_predictor_->OnPLTEventForURL(url, perceived_page_load_time); 739 local_predictor_->OnPLTEventForURL(url, perceived_page_load_time);
741 } 740 }
742 } 741 }
743 742
744 void PrerenderManager::set_enabled(bool enabled) {
745 DCHECK(CalledOnValidThread());
746 enabled_ = enabled;
747 }
748
749 // static 743 // static
750 PrerenderManager::PrerenderManagerMode PrerenderManager::GetMode() { 744 PrerenderManager::PrerenderManagerMode PrerenderManager::GetMode() {
751 return mode_; 745 return mode_;
752 } 746 }
753 747
754 // static 748 // static
755 void PrerenderManager::SetMode(PrerenderManagerMode mode) { 749 void PrerenderManager::SetMode(PrerenderManagerMode mode) {
756 mode_ = mode; 750 mode_ = mode;
757 } 751 }
758 752
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 // static 920 // static
927 bool PrerenderManager::DoesSubresourceURLHaveValidScheme(const GURL& url) { 921 bool PrerenderManager::DoesSubresourceURLHaveValidScheme(const GURL& url) {
928 return DoesURLHaveValidScheme(url) || url == GURL(url::kAboutBlankURL); 922 return DoesURLHaveValidScheme(url) || url == GURL(url::kAboutBlankURL);
929 } 923 }
930 924
931 base::DictionaryValue* PrerenderManager::GetAsValue() const { 925 base::DictionaryValue* PrerenderManager::GetAsValue() const {
932 DCHECK(CalledOnValidThread()); 926 DCHECK(CalledOnValidThread());
933 base::DictionaryValue* dict_value = new base::DictionaryValue(); 927 base::DictionaryValue* dict_value = new base::DictionaryValue();
934 dict_value->Set("history", prerender_history_->GetEntriesAsValue()); 928 dict_value->Set("history", prerender_history_->GetEntriesAsValue());
935 dict_value->Set("active", GetActivePrerendersAsValue()); 929 dict_value->Set("active", GetActivePrerendersAsValue());
936 dict_value->SetBoolean("enabled", enabled_); 930 dict_value->SetBoolean("enabled", IsEnabled());
937 dict_value->SetBoolean("omnibox_enabled", IsOmniboxEnabled(profile_)); 931 dict_value->SetBoolean("omnibox_enabled", IsOmniboxEnabled(profile_));
938 // If prerender is disabled via a flag this method is not even called. 932 // If prerender is disabled via a flag this method is not even called.
939 std::string enabled_note; 933 std::string enabled_note;
940 if (IsControlGroup(kNoExperiment)) 934 if (IsControlGroup(kNoExperiment))
941 enabled_note += "(Control group: Not actually prerendering) "; 935 enabled_note += "(Control group: Not actually prerendering) ";
942 if (IsNoUseGroup()) 936 if (IsNoUseGroup())
943 enabled_note += "(No-use group: Not swapping in prerendered pages) "; 937 enabled_note += "(No-use group: Not swapping in prerendered pages) ";
944 if (GetMode() == PRERENDER_MODE_EXPERIMENT_15MIN_TTL_GROUP) 938 if (GetMode() == PRERENDER_MODE_EXPERIMENT_15MIN_TTL_GROUP)
945 enabled_note += 939 enabled_note +=
946 "(15 min TTL group: Extended prerender eviction to 15 mins) "; 940 "(15 min TTL group: Extended prerender eviction to 15 mins) ";
(...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after
1854 profile_network_bytes_ - last_recorded_profile_network_bytes_; 1848 profile_network_bytes_ - last_recorded_profile_network_bytes_;
1855 last_recorded_profile_network_bytes_ = profile_network_bytes_; 1849 last_recorded_profile_network_bytes_ = profile_network_bytes_;
1856 DCHECK_GE(recent_profile_bytes, 0); 1850 DCHECK_GE(recent_profile_bytes, 0);
1857 histograms_->RecordNetworkBytes( 1851 histograms_->RecordNetworkBytes(
1858 origin, used, prerender_bytes, recent_profile_bytes); 1852 origin, used, prerender_bytes, recent_profile_bytes);
1859 } 1853 }
1860 1854
1861 bool PrerenderManager::IsEnabled() const { 1855 bool PrerenderManager::IsEnabled() const {
1862 DCHECK(CalledOnValidThread()); 1856 DCHECK(CalledOnValidThread());
1863 1857
1864 if (!enabled_)
1865 return false;
1866 return chrome_browser_net::CanPrefetchAndPrerenderUI(profile_->GetPrefs()); 1858 return chrome_browser_net::CanPrefetchAndPrerenderUI(profile_->GetPrefs());
1867 } 1859 }
1868 1860
1869 void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64 bytes) { 1861 void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64 bytes) {
1870 DCHECK_GE(bytes, 0); 1862 DCHECK_GE(bytes, 0);
1871 if (IsEnabled() && ActuallyPrerendering()) 1863 if (IsEnabled() && ActuallyPrerendering())
1872 profile_network_bytes_ += bytes; 1864 profile_network_bytes_ += bytes;
1873 } 1865 }
1874 1866
1875 void PrerenderManager::OnCookieStoreLoaded() { 1867 void PrerenderManager::OnCookieStoreLoaded() {
(...skipping 26 matching lines...) Expand all
1902 content::RenderProcessHost* host) { 1894 content::RenderProcessHost* host) {
1903 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1895 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1904 prerender_process_hosts_.erase(host); 1896 prerender_process_hosts_.erase(host);
1905 BrowserThread::PostTask( 1897 BrowserThread::PostTask(
1906 BrowserThread::IO, FROM_HERE, 1898 BrowserThread::IO, FROM_HERE,
1907 base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread, 1899 base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread,
1908 base::Unretained(prerender_tracker()), host->GetID(), false)); 1900 base::Unretained(prerender_tracker()), host->GetID(), false));
1909 } 1901 }
1910 1902
1911 } // namespace prerender 1903 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698