1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
// 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.
#ifndef COMPONENTS_ATTRIBUTION_REPORTING_CONSTANTS_H_
#define COMPONENTS_ATTRIBUTION_REPORTING_CONSTANTS_H_
#include <stddef.h>
#include <stdint.h>
#include "base/time/time.h"
namespace attribution_reporting {
inline constexpr uint64_t kDefaultFilteringId = 0;
inline constexpr size_t kMaxBytesPerFilterString = 25;
inline constexpr size_t kMaxValuesPerFilter = 50;
inline constexpr size_t kMaxFiltersPerSource = 50;
inline constexpr size_t kMaxDestinations = 3;
inline constexpr size_t kMaxEventLevelReportWindows = 5;
inline constexpr size_t kMaxAggregationKeysPerSource = 20;
inline constexpr int kMaxAggregatableValue = 65536;
inline constexpr base::TimeDelta kMinSourceExpiry = base::Days(1);
inline constexpr base::TimeDelta kMaxSourceExpiry = base::Days(30);
static_assert(kMinSourceExpiry < kMaxSourceExpiry);
inline constexpr base::TimeDelta kMinReportWindow = base::Hours(1);
static_assert(kMinReportWindow <= kMinSourceExpiry);
inline constexpr uint8_t kMaxSettableEventLevelAttributionsPerSource = 20;
// https://wicg.github.io/attribution-reporting-api/#max-distinct-trigger-data-per-source
inline constexpr uint8_t kMaxTriggerDataPerSource = 32;
inline constexpr size_t kMaxTriggerContextIdLength = 64;
inline constexpr uint32_t kDefaultMaxEventStates = 3;
inline constexpr size_t kMaxScopesPerSource = 20;
inline constexpr size_t kMaxLengthPerAttributionScope = 50;
inline constexpr size_t kMaxAggregatableNamedBudgetsPerSource = 25;
inline constexpr size_t kMaxLengthPerAggregatableNamedBudgetName = 25;
inline constexpr char kTriggerDataMatchingExact[] = "exact";
inline constexpr char kTriggerDataMatchingModulus[] = "modulus";
inline constexpr char kAggregatableFilteringIdsMaxBytes[] =
"aggregatable_filtering_id_max_bytes";
inline constexpr char kAggregatableNamedBudgets[] = "named_budgets";
inline constexpr char kAggregatableReportWindow[] =
"aggregatable_report_window";
inline constexpr char kAggregationKeys[] = "aggregation_keys";
inline constexpr char kAttributionScopes[] = "attribution_scopes";
inline constexpr char kDestination[] = "destination";
inline constexpr char kDestinationLimitPriority[] =
"destination_limit_priority";
inline constexpr char kEndTimes[] = "end_times";
inline constexpr char kEventLevelEpsilon[] = "event_level_epsilon";
inline constexpr char kEventReportWindow[] = "event_report_window";
inline constexpr char kEventReportWindows[] = "event_report_windows";
inline constexpr char kExpiry[] = "expiry";
inline constexpr char kFilterData[] = "filter_data";
inline constexpr char kLimit[] = "limit";
inline constexpr char kMaxEventLevelReports[] = "max_event_level_reports";
inline constexpr char kMaxEventStates[] = "max_event_states";
inline constexpr char kPriority[] = "priority";
inline constexpr char kSourceEventId[] = "source_event_id";
inline constexpr char kStartTime[] = "start_time";
inline constexpr char kTriggerData[] = "trigger_data";
inline constexpr char kTriggerDataMatching[] = "trigger_data_matching";
inline constexpr char kAggregatableDeduplicationKeys[] =
"aggregatable_deduplication_keys";
inline constexpr char kAggregatableSourceRegistrationTime[] =
"aggregatable_source_registration_time";
inline constexpr char kAggregatableTriggerData[] = "aggregatable_trigger_data";
inline constexpr char kAggregatableValues[] = "aggregatable_values";
inline constexpr char kAggregationCoordinatorOrigin[] =
"aggregation_coordinator_origin";
inline constexpr char kDeduplicationKey[] = "deduplication_key";
inline constexpr char kEventTriggerData[] = "event_trigger_data";
inline constexpr char kFilteringId[] = "filtering_id";
inline constexpr char kFilters[] = "filters";
inline constexpr char kKeyPiece[] = "key_piece";
inline constexpr char kName[] = "name";
inline constexpr char kSourceKeys[] = "source_keys";
inline constexpr char kTriggerContextId[] = "trigger_context_id";
inline constexpr char kValue[] = "value";
inline constexpr char kValues[] = "values";
inline constexpr char kSourceRegistrationTimeInclude[] = "include";
inline constexpr char kSourceRegistrationTimeExclude[] = "exclude";
inline constexpr char kAttributionReportingRegisterSourceHeader[] =
"Attribution-Reporting-Register-Source";
inline constexpr char kAttributionReportingRegisterTriggerHeader[] =
"Attribution-Reporting-Register-Trigger";
inline constexpr char kAttributionReportingRegisterOsSourceHeader[] =
"Attribution-Reporting-Register-OS-Source";
inline constexpr char kAttributionReportingRegisterOsTriggerHeader[] =
"Attribution-Reporting-Register-OS-Trigger";
inline constexpr double kNullReportsRateIncludeSourceRegistrationTime = .008;
inline constexpr double kNullReportsRateExcludeSourceRegistrationTime = .05;
} // namespace attribution_reporting
#endif // COMPONENTS_ATTRIBUTION_REPORTING_CONSTANTS_H_
|