Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 NET_PROXY_PROXY_SERVICE_H_ | 5 #ifndef NET_PROXY_PROXY_SERVICE_H_ |
| 6 #define NET_PROXY_PROXY_SERVICE_H_ | 6 #define NET_PROXY_PROXY_SERVICE_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 194 // Clears the list of bad proxy servers that has been cached. | 194 // Clears the list of bad proxy servers that has been cached. |
| 195 void ClearBadProxiesCache() { | 195 void ClearBadProxiesCache() { |
| 196 proxy_retry_info_.clear(); | 196 proxy_retry_info_.clear(); |
| 197 } | 197 } |
| 198 | 198 |
| 199 // Forces refetching the proxy configuration, and applying it. | 199 // Forces refetching the proxy configuration, and applying it. |
| 200 // This re-does everything from fetching the system configuration, | 200 // This re-does everything from fetching the system configuration, |
| 201 // to downloading and testing the PAC files. | 201 // to downloading and testing the PAC files. |
| 202 void ForceReloadProxyConfig(); | 202 void ForceReloadProxyConfig(); |
| 203 | 203 |
| 204 // Give ProxyConfigService a chance to perform shutdown work. | |
| 205 void StartTearDown(); | |
| 206 | |
| 204 // Same as CreateProxyServiceUsingV8ProxyResolver, except it uses system | 207 // Same as CreateProxyServiceUsingV8ProxyResolver, except it uses system |
| 205 // libraries for evaluating the PAC script if available, otherwise skips | 208 // libraries for evaluating the PAC script if available, otherwise skips |
| 206 // proxy autoconfig. | 209 // proxy autoconfig. |
| 207 static ProxyService* CreateUsingSystemProxyResolver( | 210 static ProxyService* CreateUsingSystemProxyResolver( |
| 208 ProxyConfigService* proxy_config_service, | 211 ProxyConfigService* proxy_config_service, |
| 209 size_t num_pac_threads, | 212 size_t num_pac_threads, |
| 210 NetLog* net_log); | 213 NetLog* net_log); |
| 211 | 214 |
| 212 // Creates a ProxyService without support for proxy autoconfig. | 215 // Creates a ProxyService without support for proxy autoconfig. |
| 213 static ProxyService* CreateWithoutProxyResolver( | 216 static ProxyService* CreateWithoutProxyResolver( |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 227 // This method is used by tests to create a ProxyService that returns a | 230 // This method is used by tests to create a ProxyService that returns a |
| 228 // hardcoded proxy fallback list (|pac_string|) for every URL. | 231 // hardcoded proxy fallback list (|pac_string|) for every URL. |
| 229 // | 232 // |
| 230 // |pac_string| is a list of proxy servers, in the format that a PAC script | 233 // |pac_string| is a list of proxy servers, in the format that a PAC script |
| 231 // would return it. For example, "PROXY foobar:99; SOCKS fml:2; DIRECT" | 234 // would return it. For example, "PROXY foobar:99; SOCKS fml:2; DIRECT" |
| 232 static ProxyService* CreateFixedFromPacResult(const std::string& pac_string); | 235 static ProxyService* CreateFixedFromPacResult(const std::string& pac_string); |
| 233 | 236 |
| 234 // Creates a config service appropriate for this platform that fetches the | 237 // Creates a config service appropriate for this platform that fetches the |
| 235 // system proxy settings. | 238 // system proxy settings. |
| 236 static ProxyConfigService* CreateSystemProxyConfigService( | 239 static ProxyConfigService* CreateSystemProxyConfigService( |
| 237 base::SingleThreadTaskRunner* io_thread_task_runner, | 240 base::SingleThreadTaskRunner* glib_thread_task_runner, |
|
digit1
2012/10/19 10:32:46
Probably use main_thread_task_runner here.
| |
| 238 MessageLoop* file_loop); | 241 MessageLoop* file_loop); |
| 239 | 242 |
| 240 // This method should only be used by unit tests. | 243 // This method should only be used by unit tests. |
| 241 void set_stall_proxy_auto_config_delay(base::TimeDelta delay) { | 244 void set_stall_proxy_auto_config_delay(base::TimeDelta delay) { |
| 242 stall_proxy_auto_config_delay_ = delay; | 245 stall_proxy_auto_config_delay_ = delay; |
| 243 } | 246 } |
| 244 | 247 |
| 245 // This method should only be used by unit tests. Returns the previously | 248 // This method should only be used by unit tests. Returns the previously |
| 246 // active policy. | 249 // active policy. |
| 247 static const PacPollPolicy* set_pac_script_poll_policy( | 250 static const PacPollPolicy* set_pac_script_poll_policy( |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 426 | 429 |
| 427 base::WaitableEvent event_; | 430 base::WaitableEvent event_; |
| 428 CompletionCallback callback_; | 431 CompletionCallback callback_; |
| 429 ProxyInfo proxy_info_; | 432 ProxyInfo proxy_info_; |
| 430 int result_; | 433 int result_; |
| 431 }; | 434 }; |
| 432 | 435 |
| 433 } // namespace net | 436 } // namespace net |
| 434 | 437 |
| 435 #endif // NET_PROXY_PROXY_SERVICE_H_ | 438 #endif // NET_PROXY_PROXY_SERVICE_H_ |
| OLD | NEW |