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

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

Issue 516443002: Remove NETWORK_PREDICTION_UNSET. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert thread DCHECK change in IsEnabled. 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_(profile && profile->GetPrefs() && 241 : enabled_(true),
242 profile->GetPrefs()->GetBoolean(prefs::kNetworkPredictionEnabled)),
243 profile_(profile), 242 profile_(profile),
244 prerender_tracker_(prerender_tracker), 243 prerender_tracker_(prerender_tracker),
245 prerender_contents_factory_(PrerenderContents::CreateFactory()), 244 prerender_contents_factory_(PrerenderContents::CreateFactory()),
246 last_prerender_start_time_(GetCurrentTimeTicks() - 245 last_prerender_start_time_(GetCurrentTimeTicks() -
247 base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)), 246 base::TimeDelta::FromMilliseconds(kMinTimeBetweenPrerendersMs)),
248 prerender_history_(new PrerenderHistory(kHistoryLength)), 247 prerender_history_(new PrerenderHistory(kHistoryLength)),
249 histograms_(new PrerenderHistograms()), 248 histograms_(new PrerenderHistograms()),
250 profile_network_bytes_(0), 249 profile_network_bytes_(0),
251 last_recorded_profile_network_bytes_(0), 250 last_recorded_profile_network_bytes_(0),
252 cookie_store_loaded_(false) { 251 cookie_store_loaded_(false) {
(...skipping 1602 matching lines...) Expand 10 before | Expand all | Expand 10 after
1855 profile_network_bytes_ - last_recorded_profile_network_bytes_; 1854 profile_network_bytes_ - last_recorded_profile_network_bytes_;
1856 last_recorded_profile_network_bytes_ = profile_network_bytes_; 1855 last_recorded_profile_network_bytes_ = profile_network_bytes_;
1857 DCHECK_GE(recent_profile_bytes, 0); 1856 DCHECK_GE(recent_profile_bytes, 0);
1858 histograms_->RecordNetworkBytes( 1857 histograms_->RecordNetworkBytes(
1859 origin, used, prerender_bytes, recent_profile_bytes); 1858 origin, used, prerender_bytes, recent_profile_bytes);
1860 } 1859 }
1861 1860
1862 bool PrerenderManager::IsEnabled() const { 1861 bool PrerenderManager::IsEnabled() const {
1863 DCHECK(CalledOnValidThread()); 1862 DCHECK(CalledOnValidThread());
1864 1863
1865 // TODO(bnc): remove conditional as per crbug.com/334602.
1866 if (profile_ && profile_->GetPrefs() &&
1867 profile_->GetPrefs()->GetInteger(prefs::kNetworkPredictionOptions) !=
1868 chrome_browser_net::NETWORK_PREDICTION_UNSET) {
1869 return chrome_browser_net::CanPrefetchAndPrerenderUI(profile_->GetPrefs());
1870 }
1871 // TODO(bnc): remove rest of method as per crbug.com/334602.
1872 if (!enabled_) 1864 if (!enabled_)
mmenke 2014/08/28 14:34:49 You're going to get rid of this, and the logic in
Bence 2014/08/28 14:58:20 Yes, I plan to do that soon.
1873 return false; 1865 return false;
1874 for (std::list<const PrerenderCondition*>::const_iterator it = 1866 return chrome_browser_net::CanPrefetchAndPrerenderUI(profile_->GetPrefs());
1875 prerender_conditions_.begin();
1876 it != prerender_conditions_.end();
1877 ++it) {
1878 const PrerenderCondition* condition = *it;
1879 if (!condition->CanPrerender())
1880 return false;
1881 }
1882 return true;
1883 } 1867 }
1884 1868
1885 void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64 bytes) { 1869 void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64 bytes) {
1886 DCHECK_GE(bytes, 0); 1870 DCHECK_GE(bytes, 0);
1887 if (IsEnabled() && ActuallyPrerendering()) 1871 if (IsEnabled() && ActuallyPrerendering())
1888 profile_network_bytes_ += bytes; 1872 profile_network_bytes_ += bytes;
1889 } 1873 }
1890 1874
1891 void PrerenderManager::OnCookieStoreLoaded() { 1875 void PrerenderManager::OnCookieStoreLoaded() {
1892 cookie_store_loaded_ = true; 1876 cookie_store_loaded_ = true;
(...skipping 25 matching lines...) Expand all
1918 content::RenderProcessHost* host) { 1902 content::RenderProcessHost* host) {
1919 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1903 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1920 prerender_process_hosts_.erase(host); 1904 prerender_process_hosts_.erase(host);
1921 BrowserThread::PostTask( 1905 BrowserThread::PostTask(
1922 BrowserThread::IO, FROM_HERE, 1906 BrowserThread::IO, FROM_HERE,
1923 base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread, 1907 base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread,
1924 base::Unretained(prerender_tracker()), host->GetID(), false)); 1908 base::Unretained(prerender_tracker()), host->GetID(), false));
1925 } 1909 }
1926 1910
1927 } // namespace prerender 1911 } // namespace prerender
OLDNEW
« chrome/browser/net/prediction_options.cc ('K') | « chrome/browser/prefetch/prefetch.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698