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

Side by Side Diff: third_party/WebKit/Source/modules/webusb/USBDevice.h

Issue 1912223002: Make new WebUSB implementation more resilient to garbage collection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased again. Created 4 years, 7 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef USBDevice_h 5 #ifndef USBDevice_h
6 #define USBDevice_h 6 #define USBDevice_h
7 7
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptWrappable.h" 9 #include "bindings/core/v8/ScriptWrappable.h"
10 #include "bindings/modules/v8/UnionTypesModules.h" 10 #include "bindings/modules/v8/UnionTypesModules.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 void asyncSelectAlternateInterface(size_t interfaceIndex, size_t alternateIn dex, ScriptPromiseResolver*, bool success); 104 void asyncSelectAlternateInterface(size_t interfaceIndex, size_t alternateIn dex, ScriptPromiseResolver*, bool success);
105 void asyncControlTransferIn(ScriptPromiseResolver*, device::usb::wtf::Transf erStatus, mojo::WTFArray<uint8_t>); 105 void asyncControlTransferIn(ScriptPromiseResolver*, device::usb::wtf::Transf erStatus, mojo::WTFArray<uint8_t>);
106 void asyncControlTransferOut(unsigned, ScriptPromiseResolver*, device::usb:: wtf::TransferStatus); 106 void asyncControlTransferOut(unsigned, ScriptPromiseResolver*, device::usb:: wtf::TransferStatus);
107 void asyncClearHalt(ScriptPromiseResolver*, bool success); 107 void asyncClearHalt(ScriptPromiseResolver*, bool success);
108 void asyncTransferIn(ScriptPromiseResolver*, device::usb::wtf::TransferStatu s, mojo::WTFArray<uint8_t>); 108 void asyncTransferIn(ScriptPromiseResolver*, device::usb::wtf::TransferStatu s, mojo::WTFArray<uint8_t>);
109 void asyncTransferOut(unsigned, ScriptPromiseResolver*, device::usb::wtf::Tr ansferStatus); 109 void asyncTransferOut(unsigned, ScriptPromiseResolver*, device::usb::wtf::Tr ansferStatus);
110 void asyncIsochronousTransferIn(ScriptPromiseResolver*, mojo::WTFArray<uint8 _t>, mojo::WTFArray<device::usb::wtf::IsochronousPacketPtr>); 110 void asyncIsochronousTransferIn(ScriptPromiseResolver*, mojo::WTFArray<uint8 _t>, mojo::WTFArray<device::usb::wtf::IsochronousPacketPtr>);
111 void asyncIsochronousTransferOut(ScriptPromiseResolver*, mojo::WTFArray<devi ce::usb::wtf::IsochronousPacketPtr>); 111 void asyncIsochronousTransferOut(ScriptPromiseResolver*, mojo::WTFArray<devi ce::usb::wtf::IsochronousPacketPtr>);
112 void asyncReset(ScriptPromiseResolver*, bool success); 112 void asyncReset(ScriptPromiseResolver*, bool success);
113 113
114 void onConnectionError();
115
114 device::usb::wtf::DeviceInfoPtr m_deviceInfo; 116 device::usb::wtf::DeviceInfoPtr m_deviceInfo;
115 device::usb::wtf::DevicePtr m_device; 117 device::usb::wtf::DevicePtr m_device;
116 HeapHashSet<Member<ScriptPromiseResolver>> m_deviceRequests; 118 HeapHashSet<Member<ScriptPromiseResolver>> m_deviceRequests;
117 bool m_opened; 119 bool m_opened;
118 bool m_deviceStateChangeInProgress; 120 bool m_deviceStateChangeInProgress;
119 int m_configurationIndex; 121 int m_configurationIndex;
120 WTF::BitVector m_claimedInterfaces; 122 WTF::BitVector m_claimedInterfaces;
121 WTF::BitVector m_interfaceStateChangeInProgress; 123 WTF::BitVector m_interfaceStateChangeInProgress;
122 WTF::Vector<size_t> m_selectedAlternates; 124 WTF::Vector<size_t> m_selectedAlternates;
123 WTF::BitVector m_inEndpoints; 125 WTF::BitVector m_inEndpoints;
124 WTF::BitVector m_outEndpoints; 126 WTF::BitVector m_outEndpoints;
125 }; 127 };
126 128
127 } // namespace blink 129 } // namespace blink
128 130
129 #endif // USBDevice_h 131 #endif // USBDevice_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/webusb/USB.cpp ('k') | third_party/WebKit/Source/modules/webusb/USBDevice.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698