Index: net/cookies/cookie_monster.h |
diff --git a/net/cookies/cookie_monster.h b/net/cookies/cookie_monster.h |
index 4561a1c59e1c142833ae4d8295598cd54551decb..ef5f9ab3de84f6808033b205373d9cb9f538fd17 100644 |
--- a/net/cookies/cookie_monster.h |
+++ b/net/cookies/cookie_monster.h |
@@ -34,6 +34,7 @@ class TimeTicks; |
namespace net { |
+class CanonicalCookie; |
class CookieList; |
class ParsedCookie; |
@@ -63,7 +64,6 @@ class ParsedCookie; |
// - Verify that our domain enforcement and non-dotted handling is correct |
class NET_EXPORT CookieMonster : public CookieStore { |
public: |
- class CanonicalCookie; |
class Delegate; |
class PersistentCookieStore; |
@@ -119,9 +119,6 @@ class NET_EXPORT CookieMonster : public CookieStore { |
Delegate* delegate, |
int last_access_threshold_milliseconds); |
- // Parses the string with the cookie time (very forgivingly). |
- static base::Time ParseCookieTime(const std::string& time_string); |
- |
// Helper function that adds all cookies from |list| into this instance. |
bool InitializeFrom(const CookieList& list); |
@@ -660,132 +657,6 @@ class NET_EXPORT CookieMonster : public CookieStore { |
DISALLOW_COPY_AND_ASSIGN(CookieMonster); |
}; |
-class NET_EXPORT CookieMonster::CanonicalCookie { |
- public: |
- |
- // These constructors do no validation or canonicalization of their inputs; |
- // the resulting CanonicalCookies should not be relied on to be canonical |
- // unless the caller has done appropriate validation and canonicalization |
- // themselves. |
- CanonicalCookie(); |
- CanonicalCookie(const GURL& url, |
- const std::string& name, |
- const std::string& value, |
- const std::string& domain, |
- const std::string& path, |
- const std::string& mac_key, |
- const std::string& mac_algorithm, |
- const base::Time& creation, |
- const base::Time& expiration, |
- const base::Time& last_access, |
- bool secure, |
- bool httponly); |
- |
- // This constructor does canonicalization but not validation. |
- // The result of this constructor should not be relied on in contexts |
- // in which pre-validation of the ParsedCookie has not been done. |
- CanonicalCookie(const GURL& url, const ParsedCookie& pc); |
- |
- ~CanonicalCookie(); |
- |
- // Supports the default copy constructor. |
- |
- // Creates a canonical cookie from parsed cookie. |
- // Canonicalizes and validates inputs. May return NULL if an attribute |
- // value is invalid. |
- static CanonicalCookie* Create(const GURL& url, |
- const ParsedCookie& pc); |
- |
- // Creates a canonical cookie from unparsed attribute values. |
- // Canonicalizes and validates inputs. May return NULL if an attribute |
- // value is invalid. |
- static CanonicalCookie* Create(const GURL& url, |
- const std::string& name, |
- const std::string& value, |
- const std::string& domain, |
- const std::string& path, |
- const std::string& mac_key, |
- const std::string& mac_algorithm, |
- const base::Time& creation, |
- const base::Time& expiration, |
- bool secure, |
- bool http_only); |
- |
- const std::string& Source() const { return source_; } |
- const std::string& Name() const { return name_; } |
- const std::string& Value() const { return value_; } |
- const std::string& Domain() const { return domain_; } |
- const std::string& Path() const { return path_; } |
- const std::string& MACKey() const { return mac_key_; } |
- const std::string& MACAlgorithm() const { return mac_algorithm_; } |
- const base::Time& CreationDate() const { return creation_date_; } |
- const base::Time& LastAccessDate() const { return last_access_date_; } |
- bool IsPersistent() const { return !expiry_date_.is_null(); } |
- const base::Time& ExpiryDate() const { return expiry_date_; } |
- bool IsSecure() const { return secure_; } |
- bool IsHttpOnly() const { return httponly_; } |
- bool IsDomainCookie() const { |
- return !domain_.empty() && domain_[0] == '.'; } |
- bool IsHostCookie() const { return !IsDomainCookie(); } |
- |
- bool IsExpired(const base::Time& current) { |
- return !expiry_date_.is_null() && current >= expiry_date_; |
- } |
- |
- // Are the cookies considered equivalent in the eyes of RFC 2965. |
- // The RFC says that name must match (case-sensitive), domain must |
- // match (case insensitive), and path must match (case sensitive). |
- // For the case insensitive domain compare, we rely on the domain |
- // having been canonicalized (in |
- // GetCookieDomainWithString->CanonicalizeHost). |
- bool IsEquivalent(const CanonicalCookie& ecc) const { |
- // It seems like it would make sense to take secure and httponly into |
- // account, but the RFC doesn't specify this. |
- // NOTE: Keep this logic in-sync with TrimDuplicateCookiesForHost(). |
- return (name_ == ecc.Name() && domain_ == ecc.Domain() |
- && path_ == ecc.Path()); |
- } |
- |
- void SetLastAccessDate(const base::Time& date) { |
- last_access_date_ = date; |
- } |
- |
- bool IsOnPath(const std::string& url_path) const; |
- bool IsDomainMatch(const std::string& scheme, const std::string& host) const; |
- |
- std::string DebugString() const; |
- |
- // Returns the cookie source when cookies are set for |url|. This function |
- // is public for unit test purposes only. |
- static std::string GetCookieSourceFromURL(const GURL& url); |
- |
- private: |
- // Gives the session cookie an expiration time if needed |
- void SetSessionCookieExpiryTime(); |
- |
- // The source member of a canonical cookie is the origin of the URL that tried |
- // to set this cookie, minus the port number if any. This field is not |
- // persistent though; its only used in the in-tab cookies dialog to show the |
- // user the source URL. This is used for both allowed and blocked cookies. |
- // When a CanonicalCookie is constructed from the backing store (common case) |
- // this field will be null. CanonicalCookie consumers should not rely on |
- // this field unless they guarantee that the creator of those |
- // CanonicalCookies properly initialized the field. |
- // TODO(abarth): We might need to make this field persistent for MAC cookies. |
- std::string source_; |
- std::string name_; |
- std::string value_; |
- std::string domain_; |
- std::string path_; |
- std::string mac_key_; // TODO(abarth): Persist to disk. |
- std::string mac_algorithm_; // TODO(abarth): Persist to disk. |
- base::Time creation_date_; |
- base::Time expiry_date_; |
- base::Time last_access_date_; |
- bool secure_; |
- bool httponly_; |
-}; |
- |
class CookieMonster::Delegate |
: public base::RefCountedThreadSafe<CookieMonster::Delegate> { |
public: |
@@ -815,7 +686,7 @@ class CookieMonster::Delegate |
// generating a notification with cause CHANGE_COOKIE_OVERWRITE. Afterwards, |
// a new cookie is written with the updated values, generating a notification |
// with cause CHANGE_COOKIE_EXPLICIT. |
- virtual void OnCookieChanged(const CookieMonster::CanonicalCookie& cookie, |
+ virtual void OnCookieChanged(const CanonicalCookie& cookie, |
bool removed, |
ChangeCause cause) = 0; |
protected: |
@@ -829,8 +700,8 @@ typedef base::RefCountedThreadSafe<CookieMonster::PersistentCookieStore> |
class CookieMonster::PersistentCookieStore |
: public RefcountedPersistentCookieStore { |
public: |
- typedef base::Callback<void(const std::vector< |
- CookieMonster::CanonicalCookie*>&)> LoadedCallback; |
+ typedef base::Callback<void(const std::vector<CanonicalCookie*>&)> |
+ LoadedCallback; |
// Initializes the store and retrieves the existing cookies. This will be |
// called only once at startup. The callback will return all the cookies |
@@ -864,9 +735,6 @@ class CookieMonster::PersistentCookieStore |
DISALLOW_COPY_AND_ASSIGN(PersistentCookieStore); |
}; |
-class CookieList : public std::vector<CookieMonster::CanonicalCookie> { |
-}; |
- |
} // namespace net |
#endif // NET_COOKIES_COOKIE_MONSTER_H_ |