| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h
|
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h b/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h
|
| index 7c3f509445ba36163c3da2bbe4b38d61c980b966..5fbd0adaf5c39aedff439f20d297518d7da8b0d2 100644
|
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h
|
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h
|
| @@ -20,10 +20,10 @@ class URLRequestInterceptor;
|
|
|
| namespace data_reduction_proxy {
|
|
|
| +class DataReductionProxyConfig;
|
| class DataReductionProxyConfigurator;
|
| class DataReductionProxyEventStore;
|
| -class DataReductionProxyParams;
|
| -class DataReductionProxySettings;
|
| +class DataReductionProxyService;
|
| class DataReductionProxyStatisticsPrefs;
|
| class DataReductionProxyUsageStats;
|
|
|
| @@ -31,26 +31,19 @@ class DataReductionProxyUsageStats;
|
| // the IO thread.
|
| class DataReductionProxyIOData {
|
| public:
|
| - // Constructs a DataReductionProxyIOData object and takes ownership of
|
| - // |params| and |statistics_prefs|. |params| contains information about the
|
| - // DNS names used by the proxy, and allowable configurations.
|
| - // |statistics_prefs| maintains compression statistics during use of the
|
| - // proxy. |settings| provides a UI hook to signal when the proxy is
|
| - // unavailable. Only |statistics_prefs.get()| may be null.
|
| + // Constructs a DataReductionProxyIOData object. |param_flags| is used to
|
| + // set information about the DNS names used by the proxy, and allowable
|
| + // configurations.
|
| DataReductionProxyIOData(
|
| const Client& client,
|
| - scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs,
|
| - DataReductionProxySettings* settings,
|
| + int param_flags,
|
| net::NetLog* net_log,
|
| scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner);
|
| + scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
|
| + bool enable_quic);
|
|
|
| virtual ~DataReductionProxyIOData();
|
|
|
| - // Initializes IOData objects on the IO thread. Must be called before using
|
| - // members.
|
| - void Init();
|
| -
|
| // Initializes preferences, including a preference to track whether the
|
| // Data Reduction Proxy is enabled.
|
| void InitOnUIThread(PrefService* pref_service);
|
| @@ -58,11 +51,9 @@ class DataReductionProxyIOData {
|
| // Destroys the statistics preferences.
|
| void ShutdownOnUIThread();
|
|
|
| - void SetDataReductionProxyStatisticsPrefs(
|
| - base::WeakPtr<DataReductionProxyStatisticsPrefs> statistics_prefs);
|
| -
|
| - // Passes ownership of |statistics_prefs_|.
|
| - scoped_ptr<DataReductionProxyStatisticsPrefs> PassStatisticsPrefs();
|
| + // Sets the Data Reduction Proxy service after it has been created.
|
| + void SetDataReductionProxyService(
|
| + base::WeakPtr<DataReductionProxyService> data_reduction_proxy_service);
|
|
|
| // Creates an interceptor suitable for following the Data Reduction Proxy
|
| // bypass protocol.
|
| @@ -83,6 +74,10 @@ class DataReductionProxyIOData {
|
| return configurator_.get();
|
| }
|
|
|
| + DataReductionProxyConfig* config() const {
|
| + return config_.get();
|
| + }
|
| +
|
| DataReductionProxyEventStore* event_store() const {
|
| return event_store_.get();
|
| }
|
| @@ -99,15 +94,15 @@ class DataReductionProxyIOData {
|
| return net_log_;
|
| }
|
|
|
| + base::WeakPtr<DataReductionProxyService> service() const {
|
| + return service_;
|
| + }
|
| +
|
| // Used for testing.
|
| DataReductionProxyUsageStats* usage_stats() const {
|
| return usage_stats_.get();
|
| }
|
|
|
| - DataReductionProxyParams* params() const {
|
| - return params_.get();
|
| - }
|
| -
|
| DataReductionProxyDebugUIService* debug_ui_service() const {
|
| return debug_ui_service_.get();
|
| }
|
| @@ -127,14 +122,7 @@ class DataReductionProxyIOData {
|
| Client client_;
|
|
|
| // Parameters including DNS names and allowable configurations.
|
| - scoped_ptr<DataReductionProxyParams> params_;
|
| -
|
| - // Tracker of compression statistics to be displayed to the user.
|
| - base::WeakPtr<DataReductionProxyStatisticsPrefs> statistics_prefs_;
|
| -
|
| - // |temporary_statistics_prefs_| is used only until DataReductionProxySettings
|
| - // initialization and is dead after.
|
| - scoped_ptr<DataReductionProxyStatisticsPrefs> temporary_statistics_prefs_;
|
| + scoped_ptr<DataReductionProxyConfig> config_;
|
|
|
| // Holds the DataReductionProxyDebugUIManager for Data Reduction Proxy bypass
|
| // interstitials.
|
| @@ -150,8 +138,8 @@ class DataReductionProxyIOData {
|
| // request.
|
| scoped_ptr<DataReductionProxyDelegate> proxy_delegate_;
|
|
|
| - // User-facing settings object.
|
| - DataReductionProxySettings* settings_;
|
| + // Data Reduction Proxy objects with a UI based lifetime.
|
| + base::WeakPtr<DataReductionProxyService> service_;
|
|
|
| // Tracker of various metrics to be reported in UMA.
|
| scoped_ptr<DataReductionProxyUsageStats> usage_stats_;
|
| @@ -168,8 +156,6 @@ class DataReductionProxyIOData {
|
|
|
| // Used
|
| bool shutdown_on_ui_;
|
| - bool initialized_;
|
| - bool network_delegate_created_;
|
|
|
| // Preference that determines if the Data Reduction Proxy has been enabled
|
| // by the user. In practice, this can be overridden by the command line.
|
|
|