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, |