| 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_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/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 request_info_.load_flags = request_->load_flags(); | 255 request_info_.load_flags = request_->load_flags(); |
| 256 // Enable privacy mode if cookie settings or flags tell us not send or | 256 // Enable privacy mode if cookie settings or flags tell us not send or |
| 257 // save cookies. | 257 // save cookies. |
| 258 bool enable_privacy_mode = | 258 bool enable_privacy_mode = |
| 259 (request_info_.load_flags & LOAD_DO_NOT_SEND_COOKIES) || | 259 (request_info_.load_flags & LOAD_DO_NOT_SEND_COOKIES) || |
| 260 (request_info_.load_flags & LOAD_DO_NOT_SAVE_COOKIES) || | 260 (request_info_.load_flags & LOAD_DO_NOT_SAVE_COOKIES) || |
| 261 CanEnablePrivacyMode(); | 261 CanEnablePrivacyMode(); |
| 262 // Privacy mode could still be disabled in OnCookiesLoaded if we are going | 262 // Privacy mode could still be disabled in OnCookiesLoaded if we are going |
| 263 // to send previously saved cookies. | 263 // to send previously saved cookies. |
| 264 request_info_.privacy_mode = enable_privacy_mode ? | 264 request_info_.privacy_mode = enable_privacy_mode ? |
| 265 PRIVACY_MODE_ENABLED : PRIVACY_MODE_DISABLED; | 265 kPrivacyModeEnabled : kPrivacyModeDisabled; |
| 266 | 266 |
| 267 // Strip Referer from request_info_.extra_headers to prevent, e.g., plugins | 267 // Strip Referer from request_info_.extra_headers to prevent, e.g., plugins |
| 268 // from overriding headers that are controlled using other means. Otherwise a | 268 // from overriding headers that are controlled using other means. Otherwise a |
| 269 // plugin could set a referrer although sending the referrer is inhibited. | 269 // plugin could set a referrer although sending the referrer is inhibited. |
| 270 request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer); | 270 request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer); |
| 271 | 271 |
| 272 // Our consumer should have made sure that this is a safe referrer. See for | 272 // Our consumer should have made sure that this is a safe referrer. See for |
| 273 // instance WebCore::FrameLoader::HideReferrer. | 273 // instance WebCore::FrameLoader::HideReferrer. |
| 274 if (referrer.is_valid()) { | 274 if (referrer.is_valid()) { |
| 275 request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer, | 275 request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer, |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 DoLoadCookies(); | 574 DoLoadCookies(); |
| 575 else | 575 else |
| 576 DoStartTransaction(); | 576 DoStartTransaction(); |
| 577 } | 577 } |
| 578 | 578 |
| 579 void URLRequestHttpJob::OnCookiesLoaded(const std::string& cookie_line) { | 579 void URLRequestHttpJob::OnCookiesLoaded(const std::string& cookie_line) { |
| 580 if (!cookie_line.empty()) { | 580 if (!cookie_line.empty()) { |
| 581 request_info_.extra_headers.SetHeader( | 581 request_info_.extra_headers.SetHeader( |
| 582 HttpRequestHeaders::kCookie, cookie_line); | 582 HttpRequestHeaders::kCookie, cookie_line); |
| 583 // Disable privacy mode as we are sending cookies anyway. | 583 // Disable privacy mode as we are sending cookies anyway. |
| 584 request_info_.privacy_mode = PRIVACY_MODE_DISABLED; | 584 request_info_.privacy_mode = kPrivacyModeDisabled; |
| 585 } | 585 } |
| 586 DoStartTransaction(); | 586 DoStartTransaction(); |
| 587 } | 587 } |
| 588 | 588 |
| 589 void URLRequestHttpJob::DoStartTransaction() { | 589 void URLRequestHttpJob::DoStartTransaction() { |
| 590 // We may have been canceled while retrieving cookies. | 590 // We may have been canceled while retrieving cookies. |
| 591 if (GetStatus().is_success()) { | 591 if (GetStatus().is_success()) { |
| 592 StartTransaction(); | 592 StartTransaction(); |
| 593 } else { | 593 } else { |
| 594 NotifyCanceled(); | 594 NotifyCanceled(); |
| (...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1498 return override_response_headers_.get() ? | 1498 return override_response_headers_.get() ? |
| 1499 override_response_headers_.get() : | 1499 override_response_headers_.get() : |
| 1500 transaction_->GetResponseInfo()->headers.get(); | 1500 transaction_->GetResponseInfo()->headers.get(); |
| 1501 } | 1501 } |
| 1502 | 1502 |
| 1503 void URLRequestHttpJob::NotifyURLRequestDestroyed() { | 1503 void URLRequestHttpJob::NotifyURLRequestDestroyed() { |
| 1504 awaiting_callback_ = false; | 1504 awaiting_callback_ = false; |
| 1505 } | 1505 } |
| 1506 | 1506 |
| 1507 } // namespace net | 1507 } // namespace net |
| OLD | NEW |