Commit 841d469f authored by Ovidio Henriquez's avatar Ovidio Henriquez Committed by Commit Bot

Expose WebUSB API to worker context

This change updates the WebUSB IDL files to expose the API, minus
requestDevice method, to Dedicated and Shared Workers. The change is
only available via a test runtime enabled flag. The global interface
listing tests are updated to match the newly exposed interface.

The spec for this feature can be found at:
https://wicg.github.io/webusb/#enumeration

Bug: 837414
Change-Id: I0bb9c2db50d63dc0a1363853610bb24f83897702
Reviewed-on: https://chromium-review.googlesource.com/1014196Reviewed-by: default avatarChong Zhang <chongz@chromium.org>
Reviewed-by: default avatarSteve Kobes <skobes@chromium.org>
Reviewed-by: default avatarReilly Grant <reillyg@chromium.org>
Commit-Queue: Ovidio Henriquez <odejesush@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554892}
parent 2b9159c0
......@@ -1166,6 +1166,14 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method sort
[Worker] method toString
[Worker] method values
[Worker] interface USB : EventTarget
[Worker] attribute @@toStringTag
[Worker] getter onconnect
[Worker] getter ondisconnect
[Worker] method constructor
[Worker] method getDevices
[Worker] setter onconnect
[Worker] setter ondisconnect
[Worker] interface WebGL2RenderingContext
[Worker] attribute @@toStringTag
[Worker] attribute ACTIVE_ATTRIBUTES
......
......@@ -1166,6 +1166,14 @@ Starting worker: resources/global-interface-listing-worker.js
[Worker] method sort
[Worker] method toString
[Worker] method values
[Worker] interface USB : EventTarget
[Worker] attribute @@toStringTag
[Worker] getter onconnect
[Worker] getter ondisconnect
[Worker] method constructor
[Worker] method getDevices
[Worker] setter onconnect
[Worker] setter ondisconnect
[Worker] interface WebGL2RenderingContext
[Worker] attribute @@toStringTag
[Worker] attribute ACTIVE_ATTRIBUTES
......
......@@ -5,7 +5,9 @@
// https://wicg.github.io/webusb/#enumeration
[
ImplementedAs=NavigatorUSB
Exposed=Window,
ImplementedAs=NavigatorUSB,
SecureContext
] partial interface Navigator {
[SecureContext, RuntimeEnabled=WebUSB] readonly attribute USB usb;
[SameObject, RuntimeEnabled=WebUSB] readonly attribute USB usb;
};
......@@ -5,10 +5,11 @@
// https://wicg.github.io/webusb/#usb
[
RuntimeEnabled=WebUSB
Exposed(DedicatedWorker WebUSBOnDedicatedAndSharedWorkers,SharedWorker WebUSBOnDedicatedAndSharedWorkers,Window WebUSB),
SecureContext
] interface USB : EventTarget {
attribute EventHandler onconnect;
attribute EventHandler ondisconnect;
[CallWith=ScriptState, MeasureAs=UsbGetDevices] Promise<sequence<USBDevice>> getDevices();
[CallWith=ScriptState, MeasureAs=UsbRequestDevice] Promise<sequence<USBDevice>> requestDevice(USBDeviceRequestOptions options);
[CallWith=ScriptState, Exposed=Window, MeasureAs=UsbRequestDevice] Promise<sequence<USBDevice>> requestDevice(USBDeviceRequestOptions options);
};
......@@ -1340,6 +1340,11 @@
name: "WebUSB",
status: "stable",
},
{
name: "WebUSBOnDedicatedAndSharedWorkers",
status: "test",
depends_on: ["WebUSB"],
},
{
name: "WebVR",
origin_trial_feature_name: "WebVR1.1M62",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment