summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
diff options
context:
space:
mode:
authorreillyg <reillyg@chromium.org>2016-03-15 12:47:06 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-15 19:48:11 +0000
commitcc9b0c5fa36368bb012b4b4d572ada52ceb1146b (patch)
tree5cd24491c7188fb4702d69a9e08053ad3c53eb16 /third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
parent8b58c0d445772371cba4da0000f78917a12c79bc (diff)
downloadchromium_src-cc9b0c5fa36368bb012b4b4d572ada52ceb1146b.zip
chromium_src-cc9b0c5fa36368bb012b4b4d572ada52ceb1146b.tar.gz
chromium_src-cc9b0c5fa36368bb012b4b4d572ada52ceb1146b.tar.bz2
Track USB device configuration state in Blink.
Blink now tracks the currently selected device configuration and can thus provide it as an IDL attribute without a getConfiguration() method which has been removed. This continues the trend of being able to handle errors in Blink before calling methods on the Mojo interface. BUG=593164 R=juncai@chromium.org TBR=dgozman@chromium.org Review URL: https://codereview.chromium.org/1784733002 Cr-Commit-Position: refs/heads/master@{#381288}
Diffstat (limited to 'third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js')
-rw-r--r--third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js29
1 files changed, 20 insertions, 9 deletions
diff --git a/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js b/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
index e2148c6..faf30ac 100644
--- a/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
+++ b/third_party/WebKit/LayoutTests/usb/resources/usb-helpers.js
@@ -160,9 +160,8 @@ function usbMocks(mojo) {
claimInterface(interfaceNumber) {
assert_true(this.opened_);
-
- if (this.currentConfiguration_ === undefined)
- return Promise.resolve({ success: false });
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
if (this.claimedInterfaces_.has(interfaceNumber))
return Promise.resolve({ success: false });
@@ -178,9 +177,8 @@ function usbMocks(mojo) {
releaseInterface(interfaceNumber) {
assert_true(this.opened_);
-
- if (this.currentConfiguration_ === undefined)
- return Promise.resolve({ success: false });
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
if (this.claimedInterfaces_.has(interfaceNumber)) {
this.claimedInterfaces_.delete(interfaceNumber);
@@ -192,9 +190,8 @@ function usbMocks(mojo) {
setInterfaceAlternateSetting(interfaceNumber, alternateSetting) {
assert_true(this.opened_);
-
- if (this.currentConfiguration_ === undefined)
- return Promise.resolve({ success: false });
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
if (!this.claimedInterfaces_.has(interfaceNumber))
return Promise.resolve({ success: false });
@@ -220,12 +217,16 @@ function usbMocks(mojo) {
clearHalt(endpoint) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
// TODO(reillyg): Check that endpoint is valid.
return Promise.resolve({ success: true });
}
controlTransferIn(params, length, timeout) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
return Promise.resolve({
status: device.TransferStatus.OK,
data: [length >> 8, length & 0xff, params.request, params.value >> 8,
@@ -235,6 +236,8 @@ function usbMocks(mojo) {
controlTransferOut(params, data, timeout) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
return Promise.resolve({
status: device.TransferStatus.OK,
bytesWritten: data.byteLength
@@ -243,6 +246,8 @@ function usbMocks(mojo) {
genericTransferIn(endpointNumber, length, timeout) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
// TODO(reillyg): Check that endpoint is valid.
let data = new Array(length);
for (let i = 0; i < length; ++i)
@@ -255,6 +260,8 @@ function usbMocks(mojo) {
genericTransferOut(endpointNumber, data, timeout) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
// TODO(reillyg): Check that endpoint is valid.
return Promise.resolve({
status: device.TransferStatus.OK,
@@ -264,6 +271,8 @@ function usbMocks(mojo) {
isochronousTransferIn(endpointNumber, packetLengths, timeout) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
// TODO(reillyg): Check that endpoint is valid.
let data = new Array(packetLengths.reduce((a, b) => a + b, 0));
let dataOffset = 0;
@@ -282,6 +291,8 @@ function usbMocks(mojo) {
isochronousTransferOut(endpointNumber, data, packetLengths, timeout) {
assert_true(this.opened_);
+ assert_true(this.currentConfiguration_ !== undefined,
+ 'device configured');
// TODO(reillyg): Check that endpoint is valid.
let packets = new Array(packetLengths.length);
for (let i = 0; i < packetLengths.length; ++i) {