| 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 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 653 DoStartTransaction(); | 653 DoStartTransaction(); |
| 654 } | 654 } |
| 655 } | 655 } |
| 656 | 656 |
| 657 void URLRequestHttpJob::DoLoadCookies() { | 657 void URLRequestHttpJob::DoLoadCookies() { |
| 658 CookieOptions options; | 658 CookieOptions options; |
| 659 options.set_include_httponly(); | 659 options.set_include_httponly(); |
| 660 | 660 |
| 661 // TODO(mkwst): Drop this `if` once we decide whether or not to ship | 661 // TODO(mkwst): Drop this `if` once we decide whether or not to ship |
| 662 // first-party cookies: https://crbug.com/459154 | 662 // first-party cookies: https://crbug.com/459154 |
| 663 if (network_delegate() && | 663 if (network_delegate() && network_delegate()->ExperimentalFeaturesEnabled()) |
| 664 network_delegate()->FirstPartyOnlyCookieExperimentEnabled()) | |
| 665 options.set_first_party_url(request_->first_party_for_cookies()); | 664 options.set_first_party_url(request_->first_party_for_cookies()); |
| 666 else | 665 else |
| 667 options.set_include_first_party_only(); | 666 options.set_include_first_party_only(); |
| 668 | 667 |
| 669 request_->context()->cookie_store()->GetCookiesWithOptionsAsync( | 668 request_->context()->cookie_store()->GetCookiesWithOptionsAsync( |
| 670 request_->url(), options, base::Bind(&URLRequestHttpJob::OnCookiesLoaded, | 669 request_->url(), options, base::Bind(&URLRequestHttpJob::OnCookiesLoaded, |
| 671 weak_factory_.GetWeakPtr())); | 670 weak_factory_.GetWeakPtr())); |
| 672 } | 671 } |
| 673 | 672 |
| 674 void URLRequestHttpJob::CheckCookiePolicyAndLoad( | 673 void URLRequestHttpJob::CheckCookiePolicyAndLoad( |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 742 // OnCookieSaved. | 741 // OnCookieSaved. |
| 743 scoped_refptr<SharedBoolean> callback_pending = new SharedBoolean(false); | 742 scoped_refptr<SharedBoolean> callback_pending = new SharedBoolean(false); |
| 744 scoped_refptr<SharedBoolean> save_next_cookie_running = | 743 scoped_refptr<SharedBoolean> save_next_cookie_running = |
| 745 new SharedBoolean(true); | 744 new SharedBoolean(true); |
| 746 | 745 |
| 747 if (!(request_info_.load_flags & LOAD_DO_NOT_SAVE_COOKIES) && | 746 if (!(request_info_.load_flags & LOAD_DO_NOT_SAVE_COOKIES) && |
| 748 request_->context()->cookie_store() && response_cookies_.size() > 0) { | 747 request_->context()->cookie_store() && response_cookies_.size() > 0) { |
| 749 CookieOptions options; | 748 CookieOptions options; |
| 750 options.set_include_httponly(); | 749 options.set_include_httponly(); |
| 751 options.set_server_time(response_date_); | 750 options.set_server_time(response_date_); |
| 751 if (network_delegate()->ExperimentalFeaturesEnabled()) |
| 752 options.set_enforce_prefixes(); |
| 752 | 753 |
| 753 CookieStore::SetCookiesCallback callback(base::Bind( | 754 CookieStore::SetCookiesCallback callback(base::Bind( |
| 754 &URLRequestHttpJob::OnCookieSaved, weak_factory_.GetWeakPtr(), | 755 &URLRequestHttpJob::OnCookieSaved, weak_factory_.GetWeakPtr(), |
| 755 save_next_cookie_running, callback_pending)); | 756 save_next_cookie_running, callback_pending)); |
| 756 | 757 |
| 757 // Loop through the cookies as long as SetCookieWithOptionsAsync completes | 758 // Loop through the cookies as long as SetCookieWithOptionsAsync completes |
| 758 // synchronously. | 759 // synchronously. |
| 759 while (!callback_pending->data && | 760 while (!callback_pending->data && |
| 760 response_cookies_save_index_ < response_cookies_.size()) { | 761 response_cookies_save_index_ < response_cookies_.size()) { |
| 761 if (CanSetCookie( | 762 if (CanSetCookie( |
| (...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1575 return override_response_headers_.get() ? | 1576 return override_response_headers_.get() ? |
| 1576 override_response_headers_.get() : | 1577 override_response_headers_.get() : |
| 1577 transaction_->GetResponseInfo()->headers.get(); | 1578 transaction_->GetResponseInfo()->headers.get(); |
| 1578 } | 1579 } |
| 1579 | 1580 |
| 1580 void URLRequestHttpJob::NotifyURLRequestDestroyed() { | 1581 void URLRequestHttpJob::NotifyURLRequestDestroyed() { |
| 1581 awaiting_callback_ = false; | 1582 awaiting_callback_ = false; |
| 1582 } | 1583 } |
| 1583 | 1584 |
| 1584 } // namespace net | 1585 } // namespace net |
| OLD | NEW |