diff options
author | ycxiao@chromium.org <ycxiao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-12 17:09:17 +0000 |
---|---|---|
committer | ycxiao@chromium.org <ycxiao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-12 17:09:17 +0000 |
commit | 7dd2b87199f491e790d87451408de40021818e15 (patch) | |
tree | 4a84064785aeadca4c3439a533897d67980262a8 /net/base | |
parent | 7799ffda6e3d514df19949502bdec717c1b629c4 (diff) | |
download | chromium_src-7dd2b87199f491e790d87451408de40021818e15.zip chromium_src-7dd2b87199f491e790d87451408de40021818e15.tar.gz chromium_src-7dd2b87199f491e790d87451408de40021818e15.tar.bz2 |
Creat BrowsingDataCookieHelper and CannedBrowsingDataCookieHelper for logging cookies at UI thread.
Moving from http://codereview.chromium.org/7355025/
BUG=XXXX
TEST=BrowsingDataCookieHelperTest
TBR=rdsmith
Review URL: http://codereview.chromium.org/7601018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96569 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r-- | net/base/cookie_monster.cc | 25 | ||||
-rw-r--r-- | net/base/cookie_monster.h | 6 |
2 files changed, 31 insertions, 0 deletions
diff --git a/net/base/cookie_monster.cc b/net/base/cookie_monster.cc index 5ef86cb..00531c9 100644 --- a/net/base/cookie_monster.cc +++ b/net/base/cookie_monster.cc @@ -2152,6 +2152,31 @@ void CookieMonster::CanonicalCookie::SetSessionCookieExpiryTime() { } CookieMonster::CanonicalCookie* CookieMonster::CanonicalCookie::Create( + const GURL& url, + const ParsedCookie& pc) { + if (!pc.IsValid()) { + return NULL; + } + + std::string domain_string; + if (!GetCookieDomain(url, pc, &domain_string)) { + return NULL; + } + std::string path_string = CanonPath(url, pc); + std::string mac_key = pc.HasMACKey() ? pc.MACKey() : std::string(); + std::string mac_algorithm = pc.HasMACAlgorithm() ? + pc.MACAlgorithm() : std::string(); + Time creation_time = Time::Now(); + Time expiration_time; + if (pc.HasExpires()) + expiration_time = net::CookieMonster::ParseCookieTime(pc.Expires()); + + return (Create(url, pc.Name(), pc.Value(), domain_string, path_string, + mac_key, mac_algorithm, creation_time, expiration_time, + pc.IsSecure(), pc.IsHttpOnly())); +} + +CookieMonster::CanonicalCookie* CookieMonster::CanonicalCookie::Create( const GURL& url, const std::string& name, const std::string& value, diff --git a/net/base/cookie_monster.h b/net/base/cookie_monster.h index 2c4318c..bc8838f 100644 --- a/net/base/cookie_monster.h +++ b/net/base/cookie_monster.h @@ -617,6 +617,12 @@ class NET_EXPORT CookieMonster::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. |