OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "ios/net/cookies/cookie_store_ios.h" | 5 #include "ios/net/cookies/cookie_store_ios.h" |
6 | 6 |
7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 const std::string& name, | 381 const std::string& name, |
382 const std::string& value, | 382 const std::string& value, |
383 const std::string& domain, | 383 const std::string& domain, |
384 const std::string& path, | 384 const std::string& path, |
385 base::Time creation_time, | 385 base::Time creation_time, |
386 base::Time expiration_time, | 386 base::Time expiration_time, |
387 base::Time last_access_time, | 387 base::Time last_access_time, |
388 bool secure, | 388 bool secure, |
389 bool http_only, | 389 bool http_only, |
390 CookieSameSite same_site, | 390 CookieSameSite same_site, |
391 bool enforce_strict_secure, | |
392 CookiePriority priority, | 391 CookiePriority priority, |
393 const SetCookiesCallback& callback) { | 392 const SetCookiesCallback& callback) { |
394 DCHECK(thread_checker_.CalledOnValidThread()); | 393 DCHECK(thread_checker_.CalledOnValidThread()); |
395 | 394 |
396 switch (synchronization_state_) { | 395 switch (synchronization_state_) { |
397 case NOT_SYNCHRONIZED: | 396 case NOT_SYNCHRONIZED: |
398 cookie_monster_->SetCookieWithDetailsAsync( | 397 cookie_monster_->SetCookieWithDetailsAsync( |
399 url, name, value, domain, path, creation_time, expiration_time, | 398 url, name, value, domain, path, creation_time, expiration_time, |
400 last_access_time, secure, http_only, same_site, enforce_strict_secure, | 399 last_access_time, secure, http_only, same_site, priority, |
401 priority, WrapSetCallback(callback)); | 400 WrapSetCallback(callback)); |
402 break; | 401 break; |
403 case SYNCHRONIZED: | 402 case SYNCHRONIZED: |
404 // If cookies are not allowed, they are stashed in the CookieMonster, and | 403 // If cookies are not allowed, they are stashed in the CookieMonster, and |
405 // should be written there instead. | 404 // should be written there instead. |
406 DCHECK(SystemCookiesAllowed()); | 405 DCHECK(SystemCookiesAllowed()); |
407 | 406 |
408 bool success = false; | 407 bool success = false; |
409 | 408 |
410 if (creation_time.is_null()) | 409 if (creation_time.is_null()) |
411 creation_time = base::Time::Now(); | 410 creation_time = base::Time::Now(); |
412 | 411 |
413 // First create a CanonicalCookie, to normalize the arguments, | 412 // First create a CanonicalCookie, to normalize the arguments, |
414 // particularly domain and path, and perform validation. | 413 // particularly domain and path, and perform validation. |
415 std::unique_ptr<net::CanonicalCookie> canonical_cookie = | 414 std::unique_ptr<net::CanonicalCookie> canonical_cookie = |
416 net::CanonicalCookie::Create( | 415 net::CanonicalCookie::Create( |
417 url, name, value, domain, path, creation_time, expiration_time, | 416 url, name, value, domain, path, creation_time, expiration_time, |
418 secure, http_only, same_site, enforce_strict_secure, priority); | 417 secure, http_only, same_site, priority); |
419 | 418 |
420 if (canonical_cookie) { | 419 if (canonical_cookie) { |
421 NSHTTPCookie* cookie = | 420 NSHTTPCookie* cookie = |
422 SystemCookieFromCanonicalCookie(*canonical_cookie); | 421 SystemCookieFromCanonicalCookie(*canonical_cookie); |
423 | 422 |
424 if (cookie != nil) { | 423 if (cookie != nil) { |
425 [system_store_ setCookie:cookie]; | 424 [system_store_ setCookie:cookie]; |
426 creation_time_manager_->SetCreationTime( | 425 creation_time_manager_->SetCreationTime( |
427 cookie, creation_time_manager_->MakeUniqueCreationTime( | 426 cookie, creation_time_manager_->MakeUniqueCreationTime( |
428 canonical_cookie->CreationDate())); | 427 canonical_cookie->CreationDate())); |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
929 weak_factory_.GetWeakPtr(), callback); | 928 weak_factory_.GetWeakPtr(), callback); |
930 } | 929 } |
931 | 930 |
932 base::Closure CookieStoreIOS::WrapClosure(const base::Closure& callback) { | 931 base::Closure CookieStoreIOS::WrapClosure(const base::Closure& callback) { |
933 DCHECK(thread_checker_.CalledOnValidThread()); | 932 DCHECK(thread_checker_.CalledOnValidThread()); |
934 return base::Bind(&CookieStoreIOS::UpdateCachesAfterClosure, | 933 return base::Bind(&CookieStoreIOS::UpdateCachesAfterClosure, |
935 weak_factory_.GetWeakPtr(), callback); | 934 weak_factory_.GetWeakPtr(), callback); |
936 } | 935 } |
937 | 936 |
938 } // namespace net | 937 } // namespace net |
OLD | NEW |