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/url_request/url_request_ftp_job.h" | 5 #include "net/url_request/url_request_ftp_job.h" |
6 | 6 |
| 7 #include <utility> |
7 #include <vector> | 8 #include <vector> |
8 | 9 |
9 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
11 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
12 #include "net/base/host_port_pair.h" | 13 #include "net/base/host_port_pair.h" |
13 #include "net/base/load_states.h" | 14 #include "net/base/load_states.h" |
14 #include "net/base/request_priority.h" | 15 #include "net/base/request_priority.h" |
15 #include "net/ftp/ftp_auth_cache.h" | 16 #include "net/ftp/ftp_auth_cache.h" |
16 #include "net/http/http_transaction_test_util.h" | 17 #include "net/http/http_transaction_test_util.h" |
(...skipping 22 matching lines...) Expand all Loading... |
39 | 40 |
40 int CreateProxyResolver( | 41 int CreateProxyResolver( |
41 const scoped_refptr<ProxyResolverScriptData>& pac_script, | 42 const scoped_refptr<ProxyResolverScriptData>& pac_script, |
42 scoped_ptr<ProxyResolver>* resolver, | 43 scoped_ptr<ProxyResolver>* resolver, |
43 const CompletionCallback& callback, | 44 const CompletionCallback& callback, |
44 scoped_ptr<Request>* request) override { | 45 scoped_ptr<Request>* request) override { |
45 EXPECT_FALSE(resolver_); | 46 EXPECT_FALSE(resolver_); |
46 scoped_ptr<MockAsyncProxyResolver> owned_resolver( | 47 scoped_ptr<MockAsyncProxyResolver> owned_resolver( |
47 new MockAsyncProxyResolver()); | 48 new MockAsyncProxyResolver()); |
48 resolver_ = owned_resolver.get(); | 49 resolver_ = owned_resolver.get(); |
49 *resolver = owned_resolver.Pass(); | 50 *resolver = std::move(owned_resolver); |
50 return OK; | 51 return OK; |
51 } | 52 } |
52 | 53 |
53 MockAsyncProxyResolver* resolver() { return resolver_; } | 54 MockAsyncProxyResolver* resolver() { return resolver_; } |
54 | 55 |
55 private: | 56 private: |
56 MockAsyncProxyResolver* resolver_; | 57 MockAsyncProxyResolver* resolver_; |
57 }; | 58 }; |
58 | 59 |
59 } // namespace | 60 } // namespace |
60 | 61 |
61 class FtpTestURLRequestContext : public TestURLRequestContext { | 62 class FtpTestURLRequestContext : public TestURLRequestContext { |
62 public: | 63 public: |
63 FtpTestURLRequestContext(ClientSocketFactory* socket_factory, | 64 FtpTestURLRequestContext(ClientSocketFactory* socket_factory, |
64 scoped_ptr<ProxyService> proxy_service, | 65 scoped_ptr<ProxyService> proxy_service, |
65 NetworkDelegate* network_delegate, | 66 NetworkDelegate* network_delegate, |
66 FtpTransactionFactory* ftp_transaction_factory) | 67 FtpTransactionFactory* ftp_transaction_factory) |
67 : TestURLRequestContext(true), | 68 : TestURLRequestContext(true), |
68 ftp_protocol_handler_(new FtpProtocolHandler(ftp_transaction_factory)) { | 69 ftp_protocol_handler_(new FtpProtocolHandler(ftp_transaction_factory)) { |
69 set_client_socket_factory(socket_factory); | 70 set_client_socket_factory(socket_factory); |
70 context_storage_.set_proxy_service(proxy_service.Pass()); | 71 context_storage_.set_proxy_service(std::move(proxy_service)); |
71 set_network_delegate(network_delegate); | 72 set_network_delegate(network_delegate); |
72 scoped_ptr<URLRequestJobFactoryImpl> job_factory = | 73 scoped_ptr<URLRequestJobFactoryImpl> job_factory = |
73 make_scoped_ptr(new URLRequestJobFactoryImpl); | 74 make_scoped_ptr(new URLRequestJobFactoryImpl); |
74 job_factory->SetProtocolHandler("ftp", | 75 job_factory->SetProtocolHandler("ftp", |
75 make_scoped_ptr(ftp_protocol_handler_)); | 76 make_scoped_ptr(ftp_protocol_handler_)); |
76 context_storage_.set_job_factory(job_factory.Pass()); | 77 context_storage_.set_job_factory(std::move(job_factory)); |
77 Init(); | 78 Init(); |
78 } | 79 } |
79 | 80 |
80 FtpAuthCache* GetFtpAuthCache() { | 81 FtpAuthCache* GetFtpAuthCache() { |
81 return ftp_protocol_handler_->ftp_auth_cache_.get(); | 82 return ftp_protocol_handler_->ftp_auth_cache_.get(); |
82 } | 83 } |
83 | 84 |
84 void set_proxy_service(scoped_ptr<ProxyService> proxy_service) { | 85 void set_proxy_service(scoped_ptr<ProxyService> proxy_service) { |
85 context_storage_.set_proxy_service(proxy_service.Pass()); | 86 context_storage_.set_proxy_service(std::move(proxy_service)); |
86 } | 87 } |
87 | 88 |
88 private: | 89 private: |
89 FtpProtocolHandler* ftp_protocol_handler_; | 90 FtpProtocolHandler* ftp_protocol_handler_; |
90 }; | 91 }; |
91 | 92 |
92 namespace { | 93 namespace { |
93 | 94 |
94 class SimpleProxyConfigService : public ProxyConfigService { | 95 class SimpleProxyConfigService : public ProxyConfigService { |
95 public: | 96 public: |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 // Regression test for http://crbug.com/237526. | 315 // Regression test for http://crbug.com/237526. |
315 TEST_F(URLRequestFtpJobTest, FtpProxyRequestOrphanJob) { | 316 TEST_F(URLRequestFtpJobTest, FtpProxyRequestOrphanJob) { |
316 scoped_ptr<MockProxyResolverFactory> owned_resolver_factory( | 317 scoped_ptr<MockProxyResolverFactory> owned_resolver_factory( |
317 new MockProxyResolverFactory()); | 318 new MockProxyResolverFactory()); |
318 MockProxyResolverFactory* resolver_factory = owned_resolver_factory.get(); | 319 MockProxyResolverFactory* resolver_factory = owned_resolver_factory.get(); |
319 | 320 |
320 // Use a PAC URL so that URLRequestFtpJob's |pac_request_| field is non-NULL. | 321 // Use a PAC URL so that URLRequestFtpJob's |pac_request_| field is non-NULL. |
321 request_context()->set_proxy_service(make_scoped_ptr(new ProxyService( | 322 request_context()->set_proxy_service(make_scoped_ptr(new ProxyService( |
322 make_scoped_ptr(new ProxyConfigServiceFixed( | 323 make_scoped_ptr(new ProxyConfigServiceFixed( |
323 ProxyConfig::CreateFromCustomPacURL(GURL("http://foo")))), | 324 ProxyConfig::CreateFromCustomPacURL(GURL("http://foo")))), |
324 owned_resolver_factory.Pass(), nullptr))); | 325 std::move(owned_resolver_factory), nullptr))); |
325 | 326 |
326 TestDelegate request_delegate; | 327 TestDelegate request_delegate; |
327 scoped_ptr<URLRequest> url_request(request_context()->CreateRequest( | 328 scoped_ptr<URLRequest> url_request(request_context()->CreateRequest( |
328 GURL("ftp://ftp.example.com/"), DEFAULT_PRIORITY, &request_delegate)); | 329 GURL("ftp://ftp.example.com/"), DEFAULT_PRIORITY, &request_delegate)); |
329 url_request->Start(); | 330 url_request->Start(); |
330 | 331 |
331 // Verify PAC request is in progress. | 332 // Verify PAC request is in progress. |
332 EXPECT_EQ(net::LoadState::LOAD_STATE_RESOLVING_PROXY_FOR_URL, | 333 EXPECT_EQ(net::LoadState::LOAD_STATE_RESOLVING_PROXY_FOR_URL, |
333 url_request->GetLoadState().state); | 334 url_request->GetLoadState().state); |
334 EXPECT_EQ(1u, resolver_factory->resolver()->pending_requests().size()); | 335 EXPECT_EQ(1u, resolver_factory->resolver()->pending_requests().size()); |
(...skipping 10 matching lines...) Expand all Loading... |
345 // above test is not sufficient. | 346 // above test is not sufficient. |
346 TEST_F(URLRequestFtpJobTest, FtpProxyRequestCancelRequest) { | 347 TEST_F(URLRequestFtpJobTest, FtpProxyRequestCancelRequest) { |
347 scoped_ptr<MockProxyResolverFactory> owned_resolver_factory( | 348 scoped_ptr<MockProxyResolverFactory> owned_resolver_factory( |
348 new MockProxyResolverFactory()); | 349 new MockProxyResolverFactory()); |
349 MockProxyResolverFactory* resolver_factory = owned_resolver_factory.get(); | 350 MockProxyResolverFactory* resolver_factory = owned_resolver_factory.get(); |
350 | 351 |
351 // Use a PAC URL so that URLRequestFtpJob's |pac_request_| field is non-NULL. | 352 // Use a PAC URL so that URLRequestFtpJob's |pac_request_| field is non-NULL. |
352 request_context()->set_proxy_service(make_scoped_ptr(new ProxyService( | 353 request_context()->set_proxy_service(make_scoped_ptr(new ProxyService( |
353 make_scoped_ptr(new ProxyConfigServiceFixed( | 354 make_scoped_ptr(new ProxyConfigServiceFixed( |
354 ProxyConfig::CreateFromCustomPacURL(GURL("http://foo")))), | 355 ProxyConfig::CreateFromCustomPacURL(GURL("http://foo")))), |
355 owned_resolver_factory.Pass(), nullptr))); | 356 std::move(owned_resolver_factory), nullptr))); |
356 | 357 |
357 TestDelegate request_delegate; | 358 TestDelegate request_delegate; |
358 scoped_ptr<URLRequest> url_request(request_context()->CreateRequest( | 359 scoped_ptr<URLRequest> url_request(request_context()->CreateRequest( |
359 GURL("ftp://ftp.example.com/"), DEFAULT_PRIORITY, &request_delegate)); | 360 GURL("ftp://ftp.example.com/"), DEFAULT_PRIORITY, &request_delegate)); |
360 | 361 |
361 // Verify PAC request is in progress. | 362 // Verify PAC request is in progress. |
362 url_request->Start(); | 363 url_request->Start(); |
363 EXPECT_EQ(net::LoadState::LOAD_STATE_RESOLVING_PROXY_FOR_URL, | 364 EXPECT_EQ(net::LoadState::LOAD_STATE_RESOLVING_PROXY_FOR_URL, |
364 url_request->GetLoadState().state); | 365 url_request->GetLoadState().state); |
365 EXPECT_EQ(1u, resolver_factory->resolver()->pending_requests().size()); | 366 EXPECT_EQ(1u, resolver_factory->resolver()->pending_requests().size()); |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 EXPECT_TRUE(url_request2->status().is_success()); | 791 EXPECT_TRUE(url_request2->status().is_success()); |
791 EXPECT_EQ(2, network_delegate()->completed_requests()); | 792 EXPECT_EQ(2, network_delegate()->completed_requests()); |
792 EXPECT_EQ(0, network_delegate()->error_count()); | 793 EXPECT_EQ(0, network_delegate()->error_count()); |
793 EXPECT_FALSE(request_delegate2.auth_required_called()); | 794 EXPECT_FALSE(request_delegate2.auth_required_called()); |
794 EXPECT_EQ("test2.html", request_delegate2.data_received()); | 795 EXPECT_EQ("test2.html", request_delegate2.data_received()); |
795 } | 796 } |
796 | 797 |
797 } // namespace | 798 } // namespace |
798 | 799 |
799 } // namespace net | 800 } // namespace net |
OLD | NEW |