| // 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; |
| }; |