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 (!extension()->permissions_data()->CheckAPIPermissionWithParam( | 123 if (!extension()->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 content::BrowserThread::GetMessageLoopProxyForThread( | |
131 content::BrowserThread::UI)); | |
132 DCHECK(hid_service); | 131 DCHECK(hid_service); |
133 scoped_refptr<HidConnection> connection = | 132 scoped_refptr<HidConnection> connection = |
134 hid_service->Connect(device_info.device_id); | 133 hid_service->Connect(device_info.device_id); |
135 if (!connection.get()) { | 134 if (!connection.get()) { |
136 CompleteWithError(kErrorFailedToOpenDevice); | 135 CompleteWithError(kErrorFailedToOpenDevice); |
137 return; | 136 return; |
138 } | 137 } |
139 int connection_id = connection_manager_->Add( | 138 int connection_id = connection_manager_->Add( |
140 new HidConnectionResource(extension_->id(), connection)); | 139 new HidConnectionResource(extension_->id(), connection)); |
141 SetResult(PopulateHidConnection(connection_id, connection)); | 140 SetResult(PopulateHidConnection(connection_id, connection)); |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 | 311 |
313 void HidSendFeatureReportFunction::OnFinished(bool success) { | 312 void HidSendFeatureReportFunction::OnFinished(bool success) { |
314 if (!success) { | 313 if (!success) { |
315 CompleteWithError(kErrorTransfer); | 314 CompleteWithError(kErrorTransfer); |
316 return; | 315 return; |
317 } | 316 } |
318 AsyncWorkCompleted(); | 317 AsyncWorkCompleted(); |
319 } | 318 } |
320 | 319 |
321 } // namespace extensions | 320 } // namespace extensions |
OLD | NEW |