Commit ff71f764 authored by Reilly Grant's avatar Reilly Grant Committed by Commit Bot

Add [SecureContext] to additional WebUSB interfaces

This change updates the WebUSB WebIDL files to match the recently merged
spec pull request #142 by hiding interfaces which aren't useful in
insecure contexts.

Change-Id: I98625b2634e452c775601525300672d9440ddbcc
Reviewed-on: https://chromium-review.googlesource.com/1137435
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarPhilip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576316}
parent 5ad4ce9d
// META: global=sharedworker
'use strict';
test(() => {
assert_false(isSecureContext);
assert_false('usb' in navigator);
}, '"usb" should not be present on navigator in an insecure context.');
[
'USB', 'USBAlternateInterface', 'USBConfiguration', 'USBConnectionEvent',
'USBDevice', 'USBEndpoint', 'USBInterface', 'USBInTransferResult',
'USBOutTransferResult', 'USBIsochronousInTransferResult',
'USBIsochronousOutTransferResult', 'USBIsochronousInTransferPacket',
'USBIsochronousOutTransferPacket',
].forEach((symbol) => {
test(() => {
assert_false(isSecureContext);
assert_false(symbol in this)
}, '"' + symbol + '" should not be visible in an insecure context.');
});
done();
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/get-host-info.js"></script>
<script>
'use strict';
if (window.location.origin != get_host_info().UNAUTHENTICATED_ORIGIN) {
window.location = get_host_info().UNAUTHENTICATED_ORIGIN +
window.location.pathname;
} else {
test(t => {
assert_false(window.isSecureContext);
assert_true(navigator.usb == undefined);
}, 'navigator.usb is not present in an insecure context');
}
</script>
......@@ -7,7 +7,8 @@
[
Constructor(USBInterface deviceInterface, octet alternateSetting),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
RaisesException=Constructor
RaisesException=Constructor,
SecureContext
] interface USBAlternateInterface {
readonly attribute octet alternateSetting;
readonly attribute octet interfaceClass;
......
......@@ -7,7 +7,8 @@
[
Constructor(USBDevice device, octet configurationValue),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
RaisesException=Constructor
RaisesException=Constructor,
SecureContext
] interface USBConfiguration {
readonly attribute octet configurationValue;
readonly attribute DOMString? configurationName;
......
......@@ -6,7 +6,8 @@
[
Constructor(DOMString type, USBConnectionEventInit eventInitDict),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB)
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
SecureContext
] interface USBConnectionEvent : Event {
[SameObject] readonly attribute USBDevice device;
};
......@@ -13,7 +13,8 @@ enum USBTransferStatus {
// https://wicg.github.io/webusb/#device-usage
[
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB)
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
SecureContext
] interface USBDevice {
readonly attribute octet usbVersionMajor;
readonly attribute octet usbVersionMinor;
......
......@@ -18,7 +18,8 @@ enum USBEndpointType {
[
Constructor(USBAlternateInterface alternate, octet endpointNumber, USBDirection direction),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
RaisesException=Constructor
RaisesException=Constructor,
SecureContext
] interface USBEndpoint {
readonly attribute octet endpointNumber;
readonly attribute USBDirection direction;
......
......@@ -6,7 +6,8 @@
[
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
Constructor(USBTransferStatus status, optional DataView? data)
Constructor(USBTransferStatus status, optional DataView? data),
SecureContext
] interface USBInTransferResult {
readonly attribute DataView? data;
readonly attribute USBTransferStatus status;
......
......@@ -7,7 +7,8 @@
[
Constructor(USBConfiguration configuration, octet interfaceNumber),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
RaisesException=Constructor
RaisesException=Constructor,
SecureContext
] interface USBInterface {
readonly attribute octet interfaceNumber;
readonly attribute USBAlternateInterface? alternate;
......
......@@ -6,7 +6,8 @@
[
Constructor(USBTransferStatus status, optional DataView? data),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB)
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
SecureContext
] interface USBIsochronousInTransferPacket {
readonly attribute USBTransferStatus status;
readonly attribute DataView? data;
......
......@@ -6,7 +6,8 @@
[
Constructor(sequence<USBIsochronousInTransferPacket> packets, optional DataView? data),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB)
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
SecureContext
] interface USBIsochronousInTransferResult {
readonly attribute DataView? data;
readonly attribute FrozenArray<USBIsochronousInTransferPacket> packets;
......
......@@ -6,7 +6,8 @@
[
Constructor(USBTransferStatus status, optional unsigned long bytesWritten = 0),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB)
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
SecureContext
] interface USBIsochronousOutTransferPacket {
readonly attribute unsigned long bytesWritten;
readonly attribute USBTransferStatus status;
......
......@@ -6,7 +6,8 @@
[
Constructor(sequence<USBIsochronousOutTransferPacket> packets),
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB)
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
SecureContext
] interface USBIsochronousOutTransferResult {
readonly attribute FrozenArray<USBIsochronousOutTransferPacket> packets;
};
......@@ -6,7 +6,8 @@
[
Exposed(DedicatedWorker WebUSBOnDedicatedWorkers, SharedWorker WebUSBOnSharedWorkers, Window WebUSB),
Constructor(USBTransferStatus status, optional unsigned long bytesWritten = 0)
Constructor(USBTransferStatus status, optional unsigned long bytesWritten = 0),
SecureContext
] interface USBOutTransferResult {
readonly attribute unsigned long bytesWritten;
readonly attribute USBTransferStatus status;
......
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