diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:44:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:44:51 +0000 |
commit | 9e3c08db40b8916968b9f30096c7be3f00ce9647 (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /browser/components/extensions/schemas/commands.json | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/extensions/schemas/commands.json')
-rw-r--r-- | browser/components/extensions/schemas/commands.json | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/browser/components/extensions/schemas/commands.json b/browser/components/extensions/schemas/commands.json new file mode 100644 index 0000000000..860b5052e8 --- /dev/null +++ b/browser/components/extensions/schemas/commands.json @@ -0,0 +1,208 @@ +// 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", + "type": "string", + "format": "manifestShortcutKey" + }, + { + "$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", + "preprocess": "localize", + "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" + } + ] + }, + { + "name": "onChanged", + "description": "Fired when a registered command's shortcut is changed.", + "type": "function", + "parameters": [ + { + "type": "object", + "name": "changeInfo", + "properties": { + "name": { + "type": "string", + "description": "The name of the shortcut." + }, + "newShortcut": { + "type": "string", + "description": "The new shortcut active for this command, or blank if not active." + }, + "oldShortcut": { + "type": "string", + "description": "The old shortcut which is no longer active for this command, or blank if the shortcut was previously inactive." + } + } + } + ] + } + ], + "functions": [ + { + "name": "update", + "type": "function", + "async": true, + "description": "Update the details of an already defined command.", + "parameters": [ + { + "type": "object", + "name": "detail", + "description": "The new description for the command.", + "properties": { + "name": { + "type": "string", + "description": "The name of the command." + }, + "description": { + "type": "string", + "optional": true, + "description": "The new description for the command." + }, + "shortcut": { + "type": "string", + "format": "manifestShortcutKeyOrEmpty", + "optional": true + } + } + } + ] + }, + { + "name": "reset", + "type": "function", + "async": true, + "description": "Reset a command's details to what is specified in the manifest.", + "parameters": [ + { + "type": "string", + "name": "name", + "description": "The name of the command." + } + ] + }, + { + "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." + } + ] + } + ] + } +] |