| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "content/network/url_loader_impl.h" | 5 #include "content/network/url_loader_impl.h" |
| 6 | 6 |
| 7 #include "base/task_scheduler/post_task.h" | 7 #include "base/task_scheduler/post_task.h" |
| 8 #include "base/threading/thread_task_runner_handle.h" | 8 #include "base/threading/thread_task_runner_handle.h" |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "content/common/net_adapters.h" | 10 #include "content/common/net_adapters.h" |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 std::move(element_readers), body->identifier()); | 151 std::move(element_readers), body->identifier()); |
| 152 } | 152 } |
| 153 | 153 |
| 154 } // namespace | 154 } // namespace |
| 155 | 155 |
| 156 URLLoaderImpl::URLLoaderImpl( | 156 URLLoaderImpl::URLLoaderImpl( |
| 157 NetworkContext* context, | 157 NetworkContext* context, |
| 158 mojom::URLLoaderAssociatedRequest url_loader_request, | 158 mojom::URLLoaderAssociatedRequest url_loader_request, |
| 159 int32_t options, | 159 int32_t options, |
| 160 const ResourceRequest& request, | 160 const ResourceRequest& request, |
| 161 mojom::URLLoaderClientPtr url_loader_client) | 161 mojom::URLLoaderClientPtr url_loader_client, |
| 162 const net::NetworkTrafficAnnotationTag& traffic_annotation) |
| 162 : context_(context), | 163 : context_(context), |
| 163 options_(options), | 164 options_(options), |
| 164 connected_(true), | 165 connected_(true), |
| 165 binding_(this, std::move(url_loader_request)), | 166 binding_(this, std::move(url_loader_request)), |
| 166 url_loader_client_(std::move(url_loader_client)), | 167 url_loader_client_(std::move(url_loader_client)), |
| 167 writable_handle_watcher_(FROM_HERE, | 168 writable_handle_watcher_(FROM_HERE, |
| 168 mojo::SimpleWatcher::ArmingPolicy::MANUAL), | 169 mojo::SimpleWatcher::ArmingPolicy::MANUAL), |
| 169 peer_closed_handle_watcher_(FROM_HERE, | 170 peer_closed_handle_watcher_(FROM_HERE, |
| 170 mojo::SimpleWatcher::ArmingPolicy::MANUAL), | 171 mojo::SimpleWatcher::ArmingPolicy::MANUAL), |
| 171 weak_ptr_factory_(this) { | 172 weak_ptr_factory_(this) { |
| 172 binding_.set_connection_error_handler( | 173 binding_.set_connection_error_handler( |
| 173 base::Bind(&URLLoaderImpl::OnConnectionError, base::Unretained(this))); | 174 base::Bind(&URLLoaderImpl::OnConnectionError, base::Unretained(this))); |
| 174 | 175 |
| 175 url_request_ = context_->url_request_context()->CreateRequest( | 176 url_request_ = context_->url_request_context()->CreateRequest( |
| 176 GURL(request.url), net::DEFAULT_PRIORITY, this); | 177 GURL(request.url), net::DEFAULT_PRIORITY, this, traffic_annotation); |
| 177 url_request_->set_method(request.method); | 178 url_request_->set_method(request.method); |
| 178 | 179 |
| 179 url_request_->set_first_party_for_cookies(request.first_party_for_cookies); | 180 url_request_->set_first_party_for_cookies(request.first_party_for_cookies); |
| 180 | 181 |
| 181 const Referrer referrer(request.referrer, request.referrer_policy); | 182 const Referrer referrer(request.referrer, request.referrer_policy); |
| 182 Referrer::SetReferrerForRequest(url_request_.get(), referrer); | 183 Referrer::SetReferrerForRequest(url_request_.get(), referrer); |
| 183 | 184 |
| 184 net::HttpRequestHeaders headers; | 185 net::HttpRequestHeaders headers; |
| 185 headers.AddHeadersFromString(request.headers); | 186 headers.AddHeadersFromString(request.headers); |
| 186 url_request_->SetExtraRequestHeaders(headers); | 187 url_request_->SetExtraRequestHeaders(headers); |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 ReadMore(); | 386 ReadMore(); |
| 386 } | 387 } |
| 387 | 388 |
| 388 void URLLoaderImpl::DeleteIfNeeded() { | 389 void URLLoaderImpl::DeleteIfNeeded() { |
| 389 bool has_data_pipe = pending_write_.get() || response_body_stream_.is_valid(); | 390 bool has_data_pipe = pending_write_.get() || response_body_stream_.is_valid(); |
| 390 if (!connected_ && !has_data_pipe) | 391 if (!connected_ && !has_data_pipe) |
| 391 delete this; | 392 delete this; |
| 392 } | 393 } |
| 393 | 394 |
| 394 } // namespace content | 395 } // namespace content |
| OLD | NEW |