[go: nahoru, domu]

blob: d87eb69d248ed468404118d2b95b04f9d5142252 [file] [log] [blame]
// 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.
module network.mojom;
import "services/network/public/mojom/first_party_sets.mojom";
import "services/network/public/mojom/schemeful_site.mojom";
// Lives in the network service and controlled by the browser process to
// access First-Party Sets for each network context.
//
// TODO(shuuran): Expose APIs to enable browser process query the FPS info
// and change whether the FPS is enabled during runtime.
interface FirstPartySetsAccessDelegate {
// Signals to the receiver that the given network context has completed
// its initialization related to First-Party Sets, and the delegate
// should begin answering queries.
//
// Exactly one call is expected; subsequent calls with the same receiver
// have no effect.
NotifyReady(FirstPartySetsReadyEvent ready_event);
};
struct FirstPartySetsAccessDelegateParams {
// Whether First-Party Sets is enabled for this network context.
bool enabled;
};
struct FirstPartySetsReadyEvent {
// The list of modifications to override the public First-Party Sets owned
// by the network service for the network context.
//
// This map is computed by the browser side against the public First-Party
// Sets, where the keys are member sites and the values are the ultimate
// entries of the final First-Party Sets combining the public sets and the
// modifications. Map entries of site -> absl::nullopt means the key site is
// considered deleted from the existing First-Party Sets.
map<SchemefulSite, FirstPartySetEntry?> customizations;
};