| Index: net/proxy/proxy_service_unittest.cc
|
| diff --git a/net/proxy/proxy_service_unittest.cc b/net/proxy/proxy_service_unittest.cc
|
| index cc245b69a3c3fffa932fc12195f039dce8f7353a..7285c2eec92b749aa7bd915af5b2f522d55199ce 100644
|
| --- a/net/proxy/proxy_service_unittest.cc
|
| +++ b/net/proxy/proxy_service_unittest.cc
|
| @@ -10,9 +10,11 @@
|
| #include "base/logging.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "net/base/load_flags.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/base/net_log.h"
|
| #include "net/base/net_log_unittest.h"
|
| +#include "net/base/network_delegate.h"
|
| #include "net/base/test_completion_callback.h"
|
| #include "net/proxy/dhcp_proxy_script_fetcher.h"
|
| #include "net/proxy/mock_proxy_resolver.h"
|
| @@ -153,6 +155,32 @@ class MockProxyConfigService: public ProxyConfigService {
|
| ObserverList<Observer, true> observers_;
|
| };
|
|
|
| +// A test network delegate that exercises the OnResolveProxy callback.
|
| +class TestResolveProxyNetworkDelegate : public NetworkDelegate {
|
| + public:
|
| + TestResolveProxyNetworkDelegate()
|
| + : NetworkDelegate(),
|
| + on_resolve_proxy_called(false),
|
| + add_proxy(false),
|
| + remove_proxy(false) {
|
| + }
|
| +
|
| + virtual void OnResolveProxy(
|
| + const GURL& url, int load_flags, ProxyInfo* result) {
|
| + on_resolve_proxy_called = true;
|
| + DCHECK(!(add_proxy && remove_proxy));
|
| + if (add_proxy) {
|
| + result->UseNamedProxy("delegate_proxy.com");
|
| + } else if (remove_proxy) {
|
| + result->UseDirect();
|
| + }
|
| + }
|
| +
|
| + bool on_resolve_proxy_called;
|
| + bool add_proxy;
|
| + bool remove_proxy;
|
| +};
|
| +
|
| } // namespace
|
|
|
| TEST_F(ProxyServiceTest, Direct) {
|
| @@ -166,7 +194,8 @@ TEST_F(ProxyServiceTest, Direct) {
|
| TestCompletionCallback callback;
|
| CapturingBoundNetLog log;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback.callback(), NULL, log.bound());
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + log.bound());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(resolver->pending_requests().empty());
|
|
|
| @@ -188,6 +217,105 @@ TEST_F(ProxyServiceTest, Direct) {
|
| entries, 2, NetLog::TYPE_PROXY_SERVICE));
|
| }
|
|
|
| +TEST_F(ProxyServiceTest, OnResolveProxyCallbackAddProxy) {
|
| + ProxyConfig config;
|
| + config.proxy_rules().ParseFromString("foopy1:8080");
|
| + config.set_auto_detect(false);
|
| + config.proxy_rules().bypass_rules.ParseFromString("*.org");
|
| +
|
| + ProxyService service(
|
| + new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL);
|
| +
|
| + GURL url("http://www.google.com/");
|
| + GURL bypass_url("http://internet.org");
|
| +
|
| + ProxyInfo info;
|
| + TestCompletionCallback callback;
|
| + CapturingBoundNetLog log;
|
| +
|
| + // First, warm up the ProxyService.
|
| + int rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + log.bound());
|
| + EXPECT_EQ(OK, rv);
|
| +
|
| + // Verify that network delegate is invoked.
|
| + TestResolveProxyNetworkDelegate delegate;
|
| + rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, &delegate,
|
| + log.bound());
|
| + EXPECT_TRUE(delegate.on_resolve_proxy_called);
|
| +
|
| + // Verify that the NetworkDelegate's behavior is stateless across
|
| + // invocations of ResolveProxy. Start by having the callback add a proxy
|
| + // and checking that subsequent requests are not effected.
|
| + delegate.add_proxy = true;
|
| + // Callback should interpose:
|
| + rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, &delegate,
|
| + log.bound());
|
| + EXPECT_FALSE(info.is_direct());
|
| + EXPECT_EQ(info.proxy_server().host_port_pair().host(), "delegate_proxy.com");
|
| + delegate.add_proxy = false;
|
| + // Check non-bypassed URL:
|
| + rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, &delegate,
|
| + log.bound());
|
| + EXPECT_FALSE(info.is_direct());
|
| + EXPECT_EQ(info.proxy_server().host_port_pair().host(), "foopy1");
|
| + // Check bypassed URL:
|
| + rv = service.ResolveProxy(
|
| + bypass_url, net::LOAD_NORMAL, &info, callback.callback(), NULL,
|
| + &delegate, log.bound());
|
| + EXPECT_TRUE(info.is_direct());
|
| +}
|
| +
|
| +TEST_F(ProxyServiceTest, OnResolveProxyCallbackRemoveProxy) {
|
| + // Same as OnResolveProxyCallbackAddProxy, but verify that the
|
| + // NetworkDelegate's behavior is stateless across invocations after it
|
| + // *removes* a proxy.
|
| + ProxyConfig config;
|
| + config.proxy_rules().ParseFromString("foopy1:8080");
|
| + config.set_auto_detect(false);
|
| + config.proxy_rules().bypass_rules.ParseFromString("*.org");
|
| +
|
| + ProxyService service(
|
| + new MockProxyConfigService(config), new MockAsyncProxyResolver, NULL);
|
| +
|
| + GURL url("http://www.google.com/");
|
| + GURL bypass_url("http://internet.org");
|
| +
|
| + ProxyInfo info;
|
| + TestCompletionCallback callback;
|
| + CapturingBoundNetLog log;
|
| +
|
| + // First, warm up the ProxyService.
|
| + int rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + log.bound());
|
| + EXPECT_EQ(OK, rv);
|
| +
|
| + TestResolveProxyNetworkDelegate delegate;
|
| + delegate.remove_proxy = true;
|
| + // Callback should interpose:
|
| + rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, &delegate,
|
| + log.bound());
|
| + EXPECT_TRUE(info.is_direct());
|
| + delegate.remove_proxy = false;
|
| + // Check non-bypassed URL:
|
| + rv = service.ResolveProxy(
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, &delegate,
|
| + log.bound());
|
| + EXPECT_FALSE(info.is_direct());
|
| + EXPECT_EQ(info.proxy_server().host_port_pair().host(), "foopy1");
|
| + // Check bypassed URL:
|
| + rv = service.ResolveProxy(
|
| + bypass_url, net::LOAD_NORMAL, &info, callback.callback(), NULL,
|
| + &delegate, log.bound());
|
| + EXPECT_TRUE(info.is_direct());
|
| +}
|
| +
|
| TEST_F(ProxyServiceTest, PAC) {
|
| MockProxyConfigService* config_service =
|
| new MockProxyConfigService("http://foopy/proxy.pac");
|
| @@ -204,7 +332,8 @@ TEST_F(ProxyServiceTest, PAC) {
|
| CapturingBoundNetLog log;
|
|
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback.callback(), &request, log.bound());
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), &request, NULL,
|
| + log.bound());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(LOAD_STATE_RESOLVING_PROXY_FOR_URL, service.GetLoadState(request));
|
| @@ -259,7 +388,8 @@ TEST_F(ProxyServiceTest, PAC_NoIdentityOrHash) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -287,7 +417,8 @@ TEST_F(ProxyServiceTest, PAC_FailoverWithoutDirect) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -315,8 +446,8 @@ TEST_F(ProxyServiceTest, PAC_FailoverWithoutDirect) {
|
| // DIRECT.
|
| TestCompletionCallback callback2;
|
| rv = service.ReconsiderProxyAfterError(
|
| - url, net::ERR_PROXY_CONNECTION_FAILED,
|
| - &info, callback2.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, net::ERR_PROXY_CONNECTION_FAILED,
|
| + &info, callback2.callback(), NULL, NULL, BoundNetLog());
|
| // ReconsiderProxyAfterError returns error indicating nothing left.
|
| EXPECT_EQ(ERR_FAILED, rv);
|
| EXPECT_TRUE(info.is_empty());
|
| @@ -336,7 +467,8 @@ TEST_F(ProxyServiceTest, PAC_RuntimeError) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -391,7 +523,8 @@ TEST_F(ProxyServiceTest, PAC_FailoverAfterDirect) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -411,35 +544,39 @@ TEST_F(ProxyServiceTest, PAC_FailoverAfterDirect) {
|
|
|
| // Fallback 1.
|
| TestCompletionCallback callback2;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("foobar:10", info.proxy_server().ToURI());
|
|
|
| // Fallback 2.
|
| TestCompletionCallback callback3;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback3.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(info.is_direct());
|
|
|
| // Fallback 3.
|
| TestCompletionCallback callback4;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback4.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("foobar:20", info.proxy_server().ToURI());
|
|
|
| // Fallback 4 -- Nothing to fall back to!
|
| TestCompletionCallback callback5;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback5.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_FAILED, rv);
|
| EXPECT_TRUE(info.is_empty());
|
| }
|
| @@ -460,7 +597,8 @@ TEST_F(ProxyServiceTest, PAC_ConfigSourcePropagates) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| ASSERT_EQ(ERR_IO_PENDING, rv);
|
| resolver->pending_set_pac_script_request()->CompleteNow(OK);
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -495,7 +633,8 @@ TEST_F(ProxyServiceTest, ProxyResolverFails) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -522,7 +661,8 @@ TEST_F(ProxyServiceTest, ProxyResolverFails) {
|
| // regardless of whether the first request failed in it.
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - url, &info, callback2.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback2.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -557,7 +697,8 @@ TEST_F(ProxyServiceTest, ProxyScriptFetcherFailsDownloadingMandatoryPac) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -576,7 +717,8 @@ TEST_F(ProxyServiceTest, ProxyScriptFetcherFailsDownloadingMandatoryPac) {
|
| // PAC script, ProxyService must not implicitly fall-back to DIRECT.
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - url, &info, callback2.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback2.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_MANDATORY_PROXY_CONFIGURATION_FAILED, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| }
|
| @@ -606,7 +748,8 @@ TEST_F(ProxyServiceTest, ProxyResolverFailsParsingJavaScriptMandatoryPac) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -649,7 +792,8 @@ TEST_F(ProxyServiceTest, ProxyResolverFailsInJavaScriptMandatoryPac) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -672,7 +816,8 @@ TEST_F(ProxyServiceTest, ProxyResolverFailsInJavaScriptMandatoryPac) {
|
| // regardless of whether the first request failed in it.
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - url, &info, callback2.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback2.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -705,7 +850,8 @@ TEST_F(ProxyServiceTest, ProxyFallback) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -733,9 +879,10 @@ TEST_F(ProxyServiceTest, ProxyFallback) {
|
|
|
| // Fake an error on the proxy.
|
| TestCompletionCallback callback2;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
|
|
| // Proxy times should not have been modified by fallback.
|
| @@ -750,7 +897,8 @@ TEST_F(ProxyServiceTest, ProxyFallback) {
|
|
|
| TestCompletionCallback callback3;
|
| rv = service.ResolveProxy(
|
| - url, &info, callback3.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback3.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -776,9 +924,10 @@ TEST_F(ProxyServiceTest, ProxyFallback) {
|
|
|
| // We fake another error. It should now try the third one.
|
| TestCompletionCallback callback4;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback4.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_EQ("foopy2:9090", info.proxy_server().ToURI());
|
|
|
| @@ -786,18 +935,20 @@ TEST_F(ProxyServiceTest, ProxyFallback) {
|
| // proxy servers we thought were valid; next we try the proxy server
|
| // that was in our bad proxies map (foopy1:8080).
|
| TestCompletionCallback callback5;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback5.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
|
|
|
| // Fake another error, the last proxy is gone, the list should now be empty,
|
| // so there is nothing left to try.
|
| TestCompletionCallback callback6;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback6.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_FAILED, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_TRUE(info.is_empty());
|
| @@ -808,8 +959,8 @@ TEST_F(ProxyServiceTest, ProxyFallback) {
|
|
|
| // Look up proxies again
|
| TestCompletionCallback callback7;
|
| - rv = service.ResolveProxy(url, &info, callback7.callback(), NULL,
|
| - BoundNetLog());
|
| + rv = service.ResolveProxy(url, net::LOAD_NORMAL, &info, callback7.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -848,7 +999,8 @@ TEST_F(ProxyServiceTest, ProxyFallbackToDirect) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -870,9 +1022,10 @@ TEST_F(ProxyServiceTest, ProxyFallbackToDirect) {
|
|
|
| // Fake an error on the proxy.
|
| TestCompletionCallback callback2;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
|
|
| // Now we get back the second proxy.
|
| @@ -880,9 +1033,10 @@ TEST_F(ProxyServiceTest, ProxyFallbackToDirect) {
|
|
|
| // Fake an error on this proxy as well.
|
| TestCompletionCallback callback3;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback3.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
|
|
| // Finally, we get back DIRECT.
|
| @@ -894,9 +1048,10 @@ TEST_F(ProxyServiceTest, ProxyFallbackToDirect) {
|
|
|
| // Now we tell the proxy service that even DIRECT failed.
|
| TestCompletionCallback callback4;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback4.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| // There was nothing left to try after DIRECT, so we are out of
|
| // choices.
|
| EXPECT_EQ(ERR_FAILED, rv);
|
| @@ -918,7 +1073,8 @@ TEST_F(ProxyServiceTest, ProxyFallback_NewSettings) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -943,9 +1099,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_NewSettings) {
|
| ProxyConfig::CreateFromCustomPacURL(GURL("http://foopy-new/proxy.pac")));
|
|
|
| TestCompletionCallback callback2;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy-new/proxy.pac"),
|
| @@ -965,9 +1122,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_NewSettings) {
|
|
|
| // We fake another error. It should now ignore the first one.
|
| TestCompletionCallback callback3;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback3.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_EQ("foopy2:9090", info.proxy_server().ToURI());
|
|
|
| @@ -978,9 +1136,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_NewSettings) {
|
|
|
| // We fake another error. It should go back to the first proxy.
|
| TestCompletionCallback callback4;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback4.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy-new2/proxy.pac"),
|
| @@ -1018,7 +1177,8 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfig) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -1038,9 +1198,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfig) {
|
|
|
| // Fake a proxy error.
|
| TestCompletionCallback callback2;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
|
|
| // The first proxy is ignored, and the second one is selected.
|
| @@ -1051,7 +1212,8 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfig) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback3;
|
| rv = service.ResolveProxy(
|
| - url, &info2, callback3.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info2, callback3.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -1071,9 +1233,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfig) {
|
| // "just work" the next time we call it.
|
| ProxyInfo info3;
|
| TestCompletionCallback callback4;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info3, callback4.callback(),
|
| - NULL, BoundNetLog());
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -1113,7 +1276,8 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfigMandatory) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback1.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -1133,9 +1297,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfigMandatory) {
|
|
|
| // Fake a proxy error.
|
| TestCompletionCallback callback2;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
|
|
| // The first proxy is ignored, and the second one is selected.
|
| @@ -1146,7 +1311,8 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfigMandatory) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback3;
|
| rv = service.ResolveProxy(
|
| - url, &info2, callback3.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info2, callback3.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -1167,9 +1333,10 @@ TEST_F(ProxyServiceTest, ProxyFallback_BadConfigMandatory) {
|
| // "just work" the next time we call it.
|
| ProxyInfo info3;
|
| TestCompletionCallback callback4;
|
| - rv = service.ReconsiderProxyAfterError(url, net::ERR_PROXY_CONNECTION_FAILED,
|
| + rv = service.ReconsiderProxyAfterError(url, net::LOAD_NORMAL,
|
| + net::ERR_PROXY_CONNECTION_FAILED,
|
| &info3, callback4.callback(),
|
| - NULL, BoundNetLog());
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -1205,13 +1372,15 @@ TEST_F(ProxyServiceTest, ProxyBypassList) {
|
|
|
| // Request for a .org domain should bypass proxy.
|
| rv = service.ResolveProxy(
|
| - url1, &info[0], callback[0].callback(), NULL, BoundNetLog());
|
| + url1, net::LOAD_NORMAL, &info[0], callback[0].callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(info[0].is_direct());
|
|
|
| // Request for a .com domain hits the proxy.
|
| rv = service.ResolveProxy(
|
| - url2, &info[1], callback[1].callback(), NULL, BoundNetLog());
|
| + url2, net::LOAD_NORMAL, &info[1], callback[1].callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_EQ("foopy1:8080", info[1].proxy_server().ToURI());
|
| }
|
| @@ -1227,7 +1396,8 @@ TEST_F(ProxyServiceTest, PerProtocolProxyTests) {
|
| GURL test_url("http://www.msn.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL, NULL,
|
| BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| @@ -1239,8 +1409,9 @@ TEST_F(ProxyServiceTest, PerProtocolProxyTests) {
|
| GURL test_url("ftp://ftp.google.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(info.is_direct());
|
| EXPECT_EQ("direct://", info.proxy_server().ToURI());
|
| @@ -1251,8 +1422,9 @@ TEST_F(ProxyServiceTest, PerProtocolProxyTests) {
|
| GURL test_url("https://webbranch.techcu.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("foopy2:8080", info.proxy_server().ToURI());
|
| @@ -1264,8 +1436,9 @@ TEST_F(ProxyServiceTest, PerProtocolProxyTests) {
|
| GURL test_url("http://www.microsoft.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
|
| @@ -1285,8 +1458,9 @@ TEST_F(ProxyServiceTest, ProxyConfigSourcePropagates) {
|
| GURL test_url("http://www.google.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| ASSERT_EQ(OK, rv);
|
| // Should be SOURCE_TEST, even if there are no HTTP proxies configured.
|
| EXPECT_EQ(PROXY_CONFIG_SOURCE_TEST, info.config_source());
|
| @@ -1300,8 +1474,9 @@ TEST_F(ProxyServiceTest, ProxyConfigSourcePropagates) {
|
| GURL test_url("https://www.google.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| ASSERT_EQ(OK, rv);
|
| // Used the HTTPS proxy. So source should be TEST.
|
| EXPECT_EQ(PROXY_CONFIG_SOURCE_TEST, info.config_source());
|
| @@ -1314,8 +1489,9 @@ TEST_F(ProxyServiceTest, ProxyConfigSourcePropagates) {
|
| GURL test_url("http://www.google.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| ASSERT_EQ(OK, rv);
|
| // ProxyConfig is empty. Source should still be TEST.
|
| EXPECT_EQ(PROXY_CONFIG_SOURCE_TEST, info.config_source());
|
| @@ -1337,8 +1513,9 @@ TEST_F(ProxyServiceTest, DefaultProxyFallbackToSOCKS) {
|
| GURL test_url("http://www.msn.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
|
| @@ -1349,8 +1526,9 @@ TEST_F(ProxyServiceTest, DefaultProxyFallbackToSOCKS) {
|
| GURL test_url("ftp://ftp.google.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI());
|
| @@ -1361,8 +1539,9 @@ TEST_F(ProxyServiceTest, DefaultProxyFallbackToSOCKS) {
|
| GURL test_url("https://webbranch.techcu.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI());
|
| @@ -1373,8 +1552,9 @@ TEST_F(ProxyServiceTest, DefaultProxyFallbackToSOCKS) {
|
| GURL test_url("unknown://www.microsoft.com");
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| - int rv = service.ResolveProxy(test_url, &info, callback.callback(), NULL,
|
| - BoundNetLog());
|
| + int rv = service.ResolveProxy(test_url, net::LOAD_NORMAL, &info,
|
| + callback.callback(), NULL,
|
| + NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_FALSE(info.is_direct());
|
| EXPECT_EQ("socks4://foopy2:1080", info.proxy_server().ToURI());
|
| @@ -1394,8 +1574,9 @@ TEST_F(ProxyServiceTest, CancelInProgressRequest) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Nothing has been sent to the proxy resolver yet, since the proxy
|
| @@ -1413,16 +1594,17 @@ TEST_F(ProxyServiceTest, CancelInProgressRequest) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| ProxyService::PacRequest* request2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), &request2, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), &request2, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| ASSERT_EQ(2u, resolver->pending_requests().size());
|
| EXPECT_EQ(GURL("http://request2"), resolver->pending_requests()[1]->url());
|
|
|
| ProxyInfo info3;
|
| TestCompletionCallback callback3;
|
| - rv = service.ResolveProxy(GURL("http://request3"), &info3,
|
| - callback3.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request3"), net::LOAD_NORMAL, &info3,
|
| + callback3.callback(), NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
| ASSERT_EQ(3u, resolver->pending_requests().size());
|
| EXPECT_EQ(GURL("http://request3"), resolver->pending_requests()[2]->url());
|
| @@ -1473,8 +1655,9 @@ TEST_F(ProxyServiceTest, InitialPACScriptDownload) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| ProxyService::PacRequest* request1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), &request1, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), &request1, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered download of PAC script.
|
| @@ -1484,15 +1667,17 @@ TEST_F(ProxyServiceTest, InitialPACScriptDownload) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| ProxyService::PacRequest* request2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), &request2, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), &request2, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ProxyInfo info3;
|
| TestCompletionCallback callback3;
|
| ProxyService::PacRequest* request3;
|
| - rv = service.ResolveProxy(GURL("http://request3"), &info3,
|
| - callback3.callback(), &request3, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request3"), net::LOAD_NORMAL, &info3,
|
| + callback3.callback(), &request3, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Nothing has been sent to the resolver yet.
|
| @@ -1575,8 +1760,9 @@ TEST_F(ProxyServiceTest, ChangeScriptFetcherWhilePACDownloadInProgress) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered download of PAC script.
|
| @@ -1585,8 +1771,8 @@ TEST_F(ProxyServiceTest, ChangeScriptFetcherWhilePACDownloadInProgress) {
|
|
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // At this point the ProxyService should be waiting for the
|
| @@ -1635,8 +1821,9 @@ TEST_F(ProxyServiceTest, CancelWhilePACFetching) {
|
| TestCompletionCallback callback1;
|
| ProxyService::PacRequest* request1;
|
| CapturingBoundNetLog log1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), &request1, log1.bound());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), &request1, NULL,
|
| + log1.bound());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered download of PAC script.
|
| @@ -1646,14 +1833,15 @@ TEST_F(ProxyServiceTest, CancelWhilePACFetching) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| ProxyService::PacRequest* request2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), &request2, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), &request2, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ProxyInfo info3;
|
| TestCompletionCallback callback3;
|
| - rv = service.ResolveProxy(GURL("http://request3"), &info3,
|
| - callback3.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request3"), net::LOAD_NORMAL, &info3,
|
| + callback3.callback(), NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Nothing has been sent to the resolver yet.
|
| @@ -1726,15 +1914,17 @@ TEST_F(ProxyServiceTest, FallbackFromAutodetectToCustomPac) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| ProxyService::PacRequest* request2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), &request2, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), &request2, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -1803,15 +1993,17 @@ TEST_F(ProxyServiceTest, FallbackFromAutodetectToCustomPac2) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| ProxyService::PacRequest* request2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), &request2, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), &request2, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -1876,15 +2068,17 @@ TEST_F(ProxyServiceTest, FallbackFromAutodetectToCustomToManual) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| ProxyService::PacRequest* request2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), &request2, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), &request2, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -1935,8 +2129,8 @@ TEST_F(ProxyServiceTest, BypassDoesntApplyToPac) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - GURL("http://www.google.com"), &info1, callback1.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://www.google.com"), net::LOAD_NORMAL, &info1,
|
| + callback1.callback(), NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -1966,8 +2160,9 @@ TEST_F(ProxyServiceTest, BypassDoesntApplyToPac) {
|
| // Start another request, it should pickup the bypass item.
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| - rv = service.ResolveProxy(GURL("http://www.google.com"), &info2,
|
| - callback2.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://www.google.com"), net::LOAD_NORMAL,
|
| + &info2, callback2.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| ASSERT_EQ(1u, resolver->pending_requests().size());
|
| @@ -2003,8 +2198,9 @@ TEST_F(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingFetch) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://www.google.com"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://www.google.com"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -2033,7 +2229,8 @@ TEST_F(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingSet) {
|
| ProxyInfo info;
|
| TestCompletionCallback callback;
|
| int rv = service.ResolveProxy(
|
| - url, &info, callback.callback(), NULL, BoundNetLog());
|
| + url, net::LOAD_NORMAL, &info, callback.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| EXPECT_EQ(GURL("http://foopy/proxy.pac"),
|
| @@ -2050,8 +2247,9 @@ TEST_F(ProxyServiceTest, ResetProxyConfigService) {
|
|
|
| ProxyInfo info;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_EQ("foopy1:8080", info.proxy_server().ToURI());
|
|
|
| @@ -2060,8 +2258,8 @@ TEST_F(ProxyServiceTest, ResetProxyConfigService) {
|
| config2.set_auto_detect(false);
|
| service.ResetConfigService(new MockProxyConfigService(config2));
|
| TestCompletionCallback callback2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info,
|
| - callback2.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info,
|
| + callback2.callback(), NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_EQ("foopy2:8080", info.proxy_server().ToURI());
|
| }
|
| @@ -2079,8 +2277,9 @@ TEST_F(ProxyServiceTest, UpdateConfigFromPACToDirect) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://www.google.com"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://www.google.com"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that nothing has been sent to the proxy resolver yet.
|
| @@ -2110,8 +2309,9 @@ TEST_F(ProxyServiceTest, UpdateConfigFromPACToDirect) {
|
| // Start another request -- the effective configuration has changed.
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| - rv = service.ResolveProxy(GURL("http://www.google.com"), &info2,
|
| - callback2.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://www.google.com"), net::LOAD_NORMAL,
|
| + &info2, callback2.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
|
|
| EXPECT_TRUE(info2.is_direct());
|
| @@ -2140,8 +2340,9 @@ TEST_F(ProxyServiceTest, NetworkChangeTriggersPacRefetch) {
|
|
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| - int rv = service.ResolveProxy(GURL("http://request1"), &info1,
|
| - callback1.callback(), NULL, BoundNetLog());
|
| + int rv = service.ResolveProxy(GURL("http://request1"), net::LOAD_NORMAL,
|
| + &info1, callback1.callback(), NULL, NULL,
|
| + BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered initial download of PAC script.
|
| @@ -2182,8 +2383,8 @@ TEST_F(ProxyServiceTest, NetworkChangeTriggersPacRefetch) {
|
| // Start a second request.
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| - rv = service.ResolveProxy(GURL("http://request2"), &info2,
|
| - callback2.callback(), NULL, BoundNetLog());
|
| + rv = service.ResolveProxy(GURL("http://request2"), net::LOAD_NORMAL, &info2,
|
| + callback2.callback(), NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // This second request should have triggered the re-download of the PAC
|
| @@ -2255,8 +2456,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterFailure) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - GURL("http://request1"), &info1, callback1.callback(),
|
| - NULL, BoundNetLog());
|
| + GURL("http://request1"), net::LOAD_NORMAL, &info1, callback1.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered initial download of PAC script.
|
| @@ -2316,8 +2517,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterFailure) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - GURL("http://request2"), &info2, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request2"), net::LOAD_NORMAL, &info2, callback2.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that it was sent to the resolver.
|
| @@ -2360,8 +2561,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterContentChange) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - GURL("http://request1"), &info1, callback1.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request1"), net::LOAD_NORMAL, &info1, callback1.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered initial download of PAC script.
|
| @@ -2426,8 +2627,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterContentChange) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - GURL("http://request2"), &info2, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request2"), net::LOAD_NORMAL, &info2, callback2.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that it was sent to the resolver.
|
| @@ -2470,8 +2671,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterContentUnchanged) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - GURL("http://request1"), &info1, callback1.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request1"), net::LOAD_NORMAL, &info1, callback1.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered initial download of PAC script.
|
| @@ -2532,8 +2733,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterContentUnchanged) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - GURL("http://request2"), &info2, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request2"), net::LOAD_NORMAL, &info2, callback2.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // Check that it was sent to the resolver.
|
| @@ -2576,8 +2777,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterSuccess) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - GURL("http://request1"), &info1, callback1.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request1"), net::LOAD_NORMAL, &info1, callback1.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered initial download of PAC script.
|
| @@ -2636,8 +2837,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterSuccess) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - GURL("http://request2"), &info2, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request2"), net::LOAD_NORMAL, &info2, callback2.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(info2.is_direct());
|
| }
|
| @@ -2728,8 +2929,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterActivity) {
|
| ProxyInfo info1;
|
| TestCompletionCallback callback1;
|
| int rv = service.ResolveProxy(
|
| - GURL("http://request1"), &info1, callback1.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request1"), net::LOAD_NORMAL, &info1, callback1.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // The first request should have triggered initial download of PAC script.
|
| @@ -2772,8 +2973,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterActivity) {
|
| ProxyInfo info2;
|
| TestCompletionCallback callback2;
|
| rv = service.ResolveProxy(
|
| - GURL("http://request2"), &info2, callback2.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request2"), net::LOAD_NORMAL, &info2, callback2.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| // This request should have sent work to the resolver; complete it.
|
| @@ -2803,8 +3004,8 @@ TEST_F(ProxyServiceTest, PACScriptRefetchAfterActivity) {
|
| ProxyInfo info3;
|
| TestCompletionCallback callback3;
|
| rv = service.ResolveProxy(
|
| - GURL("http://request3"), &info3, callback3.callback(), NULL,
|
| - BoundNetLog());
|
| + GURL("http://request3"), net::LOAD_NORMAL, &info3, callback3.callback(),
|
| + NULL, NULL, BoundNetLog());
|
| EXPECT_EQ(OK, rv);
|
| EXPECT_TRUE(info3.is_direct());
|
| }
|
|
|