| 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));
 | 
|  }
 | 
|  
 | 
| 
 |