| // 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; |
| }; |