chromium/chrome/common/extensions/api/chromeos_info_private.json

// 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"
            }
          ]
        }
      }
    ]
  }
]