| // 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": "inputMethodPrivate", |
| "compiler_options": { |
| "implemented_in": "chrome/browser/chromeos/extensions/input_method_api.h" |
| }, |
| "description": "none", |
| "types": [ |
| { |
| "id": "MenuItemStyle", |
| "type": "string", |
| "description": "The type of menu item. Radio buttons between separators are considered grouped.", |
| "enum": ["check", "radio", "separator"] |
| }, |
| { |
| "id": "MenuItem", |
| "type": "object", |
| "description": "A menu item used by an input method to interact with the user from the language menu.", |
| "properties": { |
| "id": {"type": "string", "description": "String that will be passed to callbacks referencing this MenuItem."}, |
| "label": {"type": "string", "optional": true, "description": "Text displayed in the menu for this item."}, |
| "style": { |
| "$ref": "MenuItemStyle", |
| "optional": true, |
| "description": "The type of menu item." |
| }, |
| "visible": {"type": "boolean", "optional": true, "description": "Indicates this item is visible."}, |
| "checked": {"type": "boolean", "optional": true, "description": "Indicates this item should be drawn with a check."}, |
| "enabled": {"type": "boolean", "optional": true, "description": "Indicates this item is enabled."} |
| } |
| }, |
| { |
| "id": "FocusReason", |
| "type": "string", |
| "description": "Describes how the text field was focused", |
| "enum": ["mouse", "touch", "pen", "other"] |
| }, |
| { |
| "id": "InputContextType", |
| "type": "string", |
| "description": "Type of value this text field edits, (Text, Number, URL, etc)", |
| "enum": ["text", "search", "tel", "url", "email", "number", "password"] |
| }, |
| { |
| "id": "InputContext", |
| "type": "object", |
| "description": "Describes an input Context", |
| "properties": { |
| "contextID": {"type": "integer", "description": "This is used to specify targets of text field operations. This ID becomes invalid as soon as onBlur is called."}, |
| "type": {"$ref": "InputContextType", "description": "Type of value this text field edits, (Text, Number, URL, etc)"}, |
| "autoCorrect": {"type": "boolean", "description": "Whether the text field wants auto-correct."}, |
| "autoComplete": {"type": "boolean", "description": "Whether the text field wants auto-complete."}, |
| "spellCheck": {"type": "boolean", "description": "Whether the text field wants spell-check."}, |
| "shouldDoLearning": {"type": "boolean", "description": "Whether text entered into the text field should be used to improve typing suggestions for the user."}, |
| "focusReason": {"$ref": "FocusReason", "description": "How the text field was focused"} |
| } |
| } |
| ], |
| "functions": [ |
| { |
| "name": "getInputMethodConfig", |
| "type": "function", |
| "description": "Gets configurations for input methods.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": false, |
| "description": "Callback which is called with the config object.", |
| "parameters": [ |
| { |
| "name": "config", |
| "type": "object", |
| "description": "The input method config object.", |
| "properties": { |
| "isPhysicalKeyboardAutocorrectEnabled": {"type": "boolean"}, |
| "isImeMenuActivated": {"type": "boolean"} |
| } |
| } |
| ] |
| } |
| ] |
| }, { |
| "name": "getInputMethods", |
| "type": "function", |
| "description": "Gets all whitelisted input methods.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": false, |
| "description": "Callback which is called with the input method objects.", |
| "parameters": [ |
| { |
| "name": "inputMethods", |
| "type": "array", |
| "description": "Whitelisted input method objects.", |
| "items": { |
| "type": "object", |
| "properties": { |
| "id": {"type": "string"}, |
| "name": {"type": "string"}, |
| "indicator": {"type": "string"} |
| } |
| } |
| } |
| ] |
| } |
| ] |
| }, { |
| "name": "getCurrentInputMethod", |
| "type": "function", |
| "description": "Gets the current input method.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": false, |
| "description": "Callback which is called with the current input method.", |
| "parameters": [ |
| { |
| "name": "inputMethodId", |
| "type": "string", |
| "description": "Current input method." |
| } |
| ] |
| } |
| ] |
| }, { |
| "name": "setCurrentInputMethod", |
| "type": "function", |
| "description": "Sets the current input method.", |
| "parameters": [ |
| { |
| "name": "inputMethodId", |
| "type": "string", |
| "optional": false, |
| "description": "The input method ID to be set as current input method." |
| }, |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": true, |
| "description": "Callback which is called once the current input method is set. If unsuccessful $(ref:runtime.lastError) is set.", |
| "parameters": [] |
| } |
| ] |
| }, { |
| "name": "fetchAllDictionaryWords", |
| "type": "function", |
| "description": "Fetches a list of all the words currently in the dictionary.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": false, |
| "description": "Callback which is called once the list of dictionary words are ready.", |
| "parameters": [ |
| { |
| "name": "words", |
| "type": "array", |
| "description": "List of dictionary words.", |
| "items": { |
| "type": "string" |
| } |
| } |
| ] |
| } |
| ] |
| }, { |
| "name": "addWordToDictionary", |
| "type": "function", |
| "description": "Adds a single word to be stored in the dictionary.", |
| "parameters": [ |
| { |
| "name": "word", |
| "type": "string", |
| "optional": false, |
| "description": "A new word to add to the dictionary." |
| }, |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": true, |
| "description": "Callback which is called once the word is added. If unsuccessful $(ref:runtime.lastError) is set.", |
| "parameters": [] |
| } |
| ] |
| }, { |
| "name": "getEncryptSyncEnabled", |
| "type": "function", |
| "description": "Gets whether the encrypt sync is enabled.", |
| "parameters": [ |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": true, |
| "description": "Callback which is called to provide the result.", |
| "parameters": [ |
| { |
| "name": "enabled", |
| "type": "boolean", |
| "optional": false, |
| "description": "The result of whether enabled." |
| } |
| ] |
| } |
| ] |
| }, { |
| "name": "setXkbLayout", |
| "type": "function", |
| "description": "Sets the XKB layout for the given input method.", |
| "parameters": [ |
| { |
| "name": "xkb_name", |
| "type": "string", |
| "description": "The XKB layout name." |
| }, |
| { |
| "name": "callback", |
| "type": "function", |
| "optional": true, |
| "description": "Callback which is called when the layout is set.", |
| "parameters": [] |
| } |
| ] |
| }, { |
| "name": "notifyImeMenuItemActivated", |
| "type": "function", |
| "description": "Fires the input.ime.onMenuItemActivated event.", |
| "parameters": [ |
| { |
| "name": "engineID", |
| "type": "string", |
| "description": "ID of the engine to use." |
| }, |
| { |
| "name": "name", |
| "type": "string", |
| "description": "Name of the MenuItem which was activated" |
| } |
| ] |
| }, { |
| "name": "showInputView", |
| "type": "function", |
| "description": "Shows the input view window. If the input view window is already shown, this function will do nothing.", |
| "parameters": [ |
| { |
| "type": "function", |
| "name": "callback", |
| "optional": true, |
| "description": "Called when the operation completes.", |
| "parameters": [] |
| } |
| ] |
| }, { |
| "name": "openOptionsPage", |
| "type": "function", |
| "description": "Opens the options page for the input method extension. If the input method does not have options, this function will do nothing.", |
| "parameters": [ |
| { |
| "name": "inputMethodId", |
| "type": "string", |
| "description": "ID of the input method to open options for." |
| } |
| ] |
| }, { |
| "name": "getCompositionBounds", |
| "type": "function", |
| "description": "Gets the composition bounds", |
| "parameters": [ |
| { |
| "type": "function", |
| "name": "callback", |
| "description": "Callback which is called to provide the result", |
| "parameters": [ |
| { |
| "name": "boundsList", |
| "type": "array", |
| "description": "List of bounds information.", |
| "items": { |
| "type": "object", |
| "properties": { |
| "x": {"type": "integer"}, |
| "y": {"type": "integer"}, |
| "w": {"type": "integer"}, |
| "h": {"type": "integer"} |
| } |
| } |
| } |
| ] |
| } |
| ] |
| } |
| ], |
| "events": [ |
| { |
| "name": "onChanged", |
| "type": "function", |
| "description": "Fired when the input method is changed.", |
| "parameters": [ |
| { |
| "name": "newInputMethodId", |
| "type": "string", |
| "description": "New input method which is being used." |
| } |
| ] |
| }, { |
| "name": "onCompositionBoundsChanged", |
| "type": "function", |
| "description": "Fired when the composition bounds or cursor bounds are changed.", |
| "parameters": [ |
| { |
| "name": "firstBounds", |
| "type": "object", |
| "description": "The bounds information for the first character in composition.", |
| "properties": { |
| "x": {"type": "integer"}, |
| "y": {"type": "integer"}, |
| "w": {"type": "integer"}, |
| "h": {"type": "integer"} |
| } |
| }, { |
| "name": "boundsList", |
| "type": "array", |
| "description": "List of bounds information.", |
| "items": { |
| "type": "object", |
| "properties": { |
| "x": {"type": "integer"}, |
| "y": {"type": "integer"}, |
| "w": {"type": "integer"}, |
| "h": {"type": "integer"} |
| } |
| } |
| } |
| ] |
| }, { |
| "name": "onDictionaryLoaded", |
| "type": "function", |
| "description": "Fired when the custom spelling dictionary is loaded.", |
| "parameters": [] |
| }, { |
| "name": "onDictionaryChanged", |
| "type": "function", |
| "description": "Fired when words are added or removed from the custom spelling dictionary.", |
| "parameters": [ |
| { |
| "name": "added", |
| "type": "array", |
| "description": "List of added words.", |
| "items": { |
| "type": "string" |
| } |
| }, { |
| "name": "removed", |
| "type": "array", |
| "description": "List of removed words.", |
| "items": { |
| "type": "string" |
| } |
| } |
| ] |
| }, { |
| "name": "onImeMenuActivationChanged", |
| "type": "function", |
| "description": "Fired when the IME menu is activated or deactivated.", |
| "parameters": [ |
| { |
| "name": "activation", |
| "type": "boolean", |
| "description": "Whether the IME menu is currently active." |
| } |
| ] |
| }, { |
| "name": "onImeMenuListChanged", |
| "type": "function", |
| "description": "Fired when the input method or the list of active input method IDs is changed.", |
| "parameters": [] |
| }, { |
| "name": "onImeMenuItemsChanged", |
| "type": "function", |
| "description": "Fired when the input.ime.setMenuItems or input.ime.updateMenuItems API is called.", |
| "parameters": [ |
| { |
| "name": "engineID", |
| "type": "string", |
| "description": "ID of the engine to use" |
| }, |
| { |
| "name": "items", |
| "type": "array", |
| "items": { |
| "$ref": "MenuItem" |
| }, |
| "description": "MenuItems to add or update." |
| } |
| ] |
| }, { |
| "name": "onFocus", |
| "type": "function", |
| "description": "This event is sent when focus enters a text box. It is sent to all extensions that are listening to this event, and enabled by the user.", |
| "parameters": [ |
| { |
| "$ref": "InputContext", |
| "name": "context", |
| "description": "Describes the text field that has acquired focus." |
| } |
| ] |
| } |
| ] |
| } |
| ] |