summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/api/permissions.json
blob: f6a03b7ce888b4a80fbc228582f7afc373688b41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// Copyright (c) 2012 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.

[
  {
    "namespace": "permissions",
    "description": "Use the <code>chrome.permissions</code> API to implement optional permissions. As of Chrome 16, you can request optional permissions during your extension's regular application flow rather than at install time, so users understand why the permissions are needed and use only those that are necessary.",
    "types": [
      {
        "id": "Permissions",
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {"type": "string"},
            "optional": true,
            "description": "List of named permissions (does not include hosts or origins)."
          },
          "origins": {
            "type": "array",
            "items": {"type": "string"},
            "optional": true,
            "description": "List of origin permissions."
          }
        }
      }
    ],
    "events": [
      {
        "name": "onAdded",
        "type": "function",
        "description": "Fired when the extension acquires new permissions.",
        "parameters": [
          {
            "$ref": "Permissions",
            "name": "permissions",
            "description": "The newly acquired permissions."
          }
        ]
      },
      {
        "name": "onRemoved",
        "type": "function",
        "description": "Fired when access to permissions has been removed from the extension.",
        "parameters": [
          {
            "$ref": "Permissions",
            "name": "permissions",
            "description": "The permissions that have been removed."
          }
        ]
      }
     ],
    "functions": [
      {
        "name": "getAll",
        "type": "function",
        "description": "Gets the extension's current set of permissions.",
        "parameters": [
          {
            "name": "callback",
            "type": "function",
            "parameters": [
               {
                "name": "permissions",
                "$ref": "Permissions",
                "description": "The extension's active permissions."
              }
            ]
          }
        ]
      },
      {
        "name": "contains",
        "type": "function",
        "description": "Checks if the extension has the specified permissions.",
        "parameters": [
          {
            "name": "permissions",
            "$ref": "Permissions"
          },
          {
            "name": "callback",
            "type": "function",
            "parameters": [
              {
                "name": "result",
                "type": "boolean",
                "description": "True if the extension has the specified permissions."
              }
            ]
          }
        ]
      },
      {
        "name": "request",
        "type": "function",
        "description": "Requests access to the specified permissions. These permissions must be defined in the optional_permissions field of the manifest. If there are any problems requesting the permissions, $ref:runtime.lastError will be set.",
        "parameters": [
          {
            "name": "permissions",
            "$ref": "Permissions"
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "parameters": [
              {
                "name": "granted",
                "type": "boolean",
                "description": "True if the user granted the specified permissions."
              }
            ]
          }
        ]
      },
      {
        "name": "remove",
        "type": "function",
        "description": "Removes access to the specified permissions. If there are any problems removing the permissions, $ref:runtime.lastError will be set.",
        "parameters": [
          {
            "name": "permissions",
            "$ref": "Permissions"
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "parameters": [
              {
                "name": "removed",
                "type": "boolean",
                "description": "True if the permissions were removed."
              }
            ]
          }
        ]
      }
    ]
  }
]