Commit a6f31666 authored by Asanka Herath's avatar Asanka Herath Committed by Chromium LUCI CQ

[privacy_budget] Use Document's UkmRecorder.

Use the Document's UkmRecorder and UkmSourceID instead of the
ExecutionContext's parameters when there's a document available. This
can make a difference when an element is being adoped and other
lifecycle events where the ExecutionContext is not available.

Bug: 1155600
Bug: 1146855
Change-Id: I5767caa9e7086fbfbffe5bc94c49aba6bbffa903
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2576634Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Commit-Queue: Asanka Herath <asanka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#834722}
parent 0634046e
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include "base/numerics/checked_math.h" #include "base/numerics/checked_math.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "services/metrics/public/cpp/ukm_recorder.h" #include "services/metrics/public/cpp/ukm_recorder.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/privacy_budget/identifiability_metric_builder.h" #include "third_party/blink/public/common/privacy_budget/identifiability_metric_builder.h"
#include "third_party/blink/public/common/privacy_budget/identifiability_metrics.h" #include "third_party/blink/public/common/privacy_budget/identifiability_metrics.h"
...@@ -290,13 +291,13 @@ CanvasRenderingContext* HTMLCanvasElement::GetCanvasRenderingContext( ...@@ -290,13 +291,13 @@ CanvasRenderingContext* HTMLCanvasElement::GetCanvasRenderingContext(
if (IdentifiabilityStudySettings::Get()->ShouldSample( if (IdentifiabilityStudySettings::Get()->ShouldSample(
IdentifiableSurface::Type::kCanvasRenderingContext)) { IdentifiableSurface::Type::kCanvasRenderingContext)) {
auto* context = GetExecutionContext(); Document& doc = GetDocument();
IdentifiabilityMetricBuilder(context->UkmSourceID()) IdentifiabilityMetricBuilder(doc.UkmSourceID())
.Set(IdentifiableSurface::FromTypeAndToken( .Set(IdentifiableSurface::FromTypeAndToken(
IdentifiableSurface::Type::kCanvasRenderingContext, IdentifiableSurface::Type::kCanvasRenderingContext,
CanvasRenderingContext::ContextTypeFromId(type)), CanvasRenderingContext::ContextTypeFromId(type)),
!!result) !!result)
.Record(context->UkmRecorder()); .Record(doc.UkmRecorder());
} }
if (ContentsCcLayer() != old_contents_cc_layer) if (ContentsCcLayer() != old_contents_cc_layer)
...@@ -872,8 +873,7 @@ bool HTMLCanvasElement::IsPrinting() const { ...@@ -872,8 +873,7 @@ bool HTMLCanvasElement::IsPrinting() const {
} }
UkmParameters HTMLCanvasElement::GetUkmParameters() { UkmParameters HTMLCanvasElement::GetUkmParameters() {
auto* context = GetExecutionContext(); return {GetDocument().UkmRecorder(), GetDocument().UkmSourceID()};
return {context->UkmRecorder(), context->UkmSourceID()};
} }
void HTMLCanvasElement::SetSurfaceSize(const IntSize& size) { void HTMLCanvasElement::SetSurfaceSize(const IntSize& size) {
......
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