tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Permissions.webidl (1537B)


      1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      4 * You can obtain one at http://mozilla.org/MPL/2.0/.
      5 *
      6 * The origin of this IDL file is
      7 * https://w3c.github.io/permissions/#permissions-interface
      8 */
      9 
     10 enum PermissionName {
     11  "geolocation",
     12  "notifications",
     13  "push",
     14  "persistent-storage",
     15  "midi",
     16  "storage-access", // Defined in https://privacycg.github.io/storage-access/#permissions-integration
     17  "screen-wake-lock", // Defined in https://w3c.github.io/screen-wake-lock/
     18  "camera",    // Defined in https://www.w3.org/TR/mediacapture-streams/#permissions-integration
     19  "microphone" // Defined in https://www.w3.org/TR/mediacapture-streams/#permissions-integration
     20 };
     21 
     22 [GenerateInit]
     23 dictionary PermissionDescriptor {
     24  required PermissionName name;
     25 };
     26 
     27 // https://webaudio.github.io/web-midi-api/#permissions-integration
     28 [GenerateInit]
     29 dictionary MidiPermissionDescriptor : PermissionDescriptor {
     30  boolean sysex = false;
     31 };
     32 
     33 // We don't implement `PushPermissionDescriptor` because we use a background
     34 // message quota instead of `userVisibleOnly`.
     35 
     36 [Exposed=(Window,Worker)]
     37 interface Permissions {
     38  [NewObject]
     39  Promise<PermissionStatus> query(object permission);
     40 
     41  // http://w3c.github.io/permissions/#webdriver-command-set-permission
     42  [ChromeOnly, Throws]
     43  PermissionStatus parseSetParameters(PermissionSetParameters parameters);
     44 };