| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_request_http_job.h" | 5 #include "net/url_request/url_request_http_job.h" |
| 6 | 6 |
| 7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 // a response. When done, we'll record histograms via SDCH_DECODE or | 296 // a response. When done, we'll record histograms via SDCH_DECODE or |
| 297 // SDCH_PASSTHROUGH. Hence we need to record packet arrival times. | 297 // SDCH_PASSTHROUGH. Hence we need to record packet arrival times. |
| 298 EnablePacketCounting(kSdchPacketHistogramCount); | 298 EnablePacketCounting(kSdchPacketHistogramCount); |
| 299 } | 299 } |
| 300 } | 300 } |
| 301 | 301 |
| 302 URLRequestContext* context = request_->context(); | 302 URLRequestContext* context = request_->context(); |
| 303 if (context) { | 303 if (context) { |
| 304 // Only add default Accept-Language and Accept-Charset if the request | 304 // Only add default Accept-Language and Accept-Charset if the request |
| 305 // didn't have them specified. | 305 // didn't have them specified. |
| 306 if (!request_info_.extra_headers.HasHeader( | 306 request_info_.extra_headers.SetHeaderIfMissing( |
| 307 HttpRequestHeaders::kAcceptLanguage)) { | 307 HttpRequestHeaders::kAcceptLanguage, |
| 308 request_info_.extra_headers.SetHeader( | 308 context->accept_language()); |
| 309 HttpRequestHeaders::kAcceptLanguage, | 309 request_info_.extra_headers.SetHeaderIfMissing( |
| 310 context->accept_language()); | 310 HttpRequestHeaders::kAcceptCharset, |
| 311 } | 311 context->accept_charset()); |
| 312 if (!request_info_.extra_headers.HasHeader( | |
| 313 HttpRequestHeaders::kAcceptCharset)) { | |
| 314 request_info_.extra_headers.SetHeader( | |
| 315 HttpRequestHeaders::kAcceptCharset, | |
| 316 context->accept_charset()); | |
| 317 } | |
| 318 } | 312 } |
| 319 } | 313 } |
| 320 | 314 |
| 321 void URLRequestHttpJob::AddCookieHeaderAndStart() { | 315 void URLRequestHttpJob::AddCookieHeaderAndStart() { |
| 322 // No matter what, we want to report our status as IO pending since we will | 316 // No matter what, we want to report our status as IO pending since we will |
| 323 // be notifying our consumer asynchronously via OnStartCompleted. | 317 // be notifying our consumer asynchronously via OnStartCompleted. |
| 324 SetStatus(URLRequestStatus(URLRequestStatus::IO_PENDING, 0)); | 318 SetStatus(URLRequestStatus(URLRequestStatus::IO_PENDING, 0)); |
| 325 | 319 |
| 326 AddRef(); // Balanced in OnCanGetCookiesCompleted | 320 AddRef(); // Balanced in OnCanGetCookiesCompleted |
| 327 | 321 |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 653 // Ensure that we do not send username and password fields in the referrer. | 647 // Ensure that we do not send username and password fields in the referrer. |
| 654 GURL referrer(request_->GetSanitizedReferrer()); | 648 GURL referrer(request_->GetSanitizedReferrer()); |
| 655 | 649 |
| 656 request_info_.url = request_->url(); | 650 request_info_.url = request_->url(); |
| 657 request_info_.referrer = referrer; | 651 request_info_.referrer = referrer; |
| 658 request_info_.method = request_->method(); | 652 request_info_.method = request_->method(); |
| 659 request_info_.load_flags = request_->load_flags(); | 653 request_info_.load_flags = request_->load_flags(); |
| 660 request_info_.priority = request_->priority(); | 654 request_info_.priority = request_->priority(); |
| 661 | 655 |
| 662 if (request_->context()) { | 656 if (request_->context()) { |
| 663 request_info_.extra_headers.SetHeader( | 657 request_info_.extra_headers.SetHeaderIfMissing( |
| 664 HttpRequestHeaders::kUserAgent, | 658 HttpRequestHeaders::kUserAgent, |
| 665 request_->context()->GetUserAgent(request_->url())); | 659 request_->context()->GetUserAgent(request_->url())); |
| 666 } | 660 } |
| 667 | 661 |
| 668 AddExtraHeaders(); | 662 AddExtraHeaders(); |
| 669 AddCookieHeaderAndStart(); | 663 AddCookieHeaderAndStart(); |
| 670 } | 664 } |
| 671 | 665 |
| 672 void URLRequestHttpJob::Kill() { | 666 void URLRequestHttpJob::Kill() { |
| 673 if (!transaction_.get()) | 667 if (!transaction_.get()) |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 961 // At shutdown time, care is taken to be sure that we don't delete this | 955 // At shutdown time, care is taken to be sure that we don't delete this |
| 962 // globally useful instance "too soon," so this check is just defensive | 956 // globally useful instance "too soon," so this check is just defensive |
| 963 // coding to assure that IF the system is shutting down, we don't have any | 957 // coding to assure that IF the system is shutting down, we don't have any |
| 964 // problem if the manager was deleted ahead of time. | 958 // problem if the manager was deleted ahead of time. |
| 965 if (manager) // Defensive programming. | 959 if (manager) // Defensive programming. |
| 966 manager->FetchDictionary(request_info_.url, sdch_dictionary_url_); | 960 manager->FetchDictionary(request_info_.url, sdch_dictionary_url_); |
| 967 } | 961 } |
| 968 } | 962 } |
| 969 | 963 |
| 970 } // namespace net | 964 } // namespace net |
| OLD | NEW |