| Index: third_party/WebKit/Source/modules/webusb/USBDevice.h
|
| diff --git a/third_party/WebKit/Source/modules/webusb/USBDevice.h b/third_party/WebKit/Source/modules/webusb/USBDevice.h
|
| index 9b5154b85c006e597c20bb8a9aadf5c400ccc3e0..17bff6b005cff03fc2f10fe05eb6e83f41f6a472 100644
|
| --- a/third_party/WebKit/Source/modules/webusb/USBDevice.h
|
| +++ b/third_party/WebKit/Source/modules/webusb/USBDevice.h
|
| @@ -9,9 +9,8 @@
|
| #include "bindings/core/v8/ScriptWrappable.h"
|
| #include "bindings/modules/v8/UnionTypesModules.h"
|
| #include "core/dom/ContextLifecycleObserver.h"
|
| +#include "device/usb/public/interfaces/device.mojom-wtf.h"
|
| #include "platform/heap/Handle.h"
|
| -#include "public/platform/modules/webusb/WebUSBDevice.h"
|
| -#include "public/platform/modules/webusb/WebUSBDeviceInfo.h"
|
| #include "wtf/BitVector.h"
|
| #include "wtf/Vector.h"
|
|
|
| @@ -29,42 +28,34 @@ class USBDevice
|
| USING_GARBAGE_COLLECTED_MIXIN(USBDevice);
|
| DEFINE_WRAPPERTYPEINFO();
|
| public:
|
| - using WebType = OwnPtr<WebUSBDevice>;
|
| -
|
| - static USBDevice* create(PassOwnPtr<WebUSBDevice> device, ExecutionContext* context)
|
| + static USBDevice* create(device::usb::wtf::DeviceInfoPtr deviceInfo, device::usb::wtf::DevicePtr device, ExecutionContext* context)
|
| {
|
| - return new USBDevice(device, context);
|
| + return new USBDevice(std::move(deviceInfo), std::move(device), context);
|
| }
|
|
|
| - static USBDevice* take(ScriptPromiseResolver*, PassOwnPtr<WebUSBDevice>);
|
| -
|
| - explicit USBDevice(PassOwnPtr<WebUSBDevice>, ExecutionContext*);
|
| - virtual ~USBDevice() { }
|
| + explicit USBDevice(device::usb::wtf::DeviceInfoPtr, device::usb::wtf::DevicePtr, ExecutionContext*);
|
| + virtual ~USBDevice();
|
|
|
| - const WebUSBDeviceInfo& info() const { return m_device->info(); }
|
| - void onDeviceOpenedOrClosed(bool);
|
| - void onConfigurationSelected(bool success, size_t configurationIndex);
|
| - void onInterfaceClaimedOrUnclaimed(bool claimed, size_t interfaceIndex);
|
| - void onAlternateInterfaceSelected(bool success, size_t interfaceIndex, size_t alternateIndex);
|
| + const device::usb::wtf::DeviceInfo& info() const { return *m_deviceInfo; }
|
| bool isInterfaceClaimed(size_t configurationIndex, size_t interfaceIndex) const;
|
| size_t selectedAlternateInterface(size_t interfaceIndex) const;
|
|
|
| - // IDL exposed interface:
|
| + // USBDevice.idl
|
| String guid() const { return info().guid; }
|
| - uint8_t usbVersionMajor() { return info().usbVersionMajor; }
|
| - uint8_t usbVersionMinor() { return info().usbVersionMinor; }
|
| - uint8_t usbVersionSubminor() { return info().usbVersionSubminor; }
|
| - uint8_t deviceClass() { return info().deviceClass; }
|
| - uint8_t deviceSubclass() const { return info().deviceSubclass; }
|
| - uint8_t deviceProtocol() const { return info().deviceProtocol; }
|
| - uint16_t vendorId() const { return info().vendorID; }
|
| - uint16_t productId() const { return info().productID; }
|
| - uint8_t deviceVersionMajor() const { return info().deviceVersionMajor; }
|
| - uint8_t deviceVersionMinor() const { return info().deviceVersionMinor; }
|
| - uint8_t deviceVersionSubminor() const { return info().deviceVersionSubminor; }
|
| - String manufacturerName() const { return info().manufacturerName; }
|
| - String productName() const { return info().productName; }
|
| - String serialNumber() const { return info().serialNumber; }
|
| + uint8_t usbVersionMajor() const { return info().usb_version_major; }
|
| + uint8_t usbVersionMinor() const { return info().usb_version_minor; }
|
| + uint8_t usbVersionSubminor() const { return info().usb_version_subminor; }
|
| + uint8_t deviceClass() const { return info().class_code; }
|
| + uint8_t deviceSubclass() const { return info().subclass_code; }
|
| + uint8_t deviceProtocol() const { return info().protocol_code; }
|
| + uint16_t vendorId() const { return info().vendor_id; }
|
| + uint16_t productId() const { return info().product_id; }
|
| + uint8_t deviceVersionMajor() const { return info().device_version_major; }
|
| + uint8_t deviceVersionMinor() const { return info().device_version_minor; }
|
| + uint8_t deviceVersionSubminor() const { return info().device_version_subminor; }
|
| + String manufacturerName() const { return info().manufacturer_name; }
|
| + String productName() const { return info().product_name; }
|
| + String serialNumber() const { return info().serial_number; }
|
| USBConfiguration* configuration() const;
|
| HeapVector<Member<USBConfiguration>> configurations() const;
|
| bool opened() const { return m_opened; }
|
| @@ -99,10 +90,30 @@ private:
|
| bool ensureInterfaceClaimed(uint8_t interfaceNumber, ScriptPromiseResolver*) const;
|
| bool ensureEndpointAvailable(bool inTransfer, uint8_t endpointNumber, ScriptPromiseResolver*) const;
|
| bool anyInterfaceChangeInProgress() const;
|
| - bool convertControlTransferParameters(WebUSBDevice::TransferDirection, const USBControlTransferParameters&, WebUSBDevice::ControlTransferParameters*, ScriptPromiseResolver*) const;
|
| + device::usb::wtf::ControlTransferParamsPtr convertControlTransferParameters(const USBControlTransferParameters&, ScriptPromiseResolver*) const;
|
| void setEndpointsForInterface(size_t interfaceIndex, bool set);
|
|
|
| - OwnPtr<WebUSBDevice> m_device;
|
| + void asyncOpen(ScriptPromiseResolver*, device::usb::wtf::OpenDeviceError);
|
| + void asyncClose(ScriptPromiseResolver*);
|
| + void onDeviceOpenedOrClosed(bool);
|
| + void asyncSelectConfiguration(size_t configurationIndex, ScriptPromiseResolver*, bool success);
|
| + void onConfigurationSelected(bool success, size_t configurationIndex);
|
| + void asyncClaimInterface(size_t interfaceIndex, ScriptPromiseResolver*, bool success);
|
| + void asyncReleaseInterface(size_t interfaceIndex, ScriptPromiseResolver*, bool success);
|
| + void onInterfaceClaimedOrUnclaimed(bool claimed, size_t interfaceIndex);
|
| + void asyncSelectAlternateInterface(size_t interfaceIndex, size_t alternateIndex, ScriptPromiseResolver*, bool success);
|
| + void asyncControlTransferIn(ScriptPromiseResolver*, device::usb::wtf::TransferStatus, mojo::WTFArray<uint8_t>);
|
| + void asyncControlTransferOut(unsigned, ScriptPromiseResolver*, device::usb::wtf::TransferStatus);
|
| + void asyncClearHalt(ScriptPromiseResolver*, bool success);
|
| + void asyncTransferIn(ScriptPromiseResolver*, device::usb::wtf::TransferStatus, mojo::WTFArray<uint8_t>);
|
| + void asyncTransferOut(unsigned, ScriptPromiseResolver*, device::usb::wtf::TransferStatus);
|
| + void asyncIsochronousTransferIn(ScriptPromiseResolver*, mojo::WTFArray<uint8_t>, mojo::WTFArray<device::usb::wtf::IsochronousPacketPtr>);
|
| + void asyncIsochronousTransferOut(ScriptPromiseResolver*, mojo::WTFArray<device::usb::wtf::IsochronousPacketPtr>);
|
| + void asyncReset(ScriptPromiseResolver*, bool success);
|
| +
|
| + device::usb::wtf::DeviceInfoPtr m_deviceInfo;
|
| + device::usb::wtf::DevicePtr m_device;
|
| + HeapHashSet<Member<ScriptPromiseResolver>> m_deviceRequests;
|
| bool m_opened;
|
| bool m_deviceStateChangeInProgress;
|
| int m_configurationIndex;
|
|
|