Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: third_party/WebKit/LayoutTests/usb/usbDevice.html

Issue 1806163002: Track USB alternate interface state in Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@blink_interface_state
Patch Set: Fixed typo and rebased. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script> 4 <script src="../resources/mojo-helpers.js"></script>
5 <script src="resources/fake-devices.js"></script> 5 <script src="resources/fake-devices.js"></script>
6 <script src="resources/usb-helpers.js"></script> 6 <script src="resources/usb-helpers.js"></script>
7 <script> 7 <script>
8 'use strict'; 8 'use strict';
9 9
10 function assertRejectsWithError(promise, name, message) { 10 function assertRejectsWithError(promise, name, message) {
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 usb_test(usb => { 119 usb_test(usb => {
120 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 120 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
121 return navigator.usb.getDevices().then(devices => { 121 return navigator.usb.getDevices().then(devices => {
122 assert_equals(1, devices.length); 122 assert_equals(1, devices.length);
123 var device = devices[0]; 123 var device = devices[0];
124 return Promise.all([ 124 return Promise.all([
125 assertRejectsWithNotOpenError(device.selectConfiguration(1)), 125 assertRejectsWithNotOpenError(device.selectConfiguration(1)),
126 assertRejectsWithNotOpenError(device.claimInterface(0)), 126 assertRejectsWithNotOpenError(device.claimInterface(0)),
127 assertRejectsWithNotOpenError(device.releaseInterface(0)), 127 assertRejectsWithNotOpenError(device.releaseInterface(0)),
128 assertRejectsWithNotOpenError(device.setInterface(0, 1)), 128 assertRejectsWithNotOpenError(device.selectAlternateInterface(0, 1)),
129 assertRejectsWithNotOpenError(device.controlTransferIn({ 129 assertRejectsWithNotOpenError(device.controlTransferIn({
130 requestType: 'vendor', 130 requestType: 'vendor',
131 recipient: 'device', 131 recipient: 'device',
132 request: 0x42, 132 request: 0x42,
133 value: 0x1234, 133 value: 0x1234,
134 index: 0x5678 134 index: 0x5678
135 }, 7)), 135 }, 7)),
136 assertRejectsWithNotOpenError(device.controlTransferOut({ 136 assertRejectsWithNotOpenError(device.controlTransferOut({
137 requestType: 'vendor', 137 requestType: 'vendor',
138 recipient: 'device', 138 recipient: 'device',
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 188
189 usb_test(usb => { 189 usb_test(usb => {
190 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 190 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
191 return navigator.usb.getDevices().then(devices => { 191 return navigator.usb.getDevices().then(devices => {
192 assert_equals(1, devices.length); 192 assert_equals(1, devices.length);
193 let device = devices[0]; 193 let device = devices[0];
194 assert_equals(device.configuration, null); 194 assert_equals(device.configuration, null);
195 return device.open().then(() => Promise.all([ 195 return device.open().then(() => Promise.all([
196 assertRejectsWithNotConfiguredError(device.claimInterface(0)), 196 assertRejectsWithNotConfiguredError(device.claimInterface(0)),
197 assertRejectsWithNotConfiguredError(device.releaseInterface(0)), 197 assertRejectsWithNotConfiguredError(device.releaseInterface(0)),
198 assertRejectsWithNotConfiguredError(device.setInterface(0, 1)), 198 assertRejectsWithNotConfiguredError(device.selectAlternateInterface(0, 1 )),
199 assertRejectsWithNotConfiguredError(device.controlTransferIn({ 199 assertRejectsWithNotConfiguredError(device.controlTransferIn({
200 requestType: 'vendor', 200 requestType: 'vendor',
201 recipient: 'device', 201 recipient: 'device',
202 request: 0x42, 202 request: 0x42,
203 value: 0x1234, 203 value: 0x1234,
204 index: 0x5678 204 index: 0x5678
205 }, 7)), 205 }, 7)),
206 assertRejectsWithNotConfiguredError(device.controlTransferOut({ 206 assertRejectsWithNotConfiguredError(device.controlTransferOut({
207 requestType: 'vendor', 207 requestType: 'vendor',
208 recipient: 'device', 208 recipient: 'device',
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 }, 'releaseInterface rejects when called on a disconnected device'); 285 }, 'releaseInterface rejects when called on a disconnected device');
286 286
287 usb_test(usb => { 287 usb_test(usb => {
288 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 288 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
289 return navigator.usb.getDevices().then(devices => { 289 return navigator.usb.getDevices().then(devices => {
290 assert_equals(1, devices.length); 290 assert_equals(1, devices.length);
291 let device = devices[0]; 291 let device = devices[0];
292 return device.open() 292 return device.open()
293 .then(() => device.selectConfiguration(2)) 293 .then(() => device.selectConfiguration(2))
294 .then(() => device.claimInterface(0)) 294 .then(() => device.claimInterface(0))
295 .then(() => device.setInterface(0, 1)) 295 .then(() => device.selectAlternateInterface(0, 1))
296 .then(() => device.close()); 296 .then(() => device.close());
297 }); 297 });
298 }, 'can select an alternate interface'); 298 }, 'can select an alternate interface');
299 299
300 usb_test(usb => { 300 usb_test(usb => {
301 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 301 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
302 return navigator.usb.getDevices().then(devices => { 302 return navigator.usb.getDevices().then(devices => {
303 assert_equals(1, devices.length); 303 assert_equals(1, devices.length);
304 let device = devices[0];
305 return device.open()
306 .then(() => device.selectConfiguration(2))
307 .then(() => device.claimInterface(0))
308 .then(() => assertRejectsWithError(
309 device.selectAlternateInterface(0, 2), 'NotFoundError',
310 'The alternate setting provided is not supported by the device in ' +
311 'its current configuration.'))
312 .then(() => device.close());
313 });
314 }, 'cannot select a non-existent alternate interface');
315
316 usb_test(usb => {
317 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
318 return navigator.usb.getDevices().then(devices => {
319 assert_equals(1, devices.length);
304 var device = devices[0]; 320 var device = devices[0];
305 return device.open() 321 return device.open()
306 .then(() => device.selectConfiguration(2)) 322 .then(() => device.selectConfiguration(2))
307 .then(() => device.claimInterface(0)) 323 .then(() => device.claimInterface(0))
308 .then(() => { 324 .then(() => {
309 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); 325 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
310 return assertRejectsWithNotFoundError(device.setInterface(0, 1)); 326 return assertRejectsWithNotFoundError(device.selectAlternateInterface(0, 1));
311 }); 327 });
312 }); 328 });
313 }, 'setInterface rejects when called on a disconnected device'); 329 }, 'selectAlternateInterface rejects when called on a disconnected device');
314 330
315 usb_test(usb => { 331 usb_test(usb => {
316 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 332 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
317 return navigator.usb.getDevices().then(devices => { 333 return navigator.usb.getDevices().then(devices => {
318 assert_equals(1, devices.length); 334 assert_equals(1, devices.length);
319 let device = devices[0]; 335 let device = devices[0];
320 return device.open() 336 return device.open()
321 .then(() => device.selectConfiguration(1)) 337 .then(() => device.selectConfiguration(1))
322 .then(() => device.controlTransferIn({ 338 .then(() => device.controlTransferIn({
323 requestType: 'vendor', 339 requestType: 'vendor',
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 }, 'transferOut rejects if called on a disconnected device'); 544 }, 'transferOut rejects if called on a disconnected device');
529 545
530 usb_test(usb => { 546 usb_test(usb => {
531 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 547 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
532 return navigator.usb.getDevices().then(devices => { 548 return navigator.usb.getDevices().then(devices => {
533 assert_equals(devices.length, 1); 549 assert_equals(devices.length, 1);
534 let device = devices[0]; 550 let device = devices[0];
535 return device.open() 551 return device.open()
536 .then(() => device.selectConfiguration(2)) 552 .then(() => device.selectConfiguration(2))
537 .then(() => device.claimInterface(0)) 553 .then(() => device.claimInterface(0))
538 .then(() => device.setInterface(0, 1)) 554 .then(() => device.selectAlternateInterface(0, 1))
539 .then(() => device.isochronousTransferIn( 555 .then(() => device.isochronousTransferIn(
540 1, [64, 64, 64, 64, 64, 64, 64, 64])) 556 1, [64, 64, 64, 64, 64, 64, 64, 64]))
541 .then(result => { 557 .then(result => {
542 assert_true(result instanceof USBIsochronousInTransferResult); 558 assert_true(result instanceof USBIsochronousInTransferResult);
543 assert_equals(result.data.byteLength, 64 * 8, 'buffer size'); 559 assert_equals(result.data.byteLength, 64 * 8, 'buffer size');
544 assert_equals(result.packets.length, 8, 'number of packets'); 560 assert_equals(result.packets.length, 8, 'number of packets');
545 let byteOffset = 0; 561 let byteOffset = 0;
546 for (let i = 0; i < result.packets.length; ++i) { 562 for (let i = 0; i < result.packets.length; ++i) {
547 assert_true( 563 assert_true(
548 result.packets[i] instanceof USBIsochronousInTransferPacket); 564 result.packets[i] instanceof USBIsochronousInTransferPacket);
(...skipping 12 matching lines...) Expand all
561 }, 'can issue IN isochronous transfer'); 577 }, 'can issue IN isochronous transfer');
562 578
563 usb_test(usb => { 579 usb_test(usb => {
564 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 580 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
565 return navigator.usb.getDevices().then(devices => { 581 return navigator.usb.getDevices().then(devices => {
566 assert_equals(devices.length, 1); 582 assert_equals(devices.length, 1);
567 let device = devices[0]; 583 let device = devices[0];
568 return device.open() 584 return device.open()
569 .then(() => device.selectConfiguration(2)) 585 .then(() => device.selectConfiguration(2))
570 .then(() => device.claimInterface(0)) 586 .then(() => device.claimInterface(0))
571 .then(() => device.setInterface(0, 1)) 587 .then(() => device.selectAlternateInterface(0, 1))
572 .then(() => { 588 .then(() => {
573 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); 589 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
574 return assertRejectsWithNotFoundError(device.isochronousTransferIn( 590 return assertRejectsWithNotFoundError(device.isochronousTransferIn(
575 1, [64, 64, 64, 64, 64, 64, 64, 64])); 591 1, [64, 64, 64, 64, 64, 64, 64, 64]));
576 }); 592 });
577 }); 593 });
578 }, 'isochronousTransferIn rejects when called on a disconnected device'); 594 }, 'isochronousTransferIn rejects when called on a disconnected device');
579 595
580 usb_test(usb => { 596 usb_test(usb => {
581 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 597 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
582 return navigator.usb.getDevices().then(devices => { 598 return navigator.usb.getDevices().then(devices => {
583 assert_equals(devices.length, 1); 599 assert_equals(devices.length, 1);
584 let device = devices[0]; 600 let device = devices[0];
585 return device.open() 601 return device.open()
586 .then(() => device.selectConfiguration(2)) 602 .then(() => device.selectConfiguration(2))
587 .then(() => device.claimInterface(0)) 603 .then(() => device.claimInterface(0))
588 .then(() => device.setInterface(0, 1)) 604 .then(() => device.selectAlternateInterface(0, 1))
589 .then(() => { 605 .then(() => {
590 let data = new DataView(new ArrayBuffer(64 * 8)); 606 let data = new DataView(new ArrayBuffer(64 * 8));
591 for (let i = 0; i < 8; ++i) { 607 for (let i = 0; i < 8; ++i) {
592 for (let j = 0; j < 64; ++j) 608 for (let j = 0; j < 64; ++j)
593 data.setUint8(i * j, j & 0xff); 609 data.setUint8(i * j, j & 0xff);
594 } 610 }
595 return device.isochronousTransferOut( 611 return device.isochronousTransferOut(
596 1, data, [64, 64, 64, 64, 64, 64, 64, 64]); 612 1, data, [64, 64, 64, 64, 64, 64, 64, 64]);
597 }) 613 })
598 .then(result => { 614 .then(result => {
(...skipping 12 matching lines...) Expand all
611 }, 'can issue OUT isochronous transfer'); 627 }, 'can issue OUT isochronous transfer');
612 628
613 usb_test(usb => { 629 usb_test(usb => {
614 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 630 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
615 return navigator.usb.getDevices().then(devices => { 631 return navigator.usb.getDevices().then(devices => {
616 assert_equals(devices.length, 1); 632 assert_equals(devices.length, 1);
617 let device = devices[0]; 633 let device = devices[0];
618 return device.open() 634 return device.open()
619 .then(() => device.selectConfiguration(2)) 635 .then(() => device.selectConfiguration(2))
620 .then(() => device.claimInterface(0)) 636 .then(() => device.claimInterface(0))
621 .then(() => device.setInterface(0, 1)) 637 .then(() => device.selectAlternateInterface(0, 1))
622 .then(() => { 638 .then(() => {
623 let data = new DataView(new ArrayBuffer(64 * 8)); 639 let data = new DataView(new ArrayBuffer(64 * 8));
624 for (let i = 0; i < 8; ++i) { 640 for (let i = 0; i < 8; ++i) {
625 for (let j = 0; j < 64; ++j) 641 for (let j = 0; j < 64; ++j)
626 data.setUint8(i * j, j & 0xff); 642 data.setUint8(i * j, j & 0xff);
627 } 643 }
628 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); 644 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
629 return assertRejectsWithNotFoundError(device.isochronousTransferOut( 645 return assertRejectsWithNotFoundError(device.isochronousTransferOut(
630 1, data, [64, 64, 64, 64, 64, 64, 64, 64])); 646 1, data, [64, 64, 64, 64, 64, 64, 64, 64]));
631 }); 647 });
(...skipping 14 matching lines...) Expand all
646 return navigator.usb.getDevices().then(devices => { 662 return navigator.usb.getDevices().then(devices => {
647 assert_equals(1, devices.length); 663 assert_equals(1, devices.length);
648 let device = devices[0]; 664 let device = devices[0];
649 return device.open().then(() => { 665 return device.open().then(() => {
650 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); 666 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
651 return assertRejectsWithNotFoundError(device.reset()); 667 return assertRejectsWithNotFoundError(device.reset());
652 }); 668 });
653 }); 669 });
654 }, 'resetDevice rejects when called on a disconnected device'); 670 }, 'resetDevice rejects when called on a disconnected device');
655 </script> 671 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698