| 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 "chrome/browser/automation/url_request_automation_job.h" | 5 #include "chrome/browser/automation/url_request_automation_job.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "base/time.h" | 10 #include "base/time.h" |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 | 415 |
| 416 // Strip unwanted headers. | 416 // Strip unwanted headers. |
| 417 net::HttpRequestHeaders new_request_headers; | 417 net::HttpRequestHeaders new_request_headers; |
| 418 new_request_headers.MergeFrom(request_->extra_request_headers()); | 418 new_request_headers.MergeFrom(request_->extra_request_headers()); |
| 419 for (size_t i = 0; i < arraysize(kFilteredHeaderStrings); ++i) | 419 for (size_t i = 0; i < arraysize(kFilteredHeaderStrings); ++i) |
| 420 new_request_headers.RemoveHeader(kFilteredHeaderStrings[i]); | 420 new_request_headers.RemoveHeader(kFilteredHeaderStrings[i]); |
| 421 | 421 |
| 422 // Only add default Accept-Language and Accept-Charset if the request | 422 // Only add default Accept-Language and Accept-Charset if the request |
| 423 // didn't have them specified. | 423 // didn't have them specified. |
| 424 if (!new_request_headers.HasHeader( | 424 if (!new_request_headers.HasHeader( |
| 425 net::HttpRequestHeaders::kAcceptLanguage) && | 425 net::HttpRequestHeaders::kAcceptLanguage)) { |
| 426 !request_->context()->accept_language().empty()) { | 426 std::string accept_language = request_->context()->GetAcceptLanguage(); |
| 427 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage, | 427 if (!accept_language.empty()) { |
| 428 request_->context()->accept_language()); | 428 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage, |
| 429 accept_language); |
| 430 } |
| 429 } | 431 } |
| 430 if (!new_request_headers.HasHeader( | 432 if (!new_request_headers.HasHeader( |
| 431 net::HttpRequestHeaders::kAcceptCharset) && | 433 net::HttpRequestHeaders::kAcceptCharset)) { |
| 432 !request_->context()->accept_charset().empty()) { | 434 std::string accept_charset = request_->context()->GetAcceptCharset(); |
| 433 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptCharset, | 435 if (!accept_charset.empty()) { |
| 434 request_->context()->accept_charset()); | 436 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptCharset, |
| 437 accept_charset); |
| 438 } |
| 435 } | 439 } |
| 436 | 440 |
| 437 // Ensure that we do not send username and password fields in the referrer. | 441 // Ensure that we do not send username and password fields in the referrer. |
| 438 GURL referrer(request_->GetSanitizedReferrer()); | 442 GURL referrer(request_->GetSanitizedReferrer()); |
| 439 | 443 |
| 440 // The referrer header must be suppressed if the preceding URL was | 444 // The referrer header must be suppressed if the preceding URL was |
| 441 // a secure one and the new one is not. | 445 // a secure one and the new one is not. |
| 442 if (referrer.SchemeIsSecure() && !request_->url().SchemeIsSecure()) { | 446 if (referrer.SchemeIsSecure() && !request_->url().SchemeIsSecure()) { |
| 443 DVLOG(1) << "Suppressing referrer header since going from secure to " | 447 DVLOG(1) << "Suppressing referrer header since going from secure to " |
| 444 "non-secure"; | 448 "non-secure"; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 if (!is_done()) { | 492 if (!is_done()) { |
| 489 NotifyDone(request_status_); | 493 NotifyDone(request_status_); |
| 490 } | 494 } |
| 491 // Reset any pending reads. | 495 // Reset any pending reads. |
| 492 if (pending_buf_) { | 496 if (pending_buf_) { |
| 493 pending_buf_ = NULL; | 497 pending_buf_ = NULL; |
| 494 pending_buf_size_ = 0; | 498 pending_buf_size_ = 0; |
| 495 NotifyReadComplete(0); | 499 NotifyReadComplete(0); |
| 496 } | 500 } |
| 497 } | 501 } |
| OLD | NEW |