Add metrics for SameSite context considering redirect chain
This adds histograms and UseCounter/UKM to measure the impact of the
cookie spec change in
https://github.com/httpwg/http-extensions/pull/1348, which incorporates
the redirect chain into the computation of a request's same-site or
cross-site status.
The histograms measure, on a per-cookie level, how many cookies are
affected by the change (i.e. how many cookies have their ultimate
inclusion changed by considering a cross-site redirect to make the
request cross-site) as well as the SameSite attributes of those affected
cookies.
The UseCounter/UKM measures how many pageloads have impacted cookies.
Bug: 1221316
Change-Id: I018f110466aa08e304c46f6de26fb1cc18facf33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3024588
Reviewed-by: Steven Bingler <[email protected]>
Reviewed-by: danakj <[email protected]>
Reviewed-by: Matt Falkenhagen <[email protected]>
Reviewed-by: Robert Kaplow <[email protected]>
Commit-Queue: Lily Chen <[email protected]>
Cr-Commit-Position: refs/heads/master@{#903573}
diff --git a/net/cookies/cookie_inclusion_status.cc b/net/cookies/cookie_inclusion_status.cc
index cc4617d..6dd16f47 100644
--- a/net/cookies/cookie_inclusion_status.cc
+++ b/net/cookies/cookie_inclusion_status.cc
@@ -88,24 +88,19 @@
EXCLUDE_SAMESITE_UNSPECIFIED_TREATED_AS_LAX,
EXCLUDE_SAMESITE_NONE_INSECURE,
}) != 0u) {
- RemoveWarningReason(
- CookieInclusionStatus::WARN_SAMESITE_UNSPECIFIED_CROSS_SITE_CONTEXT);
- RemoveWarningReason(CookieInclusionStatus::WARN_SAMESITE_NONE_INSECURE);
- RemoveWarningReason(
- CookieInclusionStatus::WARN_SAMESITE_UNSPECIFIED_LAX_ALLOW_UNSAFE);
+ RemoveWarningReason(WARN_SAMESITE_UNSPECIFIED_CROSS_SITE_CONTEXT);
+ RemoveWarningReason(WARN_SAMESITE_NONE_INSECURE);
+ RemoveWarningReason(WARN_SAMESITE_UNSPECIFIED_LAX_ALLOW_UNSAFE);
}
if (!ShouldRecordDowngradeMetrics()) {
- RemoveWarningReason(
- CookieInclusionStatus::WARN_STRICT_LAX_DOWNGRADE_STRICT_SAMESITE);
- RemoveWarningReason(
- CookieInclusionStatus::WARN_STRICT_CROSS_DOWNGRADE_STRICT_SAMESITE);
- RemoveWarningReason(
- CookieInclusionStatus::WARN_STRICT_CROSS_DOWNGRADE_LAX_SAMESITE);
- RemoveWarningReason(
- CookieInclusionStatus::WARN_LAX_CROSS_DOWNGRADE_STRICT_SAMESITE);
- RemoveWarningReason(
- CookieInclusionStatus::WARN_LAX_CROSS_DOWNGRADE_LAX_SAMESITE);
+ RemoveWarningReason(WARN_STRICT_LAX_DOWNGRADE_STRICT_SAMESITE);
+ RemoveWarningReason(WARN_STRICT_CROSS_DOWNGRADE_STRICT_SAMESITE);
+ RemoveWarningReason(WARN_STRICT_CROSS_DOWNGRADE_LAX_SAMESITE);
+ RemoveWarningReason(WARN_LAX_CROSS_DOWNGRADE_STRICT_SAMESITE);
+ RemoveWarningReason(WARN_LAX_CROSS_DOWNGRADE_LAX_SAMESITE);
+
+ RemoveWarningReason(WARN_CROSS_SITE_REDIRECT_DOWNGRADE_CHANGES_INCLUSION);
}
}
@@ -272,6 +267,8 @@
"WARN_SAMESITE_NONE_INCLUDED_BY_SAMESITE_LAX"},
{WARN_SAMESITE_NONE_INCLUDED_BY_SAMESITE_STRICT,
"WARN_SAMESITE_NONE_INCLUDED_BY_SAMESITE_STRICT"},
+ {WARN_CROSS_SITE_REDIRECT_DOWNGRADE_CHANGES_INCLUSION,
+ "WARN_CROSS_SITE_REDIRECT_DOWNGRADE_CHANGES_INCLUSION"},
}) {
if (HasWarningReason(reason.first))
base::StrAppend(&out, {reason.second, ", "});