// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
{
"namespace": "chromeosInfoPrivate",
"description": "none",
"compiler_options": {
"implemented_in": "chrome/browser/chromeos/extensions/info_private_api.h"
},
"types": [
{
"id": "PropertyName",
"type": "string",
"enum": ["timezone",
"a11yLargeCursorEnabled",
"a11yStickyKeysEnabled",
"a11ySpokenFeedbackEnabled",
"a11yHighContrastEnabled",
"a11yScreenMagnifierEnabled",
"a11yAutoClickEnabled",
"a11yVirtualKeyboardEnabled",
"a11yCaretHighlightEnabled",
"a11yCursorHighlightEnabled",
"a11yFocusHighlightEnabled",
"a11ySelectToSpeakEnabled",
"a11ySwitchAccessEnabled",
"a11yCursorColorEnabled",
"a11yDockedMagnifierEnabled",
"sendFunctionKeys"],
"description": "Chrome OS system property name"
},
{
"id": "SessionType",
"type": "string",
"enum": ["normal", "kiosk", "public session"],
"description": "Current session type."
},
{
"id": "PlayStoreStatus",
"type": "string",
"enum": ["not available", "available", "enabled"],
"description": "Status of the play store. Note: 'available' means that the device supports the playstore but it is not enabled."
},
{
"id": "ManagedDeviceStatus",
"type": "string",
"enum": ["managed", "not managed"],
"description": "Status of enterprise enrollment."
},
{
"id": "DeviceType",
"type": "string",
"enum": ["chromebase", "chromebit", "chromebook", "chromebox", "chromedevice"],
"description": "Device type."
},
{
"id": "StylusStatus",
"type": "string",
"enum": ["unsupported", "supported", "seen"],
"description": "Status of stylus."
},
{
"id": "AssistantStatus",
"type": "string",
"enum": ["unsupported", "supported"],
"description": "Status of Google Assistant."
}
],
"functions": [
{
"name": "get",
"description": "Fetches customization values for the given property names. See property names in the declaration of the returned dictionary.",
"type": "function",
"parameters": [
{
"name": "propertyNames",
"type": "array",
"description": "Chrome OS Property names",
"items": {"type": "string"}
}
],
"returns_async": {
"name": "callback",
"parameters": [
{
"name": "propertiesDictionary",
"type": "object",
"description": "Dictionary which contains all requested properties",
"properties": {
"board" : {"type": "string", "optional": true, "description": "Board name"},
"customizationId": {"type": "string", "optional": true, "description": "Customization ID"},
"homeProvider" : {"type": "string", "optional": true, "description": "Home provider which is used by the cellular device"},
"hwid": {"type": "string", "optional": true, "description": "Hardware ID"},
"deviceRequisition": {"type": "string", "optional": true, "description": "OEM Device Requisition set in VPD"},
"isMeetDevice": {"type": "boolean", "optional": true, "description": "True if Chrome is built with is_cfm build flag"},
"initialLocale" : {"type": "string", "optional": true, "description": "Initial locale for the device"},
"isOwner" : {"type": "boolean", "optional": true, "description": "True if current logged in user is device owner"},
"sessionType": {"$ref": "SessionType", "optional": true},
"playStoreStatus": {"$ref": "PlayStoreStatus", "optional": true},
"managedDeviceStatus": {"$ref": "ManagedDeviceStatus", "optional": true},
"deviceType": {"$ref": "DeviceType", "optional": true},
"stylusStatus": {"$ref": "StylusStatus", "optional": true},
"assistantStatus": {"$ref": "AssistantStatus", "optional": true},
"clientId" : {"type": "string", "optional": true, "description": "Device client id"},
"timezone" : {"type": "string", "optional": true, "description": "Timezone"},
"a11yLargeCursorEnabled" : {"type": "boolean", "optional": true, "description": "If true, ChromeOS is showing enlarged cursor."},
"a11yStickyKeysEnabled" : {"type": "boolean", "optional": true, "description": "If true, sticky keys are turned on."},
"a11ySpokenFeedbackEnabled" : {"type": "boolean", "optional": true, "description": "If enabled, ChromeOS text-to-speech feature is turned on."},
"a11yHighContrastEnabled" : {"type": "boolean", "optional": true, "description": "If true, all displays have high contrast mode turned on."},
"a11yScreenMagnifierEnabled" : {"type": "boolean", "optional": true, "description": "If true, all displays have screen magnifier turned on."},
"a11yAutoClickEnabled" : {"type": "boolean", "optional": true, "description": "If true, autoclick accessibility feature is turned on."},
"a11yVirtualKeyboardEnabled" : {"type": "boolean", "optional": true, "description": "If true, virtual keyboard will be enabled."},
"a11yCaretHighlightEnabled" : {"type": "boolean", "optional": true, "description": "If true, caret highlighting will be enabled."},
"a11yCursorHighlightEnabled" : {"type": "boolean", "optional": true, "description": "If true, cursor highlighting will be enabled."},
"a11yFocusHighlightEnabled" : {"type": "boolean", "optional": true, "description": "If true, focus highlighting will be enabled."},
"a11ySelectToSpeakEnabled" : {"type": "boolean", "optional": true, "description": "If true, select to speak will be enabled."},
"a11ySwitchAccessEnabled" : {"type": "boolean", "optional": true, "description": "If true, switch access will be enabled."},
"a11yCursorColorEnabled" : {"type": "boolean", "optional": true, "description": "If true, colorized cursor will be enabled."},
"a11yDockedMagnifierEnabled" : {"type": "boolean", "optional": true, "description": "If true, docked magnifier will be enabled."},
"sendFunctionKeys" : {"type": "boolean", "optional": true, "description": "If true, the ChromeOS top row keys send function keys."},
"supportedTimezones" : {
"type": "array",
"items": {
"type": "array",
"items": {"type": "string"}
},
"optional": true,
"description": "List of supported timezones definitions."
}
}
}
]
}
},
{
"name": "set",
"description": "Sets values for the given system property.",
"type": "function",
"parameters": [
{
"name": "propertyName",
"$ref": "PropertyName",
"description": "Chrome OS system property name"
},
{
"name": "propertyValue",
"type": "any",
"description": "Chrome OS system property value"
}
]
},
{
"name": "isTabletModeEnabled",
"type": "function",
"description": "Called to request tablet mode enabled status from the Chrome OS system.",
"parameters": [],
"returns_async": {
"name": "callback",
"description": "Returns tablet mode enabled status as a boolean.",
"parameters": [
{
"name": "tabletModeEnabled",
"type": "boolean"
}
]
}
},
{
"name": "isRunningOnLacros",
"type": "function",
"description": "Called to request status of lacros browser enabled for primary user.",
"parameters": [],
"returns_async": {
"name": "callback",
"description": "Returns true if called from within the Lacros context.",
"parameters": [
{
"name": "runningOnLacros",
"type": "boolean"
}
]
}
}
]
}
]