| [ |
| { |
| "namespace": "permissions", |
| "description": "A test API for the json_schema_compiler.", |
| "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, <a href='extension.html#property-lastError'>chrome.runtime.lastError</a> 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, <a href='extension.html#property-lastError'>chrome.runtime.lastError</a> 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." |
| } |
| ] |
| } |
| ] |
| } |
| ] |
| } |
| ] |