// 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": "^\\s*((Alt|Ctrl|Command|MacCtrl)\\s*\\+\\s*)?(Shift\\s*\\+\\s*)?(F[1-9]|F1[0-2])\\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." } ] } ] } ]