| Index: net/url_request/url_request_context_builder.cc
|
| diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
|
| index c2600712950ba1bc231254906f49ec4ede7beea1..508b182d745ca856e3a7a6c18ab8f1e5a24e6699 100644
|
| --- a/net/url_request/url_request_context_builder.cc
|
| +++ b/net/url_request/url_request_context_builder.cc
|
| @@ -129,6 +129,7 @@ class ContainerURLRequestContext : public URLRequestContext {
|
| explicit ContainerURLRequestContext(
|
| const scoped_refptr<base::SingleThreadTaskRunner>& file_task_runner)
|
| : file_task_runner_(file_task_runner), storage_(this) {}
|
| + ~ContainerURLRequestContext() override { AssertNoURLRequests(); }
|
|
|
| URLRequestContextStorage* storage() {
|
| return &storage_;
|
| @@ -151,9 +152,6 @@ class ContainerURLRequestContext : public URLRequestContext {
|
| transport_security_persister = transport_security_persister.Pass();
|
| }
|
|
|
| - protected:
|
| - ~ContainerURLRequestContext() override { AssertNoURLRequests(); }
|
| -
|
| private:
|
| // The thread should be torn down last.
|
| scoped_ptr<base::Thread> file_thread_;
|
| @@ -205,7 +203,8 @@ URLRequestContextBuilder::URLRequestContextBuilder()
|
| http_cache_enabled_(true),
|
| throttling_enabled_(false),
|
| backoff_enabled_(false),
|
| - sdch_enabled_(false) {
|
| + sdch_enabled_(false),
|
| + net_log_(nullptr) {
|
| }
|
|
|
| URLRequestContextBuilder::~URLRequestContextBuilder() {}
|
| @@ -266,9 +265,9 @@ void URLRequestContextBuilder::SetHttpServerProperties(
|
| http_server_properties_ = http_server_properties.Pass();
|
| }
|
|
|
| -URLRequestContext* URLRequestContextBuilder::Build() {
|
| - ContainerURLRequestContext* context =
|
| - new ContainerURLRequestContext(file_task_runner_);
|
| +scoped_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
| + scoped_ptr<ContainerURLRequestContext> context(
|
| + new ContainerURLRequestContext(file_task_runner_));
|
| URLRequestContextStorage* storage = context->storage();
|
|
|
| storage->set_http_user_agent_settings(new StaticHttpUserAgentSettings(
|
| @@ -280,7 +279,9 @@ URLRequestContext* URLRequestContextBuilder::Build() {
|
| storage->set_network_delegate(network_delegate);
|
|
|
| if (net_log_) {
|
| - storage->set_net_log(net_log_.release());
|
| + // Unlike the other builder parameters, |net_log_| is not owned by the
|
| + // builder or resulting context.
|
| + context->set_net_log(net_log_);
|
| } else {
|
| storage->set_net_log(new NetLog);
|
| }
|
| @@ -365,7 +366,7 @@ URLRequestContext* URLRequestContextBuilder::Build() {
|
| storage->set_backoff_manager(new URLRequestBackoffManager());
|
|
|
| HttpNetworkSession::Params network_session_params;
|
| - SetHttpNetworkSessionComponents(context, &network_session_params);
|
| + SetHttpNetworkSessionComponents(context.get(), &network_session_params);
|
|
|
| network_session_params.ignore_certificate_errors =
|
| http_network_session_params_.ignore_certificate_errors;
|
| @@ -446,7 +447,7 @@ URLRequestContext* URLRequestContextBuilder::Build() {
|
| storage->set_job_factory(top_job_factory.release());
|
| // TODO(willchan): Support sdch.
|
|
|
| - return context;
|
| + return context.Pass();
|
| }
|
|
|
| } // namespace net
|
|
|