| 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_context_builder.h" | 5 #include "net/url_request/url_request_context_builder.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 } else { | 404 } else { |
| 405 scoped_refptr<HttpNetworkSession> network_session( | 405 scoped_refptr<HttpNetworkSession> network_session( |
| 406 new HttpNetworkSession(network_session_params)); | 406 new HttpNetworkSession(network_session_params)); |
| 407 | 407 |
| 408 http_transaction_factory = new HttpNetworkLayer(network_session.get()); | 408 http_transaction_factory = new HttpNetworkLayer(network_session.get()); |
| 409 } | 409 } |
| 410 storage->set_http_transaction_factory(http_transaction_factory); | 410 storage->set_http_transaction_factory(http_transaction_factory); |
| 411 | 411 |
| 412 URLRequestJobFactoryImpl* job_factory = new URLRequestJobFactoryImpl; | 412 URLRequestJobFactoryImpl* job_factory = new URLRequestJobFactoryImpl; |
| 413 if (data_enabled_) | 413 if (data_enabled_) |
| 414 job_factory->SetProtocolHandler("data", new DataProtocolHandler); | 414 job_factory->SetProtocolHandler("data", |
| 415 make_scoped_ptr(new DataProtocolHandler)); |
| 415 | 416 |
| 416 #if !defined(DISABLE_FILE_SUPPORT) | 417 #if !defined(DISABLE_FILE_SUPPORT) |
| 417 if (file_enabled_) { | 418 if (file_enabled_) { |
| 418 job_factory->SetProtocolHandler( | 419 job_factory->SetProtocolHandler( |
| 419 "file", new FileProtocolHandler(context->GetFileTaskRunner())); | 420 "file", |
| 421 make_scoped_ptr(new FileProtocolHandler(context->GetFileTaskRunner()))); |
| 420 } | 422 } |
| 421 #endif // !defined(DISABLE_FILE_SUPPORT) | 423 #endif // !defined(DISABLE_FILE_SUPPORT) |
| 422 | 424 |
| 423 #if !defined(DISABLE_FTP_SUPPORT) | 425 #if !defined(DISABLE_FTP_SUPPORT) |
| 424 if (ftp_enabled_) { | 426 if (ftp_enabled_) { |
| 425 ftp_transaction_factory_.reset( | 427 ftp_transaction_factory_.reset( |
| 426 new FtpNetworkLayer(context->host_resolver())); | 428 new FtpNetworkLayer(context->host_resolver())); |
| 427 job_factory->SetProtocolHandler("ftp", | 429 job_factory->SetProtocolHandler( |
| 428 new FtpProtocolHandler(ftp_transaction_factory_.get())); | 430 "ftp", make_scoped_ptr( |
| 431 new FtpProtocolHandler(ftp_transaction_factory_.get()))); |
| 429 } | 432 } |
| 430 #endif // !defined(DISABLE_FTP_SUPPORT) | 433 #endif // !defined(DISABLE_FTP_SUPPORT) |
| 431 | 434 |
| 432 scoped_ptr<net::URLRequestJobFactory> top_job_factory(job_factory); | 435 scoped_ptr<net::URLRequestJobFactory> top_job_factory(job_factory); |
| 433 if (!url_request_interceptors_.empty()) { | 436 if (!url_request_interceptors_.empty()) { |
| 434 // Set up interceptors in the reverse order. | 437 // Set up interceptors in the reverse order. |
| 435 | 438 |
| 436 for (ScopedVector<net::URLRequestInterceptor>::reverse_iterator i = | 439 for (ScopedVector<net::URLRequestInterceptor>::reverse_iterator i = |
| 437 url_request_interceptors_.rbegin(); | 440 url_request_interceptors_.rbegin(); |
| 438 i != url_request_interceptors_.rend(); ++i) { | 441 i != url_request_interceptors_.rend(); ++i) { |
| 439 top_job_factory.reset(new net::URLRequestInterceptingJobFactory( | 442 top_job_factory.reset(new net::URLRequestInterceptingJobFactory( |
| 440 top_job_factory.Pass(), make_scoped_ptr(*i))); | 443 top_job_factory.Pass(), make_scoped_ptr(*i))); |
| 441 } | 444 } |
| 442 url_request_interceptors_.weak_clear(); | 445 url_request_interceptors_.weak_clear(); |
| 443 } | 446 } |
| 444 storage->set_job_factory(top_job_factory.release()); | 447 storage->set_job_factory(top_job_factory.release()); |
| 445 // TODO(willchan): Support sdch. | 448 // TODO(willchan): Support sdch. |
| 446 | 449 |
| 447 return context; | 450 return context; |
| 448 } | 451 } |
| 449 | 452 |
| 450 } // namespace net | 453 } // namespace net |
| OLD | NEW |