chromium/chrome/common/extensions/api/commands.json

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
  {
    "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 extension.",
    "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"
          },
          {
            "$ref": "tabs.Tab",
            "name": "tab",
            "optional": true
          }
        ]
      }
    ],
    "functions": [
      {
        "name": "getAll",
        "type": "function",
        "description": "Returns all the registered extension commands for this extension and their shortcut (if active). Before Chrome 110, this command did not return <code>_execute_action</code>.",
        "parameters": [],
        "returns_async": {
          "name": "callback",
          "description": "Called to return the registered commands.",
          "optional": true,
          "parameters": [
            {
              "name": "commands",
              "type": "array",
              "items": {
                "$ref": "Command"
              }
            }
          ]
        }
      }
    ]
  }
]