| 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_;
|
|
|