Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: extensions/browser/api/usb/usb_api.cc

Issue 507503002: Remove BrowserThread dependency from usb_service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move device/common to device/core. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « extensions/browser/api/usb/DEPS ('k') | extensions/browser/api/usb_private/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/usb/usb_api.h" 5 #include "extensions/browser/api/usb/usb_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_loop_proxy.h" 11 #include "base/message_loop/message_loop_proxy.h"
12 #include "components/usb_service/usb_device_handle.h" 12 #include "components/usb_service/usb_device_handle.h"
13 #include "components/usb_service/usb_service.h" 13 #include "components/usb_service/usb_service.h"
14 #include "device/core/device_client.h"
14 #include "extensions/browser/api/usb/usb_device_resource.h" 15 #include "extensions/browser/api/usb/usb_device_resource.h"
15 #include "extensions/browser/extension_system.h" 16 #include "extensions/browser/extension_system.h"
16 #include "extensions/common/api/usb.h" 17 #include "extensions/common/api/usb.h"
17 #include "extensions/common/permissions/permissions_data.h" 18 #include "extensions/common/permissions/permissions_data.h"
18 #include "extensions/common/permissions/usb_device_permission.h" 19 #include "extensions/common/permissions/usb_device_permission.h"
19 20
20 namespace usb = extensions::core_api::usb; 21 namespace usb = extensions::core_api::usb;
21 namespace BulkTransfer = usb::BulkTransfer; 22 namespace BulkTransfer = usb::BulkTransfer;
22 namespace ClaimInterface = usb::ClaimInterface; 23 namespace ClaimInterface = usb::ClaimInterface;
23 namespace CloseDevice = usb::CloseDevice; 24 namespace CloseDevice = usb::CloseDevice;
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 const uint16_t product_id = input_device.product_id; 423 const uint16_t product_id = input_device.product_id;
423 UsbDevicePermission::CheckParam param( 424 UsbDevicePermission::CheckParam param(
424 vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE); 425 vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE);
425 if (!extension()->permissions_data()->CheckAPIPermissionWithParam( 426 if (!extension()->permissions_data()->CheckAPIPermissionWithParam(
426 APIPermission::kUsbDevice, &param)) { 427 APIPermission::kUsbDevice, &param)) {
427 LOG(WARNING) << "Insufficient permissions to access device."; 428 LOG(WARNING) << "Insufficient permissions to access device.";
428 CompleteWithError(kErrorPermissionDenied); 429 CompleteWithError(kErrorPermissionDenied);
429 return NULL; 430 return NULL;
430 } 431 }
431 432
432 UsbService* service = UsbService::GetInstance(); 433 UsbService* service = device::DeviceClient::Get()->GetUsbService();
433 if (!service) { 434 if (!service) {
434 CompleteWithError(kErrorInitService); 435 CompleteWithError(kErrorInitService);
435 return NULL; 436 return NULL;
436 } 437 }
437 scoped_refptr<UsbDevice> device; 438 scoped_refptr<UsbDevice> device;
438 439
439 device = service->GetDeviceById(input_device.device); 440 device = service->GetDeviceById(input_device.device);
440 441
441 if (!device.get()) { 442 if (!device.get()) {
442 CompleteWithError(kErrorNoDevice); 443 CompleteWithError(kErrorNoDevice);
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 ? *parameters_->options.interface_id.get() 554 ? *parameters_->options.interface_id.get()
554 : UsbDevicePermissionData::ANY_INTERFACE; 555 : UsbDevicePermissionData::ANY_INTERFACE;
555 UsbDevicePermission::CheckParam param(vendor_id, product_id, interface_id); 556 UsbDevicePermission::CheckParam param(vendor_id, product_id, interface_id);
556 if (!extension()->permissions_data()->CheckAPIPermissionWithParam( 557 if (!extension()->permissions_data()->CheckAPIPermissionWithParam(
557 APIPermission::kUsbDevice, &param)) { 558 APIPermission::kUsbDevice, &param)) {
558 LOG(WARNING) << "Insufficient permissions to access device."; 559 LOG(WARNING) << "Insufficient permissions to access device.";
559 CompleteWithError(kErrorPermissionDenied); 560 CompleteWithError(kErrorPermissionDenied);
560 return; 561 return;
561 } 562 }
562 563
563 UsbService* service = UsbService::GetInstance(); 564 UsbService* service = device::DeviceClient::Get()->GetUsbService();
564 if (!service) { 565 if (!service) {
565 CompleteWithError(kErrorInitService); 566 CompleteWithError(kErrorInitService);
566 return; 567 return;
567 } 568 }
568 569
569 ScopedDeviceVector devices(new DeviceVector()); 570 ScopedDeviceVector devices(new DeviceVector());
570 service->GetDevices(devices.get()); 571 service->GetDevices(devices.get());
571 572
572 for (DeviceVector::iterator it = devices->begin(); it != devices->end();) { 573 for (DeviceVector::iterator it = devices->begin(); it != devices->end();) {
573 if ((*it)->vendor_id() != vendor_id || (*it)->product_id() != product_id) { 574 if ((*it)->vendor_id() != vendor_id || (*it)->product_id() != product_id) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 const uint16_t product_id = parameters_->options.product_id; 630 const uint16_t product_id = parameters_->options.product_id;
630 UsbDevicePermission::CheckParam param( 631 UsbDevicePermission::CheckParam param(
631 vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE); 632 vendor_id, product_id, UsbDevicePermissionData::UNSPECIFIED_INTERFACE);
632 if (!extension()->permissions_data()->CheckAPIPermissionWithParam( 633 if (!extension()->permissions_data()->CheckAPIPermissionWithParam(
633 APIPermission::kUsbDevice, &param)) { 634 APIPermission::kUsbDevice, &param)) {
634 LOG(WARNING) << "Insufficient permissions to access device."; 635 LOG(WARNING) << "Insufficient permissions to access device.";
635 CompleteWithError(kErrorPermissionDenied); 636 CompleteWithError(kErrorPermissionDenied);
636 return; 637 return;
637 } 638 }
638 639
639 UsbService* service = UsbService::GetInstance(); 640 UsbService* service = device::DeviceClient::Get()->GetUsbService();
640 if (!service) { 641 if (!service) {
641 CompleteWithError(kErrorInitService); 642 CompleteWithError(kErrorInitService);
642 return; 643 return;
643 } 644 }
644 645
645 DeviceVector devices; 646 DeviceVector devices;
646 service->GetDevices(&devices); 647 service->GetDevices(&devices);
647 648
648 for (DeviceVector::iterator it = devices.begin(); it != devices.end();) { 649 for (DeviceVector::iterator it = devices.begin(); it != devices.end();) {
649 if ((*it)->vendor_id() != vendor_id || (*it)->product_id() != product_id) { 650 if ((*it)->vendor_id() != vendor_id || (*it)->product_id() != product_id) {
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
1199 SetResult(new base::FundamentalValue(false)); 1200 SetResult(new base::FundamentalValue(false));
1200 CompleteWithError(kErrorResetDevice); 1201 CompleteWithError(kErrorResetDevice);
1201 return; 1202 return;
1202 } 1203 }
1203 1204
1204 SetResult(new base::FundamentalValue(true)); 1205 SetResult(new base::FundamentalValue(true));
1205 AsyncWorkCompleted(); 1206 AsyncWorkCompleted();
1206 } 1207 }
1207 1208
1208 } // namespace extensions 1209 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/api/usb/DEPS ('k') | extensions/browser/api/usb_private/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698