// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://wicg.github.io/webusb/#usb
[
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers,
ServiceWorker WebUSBOnServiceWorkers,
Window WebUSB),
SecureContext
] interface USB : EventTarget {
attribute EventHandler onconnect;
attribute EventHandler ondisconnect;
[CallWith=ScriptState, RaisesException, MeasureAs=UsbGetDevices] Promise<sequence<USBDevice>> getDevices();
[CallWith=ScriptState, RaisesException, Exposed=Window, MeasureAs=UsbRequestDevice] Promise<USBDevice> requestDevice(USBDeviceRequestOptions options);
};