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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h

Issue 1310743003: Consistently use LoFi for an entire page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressing comments Created 5 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
Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
index 16f62c51412f93ee168c906268f9e2292c4c8c50..92d32e9e7796ef08169e240a5a16afd0ad21525a 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.h
@@ -78,38 +78,6 @@ enum SecureProxyCheckFetchResult {
SECURE_PROXY_CHECK_FETCH_RESULT_COUNT
};
-// Values of the |lofi_status_|.
-// Default state is |LOFI_STATUS_TEMPORARILY_OFF|.
-enum LoFiStatus {
- // Used if Lo-Fi is permanently off.
- LOFI_STATUS_OFF = 0,
-
- // Used if Lo-Fi is disabled temporarily through direct or indirect user
- // action. The state would be reset on next main frame request.
- LOFI_STATUS_TEMPORARILY_OFF,
-
- // Used if Lo-Fi is enabled through flags.
- LOFI_STATUS_ACTIVE_FROM_FLAGS,
-
- // Session is in Auto Lo-Fi Control group and the current conditions are
- // suitable to use Lo-Fi "q=low" header.
- LOFI_STATUS_ACTIVE_CONTROL,
-
- // Session is in Auto Lo-Fi Control group and the current conditions are
- // not suitable to use Lo-Fi "q=low" header.
- LOFI_STATUS_INACTIVE_CONTROL,
-
- // Session is in Auto Lo-Fi enabled group and the current conditions are
- // suitable to use Lo-Fi "q=low" header.
- LOFI_STATUS_ACTIVE,
-
- // Session is in Auto Lo-Fi enabled group and the current conditions are
- // not suitable to use Lo-Fi "q=low" header.
- LOFI_STATUS_INACTIVE,
-
- LOFI_STATUS_LAST = LOFI_STATUS_INACTIVE
-};
-
// Central point for holding the Data Reduction Proxy configuration.
// This object lives on the IO thread and all of its methods are expected to be
// called from there.
@@ -213,23 +181,21 @@ class DataReductionProxyConfig
// tied to whether the Data Reduction Proxy is enabled.
bool promo_allowed() const;
- // Returns the Lo-Fi status.
- LoFiStatus GetLoFiStatus() const;
+ // Sets |lofi_off_| to true.
+ void SetLoFiModeOff();
- // Returns true only if Lo-Fi "q=low" header should be added to the Chrome
- // Proxy header.
- // Should be called on all URL requests (main frame and non main frame).
- bool ShouldUseLoFiHeaderForRequests() const;
+ // Returns |lofi_off_|.
+ bool IsLoFiOff() const { return lofi_off_; }
- // Sets |lofi_status_| to LOFI_STATUS_OFF.
- void SetLoFiModeOff();
+ // Returns true if this client is part of Lo-Fi enabled field trial.
+ // Virtualized for unit testing.
+ virtual bool IsIncludedInLoFiEnabledFieldTrial() const;
- // Updates |lofi_status_| based on the arguments provided and the current
- // value of |lofi_status_|.
- // |network_quality_estimator| may be NULL.
- // Should be called only on main frame loads.
- void UpdateLoFiStatusOnMainFrameRequest(
- bool user_temporarily_disabled_lofi,
+ // Returns true only when Lo-Fi "q=low" header should be added to the Chrome
+ // Proxy header. Updates |lofi_status_| based on the arguments provided and
+ // the current value of |lofi_status_|. |network_quality_estimator| may be
+ // NULL. Should be called only on main frame loads.
+ bool ShouldTurnOnLoFiOnMainFrameRequest(
const net::NetworkQualityEstimator* network_quality_estimator);
protected:
@@ -319,10 +285,6 @@ class DataReductionProxyConfig
bool is_https,
base::TimeDelta* min_retry_delay) const;
- // Returns true if this client is part of Lo-Fi enabled field trial.
- // Virtualized for unit testing.
- virtual bool IsIncludedInLoFiEnabledFieldTrial() const;
-
// Returns true if this client is part of Lo-Fi control field trial.
// Virtualized for unit testing.
virtual bool IsIncludedInLoFiControlFieldTrial() const;
@@ -335,10 +297,6 @@ class DataReductionProxyConfig
virtual bool IsNetworkQualityProhibitivelySlow(
const net::NetworkQualityEstimator* network_quality_estimator);
- // Returns true only if Lo-Fi "q=low" header should be added to the Chrome
- // Proxy header based on the value of |lofi_status|.
- static bool ShouldUseLoFiHeaderForRequests(LoFiStatus lofi_status);
-
// Records Lo-Fi accuracy metric. Should be called only on main frame loads.
void RecordAutoLoFiAccuracyRate(
const net::NetworkQualityEstimator* network_quality_estimator) const;
@@ -398,9 +356,8 @@ class DataReductionProxyConfig
// network quality was last updated (most recent main frame request).
net::NetworkChangeNotifier::ConnectionType connection_type_;
- // Current Lo-Fi status.
- // The value changes only on main frame load.
- LoFiStatus lofi_status_;
+ // If true, Lo-Fi is turned off for the rest of the session.
+ bool lofi_off_;
// Timestamp when the most recent main frame request started.
base::TimeTicks last_main_frame_request_;

Powered by Google App Engine
This is Rietveld 408576698