chromium/third_party/blink/renderer/modules/managed_device/navigator_managed_data.idl

// 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.

[
  ActiveScriptWrappable,
  Exposed=Window,
  SecureContext
] interface NavigatorManagedData : EventTarget {
  // Managed Configuration API.
  [CallWith=ScriptState, RuntimeEnabled=ManagedConfiguration]
  Promise<record<DOMString, any>> getManagedConfiguration(sequence<DOMString> keys);
  [RuntimeEnabled=ManagedConfiguration]
  attribute EventHandler onmanagedconfigurationchange;

  // Device Attributes API.
  [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure]
  Promise<DOMString?> getDirectoryId();
  [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure]
  Promise<DOMString?> getHostname();
  [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure]
  Promise<DOMString?> getSerialNumber();
  [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure]
  Promise<DOMString?> getAnnotatedAssetId();
  [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure]
  Promise<DOMString?> getAnnotatedLocation();
};