Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: net/url_request/url_request_context_builder.cc

Issue 1295523006: Using scoped_ptr for URLRequestJobFactoryImpl::SetProtocolHandler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698