summaryrefslogtreecommitdiffstats
path: root/net/base
diff options
context:
space:
mode:
authorycxiao@chromium.org <ycxiao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-12 17:09:17 +0000
committerycxiao@chromium.org <ycxiao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-12 17:09:17 +0000
commit7dd2b87199f491e790d87451408de40021818e15 (patch)
tree4a84064785aeadca4c3439a533897d67980262a8 /net/base
parent7799ffda6e3d514df19949502bdec717c1b629c4 (diff)
downloadchromium_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.cc25
-rw-r--r--net/base/cookie_monster.h6
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.