OLD | NEW |
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_fetcher_core.h" | 5 #include "net/url_request/url_fetcher_core.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 delegate_(d), | 75 delegate_(d), |
76 delegate_task_runner_(base::ThreadTaskRunnerHandle::Get()), | 76 delegate_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
77 load_flags_(LOAD_NORMAL), | 77 load_flags_(LOAD_NORMAL), |
78 response_code_(URLFetcher::RESPONSE_CODE_INVALID), | 78 response_code_(URLFetcher::RESPONSE_CODE_INVALID), |
79 buffer_(new IOBuffer(kBufferSize)), | 79 buffer_(new IOBuffer(kBufferSize)), |
80 url_request_data_key_(NULL), | 80 url_request_data_key_(NULL), |
81 was_fetched_via_proxy_(false), | 81 was_fetched_via_proxy_(false), |
82 upload_content_set_(false), | 82 upload_content_set_(false), |
83 upload_range_offset_(0), | 83 upload_range_offset_(0), |
84 upload_range_length_(0), | 84 upload_range_length_(0), |
| 85 referrer_policy_( |
| 86 URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE), |
85 is_chunked_upload_(false), | 87 is_chunked_upload_(false), |
86 was_cancelled_(false), | 88 was_cancelled_(false), |
87 stop_on_redirect_(false), | 89 stop_on_redirect_(false), |
88 stopped_on_redirect_(false), | 90 stopped_on_redirect_(false), |
89 automatically_retry_on_5xx_(true), | 91 automatically_retry_on_5xx_(true), |
90 num_retries_on_5xx_(0), | 92 num_retries_on_5xx_(0), |
91 max_retries_on_5xx_(0), | 93 max_retries_on_5xx_(0), |
92 num_retries_on_network_changes_(0), | 94 num_retries_on_network_changes_(0), |
93 max_retries_on_network_changes_(0), | 95 max_retries_on_network_changes_(0), |
94 current_upload_bytes_(-1), | 96 current_upload_bytes_(-1), |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 } | 199 } |
198 | 200 |
199 int URLFetcherCore::GetLoadFlags() const { | 201 int URLFetcherCore::GetLoadFlags() const { |
200 return load_flags_; | 202 return load_flags_; |
201 } | 203 } |
202 | 204 |
203 void URLFetcherCore::SetReferrer(const std::string& referrer) { | 205 void URLFetcherCore::SetReferrer(const std::string& referrer) { |
204 referrer_ = referrer; | 206 referrer_ = referrer; |
205 } | 207 } |
206 | 208 |
| 209 void URLFetcherCore::SetReferrerPolicy( |
| 210 URLRequest::ReferrerPolicy referrer_policy) { |
| 211 referrer_policy_ = referrer_policy; |
| 212 } |
| 213 |
207 void URLFetcherCore::SetExtraRequestHeaders( | 214 void URLFetcherCore::SetExtraRequestHeaders( |
208 const std::string& extra_request_headers) { | 215 const std::string& extra_request_headers) { |
209 extra_request_headers_.Clear(); | 216 extra_request_headers_.Clear(); |
210 extra_request_headers_.AddHeadersFromString(extra_request_headers); | 217 extra_request_headers_.AddHeadersFromString(extra_request_headers); |
211 } | 218 } |
212 | 219 |
213 void URLFetcherCore::AddExtraRequestHeader(const std::string& header_line) { | 220 void URLFetcherCore::AddExtraRequestHeader(const std::string& header_line) { |
214 extra_request_headers_.AddHeaderFromString(header_line); | 221 extra_request_headers_.AddHeaderFromString(header_line); |
215 } | 222 } |
216 | 223 |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 original_url_, DEFAULT_PRIORITY, this, NULL); | 510 original_url_, DEFAULT_PRIORITY, this, NULL); |
504 request_->set_stack_trace(stack_trace_); | 511 request_->set_stack_trace(stack_trace_); |
505 int flags = request_->load_flags() | load_flags_; | 512 int flags = request_->load_flags() | load_flags_; |
506 if (!g_interception_enabled) | 513 if (!g_interception_enabled) |
507 flags = flags | LOAD_DISABLE_INTERCEPT; | 514 flags = flags | LOAD_DISABLE_INTERCEPT; |
508 | 515 |
509 if (is_chunked_upload_) | 516 if (is_chunked_upload_) |
510 request_->EnableChunkedUpload(); | 517 request_->EnableChunkedUpload(); |
511 request_->SetLoadFlags(flags); | 518 request_->SetLoadFlags(flags); |
512 request_->SetReferrer(referrer_); | 519 request_->SetReferrer(referrer_); |
| 520 request_->set_referrer_policy(referrer_policy_); |
513 request_->set_first_party_for_cookies(first_party_for_cookies_.is_empty() ? | 521 request_->set_first_party_for_cookies(first_party_for_cookies_.is_empty() ? |
514 original_url_ : first_party_for_cookies_); | 522 original_url_ : first_party_for_cookies_); |
515 if (url_request_data_key_ && !url_request_create_data_callback_.is_null()) { | 523 if (url_request_data_key_ && !url_request_create_data_callback_.is_null()) { |
516 request_->SetUserData(url_request_data_key_, | 524 request_->SetUserData(url_request_data_key_, |
517 url_request_create_data_callback_.Run()); | 525 url_request_create_data_callback_.Run()); |
518 } | 526 } |
519 | 527 |
520 switch (request_type_) { | 528 switch (request_type_) { |
521 case URLFetcher::GET: | 529 case URLFetcher::GET: |
522 break; | 530 break; |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
882 } | 890 } |
883 | 891 |
884 void URLFetcherCore::InformDelegateDownloadProgressInDelegateThread( | 892 void URLFetcherCore::InformDelegateDownloadProgressInDelegateThread( |
885 int64 current, int64 total) { | 893 int64 current, int64 total) { |
886 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); | 894 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); |
887 if (delegate_) | 895 if (delegate_) |
888 delegate_->OnURLFetchDownloadProgress(fetcher_, current, total); | 896 delegate_->OnURLFetchDownloadProgress(fetcher_, current, total); |
889 } | 897 } |
890 | 898 |
891 } // namespace net | 899 } // namespace net |
OLD | NEW |