Chromium Code Reviews| Index: net/proxy/proxy_service.cc |
| diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc |
| index 4c59024746da2662e643bf8f4568d0c9a124d645..2a77fa98a498ef6ad7172fde9fa52fe6b9b0456b 100644 |
| --- a/net/proxy/proxy_service.cc |
| +++ b/net/proxy/proxy_service.cc |
| @@ -979,8 +979,24 @@ int ProxyService::ResolveProxy(const GURL& raw_url, |
| PacRequest** pac_request, |
| NetworkDelegate* network_delegate, |
| const BoundNetLog& net_log) { |
| - DCHECK(CalledOnValidThread()); |
| DCHECK(!callback.is_null()); |
| + return ResolveProxyHelper(raw_url, |
| + load_flags, |
| + result, |
| + callback, |
| + pac_request, |
| + network_delegate, |
| + net_log); |
| +} |
| + |
| +int ProxyService::ResolveProxyHelper(const GURL& raw_url, |
| + int load_flags, |
| + ProxyInfo* result, |
| + const net::CompletionCallback& callback, |
| + PacRequest** pac_request, |
| + NetworkDelegate* network_delegate, |
| + const BoundNetLog& net_log) { |
| + DCHECK(CalledOnValidThread()); |
| net_log.BeginEvent(NetLog::TYPE_PROXY_SERVICE); |
| @@ -1005,6 +1021,9 @@ int ProxyService::ResolveProxy(const GURL& raw_url, |
| return DidFinishResolvingProxy(url, load_flags, network_delegate, |
| result, rv, net_log); |
| + if (callback.is_null()) |
| + return ERR_IO_PENDING; |
| + |
| scoped_refptr<PacRequest> req( |
| new PacRequest(this, url, load_flags, network_delegate, |
| result, callback, net_log)); |
| @@ -1029,6 +1048,22 @@ int ProxyService::ResolveProxy(const GURL& raw_url, |
| return rv; // ERR_IO_PENDING |
| } |
| +bool ProxyService:: TryResolveProxySynchronously( |
| + const GURL& raw_url, |
| + int load_flags, |
| + ProxyInfo* result, |
| + NetworkDelegate* network_delegate, |
| + const BoundNetLog& net_log) { |
| + net::CompletionCallback null_callback; |
| + return ResolveProxyHelper(raw_url, |
| + load_flags, |
| + result, |
| + null_callback, |
| + NULL /* pac_request*/, |
| + network_delegate, |
| + net_log) == net::OK; |
|
eroman
2014/10/14 21:16:33
nit: no need for "net::" since this is inside the
bemasc
2014/10/20 20:49:50
Done.
|
| +} |
| + |
| int ProxyService::TryToCompleteSynchronously(const GURL& url, |
| int load_flags, |
| NetworkDelegate* network_delegate, |