Home | History | Annotate | Download | only in test
      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