https://github.com/web-platform-tests/wpt
Revision f941f71d5aae723c2204aa8c1024280b9ecab055 authored by Sam Goto on 18 December 2018, 20:56:38 UTC, committed by Philip Jägenstedt on 19 December 2018, 15:35:45 UTC
https://github.com/inexorabletash/idle-detection

Just a webification of the chrome.idle.* APIs.

Does not yet include:

- permission checks
- android integration
- final API

Bug: 878979
Change-Id: Ie45b34d5c29e04dfe65f8ff5127c6be34850d68f
1 parent 712c9f2
Raw File
Tip revision: f941f71d5aae723c2204aa8c1024280b9ecab055 authored by Sam Goto on 18 December 2018, 20:56:38 UTC
Idle Detection API: Prototype
Tip revision: f941f71
idlharness.https.any.js
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
// META: script=/webusb/resources/fake-devices.js
// META: script=/webusb/resources/usb-helpers.js

'use strict';

idl_test(
  ['webusb'],
  ['permissions', 'html', 'dom'],
  async idl_array => {
    if (self.GLOBAL.isWindow()) {
      idl_array.add_objects({ Navigator: ['navigator'] });
    } else if (self.GLOBAL.isWorker()) {
      idl_array.add_objects({ WorkerNavigator: ['navigator'] });
    }

    idl_array.add_objects({
      USB: ['navigator.usb'],
      USBAlternateInterface: ['usbAlternateInterface'],
      USBConfiguration: ['usbConfiguration'],
      USBConnectionEvent: ['usbConnectionEvent'],
      USBDevice: ['usbDevice'],
      USBEndpoint: ['usbEndpoint'],
      USBInterface: ['usbInterface'],
      USBInTransferResult: ['new USBInTransferResult("ok")'],
      USBOutTransferResult: ['new USBOutTransferResult("ok")'],
      USBIsochronousInTransferResult: ['new USBIsochronousInTransferResult([])'],
      USBIsochronousOutTransferResult: ['new USBIsochronousOutTransferResult([])'],
      USBIsochronousInTransferPacket: ['new USBIsochronousInTransferPacket("ok")'],
      USBIsochronousOutTransferPacket: ['new USBIsochronousOutTransferPacket("ok")'],
    });

    return usb_test(async () => {
      // Ignored errors are surfaced in idlharness.js's test_object below.
      self.usbDevice = await getFakeDevice().device;
      self.usbConfiguration = usbDevice.configurations[0];
      self.usbInterface = usbConfiguration.interfaces[0];
      self.usbAlternateInterface = usbInterface.alternates[0];
      self.usbEndpoint = usbAlternateInterface.endpoints[0];
      self.usbConnectionEvent =
          new USBConnectionEvent('connect', { device: usbDevice });
    }, 'USB device setup');
  }
);
back to top