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

Unified Diff: chrome/browser/net/prediction_options.cc

Issue 443413002: Enable TCP preconnect and DNS preresolve on cellular. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert removing predictor_enabled check. Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/net/prediction_options.h ('k') | chrome/browser/net/predictor.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/prediction_options.cc
diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/prediction_options.cc
index 509d259235c96050ecd28dc94a15b9732a27d0b8..a01f5ee1144643b4286932f7b0a086fb73a7719e 100644
--- a/chrome/browser/net/prediction_options.cc
+++ b/chrome/browser/net/prediction_options.cc
@@ -16,9 +16,9 @@ namespace {
// Since looking up preferences and current network connection are presumably
// both cheap, we do not cache them here.
-bool CanPredictNetworkActions(int NetworkPredictionOptions,
- bool NetworkPredictionEnabled) {
- switch (NetworkPredictionOptions) {
+bool CanPrefetchAndPrerender(int network_prediction_options,
+ bool network_prediction_enabled) {
+ switch (network_prediction_options) {
case chrome_browser_net::NETWORK_PREDICTION_ALWAYS:
return true;
case chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY:
@@ -27,7 +27,26 @@ bool CanPredictNetworkActions(int NetworkPredictionOptions,
case chrome_browser_net::NETWORK_PREDICTION_NEVER:
return false;
case chrome_browser_net::NETWORK_PREDICTION_UNSET:
- return NetworkPredictionEnabled;
+ return network_prediction_enabled;
+ default:
+ NOTREACHED() << "Unknown kNetworkPredictionOptions value.";
+ return false;
+ }
+}
+
+bool CanPreresolveAndPreconnect(int network_prediction_options,
+ bool network_prediction_enabled) {
+ switch (network_prediction_options) {
+ case chrome_browser_net::NETWORK_PREDICTION_ALWAYS:
+ return true;
+ // DNS preresolution and TCP preconnect are performed even on cellular
+ // networks if the user setting is WIFI_ONLY.
+ case chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY:
+ return true;
+ case chrome_browser_net::NETWORK_PREDICTION_NEVER:
+ return false;
+ case chrome_browser_net::NETWORK_PREDICTION_UNSET:
+ return network_prediction_enabled;
default:
NOTREACHED() << "Unknown kNetworkPredictionOptions value.";
return false;
@@ -67,19 +86,38 @@ void MigrateNetworkPredictionUserPrefs(PrefService* pref_service) {
}
}
-bool CanPredictNetworkActionsIO(ProfileIOData* profile_io_data) {
+bool CanPrefetchAndPrerenderIO(ProfileIOData* profile_io_data) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
DCHECK(profile_io_data);
-
- return CanPredictNetworkActions(
+ return CanPrefetchAndPrerender(
profile_io_data->network_prediction_options()->GetValue(),
profile_io_data->network_prediction_enabled()->GetValue());
}
+bool CanPrefetchAndPrerenderUI(PrefService* prefs) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ DCHECK(prefs);
+ return CanPrefetchAndPrerender(
+ prefs->GetInteger(prefs::kNetworkPredictionOptions),
+ prefs->GetBoolean(prefs::kNetworkPredictionEnabled));
+}
+
bool CanPredictNetworkActionsUI(PrefService* prefs) {
+ return CanPrefetchAndPrerenderUI(prefs);
+}
+
+bool CanPreresolveAndPreconnectIO(ProfileIOData* profile_io_data) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
+ DCHECK(profile_io_data);
+ return CanPreresolveAndPreconnect(
+ profile_io_data->network_prediction_options()->GetValue(),
+ profile_io_data->network_prediction_enabled()->GetValue());
+}
+
+bool CanPreresolveAndPreconnectUI(PrefService* prefs) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
DCHECK(prefs);
- return CanPredictNetworkActions(
+ return CanPreresolveAndPreconnect(
prefs->GetInteger(prefs::kNetworkPredictionOptions),
prefs->GetBoolean(prefs::kNetworkPredictionEnabled));
}
« no previous file with comments | « chrome/browser/net/prediction_options.h ('k') | chrome/browser/net/predictor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698