// Copyright 2014 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.

// https://w3c.github.io/webappsec-csp/#idl-index

dictionary SecurityPolicyViolationEventInit : EventInit {
    // TODO(foolip): The spec says "documentURL".
    DOMString documentURI;
    DOMString referrer;
    // TODO(foolip): The spec says "blockedURL".
    DOMString blockedURI;
    DOMString violatedDirective;
    DOMString effectiveDirective;
    DOMString originalPolicy;
    SecurityPolicyViolationEventDisposition disposition;
    DOMString sourceFile;
    unsigned short statusCode;
    long      lineNumber;
    long      columnNumber;
    DOMString sample;
};
