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