// 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/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;
};
// Mapped to `net::NetworkAnonymizationKey`.
union NetworkAnonymizationKey {
EmptyNetworkAnonymizationKey empty;
NonEmptyNetworkAnonymizationKey non_empty;
};