diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/hid/hid_device.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/modules/hid/hid_device.cc | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/chromium/third_party/blink/renderer/modules/hid/hid_device.cc b/chromium/third_party/blink/renderer/modules/hid/hid_device.cc index 8f05aab7277..5ea391d74a9 100644 --- a/chromium/third_party/blink/renderer/modules/hid/hid_device.cc +++ b/chromium/third_party/blink/renderer/modules/hid/hid_device.cc @@ -43,10 +43,10 @@ Vector<uint8_t> ConvertBufferSource( base::checked_cast<wtf_size_t>( buffer.GetAsArrayBuffer()->ByteLength())); } else { - vector.Append(static_cast<uint8_t*>( - buffer.GetAsArrayBufferView().View()->BaseAddress()), - base::checked_cast<wtf_size_t>( - buffer.GetAsArrayBufferView().View()->byteLength())); + vector.Append( + static_cast<uint8_t*>(buffer.GetAsArrayBufferView()->BaseAddress()), + base::checked_cast<wtf_size_t>( + buffer.GetAsArrayBufferView()->byteLength())); } return vector; } @@ -184,6 +184,7 @@ HIDCollectionInfo* ToHIDCollectionInfo( HIDCollectionInfo* result = HIDCollectionInfo::Create(); result->setUsage(collection.usage->usage); result->setUsagePage(collection.usage->usage_page); + result->setType(collection.collection_type); HeapVector<Member<HIDReportInfo>> input_reports; for (const auto& report : collection.input_reports) @@ -319,7 +320,7 @@ ScriptPromise HIDDevice::sendReport(ScriptState* script_state, size_t data_size = data.IsArrayBuffer() ? data.GetAsArrayBuffer()->ByteLength() - : data.GetAsArrayBufferView().View()->byteLength(); + : data.GetAsArrayBufferView()->byteLength(); if (!base::CheckedNumeric<wtf_size_t>(data_size).IsValid()) { resolver->Reject(MakeGarbageCollected<DOMException>( @@ -352,7 +353,7 @@ ScriptPromise HIDDevice::sendFeatureReport( size_t data_size = data.IsArrayBuffer() ? data.GetAsArrayBuffer()->ByteLength() - : data.GetAsArrayBufferView().View()->byteLength(); + : data.GetAsArrayBufferView()->byteLength(); if (!base::CheckedNumeric<wtf_size_t>(data_size).IsValid()) { resolver->Reject(MakeGarbageCollected<DOMException>( @@ -393,6 +394,12 @@ void HIDDevice::ContextDestroyed() { device_requests_.clear(); } +bool HIDDevice::HasPendingActivity() const { + // The object should be considered active if it is connected and has at least + // one event listener. + return connection_.is_bound() && HasEventListeners(); +} + void HIDDevice::Trace(Visitor* visitor) const { visitor->Trace(parent_); visitor->Trace(connection_); @@ -498,8 +505,14 @@ HIDReportItem* HIDDevice::ToHIDReportItem( HIDReportItem* result = HIDReportItem::Create(); result->setIsAbsolute(!report_item.is_relative); result->setIsArray(!report_item.is_variable); + result->setIsBufferedBytes(report_item.is_buffered_bytes); + result->setIsConstant(report_item.is_constant); + result->setIsLinear(!report_item.is_non_linear); result->setIsRange(report_item.is_range); + result->setIsVolatile(report_item.is_volatile); result->setHasNull(report_item.has_null_position); + result->setHasPreferredState(!report_item.no_preferred_state); + result->setWrap(report_item.wrap); result->setReportSize(report_item.report_size); result->setReportCount(report_item.report_count); result->setUnitExponent( |