blob: 9f9b391fe0b3fc9c3915697667142e4f29a97e9a [file] [log] [blame]
// 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 content.mojom;
import "mojo/public/mojom/base/int128.mojom";
// These types are used in/for constructing AggregatableReports, see
// //content/browser/aggregation_service/aggregatable_report.h.
// Corresponds to the 'alternative aggregation mode' optional setting, but
// also includes the default option (if no alternative is set).
enum AggregationServiceMode {
// Uses a server-side Trusted Execution Environment (TEE) to process the
// encrypted payloads, see
// https://github.com/WICG/attribution-reporting-api/blob/main/AGGREGATION_SERVICE_TEE.md.
kTeeBased,
// Implements a protocol similar to poplar VDAF in the PPM Framework, see
// https://github.com/WICG/attribution-reporting-api/blob/main/AGGREGATE.md#choosing-among-aggregation-services.
kExperimentalPoplar,
kDefault = kTeeBased,
};
struct AggregatableReportHistogramContribution {
mojo_base.mojom.Uint128 bucket;
int32 value;
};