blob: 222cb835b2fe22ac1dae254ab7c39bf930617535 [file] [log] [blame]
// 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 network.mojom;
import "url/mojom/url.mojom";
import "services/network/public/mojom/fetch_api.mojom";
// https://mikewest.github.io/corpp/#integration-html
enum CrossOriginEmbedderPolicyValue {
kNone,
kRequireCorp,
};
// Reports potential COEP violations. This is mainly used by the CORP check
// in the network service. Implemented in the browser process.
interface CrossOriginEmbedderPolicyReporter {
// Queues a report of a CORP violation caused by COEP.
QueueCorpViolationReport(url.mojom.Url blocked_url,
network.mojom.RequestDestination destination,
bool report_only);
// Connects a new pipe to this instance.
Clone(pending_receiver<CrossOriginEmbedderPolicyReporter> receiver);
};
// Corresponding to the "embedder policy" concept in the spec.
// TODO(yhirano): Attach a spec link.
struct CrossOriginEmbedderPolicy {
// The value of the policy.
CrossOriginEmbedderPolicyValue value = CrossOriginEmbedderPolicyValue.kNone;
// The reporting endpoint for the policy.
string? reporting_endpoint;
// The value for the "report only" mode.
CrossOriginEmbedderPolicyValue report_only_value =
CrossOriginEmbedderPolicyValue.kNone;
// The reporting endpoint for the "report only" mode.
string? report_only_reporting_endpoint;
};