| // Copyright 2020 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/site_for_cookies.mojom"; |
| import "services/network/public/mojom/schemeful_site.mojom"; |
| import "url/mojom/origin.mojom"; |
| |
| // Mapped to net::IsolationInfo::RequestType, which is what consumers should |
| // be using instead of using this directly. |
| enum IsolationInfoRequestType { |
| kMainFrame, |
| kSubFrame, |
| kOther, |
| }; |
| |
| // Mapped to IsolationInfo::FrameAncestorRelation, which is what consumers |
| // should use instead of using this directly. |
| enum IsolationInfoFrameAncestorRelation { |
| kSameOrigin, |
| kSameSite, |
| kCrossSite, |
| }; |
| |
| // Mapped to net::IsolationInfo. |
| struct IsolationInfo { |
| // These fields should not be used directly, but rather through the mapped |
| // net::IsolationInfo. |
| IsolationInfoRequestType request_type; |
| url.mojom.Origin? top_frame_origin; |
| url.mojom.Origin? frame_origin; |
| mojo_base.mojom.UnguessableToken? nonce; |
| SiteForCookies site_for_cookies; |
| NetworkIsolationPartition network_isolation_partition; |
| IsolationInfoFrameAncestorRelation? frame_ancestor_relation; |
| }; |