// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module blink.mojom;

import "services/network/public/mojom/web_sandbox_flags.mojom";
import "third_party/blink/public/mojom/feature_policy/feature_policy.mojom";
import "third_party/blink/public/mojom/feature_policy/document_policy_feature.mojom";
import "third_party/blink/public/mojom/feature_policy/feature_policy_feature.mojom";
import "third_party/blink/public/mojom/feature_policy/policy_value.mojom";

// This struct holds frame policy value that needs to be passed from browser
// process to renderer process during navigation. It is used as a data
// member of CommitNavigationParams. For details, please refer to
// navigation_params.mojom.
struct FramePolicy {
  network.mojom.WebSandboxFlags sandbox_flags;
  array<blink.mojom.ParsedFeaturePolicyDeclaration> container_policy;
  map<blink.mojom.DocumentPolicyFeature, blink.mojom.PolicyValue> required_document_policy;
  bool disallow_document_access = false;
};
