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 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 | 409 |
410 // Register this request with automation message filter. | 410 // Register this request with automation message filter. |
411 message_filter_->RegisterRequest(this); | 411 message_filter_->RegisterRequest(this); |
412 | 412 |
413 // Strip unwanted headers. | 413 // Strip unwanted headers. |
414 net::HttpRequestHeaders new_request_headers; | 414 net::HttpRequestHeaders new_request_headers; |
415 new_request_headers.MergeFrom(request_->extra_request_headers()); | 415 new_request_headers.MergeFrom(request_->extra_request_headers()); |
416 for (size_t i = 0; i < arraysize(kFilteredHeaderStrings); ++i) | 416 for (size_t i = 0; i < arraysize(kFilteredHeaderStrings); ++i) |
417 new_request_headers.RemoveHeader(kFilteredHeaderStrings[i]); | 417 new_request_headers.RemoveHeader(kFilteredHeaderStrings[i]); |
418 | 418 |
419 if (request_->context()) { | 419 // Only add default Accept-Language and Accept-Charset if the request |
420 // Only add default Accept-Language and Accept-Charset if the request | 420 // didn't have them specified. |
421 // didn't have them specified. | 421 if (!new_request_headers.HasHeader( |
422 if (!new_request_headers.HasHeader( | 422 net::HttpRequestHeaders::kAcceptLanguage) && |
423 net::HttpRequestHeaders::kAcceptLanguage) && | 423 !request_->context()->accept_language().empty()) { |
424 !request_->context()->accept_language().empty()) { | 424 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage, |
425 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptLanguage, | 425 request_->context()->accept_language()); |
426 request_->context()->accept_language()); | 426 } |
427 } | 427 if (!new_request_headers.HasHeader( |
428 if (!new_request_headers.HasHeader( | 428 net::HttpRequestHeaders::kAcceptCharset) && |
429 net::HttpRequestHeaders::kAcceptCharset) && | 429 !request_->context()->accept_charset().empty()) { |
430 !request_->context()->accept_charset().empty()) { | 430 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptCharset, |
431 new_request_headers.SetHeader(net::HttpRequestHeaders::kAcceptCharset, | 431 request_->context()->accept_charset()); |
432 request_->context()->accept_charset()); | |
433 } | |
434 } | 432 } |
435 | 433 |
436 // Ensure that we do not send username and password fields in the referrer. | 434 // Ensure that we do not send username and password fields in the referrer. |
437 GURL referrer(request_->GetSanitizedReferrer()); | 435 GURL referrer(request_->GetSanitizedReferrer()); |
438 | 436 |
439 // The referrer header must be suppressed if the preceding URL was | 437 // The referrer header must be suppressed if the preceding URL was |
440 // a secure one and the new one is not. | 438 // a secure one and the new one is not. |
441 if (referrer.SchemeIsSecure() && !request_->url().SchemeIsSecure()) { | 439 if (referrer.SchemeIsSecure() && !request_->url().SchemeIsSecure()) { |
442 DVLOG(1) << "Suppressing referrer header since going from secure to " | 440 DVLOG(1) << "Suppressing referrer header since going from secure to " |
443 "non-secure"; | 441 "non-secure"; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 if (!is_done()) { | 485 if (!is_done()) { |
488 NotifyDone(request_status_); | 486 NotifyDone(request_status_); |
489 } | 487 } |
490 // Reset any pending reads. | 488 // Reset any pending reads. |
491 if (pending_buf_) { | 489 if (pending_buf_) { |
492 pending_buf_ = NULL; | 490 pending_buf_ = NULL; |
493 pending_buf_size_ = 0; | 491 pending_buf_size_ = 0; |
494 NotifyReadComplete(0); | 492 NotifyReadComplete(0); |
495 } | 493 } |
496 } | 494 } |
OLD | NEW |