| Index: net/cookies/canonical_cookie.cc
|
| diff --git a/net/cookies/canonical_cookie.cc b/net/cookies/canonical_cookie.cc
|
| index f8f0ca9d46b6c26066b43b6bdf7156a996ffab5d..d117d5ee3482e60fcccac79431600e1b6f9b83f7 100644
|
| --- a/net/cookies/canonical_cookie.cc
|
| +++ b/net/cookies/canonical_cookie.cc
|
| @@ -137,8 +137,7 @@ CanonicalCookie::CanonicalCookie(const GURL& url,
|
| bool httponly,
|
| CookieSameSite same_site,
|
| CookiePriority priority)
|
| - : source_(url.SchemeIsFile() ? url : url.GetOrigin()),
|
| - name_(name),
|
| + : name_(name),
|
| value_(value),
|
| domain_(domain),
|
| path_(path),
|
| @@ -328,6 +327,12 @@ std::unique_ptr<CanonicalCookie> CanonicalCookie::Create(
|
| secure, http_only, same_site, priority));
|
| }
|
|
|
| +bool CanonicalCookie::IsEquivalentForSecureCookieMatching(
|
| + const CanonicalCookie& ecc) const {
|
| + return (name_ == ecc.Name() && (ecc.IsDomainMatch(DomainWithoutDot()) ||
|
| + IsDomainMatch(ecc.DomainWithoutDot())));
|
| +}
|
| +
|
| bool CanonicalCookie::IsOnPath(const std::string& url_path) const {
|
|
|
| // A zero length would be unsafe for our trailing '/' checks, and
|
| @@ -518,4 +523,10 @@ bool CanonicalCookie::IsCookiePrefixValid(CanonicalCookie::CookiePrefix prefix,
|
| return true;
|
| }
|
|
|
| +std::string CanonicalCookie::DomainWithoutDot() const {
|
| + if (domain_.empty() || domain_[0] != '.')
|
| + return domain_;
|
| + return domain_.substr(1);
|
| +}
|
| +
|
| } // namespace net
|
|
|