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

Unified Diff: net/proxy/proxy_service.cc

Issue 545633002: Don't preresolve DNS if a fixed proxy configuration is in place. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move synchronous proxy check into a separate function and remove virtual marking Created 6 years, 3 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/proxy/proxy_service.h ('k') | net/proxy/proxy_service_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « net/proxy/proxy_service.h ('k') | net/proxy/proxy_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698