chromium/third_party/blink/renderer/modules/permissions/permissions.idl

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

// Specification at:
// https://w3c.github.io/permissions/

[
    Exposed=(Window,Worker),
    RuntimeEnabled=Permissions
] interface Permissions {
    [CallWith=ScriptState, RaisesException, Measure] Promise<PermissionStatus> query(object permission);

    // Non standard APIs
    [RuntimeEnabled=PermissionsRequestRevoke, CallWith=ScriptState, RaisesException, Measure] Promise<PermissionStatus> request(object permissions);
    [RuntimeEnabled=PermissionsRequestRevoke, CallWith=ScriptState, RaisesException, Measure] Promise<PermissionStatus> revoke(object permission);
    [RuntimeEnabled=PermissionsRequestRevoke, CallWith=ScriptState, RaisesException, Measure] Promise<sequence<PermissionStatus>> requestAll(sequence<object> permissions);
};