| // Copyright 2024 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. |
| // NOTE: The format of types has changed. 'FooType' is now |
| // 'chrome.terminalPrivate.FooType'. |
| // Please run the closure compiler before committing changes. |
| // See https://chromium.googlesource.com/chromium/src/+/main/docs/closure_compilation.md |
| |
| /** |
| * @fileoverview Externs generated from namespace: terminalPrivate |
| * @externs |
| */ |
| |
| /** @const */ |
| chrome.terminalPrivate = {}; |
| |
| /** |
| * @enum {string} |
| */ |
| chrome.terminalPrivate.OutputType = { |
| STDOUT: 'stdout', |
| STDERR: 'stderr', |
| EXIT: 'exit', |
| }; |
| |
| /** |
| * Starts new process. |
| * @param {string} processName Name of the process to open. May be 'crosh' or |
| * 'vmshell'. |
| * @param {?Array<string>|undefined} args Command line arguments to pass to the |
| * process. |
| * @param {function(string): void} callback Returns id of the launched process. |
| * If no process was launched returns -1. |
| */ |
| chrome.terminalPrivate.openTerminalProcess = function(processName, args, callback) {}; |
| |
| /** |
| * Starts new vmshell process. |
| * @param {?Array<string>|undefined} args Command line arguments to pass to |
| * vmshell. |
| * @param {function(string): void} callback Returns id of the launched vmshell |
| * process. If no process was launched returns -1. |
| */ |
| chrome.terminalPrivate.openVmshellProcess = function(args, callback) {}; |
| |
| /** |
| * Closes previously opened process from either openTerminalProcess or |
| * openVmshellProcess. |
| * @param {string} id Unique id of the process we want to close. |
| * @param {function(boolean): void=} callback Function that gets called when |
| * close operation is started for the process. Returns success of the |
| * function. |
| */ |
| chrome.terminalPrivate.closeTerminalProcess = function(id, callback) {}; |
| |
| /** |
| * Sends input that will be routed to stdin of the process with the specified |
| * id. |
| * @param {string} id The id of the process to which we want to send input. |
| * @param {string} input Input we are sending to the process. |
| * @param {function(boolean): void=} callback Callback that will be called when |
| * sendInput method ends. Returns success. |
| */ |
| chrome.terminalPrivate.sendInput = function(id, input, callback) {}; |
| |
| /** |
| * Notify the process with the id id that terminal window size has changed. |
| * @param {string} id The id of the process. |
| * @param {number} width New window width (as column count). |
| * @param {number} height New window height (as row count). |
| * @param {function(boolean): void=} callback Callback that will be called when |
| * sendInput method ends. Returns success. |
| */ |
| chrome.terminalPrivate.onTerminalResize = function(id, width, height, callback) {}; |
| |
| /** |
| * Called from |onProcessOutput| when the event is dispatched to terminal |
| * extension. Observing the terminal process output will be paused after |
| * |onProcessOutput| is dispatched until this method is called. |
| * @param {string} id The id of the process to which |onProcessOutput| was |
| * dispatched. |
| */ |
| chrome.terminalPrivate.ackOutput = function(id) {}; |
| |
| /** |
| * Open a Terminal app window/tab |
| * @param {{ |
| * url: (string|undefined), |
| * asTab: (boolean|undefined) |
| * }=} data |
| */ |
| chrome.terminalPrivate.openWindow = function(data) {}; |
| |
| /** |
| * Open the Terminal Settings page. |
| * @param {function(): void} callback Callback that will be called when |
| * complete. |
| */ |
| chrome.terminalPrivate.openOptionsPage = function(callback) {}; |
| |
| /** |
| * Open the System Settings at the specified subpage. |
| * @param {string} subpage Name of subpage to open. Currently only 'crostini' |
| * supported. |
| * @param {function(): void} callback Callback that will be called when |
| * complete. |
| */ |
| chrome.terminalPrivate.openSettingsSubpage = function(subpage, callback) {}; |
| |
| /** |
| * Returns an object containing info about ChromeOS settings that affect the |
| * Terminal, e.g. which feature flags are enabled. |
| * @param {function({ |
| * tast: boolean |
| * }): void} callback Callback that will be called with the info object. |
| */ |
| chrome.terminalPrivate.getOSInfo = function(callback) {}; |
| |
| /** |
| * Returns specified pref values, ignoring any not in allowlist. |
| * @param {!Array<string>} paths Paths of prefs to fetch. |
| * @param {function(Object): void} callback Callback that will be called with |
| * prefs. |
| */ |
| chrome.terminalPrivate.getPrefs = function(paths, callback) {}; |
| |
| /** |
| * Sets specified prefs, ignoring any not in allowlist. |
| * @param {Object} prefs Prefs to update keyed by paths. |
| * @param {function(): void} callback Callback that will be called when |
| * complete. |
| */ |
| chrome.terminalPrivate.setPrefs = function(prefs, callback) {}; |
| |
| /** |
| * Fired when an opened process writes something to its output. Observing |
| * further process output will be blocked until |ackOutput| for the terminal is |
| * called. Internally, first event argument will be ID of the tab that contains |
| * terminal instance for which this event is intended. This argument will be |
| * stripped before passing the event to the extension. |
| * @type {!ChromeEvent} |
| */ |
| chrome.terminalPrivate.onProcessOutput; |
| |
| /** |
| * Fired when pref changes. |
| * @type {!ChromeEvent} |
| */ |
| chrome.terminalPrivate.onPrefChanged; |