chromium/third_party/closure_compiler/externs/chromeos_info_private.js

// 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.
// NOTE: The format of types has changed. 'FooType' is now
//   'chrome.chromeosInfoPrivate.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: chromeosInfoPrivate
 * @externs
 */

/** @const */
chrome.chromeosInfoPrivate = {};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.PropertyName = {
  TIMEZONE: 'timezone',
  A11Y_LARGE_CURSOR_ENABLED: 'a11yLargeCursorEnabled',
  A11Y_STICKY_KEYS_ENABLED: 'a11yStickyKeysEnabled',
  A11Y_SPOKEN_FEEDBACK_ENABLED: 'a11ySpokenFeedbackEnabled',
  A11Y_HIGH_CONTRAST_ENABLED: 'a11yHighContrastEnabled',
  A11Y_SCREEN_MAGNIFIER_ENABLED: 'a11yScreenMagnifierEnabled',
  A11Y_AUTO_CLICK_ENABLED: 'a11yAutoClickEnabled',
  A11Y_VIRTUAL_KEYBOARD_ENABLED: 'a11yVirtualKeyboardEnabled',
  A11Y_CARET_HIGHLIGHT_ENABLED: 'a11yCaretHighlightEnabled',
  A11Y_CURSOR_HIGHLIGHT_ENABLED: 'a11yCursorHighlightEnabled',
  A11Y_FOCUS_HIGHLIGHT_ENABLED: 'a11yFocusHighlightEnabled',
  A11Y_SELECT_TO_SPEAK_ENABLED: 'a11ySelectToSpeakEnabled',
  A11Y_SWITCH_ACCESS_ENABLED: 'a11ySwitchAccessEnabled',
  A11Y_CURSOR_COLOR_ENABLED: 'a11yCursorColorEnabled',
  A11Y_DOCKED_MAGNIFIER_ENABLED: 'a11yDockedMagnifierEnabled',
  SEND_FUNCTION_KEYS: 'sendFunctionKeys',
};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.SessionType = {
  NORMAL: 'normal',
  KIOSK: 'kiosk',
  PUBLIC_SESSION: 'public session',
};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.PlayStoreStatus = {
  NOT_AVAILABLE: 'not available',
  AVAILABLE: 'available',
  ENABLED: 'enabled',
};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.ManagedDeviceStatus = {
  MANAGED: 'managed',
  NOT_MANAGED: 'not managed',
};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.DeviceType = {
  CHROMEBASE: 'chromebase',
  CHROMEBIT: 'chromebit',
  CHROMEBOOK: 'chromebook',
  CHROMEBOX: 'chromebox',
  CHROMEDEVICE: 'chromedevice',
};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.StylusStatus = {
  UNSUPPORTED: 'unsupported',
  SUPPORTED: 'supported',
  SEEN: 'seen',
};

/**
 * @enum {string}
 */
chrome.chromeosInfoPrivate.AssistantStatus = {
  UNSUPPORTED: 'unsupported',
  SUPPORTED: 'supported',
};

/**
 * Fetches customization values for the given property names. See property names
 * in the declaration of the returned dictionary.
 * @param {!Array<string>} propertyNames Chrome OS Property names
 * @param {function({
 *   board: (string|undefined),
 *   customizationId: (string|undefined),
 *   homeProvider: (string|undefined),
 *   hwid: (string|undefined),
 *   deviceRequisition: (string|undefined),
 *   isMeetDevice: (boolean|undefined),
 *   initialLocale: (string|undefined),
 *   isOwner: (boolean|undefined),
 *   sessionType: (!chrome.chromeosInfoPrivate.SessionType|undefined),
 *   playStoreStatus: (!chrome.chromeosInfoPrivate.PlayStoreStatus|undefined),
 *   managedDeviceStatus: (!chrome.chromeosInfoPrivate.ManagedDeviceStatus|undefined),
 *   deviceType: (!chrome.chromeosInfoPrivate.DeviceType|undefined),
 *   stylusStatus: (!chrome.chromeosInfoPrivate.StylusStatus|undefined),
 *   assistantStatus: (!chrome.chromeosInfoPrivate.AssistantStatus|undefined),
 *   clientId: (string|undefined),
 *   timezone: (string|undefined),
 *   a11yLargeCursorEnabled: (boolean|undefined),
 *   a11yStickyKeysEnabled: (boolean|undefined),
 *   a11ySpokenFeedbackEnabled: (boolean|undefined),
 *   a11yHighContrastEnabled: (boolean|undefined),
 *   a11yScreenMagnifierEnabled: (boolean|undefined),
 *   a11yAutoClickEnabled: (boolean|undefined),
 *   a11yVirtualKeyboardEnabled: (boolean|undefined),
 *   a11yCaretHighlightEnabled: (boolean|undefined),
 *   a11yCursorHighlightEnabled: (boolean|undefined),
 *   a11yFocusHighlightEnabled: (boolean|undefined),
 *   a11ySelectToSpeakEnabled: (boolean|undefined),
 *   a11ySwitchAccessEnabled: (boolean|undefined),
 *   a11yCursorColorEnabled: (boolean|undefined),
 *   a11yDockedMagnifierEnabled: (boolean|undefined),
 *   sendFunctionKeys: (boolean|undefined),
 *   supportedTimezones: (!Array<!Array<string>>|undefined)
 * }): void} callback
 */
chrome.chromeosInfoPrivate.get = function(propertyNames, callback) {};

/**
 * Sets values for the given system property.
 * @param {!chrome.chromeosInfoPrivate.PropertyName} propertyName Chrome OS
 *     system property name
 * @param {*} propertyValue Chrome OS system property value
 */
chrome.chromeosInfoPrivate.set = function(propertyName, propertyValue) {};

/**
 * Called to request tablet mode enabled status from the Chrome OS system.
 * @param {function(boolean): void} callback Returns tablet mode enabled status
 *     as a boolean.
 */
chrome.chromeosInfoPrivate.isTabletModeEnabled = function(callback) {};

/**
 * Called to request status of lacros browser enabled for primary user.
 * @param {function(boolean): void} callback Returns true if called from within
 *     the Lacros context.
 */
chrome.chromeosInfoPrivate.isRunningOnLacros = function(callback) {};