| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This file was generated by: |
| // tools/json_schema_compiler/compiler.py. |
| |
| /** @fileoverview Interface for inputMethodPrivate that can be overriden. */ |
| |
| /** @interface */ |
| function InputMethodPrivate() {} |
| |
| InputMethodPrivate.prototype = { |
| /** |
| * Gets configurations for input methods. |
| * @param {function({ |
| * isPhysicalKeyboardAutocorrectEnabled: boolean, |
| * isImeMenuActivated: boolean |
| * }): void} callback Resolves with the config object. |
| */ |
| getInputMethodConfig: function(callback) {}, |
| |
| /** |
| * Gets all enabled input methods, sorted in ascending order of their |
| * localized full display names, according to the lexicographical order |
| * defined by the current system locale aka. display language. |
| * @param {function(!Array<{ |
| * id: string, |
| * name: string, |
| * indicator: string |
| * }>): void} callback Resolves with the input method objects. |
| */ |
| getInputMethods: function(callback) {}, |
| |
| /** |
| * Gets the current input method. |
| * @param {function(string): void} callback Resolves with the current input |
| * method. |
| */ |
| getCurrentInputMethod: function(callback) {}, |
| |
| /** |
| * Sets the current input method. |
| * @param {string} inputMethodId The input method ID to be set as current |
| * input method. |
| * @param {function(): void=} callback Resolves once the current input method |
| * is set. If unsuccessful, the promise is rejected. |
| */ |
| setCurrentInputMethod: function(inputMethodId, callback) {}, |
| |
| /** |
| * Switches to the last used input method. If no last used input method, this |
| * is a no-op. |
| * @param {function(): void=} callback Resolves once the input method is |
| * swapped (if applicable). If unsuccessful, the promise is rejected. |
| */ |
| switchToLastUsedInputMethod: function(callback) {}, |
| |
| /** |
| * Fetches a list of all the words currently in the dictionary. |
| * @param {function(!Array<string>): void} callback Resolves once the list of |
| * dictionary words are ready. |
| */ |
| fetchAllDictionaryWords: function(callback) {}, |
| |
| /** |
| * Adds a single word to be stored in the dictionary. |
| * @param {string} word A new word to add to the dictionary. |
| * @param {function(): void=} callback Resolves once the word is added. If |
| * unsuccessful, the promise is rejected. |
| */ |
| addWordToDictionary: function(word, callback) {}, |
| |
| /** |
| * Sets the XKB layout for the given input method. |
| * @param {string} xkb_name The XKB layout name. |
| * @param {function(): void=} callback Resolves when the layout is set. |
| */ |
| setXkbLayout: function(xkb_name, callback) {}, |
| |
| /** |
| * Commits the text currently being composed without moving the selected text |
| * range. This is a no-op if the context is incorrect. |
| * @param {{ |
| * contextID: number |
| * }} parameters |
| * @param {function(): void=} callback Resolves when the operation completes. |
| */ |
| finishComposingText: function(parameters, callback) {}, |
| |
| /** |
| * Shows the input view window. If the input view window is already shown, |
| * this function will do nothing. |
| * @param {function(): void=} callback Resolves when the operation completes. |
| */ |
| showInputView: function(callback) {}, |
| |
| /** |
| * Hides the input view window. If the input view window is already hidden, |
| * this function will do nothing. |
| * @param {function(): void=} callback Resolves when the operation completes. |
| */ |
| hideInputView: function(callback) {}, |
| |
| /** |
| * Opens the options page for the input method extension. If the input method |
| * does not have options, this function will do nothing. |
| * @param {string} inputMethodId ID of the input method to open options for. |
| */ |
| openOptionsPage: function(inputMethodId) {}, |
| |
| /** |
| * Gets the surrounding text of the current selection. WARNING: This could |
| * return a stale cache that doesn't reflect reality, due to async between IMF |
| * and TextInputClient. |
| * @param {number} beforeLength The number of characters before the current |
| * selection. |
| * @param {number} afterLength The number of characters after the current |
| * selection. |
| * @param {function({ |
| * before: string, |
| * selected: string, |
| * after: string |
| * }): void} callback Resolves to provide the result |
| */ |
| getSurroundingText: function(beforeLength, afterLength, callback) {}, |
| |
| /** |
| * Gets the current values of all settings for a particular input method |
| * @param {string} engineID The ID of the engine (e.g. 'zh-t-i0-pinyin', |
| * 'xkb:us::eng') |
| * @param {function((!chrome.inputMethodPrivate.InputMethodSettings|undefined)): void} |
| * callback Resolves with the settings |
| */ |
| getSettings: function(engineID, callback) {}, |
| |
| /** |
| * Sets the value of all settings for a particular input method |
| * @param {string} engineID The ID of the engine (e.g. 'zh-t-i0-pinyin', |
| * 'xkb:us::eng') |
| * @param {!chrome.inputMethodPrivate.InputMethodSettings} settings The |
| * settings to set |
| * @param {function(): void=} callback Resolves to notify that the new value |
| * has been set |
| */ |
| setSettings: function(engineID, settings, callback) {}, |
| |
| /** |
| * (Deprecated) Set the composition range. If this extension does not own the |
| * active IME, this fails. Use setComposingRange instead. |
| * @param {{ |
| * contextID: number, |
| * selectionBefore: number, |
| * selectionAfter: number, |
| * segments: (!Array<{ |
| * start: number, |
| * end: number, |
| * style: !chrome.inputMethodPrivate.UnderlineStyle |
| * }>|undefined) |
| * }} parameters |
| * @param {function(boolean): void=} callback Resolves when the operation |
| * completes with a boolean indicating if the text was accepted or not. On |
| * failure, the promise will be rejected. |
| */ |
| setCompositionRange: function(parameters, callback) {}, |
| |
| /** |
| * Resets the current engine to its initial state. Fires an OnReset event. |
| */ |
| reset: function() {}, |
| |
| /** |
| * Called after a word has been autocorrected to show some UI for autocorrect. |
| * @param {{ |
| * contextID: number, |
| * typedWord: string, |
| * correctedWord: string, |
| * startIndex: number |
| * }} parameters |
| */ |
| onAutocorrect: function(parameters) {}, |
| |
| /** |
| * Notifies Chrome that the current input method is ready to accept key events |
| * from Tast. |
| */ |
| notifyInputMethodReadyForTesting: function() {}, |
| |
| /** |
| * Gets the aggregate status of all language packs for a given input method. |
| * @param {string} inputMethodId Fully qualified ID of the input method |
| * @param {function(!chrome.inputMethodPrivate.LanguagePackStatus): void} |
| * callback Resolves with a LanguagePackStatus when the operation |
| * completes. |
| */ |
| getLanguagePackStatus: function(inputMethodId, callback) {}, |
| }; |
| |
| /** |
| * Fired when the caret bounds change. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onCaretBoundsChanged; |
| |
| /** |
| * Fired when the input method is changed. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onChanged; |
| |
| /** |
| * Fired when the custom spelling dictionary is loaded. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onDictionaryLoaded; |
| |
| /** |
| * Fired when words are added or removed from the custom spelling dictionary. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onDictionaryChanged; |
| |
| /** |
| * Fired when the IME menu is activated or deactivated. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onImeMenuActivationChanged; |
| |
| /** |
| * Fired when the input method or the list of active input method IDs is |
| * changed. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onImeMenuListChanged; |
| |
| /** |
| * Fired when the input.ime.setMenuItems or input.ime.updateMenuItems API is |
| * called. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onImeMenuItemsChanged; |
| |
| /** |
| * 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. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onFocus; |
| |
| /** |
| * This event is sent when the screen is being mirrored or the desktop is being |
| * cast. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onScreenProjectionChanged; |
| |
| /** |
| * This event is sent when a new set of suggestions has been generated |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onSuggestionsChanged; |
| |
| /** |
| * This event is sent when input method options are changed. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onInputMethodOptionsChanged; |
| |
| /** |
| * This event is sent when any IME's language pack status is changed. |
| * @type {!ChromeEvent} |
| */ |
| InputMethodPrivate.prototype.onLanguagePackStatusChanged; |