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

Side by Side Diff: chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h

Issue 669163003: Handle disabling data reduction proxy for all platforms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use IsDataReductionProxy()/ Created 6 years, 1 month 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 unified diff | Download patch
OLDNEW
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_CONFIGURATOR_H_ 5 #ifndef CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_CONFIGURATOR_H_
6 #define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_CONFIGURATOR_H_ 6 #define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_CONFIGURATOR_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 14 matching lines...) Expand all
25 class PrefService; 25 class PrefService;
26 26
27 class DataReductionProxyChromeConfigurator 27 class DataReductionProxyChromeConfigurator
28 : public data_reduction_proxy::DataReductionProxyConfigurator { 28 : public data_reduction_proxy::DataReductionProxyConfigurator {
29 public: 29 public:
30 explicit DataReductionProxyChromeConfigurator( 30 explicit DataReductionProxyChromeConfigurator(
31 PrefService* prefs, 31 PrefService* prefs,
32 scoped_refptr<base::SequencedTaskRunner> network_task_runner); 32 scoped_refptr<base::SequencedTaskRunner> network_task_runner);
33 ~DataReductionProxyChromeConfigurator() override; 33 ~DataReductionProxyChromeConfigurator() override;
34 34
35 static void DisableInProxyConfigPref(PrefService* prefs);
bengr 2014/10/29 20:58:46 Add a comment.
Not at Google. Contact bengr 2014/10/29 22:30:14 Done.
36
35 void Enable(bool primary_restricted, 37 void Enable(bool primary_restricted,
36 bool fallback_restricted, 38 bool fallback_restricted,
37 const std::string& primary_origin, 39 const std::string& primary_origin,
38 const std::string& fallback_origin, 40 const std::string& fallback_origin,
39 const std::string& ssl_origin) override; 41 const std::string& ssl_origin) override;
40 void Disable() override; 42 void Disable() override;
41 43
42 // Add a host pattern to bypass. This should follow the same syntax used 44 // Add a host pattern to bypass. This should follow the same syntax used
43 // in net::ProxyBypassRules; that is, a hostname pattern, a hostname suffix 45 // in net::ProxyBypassRules; that is, a hostname pattern, a hostname suffix
44 // pattern, an IP literal, a CIDR block, or the magic string '<local>'. 46 // pattern, an IP literal, a CIDR block, or the magic string '<local>'.
45 // Bypass settings persist for the life of this object and are applied 47 // Bypass settings persist for the life of this object and are applied
46 // each time the proxy is enabled, but are not updated while it is enabled. 48 // each time the proxy is enabled, but are not updated while it is enabled.
47 void AddHostPatternToBypass(const std::string& pattern) override; 49 void AddHostPatternToBypass(const std::string& pattern) override;
48 50
49 // Add a URL pattern to bypass the proxy. The base implementation strips 51 // Add a URL pattern to bypass the proxy. The base implementation strips
50 // everything in |pattern| after the first single slash and then treats it 52 // everything in |pattern| after the first single slash and then treats it
51 // as a hostname pattern. Subclasses may implement other semantics. 53 // as a hostname pattern. Subclasses may implement other semantics.
52 void AddURLPatternToBypass(const std::string& pattern) override; 54 void AddURLPatternToBypass(const std::string& pattern) override;
53 55
54 // Updates the config for use on the IO thread. 56 // Updates the config for use on the IO thread.
55 void UpdateProxyConfigOnIO(const net::ProxyConfig& config); 57 void UpdateProxyConfigOnIO(const net::ProxyConfig& config);
56 58
57 // Returns the current data reduction proxy config, even if it is not the 59 // Returns the current data reduction proxy config, even if it is not the
58 // effective configuration used by the proxy service. 60 // effective configuration used by the proxy service.
59 const net::ProxyConfig& GetProxyConfigOnIO() const; 61 const net::ProxyConfig& GetProxyConfigOnIO() const;
60 62
61 private: 63 private:
62 FRIEND_TEST_ALL_PREFIXES(DataReductionProxyConfigTest, TestBypassList); 64 FRIEND_TEST_ALL_PREFIXES(DataReductionProxyConfigTest, TestBypassList);
63 65
66 static bool ContainsDataReductionProxy(const std::string& server);
bengr 2014/10/29 20:58:46 Add a comment describing what this does. This fun
Not at Google. Contact bengr 2014/10/29 22:30:14 Done. Good idea on passing in proxy_rules.
67
64 PrefService* prefs_; 68 PrefService* prefs_;
65 scoped_refptr<base::SequencedTaskRunner> network_task_runner_; 69 scoped_refptr<base::SequencedTaskRunner> network_task_runner_;
66 70
67 std::vector<std::string> bypass_rules_; 71 std::vector<std::string> bypass_rules_;
68 net::ProxyConfig config_; 72 net::ProxyConfig config_;
69 73
70 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyChromeConfigurator); 74 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyChromeConfigurator);
71 }; 75 };
72 76
73 #endif // CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_CONFIGURATOR _H_ 77 #endif // CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_CHROME_CONFIGURATOR _H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698