Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Side by Side Diff: net/cookies/cookie_monster.h

Issue 1616443003: Add FlushStore to CookieStore interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cookie_monster3
Patch Set: fix old comment Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ios/net/cookies/cookie_store_ios_unittest.mm ('k') | net/cookies/cookie_store.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 class ParsedCookie; 44 class ParsedCookie;
45 45
46 // The cookie monster is the system for storing and retrieving cookies. It has 46 // The cookie monster is the system for storing and retrieving cookies. It has
47 // an in-memory list of all cookies, and synchronizes non-session cookies to an 47 // an in-memory list of all cookies, and synchronizes non-session cookies to an
48 // optional permanent storage that implements the PersistentCookieStore 48 // optional permanent storage that implements the PersistentCookieStore
49 // interface. 49 // interface.
50 // 50 //
51 // This class IS thread-safe. Normally, it is only used on the I/O thread, but 51 // This class IS thread-safe. Normally, it is only used on the I/O thread, but
52 // is also accessed directly through Automation for UI testing. 52 // is also accessed directly through Automation for UI testing.
53 // 53 //
54 // All cookie tasks are handled asynchronously. Tasks may be deferred if 54 // Tasks may be deferred if all affected cookies are not yet loaded from the
55 // all affected cookies are not yet loaded from the backing store. Otherwise, 55 // backing store. Otherwise, callbacks may be invoked immediately.
56 // the callback may be invoked immediately (prior to return of the asynchronous
57 // function).
58 // 56 //
59 // A cookie task is either pending loading of the entire cookie store, or 57 // A cookie task is either pending loading of the entire cookie store, or
60 // loading of cookies for a specfic domain key(eTLD+1). In the former case, the 58 // loading of cookies for a specfic domain key(eTLD+1). In the former case, the
61 // cookie task will be queued in tasks_pending_ while PersistentCookieStore 59 // cookie task will be queued in tasks_pending_ while PersistentCookieStore
62 // chain loads the cookie store on DB thread. In the latter case, the cookie 60 // chain loads the cookie store on DB thread. In the latter case, the cookie
63 // task will be queued in tasks_pending_for_key_ while PermanentCookieStore 61 // task will be queued in tasks_pending_for_key_ while PermanentCookieStore
64 // loads cookies for the specified domain key(eTLD+1) on DB thread. 62 // loads cookies for the specified domain key(eTLD+1) on DB thread.
65 // 63 //
66 // Callbacks are guaranteed to be invoked on the calling thread. 64 // Callbacks are guaranteed to be invoked on the calling thread.
67 // 65 //
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 // Deletes all cookies that match the host of the given URL 195 // Deletes all cookies that match the host of the given URL
198 // regardless of path. This includes all http_only and secure cookies, 196 // regardless of path. This includes all http_only and secure cookies,
199 // but does not include any domain cookies that may apply to this host. 197 // but does not include any domain cookies that may apply to this host.
200 // Returns the number of cookies deleted. 198 // Returns the number of cookies deleted.
201 void DeleteAllForHostAsync(const GURL& url, const DeleteCallback& callback); 199 void DeleteAllForHostAsync(const GURL& url, const DeleteCallback& callback);
202 200
203 // Deletes one specific cookie. 201 // Deletes one specific cookie.
204 void DeleteCanonicalCookieAsync(const CanonicalCookie& cookie, 202 void DeleteCanonicalCookieAsync(const CanonicalCookie& cookie,
205 const DeleteCookieCallback& callback); 203 const DeleteCookieCallback& callback);
206 204
207 // Flush the backing store (if any) to disk and post the given callback when
208 // done.
209 // WARNING: THE CALLBACK WILL RUN ON A RANDOM THREAD. IT MUST BE THREAD SAFE.
210 // It may be posted to the current thread, or it may run on the thread that
211 // actually does the flushing. Your Task should generally post a notification
212 // to the thread you actually want to be notified on.
213 void FlushStore(const base::Closure& callback);
214
215 // Replaces all the cookies by |list|. This method does not flush the backend. 205 // Replaces all the cookies by |list|. This method does not flush the backend.
216 void SetAllCookiesAsync(const CookieList& list, 206 void SetAllCookiesAsync(const CookieList& list,
217 const SetCookiesCallback& callback); 207 const SetCookiesCallback& callback);
218 208
219 // CookieStore implementation. 209 // CookieStore implementation.
220
221 // Sets the cookies specified by |cookie_list| returned from |url|
222 // with options |options| in effect.
223 void SetCookieWithOptionsAsync(const GURL& url, 210 void SetCookieWithOptionsAsync(const GURL& url,
224 const std::string& cookie_line, 211 const std::string& cookie_line,
225 const CookieOptions& options, 212 const CookieOptions& options,
226 const SetCookiesCallback& callback) override; 213 const SetCookiesCallback& callback) override;
227
228 // Gets all cookies that apply to |url| given |options|.
229 // The returned cookies are ordered by longest path, then earliest
230 // creation date.
231 void GetCookiesWithOptionsAsync(const GURL& url, 214 void GetCookiesWithOptionsAsync(const GURL& url,
232 const CookieOptions& options, 215 const CookieOptions& options,
233 const GetCookiesCallback& callback) override; 216 const GetCookiesCallback& callback) override;
234
235 // Invokes GetAllCookiesForURLWithOptions with options set to include HTTP
236 // only cookies.
237 void GetAllCookiesForURLAsync(const GURL& url, 217 void GetAllCookiesForURLAsync(const GURL& url,
238 const GetCookieListCallback& callback) override; 218 const GetCookieListCallback& callback) override;
239
240 // Deletes all cookies with that might apply to |url| that has |cookie_name|.
241 void DeleteCookieAsync(const GURL& url, 219 void DeleteCookieAsync(const GURL& url,
242 const std::string& cookie_name, 220 const std::string& cookie_name,
243 const base::Closure& callback) override; 221 const base::Closure& callback) override;
244
245 // Deletes all of the cookies that have a creation_date greater than or equal
246 // to |delete_begin| and less than |delete_end|.
247 // Returns the number of cookies that have been deleted.
248 void DeleteAllCreatedBetweenAsync(const base::Time& delete_begin, 222 void DeleteAllCreatedBetweenAsync(const base::Time& delete_begin,
249 const base::Time& delete_end, 223 const base::Time& delete_end,
250 const DeleteCallback& callback) override; 224 const DeleteCallback& callback) override;
251
252 // Deletes all of the cookies that match the host of the given URL
253 // regardless of path and that have a creation_date greater than or
254 // equal to |delete_begin| and less then |delete_end|. This includes
255 // all http_only and secure cookies, but does not include any domain
256 // cookies that may apply to this host.
257 // Returns the number of cookies deleted.
258 void DeleteAllCreatedBetweenForHostAsync( 225 void DeleteAllCreatedBetweenForHostAsync(
259 const base::Time delete_begin, 226 const base::Time delete_begin,
260 const base::Time delete_end, 227 const base::Time delete_end,
261 const GURL& url, 228 const GURL& url,
262 const DeleteCallback& callback) override; 229 const DeleteCallback& callback) override;
263
264 void DeleteSessionCookiesAsync(const DeleteCallback&) override; 230 void DeleteSessionCookiesAsync(const DeleteCallback&) override;
231 void FlushStore(const base::Closure& callback) override;
265 232
266 CookieMonster* GetCookieMonster() override; 233 CookieMonster* GetCookieMonster() override;
267 234
268 // Resets the list of cookieable schemes to the supplied schemes. Does 235 // Resets the list of cookieable schemes to the supplied schemes. Does
269 // nothing if called after first use of the instance (i.e. after the 236 // nothing if called after first use of the instance (i.e. after the
270 // instance initialization process). 237 // instance initialization process).
271 void SetCookieableSchemes(const char* const schemes[], size_t num_schemes); 238 void SetCookieableSchemes(const char* const schemes[], size_t num_schemes);
272 239
273 // Instructs the cookie monster to not delete expired cookies. This is used 240 // Instructs the cookie monster to not delete expired cookies. This is used
274 // in cases where the cookie monster is used as a data structure to keep 241 // in cases where the cookie monster is used as a data structure to keep
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 virtual ~PersistentCookieStore() {} 855 virtual ~PersistentCookieStore() {}
889 856
890 private: 857 private:
891 friend class base::RefCountedThreadSafe<PersistentCookieStore>; 858 friend class base::RefCountedThreadSafe<PersistentCookieStore>;
892 DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore); 859 DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore);
893 }; 860 };
894 861
895 } // namespace net 862 } // namespace net
896 863
897 #endif // NET_COOKIES_COOKIE_MONSTER_H_ 864 #endif // NET_COOKIES_COOKIE_MONSTER_H_
OLDNEW
« no previous file with comments | « ios/net/cookies/cookie_store_ios_unittest.mm ('k') | net/cookies/cookie_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698