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

Side by Side Diff: chrome/browser/net/pref_proxy_config_tracker_impl.h

Issue 11570009: Split PrefService into PrefService, PrefServiceSimple and PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments. Created 8 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_PREF_PROXY_CONFIG_TRACKER_IMPL_H_ 5 #ifndef CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_
6 #define CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_ 6 #define CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/observer_list.h" 11 #include "base/observer_list.h"
12 #include "base/prefs/public/pref_change_registrar.h" 12 #include "base/prefs/public/pref_change_registrar.h"
13 #include "chrome/browser/prefs/proxy_config_dictionary.h" 13 #include "chrome/browser/prefs/proxy_config_dictionary.h"
14 #include "net/proxy/proxy_config.h" 14 #include "net/proxy/proxy_config.h"
15 #include "net/proxy/proxy_config_service.h" 15 #include "net/proxy/proxy_config_service.h"
16 16
17 class PrefService; 17 class PrefService;
18 class PrefServiceSimple;
19 class PrefServiceSyncable;
18 20
19 // A net::ProxyConfigService implementation that applies preference proxy 21 // A net::ProxyConfigService implementation that applies preference proxy
20 // settings (pushed from PrefProxyConfigTrackerImpl) as overrides to the proxy 22 // settings (pushed from PrefProxyConfigTrackerImpl) as overrides to the proxy
21 // configuration determined by a baseline delegate ProxyConfigService on 23 // configuration determined by a baseline delegate ProxyConfigService on
22 // non-ChromeOS platforms. ChromeOS has its own implementation of overrides in 24 // non-ChromeOS platforms. ChromeOS has its own implementation of overrides in
23 // chromeos::ProxyConfigServiceImpl. 25 // chromeos::ProxyConfigServiceImpl.
24 class ChromeProxyConfigService 26 class ChromeProxyConfigService
25 : public net::ProxyConfigService, 27 : public net::ProxyConfigService,
26 public net::ProxyConfigService::Observer { 28 public net::ProxyConfigService::Observer {
27 public: 29 public:
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 const net::ProxyConfig& system_config, 111 const net::ProxyConfig& system_config,
110 bool ignore_fallback_config, 112 bool ignore_fallback_config,
111 ProxyPrefs::ConfigState* effective_config_state, 113 ProxyPrefs::ConfigState* effective_config_state,
112 net::ProxyConfig* effective_config); 114 net::ProxyConfig* effective_config);
113 115
114 // Converts a ProxyConfigDictionary to net::ProxyConfig representation. 116 // Converts a ProxyConfigDictionary to net::ProxyConfig representation.
115 // Returns true if the data from in the dictionary is valid, false otherwise. 117 // Returns true if the data from in the dictionary is valid, false otherwise.
116 static bool PrefConfigToNetConfig(const ProxyConfigDictionary& proxy_dict, 118 static bool PrefConfigToNetConfig(const ProxyConfigDictionary& proxy_dict,
117 net::ProxyConfig* config); 119 net::ProxyConfig* config);
118 120
119 // Registers the proxy preference. 121 // Registers the proxy preferences. These are actually registered
120 static void RegisterPrefs(PrefService* user_prefs); 122 // the same way in local state and in user prefs.
123 static void RegisterPrefs(PrefServiceSimple* local_state);
124 static void RegisterUserPrefs(PrefServiceSyncable* user_prefs);
121 125
122 protected: 126 protected:
123 // Get the proxy configuration currently defined by preferences. 127 // Get the proxy configuration currently defined by preferences.
124 // Status is indicated in the return value. 128 // Status is indicated in the return value.
125 // Writes the configuration to |config| unless the return value is 129 // Writes the configuration to |config| unless the return value is
126 // CONFIG_UNSET, in which case |config| and |config_source| are not touched. 130 // CONFIG_UNSET, in which case |config| and |config_source| are not touched.
127 ProxyPrefs::ConfigState GetProxyConfig(net::ProxyConfig* config); 131 ProxyPrefs::ConfigState GetProxyConfig(net::ProxyConfig* config);
128 132
129 // Called when there's a change in prefs proxy config. 133 // Called when there's a change in prefs proxy config.
130 // Subclasses can extend it for changes in other sources of proxy config. 134 // Subclasses can extend it for changes in other sources of proxy config.
(...skipping 20 matching lines...) Expand all
151 155
152 PrefService* pref_service_; 156 PrefService* pref_service_;
153 ChromeProxyConfigService* chrome_proxy_config_service_; // Weak ptr. 157 ChromeProxyConfigService* chrome_proxy_config_service_; // Weak ptr.
154 bool update_pending_; // True if config has not been pushed to network stack. 158 bool update_pending_; // True if config has not been pushed to network stack.
155 PrefChangeRegistrar proxy_prefs_; 159 PrefChangeRegistrar proxy_prefs_;
156 160
157 DISALLOW_COPY_AND_ASSIGN(PrefProxyConfigTrackerImpl); 161 DISALLOW_COPY_AND_ASSIGN(PrefProxyConfigTrackerImpl);
158 }; 162 };
159 163
160 #endif // CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_ 164 #endif // CHROME_BROWSER_NET_PREF_PROXY_CONFIG_TRACKER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698