| 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" | |
| 15 #include "extensions/common/api/hid.h" | 14 #include "extensions/common/api/hid.h" |
| 16 #include "extensions/common/permissions/permissions_data.h" | 15 #include "extensions/common/permissions/permissions_data.h" |
| 17 #include "extensions/common/permissions/usb_device_permission.h" | 16 #include "extensions/common/permissions/usb_device_permission.h" |
| 18 #include "net/base/io_buffer.h" | 17 #include "net/base/io_buffer.h" |
| 19 | 18 |
| 20 namespace hid = extensions::core_api::hid; | 19 namespace hid = extensions::core_api::hid; |
| 21 | 20 |
| 22 using device::HidConnection; | 21 using device::HidConnection; |
| 23 using device::HidDeviceInfo; | 22 using device::HidDeviceInfo; |
| 24 using device::HidService; | 23 using device::HidService; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 device_info.vendor_id, | 119 device_info.vendor_id, |
| 121 device_info.product_id, | 120 device_info.product_id, |
| 122 UsbDevicePermissionData::UNSPECIFIED_INTERFACE); | 121 UsbDevicePermissionData::UNSPECIFIED_INTERFACE); |
| 123 if (!extension()->permissions_data()->CheckAPIPermissionWithParam( | 122 if (!extension()->permissions_data()->CheckAPIPermissionWithParam( |
| 124 APIPermission::kUsbDevice, ¶m)) { | 123 APIPermission::kUsbDevice, ¶m)) { |
| 125 LOG(WARNING) << "Insufficient permissions to access device."; | 124 LOG(WARNING) << "Insufficient permissions to access device."; |
| 126 CompleteWithError(kErrorPermissionDenied); | 125 CompleteWithError(kErrorPermissionDenied); |
| 127 return; | 126 return; |
| 128 } | 127 } |
| 129 | 128 |
| 130 HidService* hid_service = ExtensionsAPIClient::Get()->GetHidService(); | 129 HidService* hid_service = HidService::GetInstance( |
| 130 content::BrowserThread::GetMessageLoopProxyForThread( |
| 131 content::BrowserThread::UI)); |
| 131 DCHECK(hid_service); | 132 DCHECK(hid_service); |
| 132 scoped_refptr<HidConnection> connection = | 133 scoped_refptr<HidConnection> connection = |
| 133 hid_service->Connect(device_info.device_id); | 134 hid_service->Connect(device_info.device_id); |
| 134 if (!connection) { | 135 if (!connection) { |
| 135 CompleteWithError(kErrorFailedToOpenDevice); | 136 CompleteWithError(kErrorFailedToOpenDevice); |
| 136 return; | 137 return; |
| 137 } | 138 } |
| 138 int connection_id = connection_manager_->Add( | 139 int connection_id = connection_manager_->Add( |
| 139 new HidConnectionResource(extension_->id(), connection)); | 140 new HidConnectionResource(extension_->id(), connection)); |
| 140 SetResult(PopulateHidConnection(connection_id, connection)); | 141 SetResult(PopulateHidConnection(connection_id, connection)); |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 | 316 |
| 316 void HidSendFeatureReportFunction::OnFinished(bool success, size_t bytes) { | 317 void HidSendFeatureReportFunction::OnFinished(bool success, size_t bytes) { |
| 317 if (!success) { | 318 if (!success) { |
| 318 CompleteWithError(kErrorTransfer); | 319 CompleteWithError(kErrorTransfer); |
| 319 return; | 320 return; |
| 320 } | 321 } |
| 321 AsyncWorkCompleted(); | 322 AsyncWorkCompleted(); |
| 322 } | 323 } |
| 323 | 324 |
| 324 } // namespace extensions | 325 } // namespace extensions |
| OLD | NEW |