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

Unified Diff: net/cookies/cookie_store.h

Issue 1698693002: Make CookieStore no longer threadsafe. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@getcookiemonster
Patch Set: merge Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: net/cookies/cookie_store.h
diff --git a/net/cookies/cookie_store.h b/net/cookies/cookie_store.h
index 5beb4ba359a70f2046c2604399cd5425ae1ba5d9..f7805b9e6dce1dd544d36e4d2af27f9eb2995a42 100644
--- a/net/cookies/cookie_store.h
+++ b/net/cookies/cookie_store.h
@@ -24,12 +24,13 @@ namespace net {
class CookieMonster;
-// An interface for storing and retrieving cookies. Implementations need to
-// be thread safe as its methods can be accessed from IO as well as UI threads.
+// An interface for storing and retrieving cookies. Implementations are not
+// thread safe, as with most other net classes. All methods must be invoked on
+// the network thread, and all callbacks will be calle there.
//
-// All async functions may either invoke the callback asynchronously on the same
-// thread, or they may be invoked immediately (prior to return of the
-// asynchronous function).
+// All async functions may either invoke the callback asynchronously, or they
+// may be invoked immediately (prior to return of the asynchronous function).
+// Destroying the CookieStore will cancel pending async callbacks.
class NET_EXPORT CookieStore : public base::RefCountedThreadSafe<CookieStore> {
public:
// Callback definitions.
@@ -171,13 +172,6 @@ class NET_EXPORT CookieStore : public base::RefCountedThreadSafe<CookieStore> {
// Flush the backing store (if any) to disk and post the given callback when
// done.
- // WARNING: THE CALLBACK WILL RUN ON A RANDOM THREAD. IT MUST BE THREAD SAFE.
- // It may be posted to the current thread, or it may run on the thread that
- // actually does the flushing. Your Task should generally post a notification
- // to the thread you actually want to be notified on.
- // TODO(mmenke): Once this class is no longer thread-safe, this will always
- // be invoked on the CookieStore's thread, and this comment can be removed.
- // https://crbug.com/46185
virtual void FlushStore(const base::Closure& callback) = 0;
// Protects session cookies from deletion on shutdown, if the underlying

Powered by Google App Engine
This is Rietveld 408576698