| Index: device/usb/usb_device_handle_usbfs.h
|
| diff --git a/device/usb/usb_device_handle_usbfs.h b/device/usb/usb_device_handle_usbfs.h
|
| index 01ead0557b836cc4491ea4df901ca6865727ce12..34d68341a7bb65406def7f5da91d1196e6f5e634 100644
|
| --- a/device/usb/usb_device_handle_usbfs.h
|
| +++ b/device/usb/usb_device_handle_usbfs.h
|
| @@ -17,6 +17,7 @@ struct usbdevfs_urb;
|
|
|
| namespace base {
|
| class SequencedTaskRunner;
|
| +class SingleThreadTaskRunner;
|
| }
|
|
|
| namespace device {
|
| @@ -62,13 +63,14 @@ class UsbDeviceHandleUsbfs : public UsbDeviceHandle {
|
| const std::vector<uint32_t>& packet_lengths,
|
| unsigned int timeout,
|
| const IsochronousTransferCallback& callback) override;
|
| -
|
| void IsochronousTransferOut(
|
| uint8_t endpoint_number,
|
| scoped_refptr<net::IOBuffer> buffer,
|
| const std::vector<uint32_t>& packet_lengths,
|
| unsigned int timeout,
|
| const IsochronousTransferCallback& callback) override;
|
| + // To support DevTools this function may be called from any thread and on
|
| + // completion |callback| will be run on that thread.
|
| void GenericTransfer(UsbEndpointDirection direction,
|
| uint8_t endpoint_number,
|
| scoped_refptr<net::IOBuffer> buffer,
|
| @@ -112,6 +114,14 @@ class UsbDeviceHandleUsbfs : public UsbDeviceHandle {
|
| const std::vector<uint32_t>& packet_lengths,
|
| unsigned int timeout,
|
| const IsochronousTransferCallback& callback);
|
| + void GenericTransferInternal(
|
| + UsbEndpointDirection direction,
|
| + uint8_t endpoint_number,
|
| + scoped_refptr<net::IOBuffer> buffer,
|
| + size_t length,
|
| + unsigned int timeout,
|
| + const TransferCallback& callback,
|
| + scoped_refptr<base::SingleThreadTaskRunner> callback_runner);
|
| void ReapedUrbs(const std::vector<usbdevfs_urb*>& urbs);
|
| void TransferComplete(std::unique_ptr<Transfer> transfer);
|
| void RefreshEndpointInfo();
|
| @@ -125,7 +135,7 @@ class UsbDeviceHandleUsbfs : public UsbDeviceHandle {
|
|
|
| scoped_refptr<UsbDevice> device_;
|
| base::ScopedFD fd_;
|
| - scoped_refptr<base::SequencedTaskRunner> task_runner_;
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
|
| base::ThreadChecker thread_checker_;
|
|
|
|
|