| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "extensions/browser/api/hid/hid_api.h" | 5 #include "extensions/browser/api/hid/hid_api.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "device/hid/hid_connection.h" | 10 #include "device/hid/hid_connection.h" |
| 11 #include "device/hid/hid_device_info.h" | 11 #include "device/hid/hid_device_info.h" |
| 12 #include "device/hid/hid_service.h" | 12 #include "device/hid/hid_service.h" |
| 13 #include "extensions/browser/api/api_resource_manager.h" | 13 #include "extensions/browser/api/api_resource_manager.h" |
| 14 #include "extensions/browser/api/extensions_api_client.h" |
| 14 #include "extensions/common/api/hid.h" | 15 #include "extensions/common/api/hid.h" |
| 15 #include "extensions/common/permissions/permissions_data.h" | 16 #include "extensions/common/permissions/permissions_data.h" |
| 16 #include "extensions/common/permissions/usb_device_permission.h" | 17 #include "extensions/common/permissions/usb_device_permission.h" |
| 17 #include "net/base/io_buffer.h" | 18 #include "net/base/io_buffer.h" |
| 18 | 19 |
| 19 namespace hid = extensions::core_api::hid; | 20 namespace hid = extensions::core_api::hid; |
| 20 | 21 |
| 21 using device::HidConnection; | 22 using device::HidConnection; |
| 22 using device::HidDeviceInfo; | 23 using device::HidDeviceInfo; |
| 23 using device::HidService; | 24 using device::HidService; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 device_info.vendor_id, | 120 device_info.vendor_id, |
| 120 device_info.product_id, | 121 device_info.product_id, |
| 121 UsbDevicePermissionData::UNSPECIFIED_INTERFACE); | 122 UsbDevicePermissionData::UNSPECIFIED_INTERFACE); |
| 122 if (!GetExtension()->permissions_data()->CheckAPIPermissionWithParam( | 123 if (!GetExtension()->permissions_data()->CheckAPIPermissionWithParam( |
| 123 APIPermission::kUsbDevice, ¶m)) { | 124 APIPermission::kUsbDevice, ¶m)) { |
| 124 LOG(WARNING) << "Insufficient permissions to access device."; | 125 LOG(WARNING) << "Insufficient permissions to access device."; |
| 125 CompleteWithError(kErrorPermissionDenied); | 126 CompleteWithError(kErrorPermissionDenied); |
| 126 return; | 127 return; |
| 127 } | 128 } |
| 128 | 129 |
| 129 HidService* hid_service = HidService::GetInstance(); | 130 HidService* hid_service = ExtensionsAPIClient::Get()->GetHidService(); |
| 130 DCHECK(hid_service); | 131 DCHECK(hid_service); |
| 131 scoped_refptr<HidConnection> connection = | 132 scoped_refptr<HidConnection> connection = |
| 132 hid_service->Connect(device_info.device_id); | 133 hid_service->Connect(device_info.device_id); |
| 133 if (!connection) { | 134 if (!connection) { |
| 134 CompleteWithError(kErrorFailedToOpenDevice); | 135 CompleteWithError(kErrorFailedToOpenDevice); |
| 135 return; | 136 return; |
| 136 } | 137 } |
| 137 int connection_id = connection_manager_->Add( | 138 int connection_id = connection_manager_->Add( |
| 138 new HidConnectionResource(extension_->id(), connection)); | 139 new HidConnectionResource(extension_->id(), connection)); |
| 139 SetResult(PopulateHidConnection(connection_id, connection)); | 140 SetResult(PopulateHidConnection(connection_id, connection)); |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 | 295 |
| 295 void HidSendFeatureReportFunction::OnFinished(bool success, size_t bytes) { | 296 void HidSendFeatureReportFunction::OnFinished(bool success, size_t bytes) { |
| 296 if (!success) { | 297 if (!success) { |
| 297 CompleteWithError(kErrorTransfer); | 298 CompleteWithError(kErrorTransfer); |
| 298 return; | 299 return; |
| 299 } | 300 } |
| 300 AsyncWorkCompleted(); | 301 AsyncWorkCompleted(); |
| 301 } | 302 } |
| 302 | 303 |
| 303 } // namespace extensions | 304 } // namespace extensions |
| OLD | NEW |