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

Unified Diff: third_party/WebKit/Source/modules/webusb/USBDevice.h

Issue 1814603002: Track USB device interface claim state in Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix webexposed test. 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 side-by-side diff with in-line comments
Download patch
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 9e8afc6cfd4f2b73e25fcad239cac2a215f6a3b7..f724395fcc5de1160087581ca31d107d7aa62e51 100644
--- a/third_party/WebKit/Source/modules/webusb/USBDevice.h
+++ b/third_party/WebKit/Source/modules/webusb/USBDevice.h
@@ -12,6 +12,7 @@
#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"
namespace blink {
@@ -43,6 +44,8 @@ public:
const WebUSBDeviceInfo& info() const { return m_device->info(); }
void onDeviceOpenedOrClosed(bool);
void onConfigurationSelected(bool success, int configurationIndex);
+ void onInterfaceClaimedOrUnclaimed(bool claimed, int interfaceIndex);
juncai 2016/03/17 01:21:12 interfaceIndex is int type in this function, but i
Reilly Grant (use Gerrit) 2016/03/17 17:07:01 Fixed.
+ bool isInterfaceClaimed(size_t configurationIndex, size_t interfaceIndex) const;
// IDL exposed interface:
String guid() const { return info().guid; }
@@ -73,7 +76,7 @@ public:
ScriptPromise controlTransferIn(ScriptState*, const USBControlTransferParameters& setup, unsigned length);
ScriptPromise controlTransferOut(ScriptState*, const USBControlTransferParameters& setup);
ScriptPromise controlTransferOut(ScriptState*, const USBControlTransferParameters& setup, const ArrayBufferOrArrayBufferView& data);
- ScriptPromise clearHalt(ScriptState*, uint8_t endpointNumber);
+ ScriptPromise clearHalt(ScriptState*, String direction, uint8_t endpointNumber);
ScriptPromise transferIn(ScriptState*, uint8_t endpointNumber, unsigned length);
ScriptPromise transferOut(ScriptState*, uint8_t endpointNumber, const ArrayBufferOrArrayBufferView& data);
ScriptPromise isochronousTransferIn(ScriptState*, uint8_t endpointNumber, Vector<unsigned> packetLengths);
@@ -86,12 +89,18 @@ public:
private:
int findConfigurationIndex(uint8_t configurationValue) const;
+ int findInterfaceIndex(uint8_t interfaceNumber) const;
bool ensureDeviceConfigured(ScriptPromiseResolver*) const;
+ bool ensureInterfaceClaimed(uint8_t interfaceNumber, ScriptPromiseResolver*) const;
+ bool ensureEndpointAvailable(bool inTransfer, uint8_t endpointNumber, ScriptPromiseResolver*) const;
+ bool anyInterfaceChangeInProgress() const;
OwnPtr<WebUSBDevice> m_device;
bool m_opened;
bool m_deviceStateChangeInProgress;
int m_configurationIndex;
+ WTF::BitVector m_claimedInterfaces;
+ WTF::BitVector m_interfaceStateChangeInProgress;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698