| // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // |
| // API docs from [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web). |
| // Attributions and copyright licensing by Mozilla Contributors is licensed |
| // under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/. |
| |
| // Generated from Web IDL definitions. |
| |
| // ignore_for_file: unintended_html_in_doc_comment |
| |
| @JS() |
| library; |
| |
| import 'dart:js_interop'; |
| |
| import 'dom.dart'; |
| import 'reporting.dart'; |
| |
| typedef SecurityPolicyViolationEventDisposition = String; |
| |
| /// The `CSPViolationReportBody` interface contains the report data for a |
| /// Content Security Policy (CSP) violation. CSP violations are thrown when the |
| /// webpage attempts to load a resource that violates the CSP set by the HTTP |
| /// header. |
| /// |
| /// > **Note:** this interface is similar, but not identical to, the |
| /// > [JSON objects](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP#violation_report_syntax) |
| /// > sent back to the |
| /// > [`report-uri`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri) |
| /// > or |
| /// > [`report-to`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-to) |
| /// > policy directive of the header. |
| /// |
| /// --- |
| /// |
| /// API documentation sourced from |
| /// [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/CSPViolationReportBody). |
| extension type CSPViolationReportBody._(JSObject _) |
| implements ReportBody, JSObject { |
| external JSObject toJSON(); |
| external String get documentURL; |
| external String? get referrer; |
| external String? get blockedURL; |
| external String get effectiveDirective; |
| external String get originalPolicy; |
| external String? get sourceFile; |
| external String? get sample; |
| external SecurityPolicyViolationEventDisposition get disposition; |
| external int get statusCode; |
| external int? get lineNumber; |
| external int? get columnNumber; |
| } |
| |
| /// The **`SecurityPolicyViolationEvent`** interface inherits from [Event], and |
| /// represents the event object of an event sent on a document or worker when |
| /// its content security policy is violated. |
| /// |
| /// --- |
| /// |
| /// API documentation sourced from |
| /// [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/SecurityPolicyViolationEvent). |
| extension type SecurityPolicyViolationEvent._(JSObject _) |
| implements Event, JSObject { |
| external factory SecurityPolicyViolationEvent( |
| String type, [ |
| SecurityPolicyViolationEventInit eventInitDict, |
| ]); |
| |
| /// The **`documentURI`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing the URI of the document or worker in which the violation was |
| /// found. |
| external String get documentURI; |
| |
| /// The **`referrer`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing the referrer of the resources whose policy was violated. This |
| /// will be a URL |
| /// or `null`. |
| external String get referrer; |
| |
| /// The **`blockedURI`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing the URI of the resource that was blocked because it violates |
| /// a policy. |
| external String get blockedURI; |
| |
| /// The **`effectiveDirective`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing the directive whose enforcement uncovered the violation. |
| external String get effectiveDirective; |
| |
| /// The **`violatedDirective`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing the directive whose enforcement uncovered the violation. |
| external String get violatedDirective; |
| |
| /// The **`originalPolicy`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// containing the policy whose enforcement uncovered the violation. |
| external String get originalPolicy; |
| |
| /// The **`sourceFile`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing the URI of the document or worker in which the violation was |
| /// found. |
| external String get sourceFile; |
| |
| /// The **`sample`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a string |
| /// representing a sample of the resource that caused the violation. |
| external String get sample; |
| |
| /// The **`disposition`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface indicates how the violated policy |
| /// is configured to be treated by the user agent. |
| external SecurityPolicyViolationEventDisposition get disposition; |
| |
| /// The **`statusCode`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is a number representing the HTTP |
| /// status code of the document or worker in which the violation occurred. |
| external int get statusCode; |
| |
| /// The **`lineNumber`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is the line number in the |
| /// document |
| /// or worker at which the violation occurred. |
| external int get lineNumber; |
| |
| /// The **`columnNumber`** read-only property of the |
| /// [SecurityPolicyViolationEvent] interface is the column number in the |
| /// document or worker at which the violation occurred. |
| external int get columnNumber; |
| } |
| extension type SecurityPolicyViolationEventInit._(JSObject _) |
| implements EventInit, JSObject { |
| external factory SecurityPolicyViolationEventInit({ |
| bool bubbles, |
| bool cancelable, |
| bool composed, |
| String documentURI, |
| String referrer, |
| String blockedURI, |
| String violatedDirective, |
| String effectiveDirective, |
| String originalPolicy, |
| String sourceFile, |
| String sample, |
| SecurityPolicyViolationEventDisposition disposition, |
| int statusCode, |
| int lineNumber, |
| int columnNumber, |
| }); |
| |
| external String get documentURI; |
| external set documentURI(String value); |
| external String get referrer; |
| external set referrer(String value); |
| external String get blockedURI; |
| external set blockedURI(String value); |
| external String get violatedDirective; |
| external set violatedDirective(String value); |
| external String get effectiveDirective; |
| external set effectiveDirective(String value); |
| external String get originalPolicy; |
| external set originalPolicy(String value); |
| external String get sourceFile; |
| external set sourceFile(String value); |
| external String get sample; |
| external set sample(String value); |
| external SecurityPolicyViolationEventDisposition get disposition; |
| external set disposition(SecurityPolicyViolationEventDisposition value); |
| external int get statusCode; |
| external set statusCode(int value); |
| external int get lineNumber; |
| external set lineNumber(int value); |
| external int get columnNumber; |
| external set columnNumber(int value); |
| } |