// 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 CONTENT_BROWSER_PRIVATE_AGGREGATION_PRIVATE_AGGREGATION_BUDGET_KEY_H_ #define CONTENT_BROWSER_PRIVATE_AGGREGATION_PRIVATE_AGGREGATION_BUDGET_KEY_H_ #include <optional> #include "base/time/time.h" #include "content/common/content_export.h" #include "url/origin.h" namespace content { // Represents all information needed to record the budget usage against the // right counter. Note that the budget limits are not enforced per-key, but // instead per-site per-API per-10 min and per-site per-API per-day. That is, // they are enforced against two sets of budget keys with contiguous time // windows -- one spanning a 10 min period and one spanning a 24 hour period // (both with identical `site` and `api` fields). See // `PrivateAggregationBudgeter::kSmallerScopeValues.budget_scope_duration` and // `PrivateAggregationBudgeter::kLargerScopeValues.budget_scope_duration`. class CONTENT_EXPORT PrivateAggregationBudgetKey { … }; } // namespace content #endif // CONTENT_BROWSER_PRIVATE_AGGREGATION_PRIVATE_AGGREGATION_BUDGET_KEY_H_