diff options
Diffstat (limited to 'chromium/net/cookies/cookie_util.h')
-rw-r--r-- | chromium/net/cookies/cookie_util.h | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/chromium/net/cookies/cookie_util.h b/chromium/net/cookies/cookie_util.h index 19c63715b3d..3634058c1b0 100644 --- a/chromium/net/cookies/cookie_util.h +++ b/chromium/net/cookies/cookie_util.h @@ -48,6 +48,13 @@ NET_EXPORT bool GetCookieDomainWithString(const GURL& url, // i.e. it doesn't begin with a leading '.' character. NET_EXPORT bool DomainIsHostOnly(const std::string& domain_string); +// If |cookie_domain| is nonempty and starts with a "." character, this returns +// the substring of |cookie_domain| without the leading dot. (Note only one +// leading dot is stripped, if there are multiple.) Otherwise it returns +// |cookie_domain|. This is useful for converting from CanonicalCookie's +// representation of a cookie domain to the RFC's notion of a cookie's domain. +NET_EXPORT std::string CookieDomainAsHost(const std::string& cookie_domain); + // Parses the string with the cookie expiration time (very forgivingly). // Returns the "null" time on failure. // @@ -59,8 +66,16 @@ NET_EXPORT base::Time ParseCookieExpirationTime(const std::string& time_string); // Convenience for converting a cookie origin (domain and https pair) to a URL. NET_EXPORT GURL CookieOriginToURL(const std::string& domain, bool is_https); -// Returns true if the cookie |domain| matches the given |host| as described -// in section 5.1.3 of RFC 6265. +// Returns a URL that could have been the cookie's source. +// Not guaranteed to actually be the URL that set the cookie. Not guaranteed to +// be a valid GURL. Intended as a shim for SetCanonicalCookieAsync calls, where +// a source URL is required but only a source scheme may be available. +NET_EXPORT GURL SimulatedCookieSource(const CanonicalCookie& cookie, + const std::string& source_scheme); + +// |domain| is the output of cookie.Domain() for some cookie. This returns true +// if a |domain| indicates that the cookie can be accessed by |host|. +// See comment on CanonicalCookie::IsDomainMatch(). NET_EXPORT bool IsDomainMatch(const std::string& domain, const std::string& host); @@ -98,7 +113,7 @@ NET_EXPORT std::string SerializeRequestCookieLine( // the user directly interacting with the browser UI, e.g. entering a URL // or selecting a bookmark. // -// If |attach_same_site_cookies| is specified, all SameSite cookies will be +// If |force_ignore_site_for_cookies| is specified, all SameSite cookies will be // attached, i.e. this will return SAME_SITE_STRICT. This flag is set to true // when the |site_for_cookies| is a chrome:// URL embedding a secure origin, // among other scenarios. @@ -116,50 +131,51 @@ ComputeSameSiteContextForRequest(const std::string& http_method, const GURL& url, const SiteForCookies& site_for_cookies, const base::Optional<url::Origin>& initiator, - bool attach_same_site_cookies); + bool force_ignore_site_for_cookies); // As above, but applying for scripts. |initiator| here should be the initiator // used when fetching the document. -// If |attach_same_site_cookies| is true, this returns SAME_SITE_STRICT. +// If |force_ignore_site_for_cookies| is true, this returns SAME_SITE_STRICT. NET_EXPORT CookieOptions::SameSiteCookieContext ComputeSameSiteContextForScriptGet(const GURL& url, const SiteForCookies& site_for_cookies, const base::Optional<url::Origin>& initiator, - bool attach_same_site_cookies); + bool force_ignore_site_for_cookies); // Determines which of the cookies for |url| can be set from a network response, // with respect to the SameSite attribute. This will only return CROSS_SITE or // SAME_SITE_LAX (cookie sets of SameSite=strict cookies are permitted in same // contexts that sets of SameSite=lax cookies are). -// If |attach_same_site_cookies| is true, this returns SAME_SITE_LAX. +// If |force_ignore_site_for_cookies| is true, this returns SAME_SITE_LAX. NET_EXPORT CookieOptions::SameSiteCookieContext ComputeSameSiteContextForResponse(const GURL& url, const SiteForCookies& site_for_cookies, const base::Optional<url::Origin>& initiator, - bool attach_same_site_cookies); + bool force_ignore_site_for_cookies); // Determines which of the cookies for |url| can be set from a script context, // with respect to the SameSite attribute. This will only return CROSS_SITE or // SAME_SITE_LAX (cookie sets of SameSite=strict cookies are permitted in same // contexts that sets of SameSite=lax cookies are). -// If |attach_same_site_cookies| is true, this returns SAME_SITE_LAX. +// If |force_ignore_site_for_cookies| is true, this returns SAME_SITE_LAX. NET_EXPORT CookieOptions::SameSiteCookieContext ComputeSameSiteContextForScriptSet(const GURL& url, const SiteForCookies& site_for_cookies, - bool attach_same_site_cookies); + bool force_ignore_site_for_cookies); // Determines which of the cookies for |url| can be accessed when fetching a // subresources. This is either CROSS_SITE or SAME_SITE_STRICT, // since the initiator for a subresource is the frame loading it. NET_EXPORT CookieOptions::SameSiteCookieContext -// If |attach_same_site_cookies| is true, this returns SAME_SITE_STRICT. +// If |force_ignore_site_for_cookies| is true, this returns SAME_SITE_STRICT. ComputeSameSiteContextForSubresource(const GURL& url, const SiteForCookies& site_for_cookies, - bool attach_same_site_cookies); + bool force_ignore_site_for_cookies); // Returns whether the respective SameSite feature is enabled. NET_EXPORT bool IsSameSiteByDefaultCookiesEnabled(); NET_EXPORT bool IsCookiesWithoutSameSiteMustBeSecureEnabled(); +NET_EXPORT bool IsSchemefulSameSiteEnabled(); bool IsRecentHttpSameSiteAccessGrantsLegacyCookieSemanticsEnabled(); bool IsRecentCreationTimeGrantsLegacyCookieSemanticsEnabled(); |