// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module blink.mojom; import "url/mojom/url.mojom"; // Used with AdRequestConfig. struct AdProperties { string width; string height; string slot; string lang; string ad_type; double bid_floor; }; // Used with AdRequestConfig => AdTargeting. struct AdGeolocation { double latitude; double longitude; }; // Used with AdRequestConfig. struct AdTargeting { // Contextual interests from the current page to include with the request. array? interests; AdGeolocation? geolocation; }; // Used with AdRequestConfig. enum AdSignals { kCourseGeolocation = 0, kCourseUserAgent = 1, kTargeting = 2, kUserAdInterests = 3, }; // Configuration to pass to CreateAdRequest(). // // All URLs and origins must use https. // // https://github.com/WICG/privacy-preserving-ads/blob/main/Parakeet.md#potential-api-shape struct AdRequestConfig { // URL of the ad tech server PARAKEET will contact with anonymized ad request // data. url.mojom.Url ad_request_url; // All the properties of the ads needed for placements on this page. array ad_properties; // Ad publisher specific data string? publisher_code; // Targeting information from contextual signals on the current page. AdTargeting? targeting; // Collection of AdSignals that should be used for this request. array? anonymized_proxied_signals; // Fallback creative URL to use in even of missing or unavailable PARKEET // service. url.mojom.Url? fallback_source; };