| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // Brought to you by the letter D and the number 2. | 5 // Brought to you by the letter D and the number 2. |
| 6 | 6 |
| 7 #ifndef NET_BASE_COOKIE_MONSTER_H_ | 7 #ifndef NET_BASE_COOKIE_MONSTER_H_ |
| 8 #define NET_BASE_COOKIE_MONSTER_H_ | 8 #define NET_BASE_COOKIE_MONSTER_H_ |
| 9 #pragma once | 9 #pragma once |
| 10 | 10 |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 | 275 |
| 276 virtual CookieMonster* GetCookieMonster() OVERRIDE; | 276 virtual CookieMonster* GetCookieMonster() OVERRIDE; |
| 277 | 277 |
| 278 // Debugging method to perform various validation checks on the map. | 278 // Debugging method to perform various validation checks on the map. |
| 279 // Currently just checking that there are no null CanonicalCookie pointers | 279 // Currently just checking that there are no null CanonicalCookie pointers |
| 280 // in the map. | 280 // in the map. |
| 281 // Argument |arg| is to allow retaining of arbitrary data if the CHECKs | 281 // Argument |arg| is to allow retaining of arbitrary data if the CHECKs |
| 282 // in the function trip. TODO(rdsmith):Remove hack. | 282 // in the function trip. TODO(rdsmith):Remove hack. |
| 283 void ValidateMap(int arg); | 283 void ValidateMap(int arg); |
| 284 | 284 |
| 285 // Adds cookies in |session_cookie_monster| as session cookies to this cookie |
| 286 // monster. |
| 287 void MergeSessionCookies(CookieMonster* session_cookie_monster); |
| 288 |
| 285 // The default list of schemes the cookie monster can handle. | 289 // The default list of schemes the cookie monster can handle. |
| 286 static const char* kDefaultCookieableSchemes[]; | 290 static const char* kDefaultCookieableSchemes[]; |
| 287 static const int kDefaultCookieableSchemesCount; | 291 static const int kDefaultCookieableSchemesCount; |
| 288 | 292 |
| 289 private: | 293 private: |
| 290 // For queueing the cookie monster calls. | 294 // For queueing the cookie monster calls. |
| 291 class CookieMonsterTask; | 295 class CookieMonsterTask; |
| 292 class DeleteAllCreatedBetweenTask; | 296 class DeleteAllCreatedBetweenTask; |
| 293 class DeleteAllForHostTask; | 297 class DeleteAllForHostTask; |
| 294 class DeleteAllTask; | 298 class DeleteAllTask; |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 | 593 |
| 590 // Runs the task if, or defers the task until, the full cookie database is | 594 // Runs the task if, or defers the task until, the full cookie database is |
| 591 // loaded. | 595 // loaded. |
| 592 void DoCookieTask(const scoped_refptr<CookieMonsterTask>& task_item); | 596 void DoCookieTask(const scoped_refptr<CookieMonsterTask>& task_item); |
| 593 | 597 |
| 594 // Runs the task if, or defers the task until, the cookies for the given URL | 598 // Runs the task if, or defers the task until, the cookies for the given URL |
| 595 // are loaded. | 599 // are loaded. |
| 596 void DoCookieTaskForURL(const scoped_refptr<CookieMonsterTask>& task_item, | 600 void DoCookieTaskForURL(const scoped_refptr<CookieMonsterTask>& task_item, |
| 597 const GURL& url); | 601 const GURL& url); |
| 598 | 602 |
| 603 // Callback used for merging session cookies. |
| 604 void OnGotSessionCookies(const net::CookieList& cookie_list); |
| 605 |
| 599 // Histogram variables; see CookieMonster::InitializeHistograms() in | 606 // Histogram variables; see CookieMonster::InitializeHistograms() in |
| 600 // cookie_monster.cc for details. | 607 // cookie_monster.cc for details. |
| 601 base::Histogram* histogram_expiration_duration_minutes_; | 608 base::Histogram* histogram_expiration_duration_minutes_; |
| 602 base::Histogram* histogram_between_access_interval_minutes_; | 609 base::Histogram* histogram_between_access_interval_minutes_; |
| 603 base::Histogram* histogram_evicted_last_access_minutes_; | 610 base::Histogram* histogram_evicted_last_access_minutes_; |
| 604 base::Histogram* histogram_count_; | 611 base::Histogram* histogram_count_; |
| 605 base::Histogram* histogram_domain_count_; | 612 base::Histogram* histogram_domain_count_; |
| 606 base::Histogram* histogram_etldp1_count_; | 613 base::Histogram* histogram_etldp1_count_; |
| 607 base::Histogram* histogram_domain_per_etldp1_count_; | 614 base::Histogram* histogram_domain_per_etldp1_count_; |
| 608 base::Histogram* histogram_number_duplicate_db_cookies_; | 615 base::Histogram* histogram_number_duplicate_db_cookies_; |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 766 // account, but the RFC doesn't specify this. | 773 // account, but the RFC doesn't specify this. |
| 767 // NOTE: Keep this logic in-sync with TrimDuplicateCookiesForHost(). | 774 // NOTE: Keep this logic in-sync with TrimDuplicateCookiesForHost(). |
| 768 return (name_ == ecc.Name() && domain_ == ecc.Domain() | 775 return (name_ == ecc.Name() && domain_ == ecc.Domain() |
| 769 && path_ == ecc.Path()); | 776 && path_ == ecc.Path()); |
| 770 } | 777 } |
| 771 | 778 |
| 772 void SetLastAccessDate(const base::Time& date) { | 779 void SetLastAccessDate(const base::Time& date) { |
| 773 last_access_date_ = date; | 780 last_access_date_ = date; |
| 774 } | 781 } |
| 775 | 782 |
| 783 void SetPersistent(bool is_persistent) { |
| 784 is_persistent_ = is_persistent; |
| 785 } |
| 786 |
| 776 bool IsOnPath(const std::string& url_path) const; | 787 bool IsOnPath(const std::string& url_path) const; |
| 777 bool IsDomainMatch(const std::string& scheme, const std::string& host) const; | 788 bool IsDomainMatch(const std::string& scheme, const std::string& host) const; |
| 778 | 789 |
| 779 std::string DebugString() const; | 790 std::string DebugString() const; |
| 780 | 791 |
| 781 // Returns the cookie source when cookies are set for |url|. This function | 792 // Returns the cookie source when cookies are set for |url|. This function |
| 782 // is public for unit test purposes only. | 793 // is public for unit test purposes only. |
| 783 static std::string GetCookieSourceFromURL(const GURL& url); | 794 static std::string GetCookieSourceFromURL(const GURL& url); |
| 784 | 795 |
| 785 private: | 796 private: |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 990 private: | 1001 private: |
| 991 DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore); | 1002 DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore); |
| 992 }; | 1003 }; |
| 993 | 1004 |
| 994 class CookieList : public std::vector<CookieMonster::CanonicalCookie> { | 1005 class CookieList : public std::vector<CookieMonster::CanonicalCookie> { |
| 995 }; | 1006 }; |
| 996 | 1007 |
| 997 } // namespace net | 1008 } // namespace net |
| 998 | 1009 |
| 999 #endif // NET_BASE_COOKIE_MONSTER_H_ | 1010 #endif // NET_BASE_COOKIE_MONSTER_H_ |
| OLD | NEW |