// 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 chrome.permissions 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." } ] } ] } ] } ]