// 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_INTEREST_GROUP_INTEREST_GROUP_UPDATE_H_ #define CONTENT_BROWSER_INTEREST_GROUP_INTEREST_GROUP_UPDATE_H_ #include <stdint.h> #include <cstddef> #include <optional> #include <string> #include <vector> #include "base/containers/flat_map.h" #include "content/common/content_export.h" #include "third_party/blink/public/common/interest_group/interest_group.h" #include "url/gurl.h" #include "url/origin.h" namespace content { // InterestGroupUpdate represents the results of parsing a JSON update for a // stored blink::InterestGroup file. It contains all updatable fields of a // InterestGroup - that is, everything but `name`, `origin`, and `expiry`. // All fields are optional, even ones that are mandatory in an InterestGroup, // since the value of the original InterestGroup will be // used when they're not present in an InterestGroupUpdate. struct CONTENT_EXPORT InterestGroupUpdate { … }; // InitialInterestGroupUpdateInfo contains required fields when the update // process is initialized, which includes interest_group_key for // KAnonymity update, update_url for generating update request and // joining_origin for grouped isolation info. struct CONTENT_EXPORT InterestGroupUpdateParameter { … }; struct CONTENT_EXPORT InterestGroupKanonUpdateParameter { … }; } // namespace content #endif // CONTENT_BROWSER_INTEREST_GROUP_INTEREST_GROUP_UPDATE_H_