1 [ 2 { 3 "namespace": "permissions", 4 "description": "A test API for the json_schema_compiler.", 5 "types": [ 6 { 7 "id": "Permissions", 8 "type": "object", 9 "properties": { 10 "permissions": { 11 "type": "array", 12 "items": {"type": "string"}, 13 "optional": true, 14 "description": "List of named permissions (does not include hosts or origins)." 15 }, 16 "origins": { 17 "type": "array", 18 "items": {"type": "string"}, 19 "optional": true, 20 "description": "List of origin permissions." 21 } 22 } 23 } 24 ], 25 "events": [ 26 { 27 "name": "onAdded", 28 "type": "function", 29 "description": "Fired when the extension acquires new permissions.", 30 "parameters": [ 31 { 32 "$ref": "Permissions", 33 "name": "permissions", 34 "description": "The newly acquired permissions." 35 } 36 ] 37 }, 38 { 39 "name": "onRemoved", 40 "type": "function", 41 "description": "Fired when access to permissions has been removed from the extension.", 42 "parameters": [ 43 { 44 "$ref": "Permissions", 45 "name": "permissions", 46 "description": "The permissions that have been removed." 47 } 48 ] 49 } 50 ], 51 "functions": [ 52 { 53 "name": "getAll", 54 "type": "function", 55 "description": "Gets the extension's current set of permissions.", 56 "parameters": [ 57 { 58 "name": "callback", 59 "type": "function", 60 "parameters": [ 61 { 62 "name": "permissions", 63 "$ref": "Permissions", 64 "description": "The extension's active permissions." 65 } 66 ] 67 } 68 ] 69 }, 70 { 71 "name": "contains", 72 "type": "function", 73 "description": "Checks if the extension has the specified permissions.", 74 "parameters": [ 75 { 76 "name": "permissions", 77 "$ref": "Permissions" 78 }, 79 { 80 "name": "callback", 81 "type": "function", 82 "parameters": [ 83 { 84 "name": "result", 85 "type": "boolean", 86 "description": "True if the extension has the specified permissions." 87 } 88 ] 89 } 90 ] 91 }, 92 { 93 "name": "request", 94 "type": "function", 95 "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.", 96 "parameters": [ 97 { 98 "name": "permissions", 99 "$ref": "Permissions" 100 }, 101 { 102 "name": "callback", 103 "type": "function", 104 "optional": true, 105 "parameters": [ 106 { 107 "name": "granted", 108 "type": "boolean", 109 "description": "True if the user granted the specified permissions." 110 } 111 ] 112 } 113 ] 114 }, 115 { 116 "name": "remove", 117 "type": "function", 118 "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.", 119 "parameters": [ 120 { 121 "name": "permissions", 122 "$ref": "Permissions" 123 }, 124 { 125 "name": "callback", 126 "type": "function", 127 "optional": true, 128 "parameters": [ 129 { 130 "name": "removed", 131 "type": "boolean", 132 "description": "True if the permissions were removed." 133 } 134 ] 135 } 136 ] 137 } 138 ] 139 } 140 ] 141