chromium/components/attribution_reporting/data_host.mojom

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module attribution_reporting.mojom;

import "components/attribution_reporting/registration.mojom";
import "components/attribution_reporting/registration_header_error.mojom";

// Browser-process interface responsible for processing attribution
// configurations registered by the renderer. These configurations may be sent
// out of the normal frame lifecycle, e.g. after the frame is destroyed.
interface DataHost {
  // Called when data from the renderer is available for a given attributionsrc
  // request.
  SourceDataAvailable(attribution_reporting.mojom.SuitableOrigin reporting_origin,
                      attribution_reporting.mojom.SourceRegistration data,
                      bool was_fetched_via_service_worker);

  // Called when trigger data from the renderer is available for a given
  // attributionsrc request.
  TriggerDataAvailable(attribution_reporting.mojom.SuitableOrigin reporting_origin,
                       attribution_reporting.mojom.TriggerRegistration data,
                       bool was_fetched_via_service_worker);

  // Called when OS source data from the renderer is available for a given
  // attributionsrc request. The OS will make subsequent requests to
  // to obtain the actual registration.
  OsSourceDataAvailable(attribution_reporting.mojom.SuitableOrigin reporting_origin,
                        attribution_reporting.mojom.OsRegistration registration,
                        bool was_fetched_via_service_worker);

  // Called when OS trigger data from the renderer is available for a given
  // attributionsrc request. The OS will make subsequent requests to
  // to obtain the actual registration.
  OsTriggerDataAvailable(attribution_reporting.mojom.SuitableOrigin reporting_origin,
                         attribution_reporting.mojom.OsRegistration registration,
                         bool was_fetched_via_service_worker);

  // Called when an error occurs during header validation in the renderer for
  // a given attributionsrc request.
  ReportRegistrationHeaderError(
    attribution_reporting.mojom.SuitableOrigin reporting_origin,
    attribution_reporting.mojom.RegistrationHeaderError error);
};