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

Unified Diff: chrome/common/extensions/permissions/usb_device_permission_data.cc

Issue 22914023: Introducing chrome.usb.getDevices/openDevice API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@usb-interface
Patch Set: Adding chrome.usb.requestAccess Created 7 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/permissions/usb_device_permission_data.cc
diff --git a/chrome/common/extensions/permissions/usb_device_permission_data.cc b/chrome/common/extensions/permissions/usb_device_permission_data.cc
index ce7d3d7f9279fa5a4af35d5e40b6d5dd396da03c..ef943764703aa99b94d548083b0ca580ca8fe1ab 100644
--- a/chrome/common/extensions/permissions/usb_device_permission_data.cc
+++ b/chrome/common/extensions/permissions/usb_device_permission_data.cc
@@ -44,8 +44,9 @@ bool UsbDevicePermissionData::Check(
const UsbDevicePermission::CheckParam& specific_param =
*static_cast<const UsbDevicePermission::CheckParam*>(param);
return vendor_id_ == specific_param.vendor_id &&
- product_id_ == specific_param.product_id &&
- interface_id_ == specific_param.interface_id;
+ product_id_ == specific_param.product_id &&
+ (specific_param.interface_id == UNSPECIFIED_INTERFACE ||
+ interface_id_ == specific_param.interface_id);
}
scoped_ptr<base::Value> UsbDevicePermissionData::ToValue() const {
@@ -79,6 +80,8 @@ bool UsbDevicePermissionData::FromValue(const base::Value* value) {
if (!dict_value->GetInteger(kInterfaceIdKey, &temp))
interface_id_ = ANY_INTERFACE;
+ else if (temp < ANY_INTERFACE || temp > kuint8max)
+ return false;
else
interface_id_ = temp;

Powered by Google App Engine
This is Rietveld 408576698