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

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

Issue 1755683004: Skip attempting to bind a DevicePtr for a removed device. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 | « content/renderer/usb/web_usb_device_impl.cc ('k') | no next file » | 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 usb_test(usb => { 10 usb_test(usb => {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] }) 42 return callWithKeyDown(() => navigator.usb.requestDevice({ filters: [] })
43 .then(device => { 43 .then(device => {
44 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]); 44 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]);
45 }) 45 })
46 ); 46 );
47 }, 'requestDevice returns the device chosen by the user'); 47 }, 'requestDevice returns the device chosen by the user');
48 48
49 usb_test(usb => { 49 usb_test(usb => {
50 let promise = new Promise((resolve, reject) => { 50 let promise = new Promise((resolve, reject) => {
51 navigator.usb.addEventListener('connect', e => { 51 navigator.usb.addEventListener('connect', e => {
52 usb.assertDeviceInfoEquals(e.device, usb.fakeDevices[0]); 52 assert_true(e instanceof USBConnectionEvent);
53 resolve(); 53 resolve(e.device);
54 }); 54 });
55 }); 55 });
56 56
57 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 57 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
58 return promise; 58 return promise.then(device => {
59 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]);
60 return device.open().then(() => device.close());
61 });
59 }, 'onconnect event is trigged by adding a device'); 62 }, 'onconnect event is trigged by adding a device');
60 63
61 usb_test(usb => { 64 usb_test(usb => {
62 let promise = new Promise((resolve, reject) => { 65 let promise = new Promise((resolve, reject) => {
63 navigator.usb.addEventListener('disconnect', e => { 66 navigator.usb.addEventListener('disconnect', e => {
64 usb.assertDeviceInfoEquals(e.device, usb.fakeDevices[0]); 67 assert_true(e instanceof USBConnectionEvent);
65 resolve(); 68 resolve(e.device);
66 }); 69 });
67 }); 70 });
68 71
69 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]); 72 usb.mockDeviceManager.addMockDevice(usb.fakeDevices[0]);
70 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]); 73 usb.mockDeviceManager.removeMockDevice(usb.fakeDevices[0]);
71 return promise; 74 return promise.then(device => {
75 usb.assertDeviceInfoEquals(device, usb.fakeDevices[0]);
76 return device.open().then(() => {
77 assert_unreachable('should not be able to open a disconnected device');
78 }, error => {
79 assert_equals(error.code, DOMException.NOT_FOUND_ERR);
80 });
81 });
72 }, 'ondisconnect event is triggered by removing a device'); 82 }, 'ondisconnect event is triggered by removing a device');
73 </script> 83 </script>
OLDNEW
« no previous file with comments | « content/renderer/usb/web_usb_device_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698