Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_SERVIC E_H_ | 5 #ifndef COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_SERVIC E_H_ |
| 6 #define COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_SERVIC E_H_ | 6 #define COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_SERVIC E_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 25 class URLRequestContextGetter; | 25 class URLRequestContextGetter; |
| 26 class URLRequestStatus; | 26 class URLRequestStatus; |
| 27 } | 27 } |
| 28 | 28 |
| 29 namespace data_reduction_proxy { | 29 namespace data_reduction_proxy { |
| 30 | 30 |
| 31 typedef base::Callback<void(const std::string&, const net::URLRequestStatus&)> | 31 typedef base::Callback<void(const std::string&, const net::URLRequestStatus&)> |
| 32 FetcherResponseCallback; | 32 FetcherResponseCallback; |
| 33 | 33 |
| 34 class DataReductionProxySettings; | 34 class DataReductionProxySettings; |
| 35 class DataReductionProxyStatisticsPrefs; | 35 class DataReductionProxyCompressionStats; |
| 36 | 36 |
| 37 | 37 |
| 38 // Contains and initializes all Data Reduction Proxy objects that have a | 38 // Contains and initializes all Data Reduction Proxy objects that have a |
| 39 // lifetime based on the UI thread. | 39 // lifetime based on the UI thread. |
| 40 class DataReductionProxyService : public base::NonThreadSafe, | 40 class DataReductionProxyService : public base::NonThreadSafe, |
| 41 public net::URLFetcherDelegate { | 41 public net::URLFetcherDelegate { |
| 42 public: | 42 public: |
| 43 // The caller must ensure that |settings| and |request_context| remain alive | 43 // The caller must ensure that |settings| and |request_context| remain alive |
| 44 // for the lifetime of the |DataReductionProxyService| instance. This instance | 44 // for the lifetime of the |DataReductionProxyService| instance. This instance |
| 45 // will take ownership of |statistics_prefs|. | 45 // will take ownership of |statistics_prefs|. |
| 46 // TODO(jeremyim): DataReductionProxyService should own | 46 // TODO(jeremyim): DataReductionProxyService should own |
| 47 // DataReductionProxySettings and not vice versa. | 47 // DataReductionProxySettings and not vice versa. |
| 48 DataReductionProxyService( | 48 DataReductionProxyService( |
| 49 scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs, | 49 scoped_ptr<DataReductionProxyCompressionStats> statistics_prefs, |
|
bengr
2015/02/27 22:43:32
You'll want to change every variable name accordin
zhuoyu.qian
2015/02/28 06:16:03
Done.
| |
| 50 DataReductionProxySettings* settings, | 50 DataReductionProxySettings* settings, |
| 51 net::URLRequestContextGetter* request_context_getter); | 51 net::URLRequestContextGetter* request_context_getter); |
| 52 | 52 |
| 53 ~DataReductionProxyService() override; | 53 ~DataReductionProxyService() override; |
| 54 | 54 |
| 55 void Shutdown(); | 55 void Shutdown(); |
| 56 | 56 |
| 57 // Requests the given |probe_url|. Upon completion, returns the results to the | 57 // Requests the given |probe_url|. Upon completion, returns the results to the |
| 58 // caller via the |fetcher_callback|. Virtualized for unit testing. | 58 // caller via the |fetcher_callback|. Virtualized for unit testing. |
| 59 virtual void CheckProbeURL(const GURL& probe_url, | 59 virtual void CheckProbeURL(const GURL& probe_url, |
| 60 FetcherResponseCallback fetcher_callback); | 60 FetcherResponseCallback fetcher_callback); |
| 61 | 61 |
| 62 // Constructs statistics prefs. This should not be called if a valid | 62 // Constructs statistics prefs. This should not be called if a valid |
|
bengr
2015/02/27 22:43:32
"compression stats", here and below.
zhuoyu.qian
2015/02/28 06:16:03
Done.
| |
| 63 // statistics prefs is passed into the constructor. | 63 // statistics prefs is passed into the constructor. |
| 64 void EnableCompressionStatisticsLogging( | 64 void EnableCompressionStatisticsLogging( |
| 65 PrefService* prefs, | 65 PrefService* prefs, |
| 66 scoped_refptr<base::SequencedTaskRunner> ui_task_runner, | 66 scoped_refptr<base::SequencedTaskRunner> ui_task_runner, |
| 67 const base::TimeDelta& commit_delay); | 67 const base::TimeDelta& commit_delay); |
| 68 | 68 |
| 69 DataReductionProxyStatisticsPrefs* statistics_prefs() const { | 69 DataReductionProxyCompressionStats* statistics_prefs() const { |
|
bengr
2015/02/27 22:43:33
This function should be called compression_stats()
zhuoyu.qian
2015/02/28 06:16:03
Done.
| |
| 70 return statistics_prefs_.get(); | 70 return statistics_prefs_.get(); |
|
bengr
2015/02/27 22:43:33
compression_stats_
zhuoyu.qian
2015/02/28 06:16:03
Done.
| |
| 71 } | 71 } |
| 72 | 72 |
| 73 DataReductionProxySettings* settings() const { | 73 DataReductionProxySettings* settings() const { |
| 74 return settings_; | 74 return settings_; |
| 75 } | 75 } |
| 76 | 76 |
| 77 base::WeakPtr<DataReductionProxyService> GetWeakPtr(); | 77 base::WeakPtr<DataReductionProxyService> GetWeakPtr(); |
| 78 | 78 |
| 79 protected: | 79 protected: |
| 80 // Virtualized for testing. Returns a fetcher for the probe to check if OK for | 80 // Virtualized for testing. Returns a fetcher for the probe to check if OK for |
| 81 // the proxy to use TLS. | 81 // the proxy to use TLS. |
| 82 virtual net::URLFetcher* GetURLFetcherForProbe(const GURL& probe_url); | 82 virtual net::URLFetcher* GetURLFetcherForProbe(const GURL& probe_url); |
| 83 | 83 |
| 84 private: | 84 private: |
| 85 // net::URLFetcherDelegate: | 85 // net::URLFetcherDelegate: |
| 86 void OnURLFetchComplete(const net::URLFetcher* source) override; | 86 void OnURLFetchComplete(const net::URLFetcher* source) override; |
| 87 | 87 |
| 88 net::URLRequestContextGetter* url_request_context_getter_; | 88 net::URLRequestContextGetter* url_request_context_getter_; |
| 89 | 89 |
| 90 // The URLFetcher being used for the canary check. | 90 // The URLFetcher being used for the canary check. |
| 91 scoped_ptr<net::URLFetcher> fetcher_; | 91 scoped_ptr<net::URLFetcher> fetcher_; |
| 92 FetcherResponseCallback fetcher_callback_; | 92 FetcherResponseCallback fetcher_callback_; |
| 93 | 93 |
| 94 // Tracks compression statistics to be displayed to the user. | 94 // Tracks compression statistics to be displayed to the user. |
| 95 scoped_ptr<DataReductionProxyStatisticsPrefs> statistics_prefs_; | 95 scoped_ptr<DataReductionProxyCompressionStats> statistics_prefs_; |
| 96 | 96 |
| 97 DataReductionProxySettings* settings_; | 97 DataReductionProxySettings* settings_; |
| 98 | 98 |
| 99 base::WeakPtrFactory<DataReductionProxyService> weak_factory_; | 99 base::WeakPtrFactory<DataReductionProxyService> weak_factory_; |
| 100 | 100 |
| 101 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyService); | 101 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyService); |
| 102 }; | 102 }; |
| 103 | 103 |
| 104 } // namespace data_reduction_proxy | 104 } // namespace data_reduction_proxy |
| 105 | 105 |
| 106 #endif // COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_SER VICE_H_ | 106 #endif // COMPONENTS_DATA_REDUCTION_PROXY_CORE_BROWSER_DATA_REDUCTION_PROXY_SER VICE_H_ |
| OLD | NEW |