// 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);
};