Commit 05045156 authored by Lily Chen's avatar Lily Chen Committed by Commit Bot

Add histogram for SameSite attribute of a SameParty cookie

This adds a histogram to log the SameSite attribute on every attempt to
create a SameParty cookie.

Bug: 1142606
Change-Id: Ic63373aea2916ea3d9c9c666880535b05a3031ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2510492Reviewed-by: default avatarMaksim Orlovich <morlovich@chromium.org>
Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Lily Chen <chlily@chromium.org>
Cr-Commit-Position: refs/heads/master@{#822820}
parent 39b503c6
...@@ -414,7 +414,8 @@ std::unique_ptr<CanonicalCookie> CanonicalCookie::Create( ...@@ -414,7 +414,8 @@ std::unique_ptr<CanonicalCookie> CanonicalCookie::Create(
CookieSameSiteString samesite_string = CookieSameSiteString::kUnspecified; CookieSameSiteString samesite_string = CookieSameSiteString::kUnspecified;
CookieSameSite samesite = parsed_cookie.SameSite(&samesite_string); CookieSameSite samesite = parsed_cookie.SameSite(&samesite_string);
RecordCookieSameSiteAttributeValueHistogram(samesite_string); RecordCookieSameSiteAttributeValueHistogram(samesite_string,
parsed_cookie.IsSameParty());
CookieSourceScheme source_scheme = url.SchemeIsCryptographic() CookieSourceScheme source_scheme = url.SchemeIsCryptographic()
? CookieSourceScheme::kSecure ? CookieSourceScheme::kSecure
: CookieSourceScheme::kNonSecure; : CookieSourceScheme::kNonSecure;
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "net/cookies/cookie_constants.h" #include "net/cookies/cookie_constants.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/notreached.h" #include "base/notreached.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
...@@ -97,8 +98,13 @@ CookieSameSite StringToCookieSameSite(const std::string& same_site, ...@@ -97,8 +98,13 @@ CookieSameSite StringToCookieSameSite(const std::string& same_site,
return samesite; return samesite;
} }
void RecordCookieSameSiteAttributeValueHistogram(CookieSameSiteString value) { void RecordCookieSameSiteAttributeValueHistogram(CookieSameSiteString value,
bool is_cookie_same_party) {
UMA_HISTOGRAM_ENUMERATION("Cookie.SameSiteAttributeValue", value); UMA_HISTOGRAM_ENUMERATION("Cookie.SameSiteAttributeValue", value);
if (is_cookie_same_party) {
base::UmaHistogramEnumeration(
"Cookie.SamePartyCookieSameSiteAttributeValue", value);
}
} }
} // namespace net } // namespace net
...@@ -116,7 +116,8 @@ StringToCookieSameSite(const std::string& same_site, ...@@ -116,7 +116,8 @@ StringToCookieSameSite(const std::string& same_site,
CookieSameSiteString* samesite_string = nullptr); CookieSameSiteString* samesite_string = nullptr);
NET_EXPORT void RecordCookieSameSiteAttributeValueHistogram( NET_EXPORT void RecordCookieSameSiteAttributeValueHistogram(
CookieSameSiteString value); CookieSameSiteString value,
bool is_cookie_same_party = false);
} // namespace net } // namespace net
......
...@@ -236,8 +236,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. ...@@ -236,8 +236,19 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary> </summary>
</histogram> </histogram>
<histogram name="Cookie.SamePartyCookieSameSiteAttributeValue"
enum="CookieSameSiteString" expires_after="2021-11-01">
<owner>chlily@chromium.org</owner>
<owner>kaustubhag@chromium.org</owner>
<summary>
The value of a SameParty cookie's SameSite attribute, if any. This is logged
once per attempt to create a SameParty cookie, regardless of success, upon
parsing of the SameSite attribute from a string.
</summary>
</histogram>
<histogram name="Cookie.SameSiteAttributeValue" enum="CookieSameSiteString" <histogram name="Cookie.SameSiteAttributeValue" enum="CookieSameSiteString"
expires_after="M90"> expires_after="2021-11-01">
<owner>chlily@chromium.org</owner> <owner>chlily@chromium.org</owner>
<owner>bingler@chromium.org</owner> <owner>bingler@chromium.org</owner>
<summary> <summary>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment