| 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 number 42. | 5 // Brought to you by number 42. |
| 6 | 6 |
| 7 #ifndef NET_COOKIES_COOKIE_STORE_H_ | 7 #ifndef NET_COOKIES_COOKIE_STORE_H_ |
| 8 #define NET_COOKIES_COOKIE_STORE_H_ | 8 #define NET_COOKIES_COOKIE_STORE_H_ |
| 9 | 9 |
| 10 #include <memory> |
| 10 #include <string> | 11 #include <string> |
| 11 #include <vector> | 12 #include <vector> |
| 12 | 13 |
| 13 #include "base/callback_forward.h" | 14 #include "base/callback_forward.h" |
| 14 #include "base/callback_list.h" | 15 #include "base/callback_list.h" |
| 15 #include "base/memory/scoped_ptr.h" | |
| 16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 17 #include "net/base/net_export.h" | 17 #include "net/base/net_export.h" |
| 18 #include "net/cookies/canonical_cookie.h" | 18 #include "net/cookies/canonical_cookie.h" |
| 19 #include "net/cookies/cookie_options.h" | 19 #include "net/cookies/cookie_options.h" |
| 20 | 20 |
| 21 class GURL; | 21 class GURL; |
| 22 | 22 |
| 23 namespace net { | 23 namespace net { |
| 24 | 24 |
| 25 class CookieMonster; | 25 class CookieMonster; |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 // cookies and a boolean indicating if the cookies was removed or not. | 191 // cookies and a boolean indicating if the cookies was removed or not. |
| 192 // | 192 // |
| 193 // Note that |callback| is called twice when a cookie is updated: once for | 193 // Note that |callback| is called twice when a cookie is updated: once for |
| 194 // the removal of the existing cookie and once for the adding the new cookie. | 194 // the removal of the existing cookie and once for the adding the new cookie. |
| 195 // | 195 // |
| 196 // Note that this method consumes memory and CPU per (url, name) pair ever | 196 // Note that this method consumes memory and CPU per (url, name) pair ever |
| 197 // registered that are still consumed even after all subscriptions for that | 197 // registered that are still consumed even after all subscriptions for that |
| 198 // (url, name) pair are removed. If this method ever needs to support an | 198 // (url, name) pair are removed. If this method ever needs to support an |
| 199 // unbounded amount of such pairs, this contract needs to change and | 199 // unbounded amount of such pairs, this contract needs to change and |
| 200 // implementors need to be improved to not behave this way. | 200 // implementors need to be improved to not behave this way. |
| 201 virtual scoped_ptr<CookieChangedSubscription> AddCallbackForCookie( | 201 virtual std::unique_ptr<CookieChangedSubscription> AddCallbackForCookie( |
| 202 const GURL& url, | 202 const GURL& url, |
| 203 const std::string& name, | 203 const std::string& name, |
| 204 const CookieChangedCallback& callback) = 0; | 204 const CookieChangedCallback& callback) = 0; |
| 205 | 205 |
| 206 // Returns true if this cookie store is ephemeral, and false if it is backed | 206 // Returns true if this cookie store is ephemeral, and false if it is backed |
| 207 // by some sort of persistence layer. | 207 // by some sort of persistence layer. |
| 208 // TODO(nharper): Remove this method once crbug.com/548423 has been closed. | 208 // TODO(nharper): Remove this method once crbug.com/548423 has been closed. |
| 209 virtual bool IsEphemeral() = 0; | 209 virtual bool IsEphemeral() = 0; |
| 210 void SetChannelIDServiceID(int id); | 210 void SetChannelIDServiceID(int id); |
| 211 int GetChannelIDServiceID(); | 211 int GetChannelIDServiceID(); |
| 212 | 212 |
| 213 protected: | 213 protected: |
| 214 CookieStore(); | 214 CookieStore(); |
| 215 int channel_id_service_id_; | 215 int channel_id_service_id_; |
| 216 }; | 216 }; |
| 217 | 217 |
| 218 } // namespace net | 218 } // namespace net |
| 219 | 219 |
| 220 #endif // NET_COOKIES_COOKIE_STORE_H_ | 220 #endif // NET_COOKIES_COOKIE_STORE_H_ |
| OLD | NEW |