Mypal/application/basilisk/components/webextensions/schemas/commands.json

149 lines
4.3 KiB
JSON

// 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": "manifest",
"types": [
{
"id": "KeyName",
"choices": [
{
"type": "string",
"pattern": "^\\s*(Alt|Ctrl|Command|MacCtrl)\\s*\\+\\s*(Shift\\s*\\+\\s*)?([A-Z0-9]|Comma|Period|Home|End|PageUp|PageDown|Space|Insert|Delete|Up|Down|Left|Right)\\s*$"
},
{
"type": "string",
"pattern": "^(MediaNextTrack|MediaPlayPause|MediaPrevTrack|MediaStop)$"
}
]
},
{
"$extend": "WebExtensionManifest",
"properties": {
"commands": {
"type": "object",
"optional": true,
"additionalProperties": {
"type": "object",
"additionalProperties": { "$ref": "UnrecognizedProperty" },
"properties": {
"suggested_key": {
"type": "object",
"optional": true,
"properties": {
"default": {
"$ref": "KeyName",
"optional": true
},
"mac": {
"$ref": "KeyName",
"optional": true
},
"linux": {
"$ref": "KeyName",
"optional": true
},
"windows": {
"$ref": "KeyName",
"optional": true
},
"chromeos": {
"type": "string",
"optional": true
},
"android": {
"type": "string",
"optional": true
},
"ios": {
"type": "string",
"optional": true
},
"additionalProperties": {
"type": "string",
"deprecated": "Unknown platform name",
"optional": true
}
}
},
"description": {
"type": "string",
"optional": true
}
}
}
}
}
}
]
},
{
"namespace": "commands",
"description": "Use the commands API to add keyboard shortcuts that trigger actions in your extension, for example, an action to open the browser action or send a command to the xtension.",
"permissions": ["manifest:commands"],
"types": [
{
"id": "Command",
"type": "object",
"properties": {
"name": {
"type": "string",
"optional": true,
"description": "The name of the Extension Command"
},
"description": {
"type": "string",
"optional": true,
"description": "The Extension Command description"
},
"shortcut": {
"type": "string",
"optional": true,
"description": "The shortcut active for this command, or blank if not active."
}
}
}
],
"events": [
{
"name": "onCommand",
"description": "Fired when a registered command is activated using a keyboard shortcut.",
"type": "function",
"parameters": [
{
"name": "command",
"type": "string"
}
]
}
],
"functions": [
{
"name": "getAll",
"type": "function",
"async": "callback",
"description": "Returns all the registered extension commands for this extension and their shortcut (if active).",
"parameters": [
{
"type": "function",
"name": "callback",
"optional": true,
"parameters": [
{
"name": "commands",
"type": "array",
"items": {
"$ref": "Command"
}
}
],
"description": "Called to return the registered commands."
}
]
}
]
}
]