| 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 "chrome/browser/extensions/api/hid/hid_api.h" | 5 #include "chrome/browser/extensions/api/hid/hid_api.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "chrome/common/extensions/api/hid.h" | 10 #include "chrome/common/extensions/api/hid.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 parameters_ = hid::GetDevices::Params::Create(*args_); | 80 parameters_ = hid::GetDevices::Params::Create(*args_); |
| 81 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); | 81 EXTENSION_FUNCTION_VALIDATE(parameters_.get()); |
| 82 return true; | 82 return true; |
| 83 } | 83 } |
| 84 | 84 |
| 85 void HidGetDevicesFunction::AsyncWorkStart() { | 85 void HidGetDevicesFunction::AsyncWorkStart() { |
| 86 const uint16_t vendor_id = parameters_->options.vendor_id; | 86 const uint16_t vendor_id = parameters_->options.vendor_id; |
| 87 const uint16_t product_id = parameters_->options.product_id; | 87 const uint16_t product_id = parameters_->options.product_id; |
| 88 UsbDevicePermission::CheckParam param( | 88 UsbDevicePermission::CheckParam param( |
| 89 vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE); | 89 vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE); |
| 90 if (!PermissionsData::ForExtension(GetExtension()) | 90 if (!GetExtension()->permissions_data()->CheckAPIPermissionWithParam( |
| 91 ->CheckAPIPermissionWithParam(APIPermission::kUsbDevice, ¶m)) { | 91 APIPermission::kUsbDevice, ¶m)) { |
| 92 LOG(WARNING) << "Insufficient permissions to access device."; | 92 LOG(WARNING) << "Insufficient permissions to access device."; |
| 93 CompleteWithError(kErrorPermissionDenied); | 93 CompleteWithError(kErrorPermissionDenied); |
| 94 return; | 94 return; |
| 95 } | 95 } |
| 96 | 96 |
| 97 SetResult(device_manager_->GetApiDevices(vendor_id, product_id).release()); | 97 SetResult(device_manager_->GetApiDevices(vendor_id, product_id).release()); |
| 98 AsyncWorkCompleted(); | 98 AsyncWorkCompleted(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 HidConnectFunction::HidConnectFunction() {} | 101 HidConnectFunction::HidConnectFunction() {} |
| (...skipping 10 matching lines...) Expand all Loading... |
| 112 device::HidDeviceInfo device_info; | 112 device::HidDeviceInfo device_info; |
| 113 if (!device_manager_->GetDeviceInfo(parameters_->device_id, &device_info)) { | 113 if (!device_manager_->GetDeviceInfo(parameters_->device_id, &device_info)) { |
| 114 CompleteWithError(kErrorInvalidDeviceId); | 114 CompleteWithError(kErrorInvalidDeviceId); |
| 115 return; | 115 return; |
| 116 } | 116 } |
| 117 | 117 |
| 118 UsbDevicePermission::CheckParam param( | 118 UsbDevicePermission::CheckParam param( |
| 119 device_info.vendor_id, | 119 device_info.vendor_id, |
| 120 device_info.product_id, | 120 device_info.product_id, |
| 121 UsbDevicePermissionData::UNSPECIFIED_INTERFACE); | 121 UsbDevicePermissionData::UNSPECIFIED_INTERFACE); |
| 122 if (!PermissionsData::ForExtension(GetExtension()) | 122 if (!GetExtension()->permissions_data()->CheckAPIPermissionWithParam( |
| 123 ->CheckAPIPermissionWithParam(APIPermission::kUsbDevice, ¶m)) { | 123 APIPermission::kUsbDevice, ¶m)) { |
| 124 LOG(WARNING) << "Insufficient permissions to access device."; | 124 LOG(WARNING) << "Insufficient permissions to access device."; |
| 125 CompleteWithError(kErrorPermissionDenied); | 125 CompleteWithError(kErrorPermissionDenied); |
| 126 return; | 126 return; |
| 127 } | 127 } |
| 128 | 128 |
| 129 HidService* hid_service = HidService::GetInstance(); | 129 HidService* hid_service = HidService::GetInstance(); |
| 130 DCHECK(hid_service); | 130 DCHECK(hid_service); |
| 131 scoped_refptr<HidConnection> connection = | 131 scoped_refptr<HidConnection> connection = |
| 132 hid_service->Connect(device_info.device_id); | 132 hid_service->Connect(device_info.device_id); |
| 133 if (!connection) { | 133 if (!connection) { |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 | 294 |
| 295 void HidSendFeatureReportFunction::OnFinished(bool success, size_t bytes) { | 295 void HidSendFeatureReportFunction::OnFinished(bool success, size_t bytes) { |
| 296 if (!success) { | 296 if (!success) { |
| 297 CompleteWithError(kErrorTransfer); | 297 CompleteWithError(kErrorTransfer); |
| 298 return; | 298 return; |
| 299 } | 299 } |
| 300 AsyncWorkCompleted(); | 300 AsyncWorkCompleted(); |
| 301 } | 301 } |
| 302 | 302 |
| 303 } // namespace extensions | 303 } // namespace extensions |
| OLD | NEW |