OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ | 5 #ifndef CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ |
6 #define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ | 6 #define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ |
7 | 7 |
| 8 #include "base/memory/scoped_ptr.h" |
8 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.
h" | 9 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.
h" |
9 #include "components/keyed_service/core/keyed_service.h" | 10 #include "components/keyed_service/core/keyed_service.h" |
10 | 11 |
| 12 namespace base { |
| 13 class PrefService; |
| 14 } |
| 15 |
11 namespace data_reduction_proxy { | 16 namespace data_reduction_proxy { |
| 17 class DataReductionProxyConfigurator; |
12 class DataReductionProxyParams; | 18 class DataReductionProxyParams; |
13 } | 19 } |
14 | 20 |
15 class Profile; | 21 namespace net { |
| 22 class URLRequestContextGetter; |
| 23 } |
| 24 |
| 25 class PrefService; |
16 | 26 |
17 // Data reduction proxy settings class suitable for use with a Chrome browser. | 27 // Data reduction proxy settings class suitable for use with a Chrome browser. |
18 // It is keyed to a browser context. | 28 // It is keyed to a browser context. |
19 class DataReductionProxyChromeSettings | 29 class DataReductionProxyChromeSettings |
20 : public data_reduction_proxy::DataReductionProxySettings, | 30 : public data_reduction_proxy::DataReductionProxySettings, |
21 public KeyedService { | 31 public KeyedService { |
22 public: | 32 public: |
23 // Constructs a settings object with the given configuration parameters. | 33 // Constructs a settings object with the given configuration parameters. |
24 // Construction and destruction must happen on the UI thread. | 34 // Construction and destruction must happen on the UI thread. |
25 explicit DataReductionProxyChromeSettings( | 35 explicit DataReductionProxyChromeSettings( |
26 data_reduction_proxy::DataReductionProxyParams* params); | 36 data_reduction_proxy::DataReductionProxyParams* params); |
27 | 37 |
28 // Destructs the settings object. | 38 // Destructs the settings object. |
29 virtual ~DataReductionProxyChromeSettings(); | 39 virtual ~DataReductionProxyChromeSettings(); |
30 | 40 |
31 // Initialize the settings object with the given profile, which it uses to | 41 // Initialize the settings object with the given configurator, prefs services, |
32 // get the appropriate pref service. | 42 // and request context. |
33 virtual void InitDataReductionProxySettings(Profile* profile); | 43 void InitDataReductionProxySettings( |
| 44 scoped_ptr<data_reduction_proxy::DataReductionProxyConfigurator> |
| 45 configurator, |
| 46 PrefService* profile_prefs, |
| 47 PrefService* local_state_prefs, |
| 48 net::URLRequestContextGetter* request_context); |
34 | 49 |
35 // Using the chrome::VersionInfo version, returns the build and patch portion | 50 // Using the chrome::VersionInfo version, returns the build and patch portion |
36 // of the string delimited by a period. If the chrome::VersionInfo version | 51 // of the string delimited by a period. If the chrome::VersionInfo version |
37 // isn't of the form xx.xx.xx.xx returns an empty string. | 52 // isn't of the form xx.xx.xx.xx returns an empty string. |
38 static std::string GetBuildAndPatchNumber(); | 53 static std::string GetBuildAndPatchNumber(); |
39 | 54 |
40 // Gets the client type for the data reduction proxy. | 55 // Gets the client type for the data reduction proxy. |
41 static std::string GetClient(); | 56 static std::string GetClient(); |
42 | 57 |
43 private: | 58 private: |
44 // Registers the DataReductionProxyEnabled synthetic field trial with | 59 // Registers the DataReductionProxyEnabled synthetic field trial with |
45 // the group |data_reduction_proxy_enabled|. | 60 // the group |data_reduction_proxy_enabled|. |
46 void RegisterSyntheticFieldTrial(bool data_reduction_proxy_enabled); | 61 void RegisterSyntheticFieldTrial(bool data_reduction_proxy_enabled); |
47 | 62 |
48 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyChromeSettings); | 63 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyChromeSettings); |
49 }; | 64 }; |
50 | 65 |
51 #endif // CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ | 66 #endif // CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_SETTINGS_H_ |
OLD | NEW |