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 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 | 453 |
454 // Register this request with automation message filter. | 454 // Register this request with automation message filter. |
455 message_filter_->RegisterRequest(this); | 455 message_filter_->RegisterRequest(this); |
456 | 456 |
457 // Strip unwanted headers. | 457 // Strip unwanted headers. |
458 net::HttpRequestHeaders new_request_headers; | 458 net::HttpRequestHeaders new_request_headers; |
459 new_request_headers.MergeFrom(request_->extra_request_headers()); | 459 new_request_headers.MergeFrom(request_->extra_request_headers()); |
460 for (size_t i = 0; i < arraysize(kFilteredHeaderStrings); ++i) | 460 for (size_t i = 0; i < arraysize(kFilteredHeaderStrings); ++i) |
461 new_request_headers.RemoveHeader(kFilteredHeaderStrings[i]); | 461 new_request_headers.RemoveHeader(kFilteredHeaderStrings[i]); |
462 | 462 |
463 // Only add default Accept-Language and Accept-Charset if the request | 463 // Only add default Accept-Language if the request didn't have it specified. |
464 // didn't have them specified. | |
465 if (!new_request_headers.HasHeader( | 464 if (!new_request_headers.HasHeader( |
466 net::HttpRequestHeaders::kAcceptLanguage) && | 465 net::HttpRequestHeaders::kAcceptLanguage) && |
467 http_user_agent_settings_) { | 466 http_user_agent_settings_) { |
468 std::string accept_language = | 467 std::string accept_language = |
469 http_user_agent_settings_->GetAcceptLanguage(); | 468 http_user_agent_settings_->GetAcceptLanguage(); |
470 if (!accept_language.empty()) { | 469 if (!accept_language.empty()) { |
471 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage, | 470 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage, |
472 accept_language); | 471 accept_language); |
473 } | 472 } |
474 } | 473 } |
475 if (!new_request_headers.HasHeader( | |
476 net::HttpRequestHeaders::kAcceptCharset) && | |
477 http_user_agent_settings_) { | |
478 std::string accept_charset = http_user_agent_settings_->GetAcceptCharset(); | |
479 if (!accept_charset.empty()) { | |
480 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptCharset, | |
481 accept_charset); | |
482 } | |
483 } | |
484 | 474 |
485 // Ensure that we do not send username and password fields in the referrer. | 475 // Ensure that we do not send username and password fields in the referrer. |
486 GURL referrer(request_->GetSanitizedReferrer()); | 476 GURL referrer(request_->GetSanitizedReferrer()); |
487 | 477 |
488 // The referrer header must be suppressed if the preceding URL was | 478 // The referrer header must be suppressed if the preceding URL was |
489 // a secure one and the new one is not. | 479 // a secure one and the new one is not. |
490 if (referrer.SchemeIsSecure() && !request_->url().SchemeIsSecure()) { | 480 if (referrer.SchemeIsSecure() && !request_->url().SchemeIsSecure()) { |
491 DVLOG(1) << "Suppressing referrer header since going from secure to " | 481 DVLOG(1) << "Suppressing referrer header since going from secure to " |
492 "non-secure"; | 482 "non-secure"; |
493 referrer = GURL(); | 483 referrer = GURL(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 if (!is_done()) { | 531 if (!is_done()) { |
542 NotifyDone(request_status_); | 532 NotifyDone(request_status_); |
543 } | 533 } |
544 // Reset any pending reads. | 534 // Reset any pending reads. |
545 if (pending_buf_) { | 535 if (pending_buf_) { |
546 pending_buf_ = NULL; | 536 pending_buf_ = NULL; |
547 pending_buf_size_ = 0; | 537 pending_buf_size_ = 0; |
548 NotifyReadComplete(0); | 538 NotifyReadComplete(0); |
549 } | 539 } |
550 } | 540 } |
OLD | NEW |