blob: 2048dd5bb574473ecbf1eb1e8a6112feb3a00d73 [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 "mojo/public/mojom/base/unguessable_token.mojom";
import "services/network/public/mojom/network_isolation_partition.mojom";
import "services/network/public/mojom/schemeful_site.mojom";
// Used to represent an empty `net::NetworkAnonymizationKey`.
struct EmptyNetworkAnonymizationKey {
};
struct NonEmptyNetworkAnonymizationKey {
SchemefulSite top_frame_site;
bool is_cross_site;
mojo_base.mojom.UnguessableToken? nonce;
NetworkIsolationPartition network_isolation_partition;
};
// Mapped to `net::NetworkAnonymizationKey`.
union NetworkAnonymizationKey {
EmptyNetworkAnonymizationKey empty;
NonEmptyNetworkAnonymizationKey non_empty;
};