| 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/url_loader_factory.mojom.h" | 10 #include "content/common/url_loader_factory.mojom.h" |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 break; | 146 break; |
| 147 } | 147 } |
| 148 } | 148 } |
| 149 | 149 |
| 150 return base::MakeUnique<net::ElementsUploadDataStream>( | 150 return base::MakeUnique<net::ElementsUploadDataStream>( |
| 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(NetworkContext* context, | 156 URLLoaderImpl::URLLoaderImpl( |
| 157 mojom::URLLoaderRequest url_loader_request, | 157 NetworkContext* context, |
| 158 int32_t options, | 158 mojom::URLLoaderRequest url_loader_request, |
| 159 const ResourceRequest& request, | 159 int32_t options, |
| 160 mojom::URLLoaderClientPtr url_loader_client) | 160 const ResourceRequest& request, |
| 161 mojom::URLLoaderClientPtr url_loader_client, |
| 162 const net::NetworkTrafficAnnotationTag& traffic_annotation) |
| 161 : context_(context), | 163 : context_(context), |
| 162 options_(options), | 164 options_(options), |
| 163 connected_(true), | 165 connected_(true), |
| 164 binding_(this, std::move(url_loader_request)), | 166 binding_(this, std::move(url_loader_request)), |
| 165 url_loader_client_(std::move(url_loader_client)), | 167 url_loader_client_(std::move(url_loader_client)), |
| 166 writable_handle_watcher_(FROM_HERE, | 168 writable_handle_watcher_(FROM_HERE, |
| 167 mojo::SimpleWatcher::ArmingPolicy::MANUAL), | 169 mojo::SimpleWatcher::ArmingPolicy::MANUAL), |
| 168 peer_closed_handle_watcher_(FROM_HERE, | 170 peer_closed_handle_watcher_(FROM_HERE, |
| 169 mojo::SimpleWatcher::ArmingPolicy::MANUAL), | 171 mojo::SimpleWatcher::ArmingPolicy::MANUAL), |
| 170 weak_ptr_factory_(this) { | 172 weak_ptr_factory_(this) { |
| 171 binding_.set_connection_error_handler( | 173 binding_.set_connection_error_handler( |
| 172 base::Bind(&URLLoaderImpl::OnConnectionError, base::Unretained(this))); | 174 base::Bind(&URLLoaderImpl::OnConnectionError, base::Unretained(this))); |
| 173 | 175 |
| 174 url_request_ = context_->url_request_context()->CreateRequest( | 176 url_request_ = context_->url_request_context()->CreateRequest( |
| 175 GURL(request.url), net::DEFAULT_PRIORITY, this); | 177 GURL(request.url), net::DEFAULT_PRIORITY, this, traffic_annotation); |
| 176 url_request_->set_method(request.method); | 178 url_request_->set_method(request.method); |
| 177 | 179 |
| 178 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); |
| 179 | 181 |
| 180 const Referrer referrer(request.referrer, request.referrer_policy); | 182 const Referrer referrer(request.referrer, request.referrer_policy); |
| 181 Referrer::SetReferrerForRequest(url_request_.get(), referrer); | 183 Referrer::SetReferrerForRequest(url_request_.get(), referrer); |
| 182 | 184 |
| 183 net::HttpRequestHeaders headers; | 185 net::HttpRequestHeaders headers; |
| 184 headers.AddHeadersFromString(request.headers); | 186 headers.AddHeadersFromString(request.headers); |
| 185 url_request_->SetExtraRequestHeaders(headers); | 187 url_request_->SetExtraRequestHeaders(headers); |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 ReadMore(); | 396 ReadMore(); |
| 395 } | 397 } |
| 396 | 398 |
| 397 void URLLoaderImpl::DeleteIfNeeded() { | 399 void URLLoaderImpl::DeleteIfNeeded() { |
| 398 bool has_data_pipe = pending_write_.get() || response_body_stream_.is_valid(); | 400 bool has_data_pipe = pending_write_.get() || response_body_stream_.is_valid(); |
| 399 if (!connected_ && !has_data_pipe) | 401 if (!connected_ && !has_data_pipe) |
| 400 delete this; | 402 delete this; |
| 401 } | 403 } |
| 402 | 404 |
| 403 } // namespace content | 405 } // namespace content |
| OLD | NEW |