blob: 3d65e0c756d5603a004828325b830a8f07806a66 [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.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package content.proto;
message AttributionAggregationKey {
optional uint64 high_bits = 1;
optional uint64 low_bits = 2;
}
message AttributionAggregatableSource {
map<string, AttributionAggregationKey> keys = 1;
}
message AttributionFilterValues {
repeated string values = 1;
}
// Proto equivalent of `blink::mojom::AttributionData`.
message AttributionFilterData {
map<string, AttributionFilterValues> filter_values = 1;
}
message AttributionEventLevelMetadata {
optional uint64 trigger_data = 1;
optional int64 priority = 2;
}
message AttributionCommonAggregatableMetadata {
enum Coordinator {
AWS_CLOUD = 0;
}
enum SourceRegistrationTimeConfig {
INCLUDE = 0;
EXCLUDE = 1;
}
optional Coordinator coordinator = 1;
optional string verification_token = 2;
optional SourceRegistrationTimeConfig source_registration_time_config = 3;
}
message AttributionAggregatableMetadata {
optional AttributionCommonAggregatableMetadata common_data = 1;
message Contribution {
optional AttributionAggregationKey key = 1;
optional uint32 value = 2;
}
repeated Contribution contributions = 2;
}
message AttributionNullAggregatableMetadata {
optional AttributionCommonAggregatableMetadata common_data = 1;
// Stored as microseconds since the Windows epoch (1601-01-01 00:00:00 UTC).
optional int64 fake_source_time = 2;
}