| 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 // 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_COOKIES_COOKIE_MONSTER_H_ | 7 #ifndef NET_COOKIES_COOKIE_MONSTER_H_ |
| 8 #define NET_COOKIES_COOKIE_MONSTER_H_ | 8 #define NET_COOKIES_COOKIE_MONSTER_H_ |
| 9 | 9 |
| 10 #include <stddef.h> | 10 #include <stddef.h> |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 base::TimeDelta last_access_threshold); | 148 base::TimeDelta last_access_threshold); |
| 149 | 149 |
| 150 ~CookieMonster() override; | 150 ~CookieMonster() override; |
| 151 | 151 |
| 152 // Writes all the cookies in |list| into the store, replacing existing | 152 // Writes all the cookies in |list| into the store, replacing existing |
| 153 // cookies that collide. Does not affect cookies not listed in |list|. | 153 // cookies that collide. Does not affect cookies not listed in |list|. |
| 154 // This method does not flush the backend. | 154 // This method does not flush the backend. |
| 155 // TODO(rdsmith, mmenke): Do not use this function; it is deprecated | 155 // TODO(rdsmith, mmenke): Do not use this function; it is deprecated |
| 156 // and should be removed. | 156 // and should be removed. |
| 157 // See https://codereview.chromium.org/2882063002/#msg64. | 157 // See https://codereview.chromium.org/2882063002/#msg64. |
| 158 void SetAllCookiesAsync(const CookieList& list, | 158 void SetAllCookiesAsync(const CookieList& list, SetCookiesCallback callback); |
| 159 const SetCookiesCallback& callback); | |
| 160 | 159 |
| 161 // CookieStore implementation. | 160 // CookieStore implementation. |
| 162 void SetCookieWithOptionsAsync(const GURL& url, | 161 void SetCookieWithOptionsAsync(const GURL& url, |
| 163 const std::string& cookie_line, | 162 const std::string& cookie_line, |
| 164 const CookieOptions& options, | 163 const CookieOptions& options, |
| 165 const SetCookiesCallback& callback) override; | 164 SetCookiesCallback callback) override; |
| 166 void SetCookieWithDetailsAsync(const GURL& url, | 165 void SetCookieWithDetailsAsync(const GURL& url, |
| 167 const std::string& name, | 166 const std::string& name, |
| 168 const std::string& value, | 167 const std::string& value, |
| 169 const std::string& domain, | 168 const std::string& domain, |
| 170 const std::string& path, | 169 const std::string& path, |
| 171 base::Time creation_time, | 170 base::Time creation_time, |
| 172 base::Time expiration_time, | 171 base::Time expiration_time, |
| 173 base::Time last_access_time, | 172 base::Time last_access_time, |
| 174 bool secure, | 173 bool secure, |
| 175 bool http_only, | 174 bool http_only, |
| 176 CookieSameSite same_site, | 175 CookieSameSite same_site, |
| 177 CookiePriority priority, | 176 CookiePriority priority, |
| 178 const SetCookiesCallback& callback) override; | 177 SetCookiesCallback callback) override; |
| 179 void SetCanonicalCookieAsync(std::unique_ptr<CanonicalCookie> cookie, | 178 void SetCanonicalCookieAsync(std::unique_ptr<CanonicalCookie> cookie, |
| 180 bool secure_source, | 179 bool secure_source, |
| 181 bool modify_http_only, | 180 bool modify_http_only, |
| 182 const SetCookiesCallback& callback) override; | 181 SetCookiesCallback callback) override; |
| 183 void GetCookiesWithOptionsAsync(const GURL& url, | 182 void GetCookiesWithOptionsAsync(const GURL& url, |
| 184 const CookieOptions& options, | 183 const CookieOptions& options, |
| 185 const GetCookiesCallback& callback) override; | 184 GetCookiesCallback callback) override; |
| 186 void GetCookieListWithOptionsAsync( | 185 void GetCookieListWithOptionsAsync(const GURL& url, |
| 187 const GURL& url, | 186 const CookieOptions& options, |
| 188 const CookieOptions& options, | 187 GetCookieListCallback callback) override; |
| 189 const GetCookieListCallback& callback) override; | 188 void GetAllCookiesAsync(GetCookieListCallback callback) override; |
| 190 void GetAllCookiesAsync(const GetCookieListCallback& callback) override; | |
| 191 void DeleteCookieAsync(const GURL& url, | 189 void DeleteCookieAsync(const GURL& url, |
| 192 const std::string& cookie_name, | 190 const std::string& cookie_name, |
| 193 const base::Closure& callback) override; | 191 base::OnceClosure callback) override; |
| 194 void DeleteCanonicalCookieAsync(const CanonicalCookie& cookie, | 192 void DeleteCanonicalCookieAsync(const CanonicalCookie& cookie, |
| 195 const DeleteCallback& callback) override; | 193 DeleteCallback callback) override; |
| 196 void DeleteAllCreatedBetweenAsync(const base::Time& delete_begin, | 194 void DeleteAllCreatedBetweenAsync(const base::Time& delete_begin, |
| 197 const base::Time& delete_end, | 195 const base::Time& delete_end, |
| 198 const DeleteCallback& callback) override; | 196 DeleteCallback callback) override; |
| 199 void DeleteAllCreatedBetweenWithPredicateAsync( | 197 void DeleteAllCreatedBetweenWithPredicateAsync( |
| 200 const base::Time& delete_begin, | 198 const base::Time& delete_begin, |
| 201 const base::Time& delete_end, | 199 const base::Time& delete_end, |
| 202 const base::Callback<bool(const CanonicalCookie&)>& predicate, | 200 const base::Callback<bool(const CanonicalCookie&)>& predicate, |
| 203 const DeleteCallback& callback) override; | 201 DeleteCallback callback) override; |
| 204 void DeleteSessionCookiesAsync(const DeleteCallback&) override; | 202 void DeleteSessionCookiesAsync(DeleteCallback) override; |
| 205 void FlushStore(const base::Closure& callback) override; | 203 void FlushStore(base::OnceClosure callback) override; |
| 206 void SetForceKeepSessionState() override; | 204 void SetForceKeepSessionState() override; |
| 207 | 205 |
| 208 // Resets the list of cookieable schemes to the supplied schemes. Does | 206 // Resets the list of cookieable schemes to the supplied schemes. Does |
| 209 // nothing if called after first use of the instance (i.e. after the | 207 // nothing if called after first use of the instance (i.e. after the |
| 210 // instance initialization process). | 208 // instance initialization process). |
| 211 void SetCookieableSchemes(const std::vector<std::string>& schemes); | 209 void SetCookieableSchemes(const std::vector<std::string>& schemes); |
| 212 | 210 |
| 213 // Enables writing session cookies into the cookie database. If this this | 211 // Enables writing session cookies into the cookie database. If this this |
| 214 // method is called, it must be called before first use of the instance | 212 // method is called, it must be called before first use of the instance |
| 215 // (i.e. as part of the instance initialization process). | 213 // (i.e. as part of the instance initialization process). |
| (...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 // This function has the side effect of changing the order of |old_cookies| | 658 // This function has the side effect of changing the order of |old_cookies| |
| 661 // and |new_cookies|. |cookies_to_add| and |cookies_to_delete| must be empty, | 659 // and |new_cookies|. |cookies_to_add| and |cookies_to_delete| must be empty, |
| 662 // and none of the arguments can be null. | 660 // and none of the arguments can be null. |
| 663 void ComputeCookieDiff(CookieList* old_cookies, | 661 void ComputeCookieDiff(CookieList* old_cookies, |
| 664 CookieList* new_cookies, | 662 CookieList* new_cookies, |
| 665 CookieList* cookies_to_add, | 663 CookieList* cookies_to_add, |
| 666 CookieList* cookies_to_delete); | 664 CookieList* cookies_to_delete); |
| 667 | 665 |
| 668 // Runs the given callback. Used to avoid running callbacks after the store | 666 // Runs the given callback. Used to avoid running callbacks after the store |
| 669 // has been destroyed. | 667 // has been destroyed. |
| 670 void RunCallback(const base::Closure& callback); | 668 void RunCallback(base::OnceClosure callback); |
| 671 | 669 |
| 672 // Run all cookie changed callbacks that are monitoring |cookie|. | 670 // Run all cookie changed callbacks that are monitoring |cookie|. |
| 673 // |removed| is true if the cookie was deleted. | 671 // |removed| is true if the cookie was deleted. |
| 674 void RunCookieChangedCallbacks(const CanonicalCookie& cookie, | 672 void RunCookieChangedCallbacks(const CanonicalCookie& cookie, |
| 675 CookieStore::ChangeCause cause); | 673 CookieStore::ChangeCause cause); |
| 676 | 674 |
| 677 // Histogram variables; see CookieMonster::InitializeHistograms() in | 675 // Histogram variables; see CookieMonster::InitializeHistograms() in |
| 678 // cookie_monster.cc for details. | 676 // cookie_monster.cc for details. |
| 679 base::HistogramBase* histogram_expiration_duration_minutes_; | 677 base::HistogramBase* histogram_expiration_duration_minutes_; |
| 680 base::HistogramBase* histogram_evicted_last_access_minutes_; | 678 base::HistogramBase* histogram_evicted_last_access_minutes_; |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 818 | 816 |
| 819 virtual void AddCookie(const CanonicalCookie& cc) = 0; | 817 virtual void AddCookie(const CanonicalCookie& cc) = 0; |
| 820 virtual void UpdateCookieAccessTime(const CanonicalCookie& cc) = 0; | 818 virtual void UpdateCookieAccessTime(const CanonicalCookie& cc) = 0; |
| 821 virtual void DeleteCookie(const CanonicalCookie& cc) = 0; | 819 virtual void DeleteCookie(const CanonicalCookie& cc) = 0; |
| 822 | 820 |
| 823 // Instructs the store to not discard session only cookies on shutdown. | 821 // Instructs the store to not discard session only cookies on shutdown. |
| 824 virtual void SetForceKeepSessionState() = 0; | 822 virtual void SetForceKeepSessionState() = 0; |
| 825 | 823 |
| 826 // Flushes the store and posts |callback| when complete. |callback| may be | 824 // Flushes the store and posts |callback| when complete. |callback| may be |
| 827 // NULL. | 825 // NULL. |
| 828 virtual void Flush(const base::Closure& callback) = 0; | 826 virtual void Flush(base::OnceClosure callback) = 0; |
| 829 | 827 |
| 830 protected: | 828 protected: |
| 831 PersistentCookieStore() {} | 829 PersistentCookieStore() {} |
| 832 virtual ~PersistentCookieStore() {} | 830 virtual ~PersistentCookieStore() {} |
| 833 | 831 |
| 834 private: | 832 private: |
| 835 friend class base::RefCountedThreadSafe<PersistentCookieStore>; | 833 friend class base::RefCountedThreadSafe<PersistentCookieStore>; |
| 836 DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore); | 834 DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore); |
| 837 }; | 835 }; |
| 838 | 836 |
| 839 } // namespace net | 837 } // namespace net |
| 840 | 838 |
| 841 #endif // NET_COOKIES_COOKIE_MONSTER_H_ | 839 #endif // NET_COOKIES_COOKIE_MONSTER_H_ |
| OLD | NEW |