summaryrefslogtreecommitdiffstats
path: root/dom/webidl/PermissionSettings.webidl
blob: 99101d798843265398aedf76818e7514e5843827 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain at http://mozilla.org/MPL/2.0/. */

[JSImplementation="@mozilla.org/permissionSettings;1",
 ChromeOnly,
 Pref="dom.mozPermissionSettings.enabled",
 NavigatorProperty="mozPermissionSettings"]
interface PermissionSettings
{
  DOMString get(DOMString permission, DOMString manifestURI, DOMString origin, boolean browserFlag);

  void set(DOMString permission, DOMString value, DOMString manifestURI, DOMString origin, boolean browserFlag);

  boolean isExplicit(DOMString permission, DOMString manifestURI, DOMString origin, boolean browserFlag);

  // Removing a permission is only allowed for pages with a different origin than the app
  // and pages that have browserFlag=true, so remove() doesn't have a browserFlag parameter.
  void remove(DOMString permission, DOMString manifestURI, DOMString origin);
};