// Copyright 2024 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_TRUSTED_SIGNALS_FETCHER_H_ #define CONTENT_BROWSER_INTEREST_GROUP_TRUSTED_SIGNALS_FETCHER_H_ #include <stdint.h> #include <map> #include <memory> #include <set> #include <string> #include <vector> #include "base/functional/callback.h" #include "base/memory/weak_ptr.h" #include "base/types/expected.h" #include "base/values.h" #include "content/common/content_export.h" #include "content/services/auction_worklet/public/mojom/trusted_signals_cache.mojom.h" #include "net/third_party/quiche/src/quiche/oblivious_http/buffers/oblivious_http_request.h" #include "services/data_decoder/public/cpp/data_decoder.h" #include "services/network/public/cpp/simple_url_loader.h" #include "services/network/public/mojom/url_loader_factory.mojom-forward.h" #include "url/gurl.h" #include "url/origin.h" namespace content { struct BiddingAndAuctionServerKey; // Single-use network fetcher for versions 2+ of the key-value server API. // It takes a list compression groups and partitions, and asynchronously returns // a set of responses, one per compression group. The responses are provided as // still compressed compression group bodies, so the cache layer can store // compressed responses and to minimize IPC size. The responses will be // decompressed before use in the appropriate Javascript process. // // Bidding and scoring signals need different structs when sending requests, but // they use the same response format, since it's only the compressed data itself // that varies based on signals type. // // TODO(https://crbug.com/333445540): This is currently only an API, with no // implementation. Need to actually implement the API. class CONTENT_EXPORT TrustedSignalsFetcher { … }; } // namespace content #endif // CONTENT_BROWSER_INTEREST_GROUP_TRUSTED_SIGNALS_FETCHER_H_