OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/proxy/proxy_service.h" | 5 #include "net/proxy/proxy_service.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 925 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
936 config.set_pac_mandatory(true); | 936 config.set_pac_mandatory(true); |
937 | 937 |
938 MockProxyConfigService* config_service = new MockProxyConfigService(config); | 938 MockProxyConfigService* config_service = new MockProxyConfigService(config); |
939 | 939 |
940 MockAsyncProxyResolverFactory* factory = | 940 MockAsyncProxyResolverFactory* factory = |
941 new MockAsyncProxyResolverFactory(true); | 941 new MockAsyncProxyResolverFactory(true); |
942 | 942 |
943 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 943 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
944 | 944 |
945 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 945 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
946 DhcpProxyScriptFetcher* dhcp_fetcher = new DoNothingDhcpProxyScriptFetcher(); | 946 service.SetProxyScriptFetchers( |
947 service.SetProxyScriptFetchers(fetcher, dhcp_fetcher); | 947 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
948 | 948 |
949 // Start resolve request. | 949 // Start resolve request. |
950 GURL url("http://www.google.com/"); | 950 GURL url("http://www.google.com/"); |
951 ProxyInfo info; | 951 ProxyInfo info; |
952 TestCompletionCallback callback; | 952 TestCompletionCallback callback; |
953 int rv = service.ResolveProxy(url, LOAD_NORMAL, &info, callback.callback(), | 953 int rv = service.ResolveProxy(url, LOAD_NORMAL, &info, callback.callback(), |
954 NULL, NULL, BoundNetLog()); | 954 NULL, NULL, BoundNetLog()); |
955 EXPECT_EQ(ERR_IO_PENDING, rv); | 955 EXPECT_EQ(ERR_IO_PENDING, rv); |
956 | 956 |
957 // Check that nothing has been sent to the proxy resolver factory yet. | 957 // Check that nothing has been sent to the proxy resolver factory yet. |
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1852 MockProxyConfigService* config_service = | 1852 MockProxyConfigService* config_service = |
1853 new MockProxyConfigService("http://foopy/proxy.pac"); | 1853 new MockProxyConfigService("http://foopy/proxy.pac"); |
1854 | 1854 |
1855 MockAsyncProxyResolver resolver; | 1855 MockAsyncProxyResolver resolver; |
1856 MockAsyncProxyResolverFactory* factory = | 1856 MockAsyncProxyResolverFactory* factory = |
1857 new MockAsyncProxyResolverFactory(true); | 1857 new MockAsyncProxyResolverFactory(true); |
1858 | 1858 |
1859 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 1859 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
1860 | 1860 |
1861 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 1861 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
1862 service.SetProxyScriptFetchers(fetcher, | 1862 service.SetProxyScriptFetchers( |
1863 new DoNothingDhcpProxyScriptFetcher()); | 1863 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
1864 | 1864 |
1865 // Start 3 requests. | 1865 // Start 3 requests. |
1866 | 1866 |
1867 ProxyInfo info1; | 1867 ProxyInfo info1; |
1868 TestCompletionCallback callback1; | 1868 TestCompletionCallback callback1; |
1869 ProxyService::PacRequest* request1; | 1869 ProxyService::PacRequest* request1; |
1870 int rv = service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 1870 int rv = service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
1871 callback1.callback(), &request1, NULL, | 1871 callback1.callback(), &request1, NULL, |
1872 BoundNetLog()); | 1872 BoundNetLog()); |
1873 EXPECT_EQ(ERR_IO_PENDING, rv); | 1873 EXPECT_EQ(ERR_IO_PENDING, rv); |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1959 MockProxyConfigService* config_service = | 1959 MockProxyConfigService* config_service = |
1960 new MockProxyConfigService("http://foopy/proxy.pac"); | 1960 new MockProxyConfigService("http://foopy/proxy.pac"); |
1961 | 1961 |
1962 MockAsyncProxyResolver resolver; | 1962 MockAsyncProxyResolver resolver; |
1963 MockAsyncProxyResolverFactory* factory = | 1963 MockAsyncProxyResolverFactory* factory = |
1964 new MockAsyncProxyResolverFactory(true); | 1964 new MockAsyncProxyResolverFactory(true); |
1965 | 1965 |
1966 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 1966 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
1967 | 1967 |
1968 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 1968 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
1969 service.SetProxyScriptFetchers(fetcher, | 1969 service.SetProxyScriptFetchers( |
1970 new DoNothingDhcpProxyScriptFetcher()); | 1970 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
1971 | 1971 |
1972 // Start 2 requests. | 1972 // Start 2 requests. |
1973 | 1973 |
1974 ProxyInfo info1; | 1974 ProxyInfo info1; |
1975 TestCompletionCallback callback1; | 1975 TestCompletionCallback callback1; |
1976 int rv = | 1976 int rv = |
1977 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 1977 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
1978 callback1.callback(), NULL, NULL, BoundNetLog()); | 1978 callback1.callback(), NULL, NULL, BoundNetLog()); |
1979 EXPECT_EQ(ERR_IO_PENDING, rv); | 1979 EXPECT_EQ(ERR_IO_PENDING, rv); |
1980 | 1980 |
1981 // The first request should have triggered download of PAC script. | 1981 // The first request should have triggered download of PAC script. |
1982 EXPECT_TRUE(fetcher->has_pending_request()); | 1982 EXPECT_TRUE(fetcher->has_pending_request()); |
1983 EXPECT_EQ(GURL("http://foopy/proxy.pac"), fetcher->pending_request_url()); | 1983 EXPECT_EQ(GURL("http://foopy/proxy.pac"), fetcher->pending_request_url()); |
1984 | 1984 |
1985 ProxyInfo info2; | 1985 ProxyInfo info2; |
1986 TestCompletionCallback callback2; | 1986 TestCompletionCallback callback2; |
1987 rv = service.ResolveProxy(GURL("http://request2"), LOAD_NORMAL, &info2, | 1987 rv = service.ResolveProxy(GURL("http://request2"), LOAD_NORMAL, &info2, |
1988 callback2.callback(), NULL, NULL, BoundNetLog()); | 1988 callback2.callback(), NULL, NULL, BoundNetLog()); |
1989 EXPECT_EQ(ERR_IO_PENDING, rv); | 1989 EXPECT_EQ(ERR_IO_PENDING, rv); |
1990 | 1990 |
1991 // At this point the ProxyService should be waiting for the | 1991 // At this point the ProxyService should be waiting for the |
1992 // ProxyScriptFetcher to invoke its completion callback, notifying it of | 1992 // ProxyScriptFetcher to invoke its completion callback, notifying it of |
1993 // PAC script download completion. | 1993 // PAC script download completion. |
1994 | 1994 |
1995 // We now change out the ProxyService's script fetcher. We should restart | 1995 // We now change out the ProxyService's script fetcher. We should restart |
1996 // the initialization with the new fetcher. | 1996 // the initialization with the new fetcher. |
1997 | 1997 |
1998 fetcher = new MockProxyScriptFetcher; | 1998 fetcher = new MockProxyScriptFetcher; |
1999 service.SetProxyScriptFetchers(fetcher, | 1999 service.SetProxyScriptFetchers( |
2000 new DoNothingDhcpProxyScriptFetcher()); | 2000 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2001 | 2001 |
2002 // Nothing has been sent to the factory yet. | 2002 // Nothing has been sent to the factory yet. |
2003 EXPECT_TRUE(factory->pending_requests().empty()); | 2003 EXPECT_TRUE(factory->pending_requests().empty()); |
2004 | 2004 |
2005 fetcher->NotifyFetchCompletion(OK, kValidPacScript1); | 2005 fetcher->NotifyFetchCompletion(OK, kValidPacScript1); |
2006 | 2006 |
2007 // Now that the PAC script is downloaded, it will have been sent to the proxy | 2007 // Now that the PAC script is downloaded, it will have been sent to the proxy |
2008 // resolver. | 2008 // resolver. |
2009 EXPECT_EQ(ASCIIToUTF16(kValidPacScript1), | 2009 EXPECT_EQ(ASCIIToUTF16(kValidPacScript1), |
2010 factory->pending_requests()[0]->script_data()->utf16()); | 2010 factory->pending_requests()[0]->script_data()->utf16()); |
2011 factory->pending_requests()[0]->CompleteNowWithForwarder(OK, &resolver); | 2011 factory->pending_requests()[0]->CompleteNowWithForwarder(OK, &resolver); |
2012 | 2012 |
2013 ASSERT_EQ(2u, resolver.pending_requests().size()); | 2013 ASSERT_EQ(2u, resolver.pending_requests().size()); |
2014 EXPECT_EQ(GURL("http://request1"), resolver.pending_requests()[0]->url()); | 2014 EXPECT_EQ(GURL("http://request1"), resolver.pending_requests()[0]->url()); |
2015 EXPECT_EQ(GURL("http://request2"), resolver.pending_requests()[1]->url()); | 2015 EXPECT_EQ(GURL("http://request2"), resolver.pending_requests()[1]->url()); |
2016 } | 2016 } |
2017 | 2017 |
2018 // Test cancellation of a request, while the PAC script is being fetched. | 2018 // Test cancellation of a request, while the PAC script is being fetched. |
2019 TEST_F(ProxyServiceTest, CancelWhilePACFetching) { | 2019 TEST_F(ProxyServiceTest, CancelWhilePACFetching) { |
2020 MockProxyConfigService* config_service = | 2020 MockProxyConfigService* config_service = |
2021 new MockProxyConfigService("http://foopy/proxy.pac"); | 2021 new MockProxyConfigService("http://foopy/proxy.pac"); |
2022 | 2022 |
2023 MockAsyncProxyResolver resolver; | 2023 MockAsyncProxyResolver resolver; |
2024 MockAsyncProxyResolverFactory* factory = | 2024 MockAsyncProxyResolverFactory* factory = |
2025 new MockAsyncProxyResolverFactory(true); | 2025 new MockAsyncProxyResolverFactory(true); |
2026 | 2026 |
2027 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2027 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2028 | 2028 |
2029 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2029 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2030 service.SetProxyScriptFetchers(fetcher, | 2030 service.SetProxyScriptFetchers( |
2031 new DoNothingDhcpProxyScriptFetcher()); | 2031 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2032 | 2032 |
2033 // Start 3 requests. | 2033 // Start 3 requests. |
2034 ProxyInfo info1; | 2034 ProxyInfo info1; |
2035 TestCompletionCallback callback1; | 2035 TestCompletionCallback callback1; |
2036 ProxyService::PacRequest* request1; | 2036 ProxyService::PacRequest* request1; |
2037 BoundTestNetLog log1; | 2037 BoundTestNetLog log1; |
2038 int rv = | 2038 int rv = |
2039 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2039 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2040 callback1.callback(), &request1, NULL, log1.bound()); | 2040 callback1.callback(), &request1, NULL, log1.bound()); |
2041 EXPECT_EQ(ERR_IO_PENDING, rv); | 2041 EXPECT_EQ(ERR_IO_PENDING, rv); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2115 config.set_pac_url(GURL("http://foopy/proxy.pac")); | 2115 config.set_pac_url(GURL("http://foopy/proxy.pac")); |
2116 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used. | 2116 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used. |
2117 | 2117 |
2118 MockProxyConfigService* config_service = new MockProxyConfigService(config); | 2118 MockProxyConfigService* config_service = new MockProxyConfigService(config); |
2119 MockAsyncProxyResolver resolver; | 2119 MockAsyncProxyResolver resolver; |
2120 MockAsyncProxyResolverFactory* factory = | 2120 MockAsyncProxyResolverFactory* factory = |
2121 new MockAsyncProxyResolverFactory(true); | 2121 new MockAsyncProxyResolverFactory(true); |
2122 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2122 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2123 | 2123 |
2124 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2124 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2125 service.SetProxyScriptFetchers(fetcher, | 2125 service.SetProxyScriptFetchers( |
2126 new DoNothingDhcpProxyScriptFetcher()); | 2126 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2127 | 2127 |
2128 // Start 2 requests. | 2128 // Start 2 requests. |
2129 | 2129 |
2130 ProxyInfo info1; | 2130 ProxyInfo info1; |
2131 TestCompletionCallback callback1; | 2131 TestCompletionCallback callback1; |
2132 int rv = | 2132 int rv = |
2133 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2133 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2134 callback1.callback(), NULL, NULL, BoundNetLog()); | 2134 callback1.callback(), NULL, NULL, BoundNetLog()); |
2135 EXPECT_EQ(ERR_IO_PENDING, rv); | 2135 EXPECT_EQ(ERR_IO_PENDING, rv); |
2136 | 2136 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2195 config.set_pac_url(GURL("http://foopy/proxy.pac")); | 2195 config.set_pac_url(GURL("http://foopy/proxy.pac")); |
2196 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used. | 2196 config.proxy_rules().ParseFromString("http=foopy:80"); // Won't be used. |
2197 | 2197 |
2198 MockProxyConfigService* config_service = new MockProxyConfigService(config); | 2198 MockProxyConfigService* config_service = new MockProxyConfigService(config); |
2199 MockAsyncProxyResolver resolver; | 2199 MockAsyncProxyResolver resolver; |
2200 MockAsyncProxyResolverFactory* factory = | 2200 MockAsyncProxyResolverFactory* factory = |
2201 new MockAsyncProxyResolverFactory(true); | 2201 new MockAsyncProxyResolverFactory(true); |
2202 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2202 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2203 | 2203 |
2204 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2204 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2205 service.SetProxyScriptFetchers(fetcher, | 2205 service.SetProxyScriptFetchers( |
2206 new DoNothingDhcpProxyScriptFetcher()); | 2206 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2207 | 2207 |
2208 // Start 2 requests. | 2208 // Start 2 requests. |
2209 | 2209 |
2210 ProxyInfo info1; | 2210 ProxyInfo info1; |
2211 TestCompletionCallback callback1; | 2211 TestCompletionCallback callback1; |
2212 int rv = | 2212 int rv = |
2213 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2213 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2214 callback1.callback(), NULL, NULL, BoundNetLog()); | 2214 callback1.callback(), NULL, NULL, BoundNetLog()); |
2215 EXPECT_EQ(ERR_IO_PENDING, rv); | 2215 EXPECT_EQ(ERR_IO_PENDING, rv); |
2216 | 2216 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2270 config.set_auto_detect(true); | 2270 config.set_auto_detect(true); |
2271 config.set_pac_url(GURL("http://foopy/proxy.pac")); | 2271 config.set_pac_url(GURL("http://foopy/proxy.pac")); |
2272 config.proxy_rules().ParseFromString("http=foopy:80"); | 2272 config.proxy_rules().ParseFromString("http=foopy:80"); |
2273 | 2273 |
2274 MockProxyConfigService* config_service = new MockProxyConfigService(config); | 2274 MockProxyConfigService* config_service = new MockProxyConfigService(config); |
2275 MockAsyncProxyResolverFactory* factory = | 2275 MockAsyncProxyResolverFactory* factory = |
2276 new MockAsyncProxyResolverFactory(true); | 2276 new MockAsyncProxyResolverFactory(true); |
2277 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2277 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2278 | 2278 |
2279 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2279 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2280 service.SetProxyScriptFetchers(fetcher, | 2280 service.SetProxyScriptFetchers( |
2281 new DoNothingDhcpProxyScriptFetcher()); | 2281 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2282 | 2282 |
2283 // Start 2 requests. | 2283 // Start 2 requests. |
2284 | 2284 |
2285 ProxyInfo info1; | 2285 ProxyInfo info1; |
2286 TestCompletionCallback callback1; | 2286 TestCompletionCallback callback1; |
2287 int rv = | 2287 int rv = |
2288 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2288 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2289 callback1.callback(), NULL, NULL, BoundNetLog()); | 2289 callback1.callback(), NULL, NULL, BoundNetLog()); |
2290 EXPECT_EQ(ERR_IO_PENDING, rv); | 2290 EXPECT_EQ(ERR_IO_PENDING, rv); |
2291 | 2291 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2331 config.proxy_rules().ParseFromString("http=foopy:80"); // Not used. | 2331 config.proxy_rules().ParseFromString("http=foopy:80"); // Not used. |
2332 config.proxy_rules().bypass_rules.ParseFromString("www.google.com"); | 2332 config.proxy_rules().bypass_rules.ParseFromString("www.google.com"); |
2333 | 2333 |
2334 MockProxyConfigService* config_service = new MockProxyConfigService(config); | 2334 MockProxyConfigService* config_service = new MockProxyConfigService(config); |
2335 MockAsyncProxyResolver resolver; | 2335 MockAsyncProxyResolver resolver; |
2336 MockAsyncProxyResolverFactory* factory = | 2336 MockAsyncProxyResolverFactory* factory = |
2337 new MockAsyncProxyResolverFactory(true); | 2337 new MockAsyncProxyResolverFactory(true); |
2338 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2338 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2339 | 2339 |
2340 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2340 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2341 service.SetProxyScriptFetchers(fetcher, | 2341 service.SetProxyScriptFetchers( |
2342 new DoNothingDhcpProxyScriptFetcher()); | 2342 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2343 | 2343 |
2344 // Start 1 requests. | 2344 // Start 1 requests. |
2345 | 2345 |
2346 ProxyInfo info1; | 2346 ProxyInfo info1; |
2347 TestCompletionCallback callback1; | 2347 TestCompletionCallback callback1; |
2348 int rv = | 2348 int rv = |
2349 service.ResolveProxy(GURL("http://www.google.com"), LOAD_NORMAL, &info1, | 2349 service.ResolveProxy(GURL("http://www.google.com"), LOAD_NORMAL, &info1, |
2350 callback1.callback(), NULL, NULL, BoundNetLog()); | 2350 callback1.callback(), NULL, NULL, BoundNetLog()); |
2351 EXPECT_EQ(ERR_IO_PENDING, rv); | 2351 EXPECT_EQ(ERR_IO_PENDING, rv); |
2352 | 2352 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2400 TEST_F(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingFetch) { | 2400 TEST_F(ProxyServiceTest, DeleteWhileInitProxyResolverHasOutstandingFetch) { |
2401 ProxyConfig config = | 2401 ProxyConfig config = |
2402 ProxyConfig::CreateFromCustomPacURL(GURL("http://foopy/proxy.pac")); | 2402 ProxyConfig::CreateFromCustomPacURL(GURL("http://foopy/proxy.pac")); |
2403 | 2403 |
2404 MockProxyConfigService* config_service = new MockProxyConfigService(config); | 2404 MockProxyConfigService* config_service = new MockProxyConfigService(config); |
2405 MockAsyncProxyResolverFactory* factory = | 2405 MockAsyncProxyResolverFactory* factory = |
2406 new MockAsyncProxyResolverFactory(true); | 2406 new MockAsyncProxyResolverFactory(true); |
2407 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2407 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2408 | 2408 |
2409 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2409 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2410 service.SetProxyScriptFetchers(fetcher, | 2410 service.SetProxyScriptFetchers( |
2411 new DoNothingDhcpProxyScriptFetcher()); | 2411 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2412 | 2412 |
2413 // Start 1 request. | 2413 // Start 1 request. |
2414 | 2414 |
2415 ProxyInfo info1; | 2415 ProxyInfo info1; |
2416 TestCompletionCallback callback1; | 2416 TestCompletionCallback callback1; |
2417 int rv = | 2417 int rv = |
2418 service.ResolveProxy(GURL("http://www.google.com"), LOAD_NORMAL, &info1, | 2418 service.ResolveProxy(GURL("http://www.google.com"), LOAD_NORMAL, &info1, |
2419 callback1.callback(), NULL, NULL, BoundNetLog()); | 2419 callback1.callback(), NULL, NULL, BoundNetLog()); |
2420 EXPECT_EQ(ERR_IO_PENDING, rv); | 2420 EXPECT_EQ(ERR_IO_PENDING, rv); |
2421 | 2421 |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2535 | 2535 |
2536 MockAsyncProxyResolver resolver; | 2536 MockAsyncProxyResolver resolver; |
2537 MockAsyncProxyResolverFactory* factory = | 2537 MockAsyncProxyResolverFactory* factory = |
2538 new MockAsyncProxyResolverFactory(true); | 2538 new MockAsyncProxyResolverFactory(true); |
2539 | 2539 |
2540 TestNetLog log; | 2540 TestNetLog log; |
2541 | 2541 |
2542 ProxyService service(config_service, make_scoped_ptr(factory), &log); | 2542 ProxyService service(config_service, make_scoped_ptr(factory), &log); |
2543 | 2543 |
2544 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2544 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2545 service.SetProxyScriptFetchers(fetcher, | 2545 service.SetProxyScriptFetchers( |
2546 new DoNothingDhcpProxyScriptFetcher()); | 2546 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2547 | 2547 |
2548 // Disable the "wait after IP address changes" hack, so this unit-test can | 2548 // Disable the "wait after IP address changes" hack, so this unit-test can |
2549 // complete quickly. | 2549 // complete quickly. |
2550 service.set_stall_proxy_auto_config_delay(base::TimeDelta()); | 2550 service.set_stall_proxy_auto_config_delay(base::TimeDelta()); |
2551 | 2551 |
2552 // Start 1 request. | 2552 // Start 1 request. |
2553 | 2553 |
2554 ProxyInfo info1; | 2554 ProxyInfo info1; |
2555 TestCompletionCallback callback1; | 2555 TestCompletionCallback callback1; |
2556 int rv = | 2556 int rv = |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2655 MockProxyConfigService* config_service = | 2655 MockProxyConfigService* config_service = |
2656 new MockProxyConfigService("http://foopy/proxy.pac"); | 2656 new MockProxyConfigService("http://foopy/proxy.pac"); |
2657 | 2657 |
2658 MockAsyncProxyResolver resolver; | 2658 MockAsyncProxyResolver resolver; |
2659 MockAsyncProxyResolverFactory* factory = | 2659 MockAsyncProxyResolverFactory* factory = |
2660 new MockAsyncProxyResolverFactory(true); | 2660 new MockAsyncProxyResolverFactory(true); |
2661 | 2661 |
2662 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2662 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2663 | 2663 |
2664 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2664 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2665 service.SetProxyScriptFetchers(fetcher, | 2665 service.SetProxyScriptFetchers( |
2666 new DoNothingDhcpProxyScriptFetcher()); | 2666 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2667 | 2667 |
2668 // Start 1 request. | 2668 // Start 1 request. |
2669 | 2669 |
2670 ProxyInfo info1; | 2670 ProxyInfo info1; |
2671 TestCompletionCallback callback1; | 2671 TestCompletionCallback callback1; |
2672 int rv = | 2672 int rv = |
2673 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2673 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2674 callback1.callback(), NULL, NULL, BoundNetLog()); | 2674 callback1.callback(), NULL, NULL, BoundNetLog()); |
2675 EXPECT_EQ(ERR_IO_PENDING, rv); | 2675 EXPECT_EQ(ERR_IO_PENDING, rv); |
2676 | 2676 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2760 MockProxyConfigService* config_service = | 2760 MockProxyConfigService* config_service = |
2761 new MockProxyConfigService("http://foopy/proxy.pac"); | 2761 new MockProxyConfigService("http://foopy/proxy.pac"); |
2762 | 2762 |
2763 MockAsyncProxyResolver resolver; | 2763 MockAsyncProxyResolver resolver; |
2764 MockAsyncProxyResolverFactory* factory = | 2764 MockAsyncProxyResolverFactory* factory = |
2765 new MockAsyncProxyResolverFactory(true); | 2765 new MockAsyncProxyResolverFactory(true); |
2766 | 2766 |
2767 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2767 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2768 | 2768 |
2769 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2769 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2770 service.SetProxyScriptFetchers(fetcher, | 2770 service.SetProxyScriptFetchers( |
2771 new DoNothingDhcpProxyScriptFetcher()); | 2771 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2772 | 2772 |
2773 // Start 1 request. | 2773 // Start 1 request. |
2774 | 2774 |
2775 ProxyInfo info1; | 2775 ProxyInfo info1; |
2776 TestCompletionCallback callback1; | 2776 TestCompletionCallback callback1; |
2777 int rv = | 2777 int rv = |
2778 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2778 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2779 callback1.callback(), NULL, NULL, BoundNetLog()); | 2779 callback1.callback(), NULL, NULL, BoundNetLog()); |
2780 EXPECT_EQ(ERR_IO_PENDING, rv); | 2780 EXPECT_EQ(ERR_IO_PENDING, rv); |
2781 | 2781 |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2871 MockProxyConfigService* config_service = | 2871 MockProxyConfigService* config_service = |
2872 new MockProxyConfigService("http://foopy/proxy.pac"); | 2872 new MockProxyConfigService("http://foopy/proxy.pac"); |
2873 | 2873 |
2874 MockAsyncProxyResolver resolver; | 2874 MockAsyncProxyResolver resolver; |
2875 MockAsyncProxyResolverFactory* factory = | 2875 MockAsyncProxyResolverFactory* factory = |
2876 new MockAsyncProxyResolverFactory(true); | 2876 new MockAsyncProxyResolverFactory(true); |
2877 | 2877 |
2878 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2878 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2879 | 2879 |
2880 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2880 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2881 service.SetProxyScriptFetchers(fetcher, | 2881 service.SetProxyScriptFetchers( |
2882 new DoNothingDhcpProxyScriptFetcher()); | 2882 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2883 | 2883 |
2884 // Start 1 request. | 2884 // Start 1 request. |
2885 | 2885 |
2886 ProxyInfo info1; | 2886 ProxyInfo info1; |
2887 TestCompletionCallback callback1; | 2887 TestCompletionCallback callback1; |
2888 int rv = | 2888 int rv = |
2889 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2889 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2890 callback1.callback(), NULL, NULL, BoundNetLog()); | 2890 callback1.callback(), NULL, NULL, BoundNetLog()); |
2891 EXPECT_EQ(ERR_IO_PENDING, rv); | 2891 EXPECT_EQ(ERR_IO_PENDING, rv); |
2892 | 2892 |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2979 MockProxyConfigService* config_service = | 2979 MockProxyConfigService* config_service = |
2980 new MockProxyConfigService("http://foopy/proxy.pac"); | 2980 new MockProxyConfigService("http://foopy/proxy.pac"); |
2981 | 2981 |
2982 MockAsyncProxyResolver resolver; | 2982 MockAsyncProxyResolver resolver; |
2983 MockAsyncProxyResolverFactory* factory = | 2983 MockAsyncProxyResolverFactory* factory = |
2984 new MockAsyncProxyResolverFactory(true); | 2984 new MockAsyncProxyResolverFactory(true); |
2985 | 2985 |
2986 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 2986 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
2987 | 2987 |
2988 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 2988 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
2989 service.SetProxyScriptFetchers(fetcher, | 2989 service.SetProxyScriptFetchers( |
2990 new DoNothingDhcpProxyScriptFetcher()); | 2990 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
2991 | 2991 |
2992 // Start 1 request. | 2992 // Start 1 request. |
2993 | 2993 |
2994 ProxyInfo info1; | 2994 ProxyInfo info1; |
2995 TestCompletionCallback callback1; | 2995 TestCompletionCallback callback1; |
2996 int rv = | 2996 int rv = |
2997 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 2997 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
2998 callback1.callback(), NULL, NULL, BoundNetLog()); | 2998 callback1.callback(), NULL, NULL, BoundNetLog()); |
2999 EXPECT_EQ(ERR_IO_PENDING, rv); | 2999 EXPECT_EQ(ERR_IO_PENDING, rv); |
3000 | 3000 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3132 MockProxyConfigService* config_service = | 3132 MockProxyConfigService* config_service = |
3133 new MockProxyConfigService("http://foopy/proxy.pac"); | 3133 new MockProxyConfigService("http://foopy/proxy.pac"); |
3134 | 3134 |
3135 MockAsyncProxyResolver resolver; | 3135 MockAsyncProxyResolver resolver; |
3136 MockAsyncProxyResolverFactory* factory = | 3136 MockAsyncProxyResolverFactory* factory = |
3137 new MockAsyncProxyResolverFactory(true); | 3137 new MockAsyncProxyResolverFactory(true); |
3138 | 3138 |
3139 ProxyService service(config_service, make_scoped_ptr(factory), NULL); | 3139 ProxyService service(config_service, make_scoped_ptr(factory), NULL); |
3140 | 3140 |
3141 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; | 3141 MockProxyScriptFetcher* fetcher = new MockProxyScriptFetcher; |
3142 service.SetProxyScriptFetchers(fetcher, | 3142 service.SetProxyScriptFetchers( |
3143 new DoNothingDhcpProxyScriptFetcher()); | 3143 fetcher, make_scoped_ptr(new DoNothingDhcpProxyScriptFetcher())); |
3144 | 3144 |
3145 // Start 1 request. | 3145 // Start 1 request. |
3146 | 3146 |
3147 ProxyInfo info1; | 3147 ProxyInfo info1; |
3148 TestCompletionCallback callback1; | 3148 TestCompletionCallback callback1; |
3149 int rv = | 3149 int rv = |
3150 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, | 3150 service.ResolveProxy(GURL("http://request1"), LOAD_NORMAL, &info1, |
3151 callback1.callback(), NULL, NULL, BoundNetLog()); | 3151 callback1.callback(), NULL, NULL, BoundNetLog()); |
3152 EXPECT_EQ(ERR_IO_PENDING, rv); | 3152 EXPECT_EQ(ERR_IO_PENDING, rv); |
3153 | 3153 |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3273 url, LOAD_NORMAL, &info, NULL, log.bound()); | 3273 url, LOAD_NORMAL, &info, NULL, log.bound()); |
3274 EXPECT_TRUE(synchronous_success); | 3274 EXPECT_TRUE(synchronous_success); |
3275 EXPECT_FALSE(info.is_direct()); | 3275 EXPECT_FALSE(info.is_direct()); |
3276 EXPECT_EQ("foopy1", info.proxy_server().host_port_pair().host()); | 3276 EXPECT_EQ("foopy1", info.proxy_server().host_port_pair().host()); |
3277 | 3277 |
3278 // No request should have been queued. | 3278 // No request should have been queued. |
3279 EXPECT_EQ(0u, factory->pending_requests().size()); | 3279 EXPECT_EQ(0u, factory->pending_requests().size()); |
3280 } | 3280 } |
3281 | 3281 |
3282 } // namespace net | 3282 } // namespace net |
OLD | NEW |