| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/cronet/android/url_request_context_adapter.h" | 5 #include "components/cronet/android/url_request_context_adapter.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | |
| 10 #include <limits> | 9 #include <limits> |
| 10 #include <utility> |
| 11 | 11 |
| 12 #include "base/bind.h" | 12 #include "base/bind.h" |
| 13 #include "base/files/file_util.h" | 13 #include "base/files/file_util.h" |
| 14 #include "base/files/scoped_file.h" | 14 #include "base/files/scoped_file.h" |
| 15 #include "base/macros.h" | 15 #include "base/macros.h" |
| 16 #include "base/message_loop/message_loop.h" | 16 #include "base/message_loop/message_loop.h" |
| 17 #include "base/single_thread_task_runner.h" | 17 #include "base/single_thread_task_runner.h" |
| 18 #include "base/time/time.h" | 18 #include "base/time/time.h" |
| 19 #include "components/cronet/url_request_context_config.h" | 19 #include "components/cronet/url_request_context_config.h" |
| 20 #include "net/android/network_change_notifier_factory_android.h" | 20 #include "net/android/network_change_notifier_factory_android.h" |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 delegate_ = delegate; | 119 delegate_ = delegate; |
| 120 user_agent_ = user_agent; | 120 user_agent_ = user_agent; |
| 121 } | 121 } |
| 122 | 122 |
| 123 void URLRequestContextAdapter::Initialize( | 123 void URLRequestContextAdapter::Initialize( |
| 124 scoped_ptr<URLRequestContextConfig> config) { | 124 scoped_ptr<URLRequestContextConfig> config) { |
| 125 network_thread_ = new base::Thread("network"); | 125 network_thread_ = new base::Thread("network"); |
| 126 base::Thread::Options options; | 126 base::Thread::Options options; |
| 127 options.message_loop_type = base::MessageLoop::TYPE_IO; | 127 options.message_loop_type = base::MessageLoop::TYPE_IO; |
| 128 network_thread_->StartWithOptions(options); | 128 network_thread_->StartWithOptions(options); |
| 129 config_ = config.Pass(); | 129 config_ = std::move(config); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void URLRequestContextAdapter::InitRequestContextOnMainThread() { | 132 void URLRequestContextAdapter::InitRequestContextOnMainThread() { |
| 133 proxy_config_service_ = net::ProxyService::CreateSystemProxyConfigService( | 133 proxy_config_service_ = net::ProxyService::CreateSystemProxyConfigService( |
| 134 GetNetworkTaskRunner(), NULL); | 134 GetNetworkTaskRunner(), NULL); |
| 135 GetNetworkTaskRunner()->PostTask( | 135 GetNetworkTaskRunner()->PostTask( |
| 136 FROM_HERE, | 136 FROM_HERE, |
| 137 base::Bind(&URLRequestContextAdapter::InitRequestContextOnNetworkThread, | 137 base::Bind(&URLRequestContextAdapter::InitRequestContextOnNetworkThread, |
| 138 this)); | 138 this)); |
| 139 } | 139 } |
| 140 | 140 |
| 141 void URLRequestContextAdapter::InitRequestContextOnNetworkThread() { | 141 void URLRequestContextAdapter::InitRequestContextOnNetworkThread() { |
| 142 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); | 142 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); |
| 143 DCHECK(config_); | 143 DCHECK(config_); |
| 144 // TODO(mmenke): Add method to have the builder enable SPDY. | 144 // TODO(mmenke): Add method to have the builder enable SPDY. |
| 145 net::URLRequestContextBuilder context_builder; | 145 net::URLRequestContextBuilder context_builder; |
| 146 | 146 |
| 147 // TODO(mef): Remove this work around for crbug.com/543366 once it is fixed. | 147 // TODO(mef): Remove this work around for crbug.com/543366 once it is fixed. |
| 148 net::URLRequestContextBuilder::HttpNetworkSessionParams | 148 net::URLRequestContextBuilder::HttpNetworkSessionParams |
| 149 custom_http_network_session_params; | 149 custom_http_network_session_params; |
| 150 custom_http_network_session_params.use_alternative_services = false; | 150 custom_http_network_session_params.use_alternative_services = false; |
| 151 context_builder.set_http_network_session_params( | 151 context_builder.set_http_network_session_params( |
| 152 custom_http_network_session_params); | 152 custom_http_network_session_params); |
| 153 | 153 |
| 154 context_builder.set_network_delegate( | 154 context_builder.set_network_delegate( |
| 155 make_scoped_ptr(new BasicNetworkDelegate())); | 155 make_scoped_ptr(new BasicNetworkDelegate())); |
| 156 context_builder.set_proxy_config_service(proxy_config_service_.Pass()); | 156 context_builder.set_proxy_config_service(std::move(proxy_config_service_)); |
| 157 config_->ConfigureURLRequestContextBuilder(&context_builder, nullptr); | 157 config_->ConfigureURLRequestContextBuilder(&context_builder, nullptr); |
| 158 | 158 |
| 159 context_ = context_builder.Build().Pass(); | 159 context_ = context_builder.Build(); |
| 160 | 160 |
| 161 if (config_->enable_sdch) { | 161 if (config_->enable_sdch) { |
| 162 DCHECK(context_->sdch_manager()); | 162 DCHECK(context_->sdch_manager()); |
| 163 sdch_owner_.reset( | 163 sdch_owner_.reset( |
| 164 new net::SdchOwner(context_->sdch_manager(), context_.get())); | 164 new net::SdchOwner(context_->sdch_manager(), context_.get())); |
| 165 } | 165 } |
| 166 | 166 |
| 167 // Currently (circa M39) enabling QUIC requires setting probability threshold. | 167 // Currently (circa M39) enabling QUIC requires setting probability threshold. |
| 168 if (config_->enable_quic) { | 168 if (config_->enable_quic) { |
| 169 context_->http_server_properties() | 169 context_->http_server_properties() |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 base::FilePath file_path(file_name); | 299 base::FilePath file_path(file_name); |
| 300 base::ScopedFILE file(base::OpenFile(file_path, "w")); | 300 base::ScopedFILE file(base::OpenFile(file_path, "w")); |
| 301 if (!file) | 301 if (!file) |
| 302 return; | 302 return; |
| 303 | 303 |
| 304 write_to_file_observer_.reset(new net::WriteToFileNetLogObserver()); | 304 write_to_file_observer_.reset(new net::WriteToFileNetLogObserver()); |
| 305 if (log_all) { | 305 if (log_all) { |
| 306 write_to_file_observer_->set_capture_mode( | 306 write_to_file_observer_->set_capture_mode( |
| 307 net::NetLogCaptureMode::IncludeSocketBytes()); | 307 net::NetLogCaptureMode::IncludeSocketBytes()); |
| 308 } | 308 } |
| 309 write_to_file_observer_->StartObserving(context_->net_log(), file.Pass(), | 309 write_to_file_observer_->StartObserving(context_->net_log(), std::move(file), |
| 310 nullptr, context_.get()); | 310 nullptr, context_.get()); |
| 311 } | 311 } |
| 312 | 312 |
| 313 void URLRequestContextAdapter::StopNetLogHelper() { | 313 void URLRequestContextAdapter::StopNetLogHelper() { |
| 314 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); | 314 DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread()); |
| 315 if (write_to_file_observer_) { | 315 if (write_to_file_observer_) { |
| 316 write_to_file_observer_->StopObserving(context_.get()); | 316 write_to_file_observer_->StopObserving(context_.get()); |
| 317 write_to_file_observer_.reset(); | 317 write_to_file_observer_.reset(); |
| 318 } | 318 } |
| 319 } | 319 } |
| 320 | 320 |
| 321 void NetLogObserver::OnAddEntry(const net::NetLog::Entry& entry) { | 321 void NetLogObserver::OnAddEntry(const net::NetLog::Entry& entry) { |
| 322 VLOG(2) << "Net log entry: type=" << entry.type() | 322 VLOG(2) << "Net log entry: type=" << entry.type() |
| 323 << ", source=" << entry.source().type << ", phase=" << entry.phase(); | 323 << ", source=" << entry.source().type << ", phase=" << entry.phase(); |
| 324 } | 324 } |
| 325 | 325 |
| 326 } // namespace cronet | 326 } // namespace cronet |
| OLD | NEW |