Bug 1177909 - Part 1: support perferred proxy type while using system proxy setting; r?bagder draft
authorLiang-Heng Chen <xeonchen@gmail.com>
Mon, 12 Jun 2017 11:41:14 +0800
changeset 596440 93c44c120dca5fdce6c0f0d8f53ddd63ca06f89b
parent 596219 95543bdc59bd038a3d5d084b85a4fec493c349ee
child 596441 64024abbcef85b729039f6184bfbb4540130e668
push id64639
push userbmo:xeonchen@mozilla.com
push dateMon, 19 Jun 2017 08:44:39 +0000
reviewersbagder
bugs1177909
milestone56.0a1
Bug 1177909 - Part 1: support perferred proxy type while using system proxy setting; r?bagder MozReview-Commit-ID: 7C5pSxO1d2j
netwerk/base/nsProtocolProxyService.cpp
--- a/netwerk/base/nsProtocolProxyService.cpp
+++ b/netwerk/base/nsProtocolProxyService.cpp
@@ -1970,16 +1970,24 @@ nsProtocolProxyService::Resolve_Internal
         nsAutoCString scheme;
         int32_t port = -1;
 
         uri->GetAsciiSpec(spec);
         uri->GetAsciiHost(host);
         uri->GetScheme(scheme);
         uri->GetPort(&port);
 
+        if (flags & RESOLVE_PREFER_SOCKS_PROXY) {
+            LOG(("Ignoring RESOLVE_PREFER_SOCKS_PROXY for system proxy setting\n"));
+        } else if (flags & RESOLVE_PREFER_HTTPS_PROXY) {
+            scheme.AssignLiteral("https");
+        } else if (flags & RESOLVE_IGNORE_URI_SCHEME) {
+            scheme.AssignLiteral("http");
+        }
+
         // now try the system proxy settings for this particular url
         if (NS_SUCCEEDED(mSystemProxySettings->
                          GetProxyForURI(spec, scheme, host, port,
                                         pacString))) {
             ProcessPACString(pacString, 0, result);
             return NS_OK;
         }
     }