| Index: chrome/browser/extensions/api/hid/hid_api.cc
|
| diff --git a/chrome/browser/extensions/api/hid/hid_api.cc b/chrome/browser/extensions/api/hid/hid_api.cc
|
| index e5e8eb38a9a676dc6c2f5854b8e7bfea3fd919a5..bc12c59d9b31336ba4e251639e9a7b2572f0ac2b 100644
|
| --- a/chrome/browser/extensions/api/hid/hid_api.cc
|
| +++ b/chrome/browser/extensions/api/hid/hid_api.cc
|
| @@ -27,14 +27,13 @@ namespace {
|
|
|
| const char kErrorPermissionDenied[] = "Permission to access device was denied.";
|
| const char kErrorServiceFailed[] = "HID service failed be created.";
|
| -const char kErrorDeviceNotFound[] = "HID device not found.";
|
| const char kErrorFailedToOpenDevice[] = "Failed to open HID device.";
|
| const char kErrorConnectionNotFound[] = "Connection not established.";
|
| const char kErrorTransfer[] = "Transfer failed.";
|
|
|
| base::Value* PopulateHidDevice(const HidDeviceInfo& info) {
|
| hid::HidDeviceInfo device_info;
|
| - device_info.path = info.device_id;
|
| + device_info.device_id = info.device_id;
|
| device_info.product_id = info.product_id;
|
| device_info.vendor_id = info.vendor_id;
|
| return device_info.ToValue().release();
|
| @@ -136,17 +135,8 @@ void HidConnectFunction::AsyncWorkStart() {
|
| CompleteWithError(kErrorServiceFailed);
|
| return;
|
| }
|
| - HidDeviceInfo device;
|
| - if (!service->GetInfo(parameters_->device_info.path, &device)) {
|
| - CompleteWithError(kErrorDeviceNotFound);
|
| - return;
|
| - }
|
| - if (device.vendor_id != parameters_->device_info.vendor_id ||
|
| - device.product_id != parameters_->device_info.product_id) {
|
| - CompleteWithError(kErrorDeviceNotFound);
|
| - return;
|
| - }
|
| - scoped_refptr<HidConnection> connection = service->Connect(device.device_id);
|
| + scoped_refptr<HidConnection> connection =
|
| + service->Connect(parameters_->device_id);
|
| if (!connection) {
|
| CompleteWithError(kErrorFailedToOpenDevice);
|
| return;
|
| @@ -198,10 +188,9 @@ void HidReceiveFunction::AsyncWorkStart() {
|
| return;
|
| }
|
|
|
| - buffer_ = new net::IOBuffer(parameters_->size);
|
| + buffer_ = new net::IOBufferWithSize(parameters_->size);
|
| resource->connection()->Read(
|
| buffer_,
|
| - parameters_->size,
|
| base::Bind(&HidReceiveFunction::OnFinished, this));
|
| }
|
|
|
| @@ -234,14 +223,13 @@ void HidSendFunction::AsyncWorkStart() {
|
| return;
|
| }
|
|
|
| - scoped_refptr<net::IOBuffer> buffer(
|
| - new net::WrappedIOBuffer(parameters_->data.c_str()));
|
| + scoped_refptr<net::IOBufferWithSize> buffer(
|
| + new net::IOBufferWithSize(parameters_->data.size()));
|
| memcpy(buffer->data(),
|
| parameters_->data.c_str(),
|
| parameters_->data.size());
|
| resource->connection()->Write(
|
| buffer,
|
| - parameters_->data.size(),
|
| base::Bind(&HidSendFunction::OnFinished, this));
|
| }
|
|
|
| @@ -271,10 +259,9 @@ void HidReceiveFeatureReportFunction::AsyncWorkStart() {
|
| CompleteWithError(kErrorConnectionNotFound);
|
| return;
|
| }
|
| - buffer_ = new net::IOBuffer(parameters_->size);
|
| + buffer_ = new net::IOBufferWithSize(parameters_->size);
|
| resource->connection()->GetFeatureReport(
|
| buffer_,
|
| - parameters_->size,
|
| base::Bind(&HidReceiveFeatureReportFunction::OnFinished, this));
|
| }
|
|
|
| @@ -306,11 +293,10 @@ void HidSendFeatureReportFunction::AsyncWorkStart() {
|
| CompleteWithError(kErrorConnectionNotFound);
|
| return;
|
| }
|
| - scoped_refptr<net::IOBuffer> buffer(
|
| - new net::WrappedIOBuffer(parameters_->data.c_str()));
|
| + scoped_refptr<net::IOBufferWithSize> buffer(
|
| + new net::IOBufferWithSize(parameters_->data.size()));
|
| resource->connection()->SendFeatureReport(
|
| buffer,
|
| - parameters_->data.size(),
|
| base::Bind(&HidSendFeatureReportFunction::OnFinished, this));
|
| }
|
|
|
|
|