15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  {
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "namespace": "input.ime",
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch    "description": "Use the <code>chrome.input.ime</code> API to implement a custom IME for Chrome OS. This allows your extension to handle keystrokes, set the composition, and manage the candidate window.",
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "platforms": ["chromeos"],
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "types": [
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "id": "KeyboardEvent",
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "object",
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "See http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent",
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "properties": {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "type": {"type": "string", "description": "One of keyup or keydown.", "enum": ["keyup", "keydown"]},
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "requestId": {"type": "string", "description": "The ID of the request."},
185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          "extensionId": {"type": "string", "optional": true, "description": "The extension ID of the sender of this keyevent."},
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "key": {"type": "string", "description": "Value of the key being pressed"},
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          "code": {"type": "string", "description": "Value of the physical key being pressed. The value is not affected by current keyboard layout or modifier state."},
216d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)          "keyCode": {"type": "integer", "optional": true, "description": "The deprecated HTML keyCode, which is system- and implementation-dependent numerical code signifying the unmodified identifier associated with the key pressed."},
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "altKey": {"type": "boolean", "optional": true, "description": "Whether or not the ALT key is pressed."},
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "ctrlKey": {"type": "boolean", "optional": true, "description": "Whether or not the CTRL key is pressed."},
2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)          "shiftKey": {"type": "boolean", "optional": true, "description": "Whether or not the SHIFT key is pressed."},
2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)          "capsLock": {"type": "boolean", "optional": true, "description": "Whether or not the CAPS_LOCK is enabled."}
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        }
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "id": "InputContext",
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "object",
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Describes an input Context",
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "properties": {
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "contextID": {"type": "integer", "description": "This is used to specify targets of text field operations.  This ID becomes invalid as soon as onBlur is called."},
346d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)          "type": {"type": "string", "description": "Type of value this text field edits, (Text, Number, URL, etc)", "enum": ["text", "search", "tel", "url", "email", "number", "password"]}
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        }
367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      },
377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch      {
387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch        "id": "MenuItem",
397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch        "type": "object",
407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch        "description": "A menu item used by an input method to interact with the user from the language menu.",
417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch        "properties": {
427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          "id": {"type": "string", "description": "String that will be passed to callbacks referencing this MenuItem."},
437dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          "label": {"type": "string", "optional": true, "description": "Text displayed in the menu for this item."},
447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          "style": {
457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch            "type": "string",
467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch            "optional": true,
477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch            "description": "Enum representing if this item is: check, radio, or a separator.  Radio buttons between separators are considered grouped.",
487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch            "enum": ["check", "radio", "separator"]
497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          },
507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          "visible": {"type": "boolean", "optional": true, "description": "Indicates this item is visible."},
517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          "checked": {"type": "boolean", "optional": true, "description": "Indicates this item should be drawn with a check."},
527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch          "enabled": {"type": "boolean", "optional": true, "description": "Indicates this item is enabled."}
537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch        }
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ],
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "functions": [
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "setComposition",
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Set the current composition. If this extension does not own the active IME, this fails.",
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "contextID": {
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the context where the composition text will be set",
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "text": {
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "Text to set",
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "string"
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "selectionStart": {
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "Position in the text that the selection starts at.",
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "optional": true,
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "selectionEnd": {
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "Position in the text that the selection ends at.",
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "optional": true,
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "cursor": {
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "Position in the text of the cursor.",
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "segments": {
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "List of segments and their associated types.",
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "array",
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "optional": true,
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "items": {
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "type": "object",
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "properties": {
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "start": {
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "description": "Index of the character to start this segment at",
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "type": "integer"
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    },
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "end": {
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "description": "Index of the character to end this segment after.",
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "type": "integer"
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    },
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "style": {
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "description": "How to render this segment",
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "enum": ["underline", "doubleUnderline"],
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                      "type": "string"
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    }
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  }
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "Called when the operation completes with a boolean indicating if the text was accepted or not. On failure, chrome.runtime.lastError is set.",
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": [
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              {
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "name": "success",
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "boolean"
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ]
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "clearComposition",
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Clear the current composition. If this extension does not own the active IME, this fails.",
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "contextID": {
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the context where the composition will be cleared",
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "Called when the operation completes with a boolean indicating if the text was accepted or not. On failure, chrome.runtime.lastError is set.",
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": [
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              {
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "name": "success",
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "boolean"
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ]
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "commitText",
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Commits the provided text to the current input.",
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "contextID": {
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the context where the text will be committed",
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "text": {
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "The text to commit",
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "string"
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "Called when the operation completes with a boolean indicating if the text was accepted or not. On failure, chrome.runtime.lastError is set.",
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": [
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              {
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "name": "success",
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "boolean"
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ]
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
1905d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "name": "sendKeyEvents",
1915d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "type": "function",
1925d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "description": "Sends the key events.  This function is expected to be used by virtual keyboards.  When key(s) on a virtual keyboard is pressed by a user, this function is used to propagate that event to the system.",
1935d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "parameters": [
1945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          {
1955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "name": "parameters",
1965d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "type": "object",
1975d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "properties": {
1985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              "contextID": {
199effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                "description": "ID of the context where the key events will be sent, or zero to send key events to non-input field.",
2005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                "type": "integer"
2015d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              },
2025d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              "keyData": {
2035d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                "type": "array",
2045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                "description": "Data on the key event.",
2055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                "items": {
2065d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                  "$ref": "KeyboardEvent"
2075d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                }
2085d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              }
2095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            }
2105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          },
2115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          {
2125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "type": "function",
2135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "name": "callback",
2145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "optional": true,
2155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "description": "Called when the operation completes.",
2165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            "parameters": []
2175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          }
2185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        ]
2195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      },
2205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {
2215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "name": "hideInputView",
2225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "type": "function",
2235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "description": "Hides the input view window, which is popped up automatically by system. If the input view window is already hidden, this function will do nothing.",
2245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "parameters": []
2255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      },
2265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      {
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "setCandidateWindowProperties",
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
2295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "description": "Sets the properties of the candidate window. This fails if the extension doesn't own the active IME",
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "engineID": {
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the engine to set properties on.",
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "string"
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "properties": {
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "object",
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "properties": {
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "visible": {
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "type": "boolean",
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "optional": true,
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "description": "True to show the Candidate window, false to hide it."
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "cursorVisible": {
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "type": "boolean",
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "optional": true,
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "description": "True to show the cursor, false to hide it."
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "vertical": {
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "type": "boolean",
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "optional": true,
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "description": "True if the candidate window should be rendered vertical, false to make it horizontal."
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "pageSize": {
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "type": "integer",
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "optional": true,
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "description": "The number of candidates to display per page."
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "auxiliaryText": {
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "type": "string",
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "optional": true,
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "description": "Text that is shown at the bottom of the candidate window."
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "auxiliaryTextVisible": {
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "type": "boolean",
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "optional": true,
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "description": "True to display the auxiliary text, false to hide it."
271c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                  },
272c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                  "windowPosition": {
273c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                    "type": "string",
274c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                    "description": "Where to display the candidate window. If set to 'cursor', the window follows the cursor. If set to 'composition', the window is locked to the beginning of the composition.",
275c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                    "enum": ["cursor", "composition"],
276c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                    "optional": true
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  }
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Called when the operation completes.",
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": [
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              {
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "name": "success",
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "boolean"
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ]
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "setCandidates",
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
2995d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        "description": "Sets the current candidate list. This fails if this extension doesn't own the active IME",
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "contextID": {
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the context that owns the candidate window.",
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "candidates": {
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "List of candidates to show in the candidate window",
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "array",
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "items": {
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "type": "object",
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  "properties": {
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "candidate": {"type": "string", "description": "The candidate"},
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "id": {"type": "integer", "description": "The candidate's id"},
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "parentId": {"type": "integer", "optional": true, "description": "The id to add these candidates under"},
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    "label": {"type": "string", "optional": true, "description": "Short string displayed to next to the candidate, often the shortcut key or index"},
3192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                    "annotation": {"type": "string", "optional": true, "description": "Additional text describing the candidate"},
3202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                    "usage": {
3212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                      "type": "object",
3222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                      "optional": true,
3232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                      "description": "The usage or detail description of word.",
3242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                      "properties": {
3252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                        "title": { "type": "string", "description": "The title string of details description."},
3262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                        "body": { "type": "string", "description": "The body string of detail description."}
3272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                      }
3282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                    }
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  }
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Called when the operation completes.",
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": [
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              {
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "name": "success",
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "boolean"
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ]
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "setCursorPosition",
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Set the position of the cursor in the candidate window. This is a no-op if this extension does not own the active IME.",
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "contextID": {
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the context that owns the candidate window.",
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "candidateID": {
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the candidate to select.",
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "integer"
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Called when the operation completes",
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": [
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              {
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "name": "success",
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "boolean"
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ]
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "setMenuItems",
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Adds the provided menu items to the language menu when this IME is active.",
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "engineID": {
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the engine to use",
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "string"
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "items": {
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "MenuItems to add. They will be added in the order they exist in the array.",
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "array",
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "items": {
3987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch                  "$ref": "MenuItem"
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "",
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": []
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "updateMenuItems",
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Updates the state of the MenuItems specified",
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "parameters",
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "object",
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "properties": {
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "engineID": {
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "ID of the engine to use",
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "string"
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              "items": {
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "description": "Array of MenuItems to update",
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "type": "array",
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                "items": {
4297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch                  "$ref": "MenuItem"
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              }
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "function",
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "callback",
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "optional": true,
4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Called when the operation completes",
4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "parameters": []
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
4442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "name": "deleteSurroundingText",
4452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "type": "function",
4462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "description": "Deletes the text around the caret.",
4472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "parameters": [
4482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {
4492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "name": "parameters",
4502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "type": "object",
4512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "properties": {
4522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "engineID": {
4532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "string",
4542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "ID of the engine receiving the event."
4552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              },
4562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "contextID": {
4572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "integer",
4582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "ID of the context where the surrounding text will be deleted."
4592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              },
4602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "offset": {
4612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "integer",
4622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "The offset from the caret position where deletion will start. This value can be negative."
4632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              },
4642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "length": {
4652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "integer",
4662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "The number of characters to be deleted",
4672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "minimum": 0
4682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              }
4692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            }
4702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          },
4712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {
4722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "type": "function",
4732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "name": "callback",
4742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "optional": true,
4752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "Called when the operation completes.",
4762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "parameters": []
4772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          }
4782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ]
4792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      },
4802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      {
4812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "name": "keyEventHandled",
4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
4832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "description": "Indicates that the key event received by onKeyEvent is handled.  This should only be called if the onKeyEvent listener is asynchronous.",
4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
4852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {"type": "string", "name": "requestId", "description": "Request id of the event that was handled.  This should come from keyEvent.requestId"},
4862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {"type": "boolean", "name": "response", "description": "True if the keystroke was handled, false if not"}
4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }
4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ],
4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "events": [
4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onActivate",
4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "This event is sent when an IME is activated. It signals that the IME will be receiving onKeyPress events.",
4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "engineID",
4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "ID of the engine receiving the event"
5006e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)          },
5016e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)          {
5026e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)            "type": "string",
5036e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)            "name": "screen",
5046e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)            "enum": ["normal", "login", "lock", "secondary-login"],
5056e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)            "description": "The screen type under which the IME is activated."
5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onDeactivated",
5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "This event is sent when an IME is deactivated. It signals that the IME will no longer be receiving onKeyPress events.",
5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "engineID",
5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "ID of the engine receiving the event"
5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onFocus",
5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "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.",
5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "$ref": "InputContext",
5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "context",
5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Describes the text field that has acquired focus."
5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onBlur",
5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "This event is sent when focus leaves a text box. It is sent to all extensions that are listening to this event, and enabled by the user.",
5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "integer",
5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "contextID",
5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "The ID of the text field that has lost focus. The ID is invalid after this call"
5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onInputContextUpdate",
5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "This event is sent when the properties of the current InputContext change, such as the the type. It is sent to all extensions that are listening to this event, and enabled by the user.",
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "$ref": "InputContext",
5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "context",
5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "An InputContext object describing the text field that has changed."
5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onKeyEvent",
5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "This event is sent if this extension owns the active IME.",
5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "options": {
5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "supportsFilters": false,
5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "supportsListeners": true,
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "supportsRules": false,
5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "maxListeners": 1
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        },
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "engineID",
5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "ID of the engine receiving the event"
5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "$ref": "KeyboardEvent",
5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "keyData",
5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Data on the key event"
5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ],
5792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "extraParameters": [
5802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {
5812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "type": "array",
5822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "optional": true,
5832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "name": "extraInfoSpec",
5842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "Array of extra information that specifies how the callback is invoked.",
5852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "items": {
5862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "type": "string",
5872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "enum": ["async"]
5882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            }
5892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          }
5902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ],
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "returns": {
5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          "type": "boolean",
5932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          "description": "True if the keystroke was handled, false if not.  This function should always return a value if |async| is not specified.",
5942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          "optional": true
5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        }
5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onCandidateClicked",
5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "This event is sent if this extension owns the active IME.",
6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "engineID",
6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "ID of the engine receiving the event"
6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "integer",
6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "candidateID",
6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "ID of the candidate that was clicked."
6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "button",
6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Which mouse buttons was clicked.",
6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "enum": ["left", "middle", "right"]
6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      {
6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "name": "onMenuItemActivated",
6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "type": "function",
6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "description": "Called when the user selects a menu item",
6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        "parameters": [
6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "engineID",
6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "ID of the engine receiving the event"
6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          {
6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "type": "string",
6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "name": "name",
6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            "description": "Name of the MenuItem which was activated"
6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }
6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ]
6362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      },
6372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      {
6382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "name": "onSurroundingTextChanged",
6392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "type": "function",
6402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "description": "Called when the editable string around caret is changed or when the caret position is moved. The text length is limited to 100 characters for each back and forth direction.",
6412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "parameters": [
6422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {
6432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "type": "string",
6442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "name": "engineID",
6452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "ID of the engine receiving the event"
6462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          },
6472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          {
6482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "type": "object",
6492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "name": "surroundingInfo",
6502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "description": "The surrounding information.",
6512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            "properties": {
6522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "text": {
6532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "string",
6542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "The text around cursor."
6552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              },
6562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "focus": {
6572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "integer",
6582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "The ending position of the selection. This value indicates caret position if there is no selection."
6592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              },
6602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              "anchor": {
6612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "type": "integer",
6622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                "description": "The beginning position of the selection. This value indicates caret position if is no selection."
6632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              }
6642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            }
6652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          }
6662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ]
66790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      },
66890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)      {
66990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        "name": "onReset",
67090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        "type": "function",
67190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        "description": "This event is sent when chrome terminates ongoing text input session.",
67290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        "parameters": [
67390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)          {
67490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)            "type": "string",
67590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)            "name": "engineID",
67690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)            "description": "ID of the engine receiving the event"
67790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)          }
67890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        ]
6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }
6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ]
6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)]
683