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

Issue 2418353002: Allow interfaceClass USB device permissions (Closed)

Created:
4 years, 2 months ago by tbarzic
Modified:
4 years, 1 month ago
CC:
chromium-apps-reviews_chromium.org, chromium-reviews, davemoore+watch_chromium.org, extensions-reviews_chromium.org, michaelpg, oshima+watch_chromium.org, Rahul Chaturvedi
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Allow interfaceClass USB device permissions Introduces interfaceClass parameter to usbDevice permission. The parameter is used to match permission to all USB device that expose an interface with the provided class. The interfaceClass permission will be matched against all interfaces supported by any of USB device configurations. USB device permission with interfaceClass set will only be taken into account when determining device availability in kiosk sessions. To support filtering devices that specify (only) device level class (e.g. hub class is device descriptor class), when testing interfaceClass permission parameter, take device class into account (in addition to all interface classes). Since extracting set of supported interfaces or a device is not as trivial as getting vendor/product ID, introduce helper factory methods for UsbDevicePermisison::CheckParam that will create check param for a USB device. Also, since usbDevice permission is used by hid API too, add a method for creating check param for HID devices. For those, set of interface classes will be set to HID interface class: 3. BUG=629223 Committed: https://crrev.com/2d0dff8d82ef6b4ba129f77f542e02391b7b04fb Cr-Commit-Position: refs/heads/master@{#428154}

Patch Set 1 #

Patch Set 2 : Allow interfaceClass USB device permissions #

Patch Set 3 : unittests #

Patch Set 4 : Allow interfaceClass USB device permissions #

Patch Set 5 : Allow interfaceClass USB device permissions #

Total comments: 14

Patch Set 6 : comments addressed #

Patch Set 7 : . #

Total comments: 2

Patch Set 8 : match against all configurations, not just the active one #

Total comments: 2

Patch Set 9 : comment on ForDeviceWithAnyInterfaceClass #

Total comments: 1

Patch Set 10 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+928 lines, -89 lines) Patch
M chrome/browser/chromeos/printer_detector/printer_detector.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M chrome/browser/extensions/permission_messages_unittest.cc View 1 2 3 4 4 chunks +8 lines, -8 lines 0 comments Download
M chrome/browser/ui/webui/print_preview/extension_printer_handler.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M chrome/common/extensions/permissions/chrome_permission_message_provider_unittest.cc View 1 2 3 4 1 chunk +4 lines, -2 lines 0 comments Download
M device/usb/mock_usb_device.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M device/usb/mock_usb_device.cc View 1 2 1 chunk +18 lines, -0 lines 0 comments Download
M extensions/browser/api/hid/hid_device_manager.cc View 1 chunk +4 lines, -4 lines 0 comments Download
M extensions/browser/api/usb/usb_api.cc View 1 2 4 chunks +32 lines, -8 lines 0 comments Download
M extensions/browser/api/usb/usb_event_router.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M extensions/common/BUILD.gn View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M extensions/common/api/_behavior_features.json View 1 chunk +5 lines, -0 lines 0 comments Download
M extensions/common/extension_messages.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M extensions/common/features/behavior_feature.h View 1 chunk +1 line, -0 lines 0 comments Download
M extensions/common/features/behavior_feature.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M extensions/common/permissions/usb_device_permission.h View 1 2 3 4 5 6 7 8 9 1 chunk +46 lines, -4 lines 0 comments Download
M extensions/common/permissions/usb_device_permission.cc View 1 2 3 4 5 6 7 2 chunks +96 lines, -1 line 0 comments Download
M extensions/common/permissions/usb_device_permission_data.h View 1 2 3 4 5 4 chunks +23 lines, -15 lines 0 comments Download
M extensions/common/permissions/usb_device_permission_data.cc View 1 2 3 4 5 5 chunks +86 lines, -29 lines 0 comments Download
M extensions/common/permissions/usb_device_permission_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +584 lines, -6 lines 0 comments Download

Messages

Total messages: 39 (24 generated)
tbarzic
4 years, 2 months ago (2016-10-20 19:47:34 UTC) #13
Reilly Grant (use Gerrit)
https://codereview.chromium.org/2418353002/diff/80001/extensions/common/permissions/usb_device_permission.cc File extensions/common/permissions/usb_device_permission.cc (right): https://codereview.chromium.org/2418353002/diff/80001/extensions/common/permissions/usb_device_permission.cc#newcode76 extensions/common/permissions/usb_device_permission.cc:76: } nit: No braces around single-line ifs. https://codereview.chromium.org/2418353002/diff/80001/extensions/common/permissions/usb_device_permission.cc#newcode80 extensions/common/permissions/usb_device_permission.cc:80: ...
4 years, 2 months ago (2016-10-20 23:16:52 UTC) #16
tbarzic
https://codereview.chromium.org/2418353002/diff/80001/extensions/common/permissions/usb_device_permission.cc File extensions/common/permissions/usb_device_permission.cc (right): https://codereview.chromium.org/2418353002/diff/80001/extensions/common/permissions/usb_device_permission.cc#newcode76 extensions/common/permissions/usb_device_permission.cc:76: } On 2016/10/20 23:16:52, Reilly Grant wrote: > nit: ...
4 years, 2 months ago (2016-10-21 00:05:05 UTC) #17
Reilly Grant (use Gerrit)
https://codereview.chromium.org/2418353002/diff/120001/extensions/common/permissions/usb_device_permission.cc File extensions/common/permissions/usb_device_permission.cc (right): https://codereview.chromium.org/2418353002/diff/120001/extensions/common/permissions/usb_device_permission.cc#newcode77 extensions/common/permissions/usb_device_permission.cc:77: if (device->active_configuration()) { We probably want to check all ...
4 years, 1 month ago (2016-10-25 18:33:08 UTC) #18
tbarzic
https://codereview.chromium.org/2418353002/diff/120001/extensions/common/permissions/usb_device_permission.cc File extensions/common/permissions/usb_device_permission.cc (right): https://codereview.chromium.org/2418353002/diff/120001/extensions/common/permissions/usb_device_permission.cc#newcode77 extensions/common/permissions/usb_device_permission.cc:77: if (device->active_configuration()) { On 2016/10/25 18:33:08, Reilly Grant wrote: ...
4 years, 1 month ago (2016-10-25 18:46:01 UTC) #20
Reilly Grant (use Gerrit)
https://codereview.chromium.org/2418353002/diff/140001/extensions/common/permissions/usb_device_permission_unittest.cc File extensions/common/permissions/usb_device_permission_unittest.cc (right): https://codereview.chromium.org/2418353002/diff/140001/extensions/common/permissions/usb_device_permission_unittest.cc#newcode196 extensions/common/permissions/usb_device_permission_unittest.cc:196: EXPECT_TRUE(permission_data.Check(param.get())); Can you add a comment explaining why this ...
4 years, 1 month ago (2016-10-25 20:44:03 UTC) #21
tbarzic
https://codereview.chromium.org/2418353002/diff/140001/extensions/common/permissions/usb_device_permission_unittest.cc File extensions/common/permissions/usb_device_permission_unittest.cc (right): https://codereview.chromium.org/2418353002/diff/140001/extensions/common/permissions/usb_device_permission_unittest.cc#newcode196 extensions/common/permissions/usb_device_permission_unittest.cc:196: EXPECT_TRUE(permission_data.Check(param.get())); On 2016/10/25 20:44:03, Reilly Grant wrote: > Can ...
4 years, 1 month ago (2016-10-25 21:17:08 UTC) #22
Reilly Grant (use Gerrit)
lgtm
4 years, 1 month ago (2016-10-25 22:10:13 UTC) #23
tbarzic
adding missing owners xiyuan: chrome/browser/chromeos meacer: extension/common/extension_messages.h
4 years, 1 month ago (2016-10-25 22:39:03 UTC) #25
xiyuan
chrome/browser/chromeos LGTM
4 years, 1 month ago (2016-10-26 17:56:22 UTC) #26
meacer
On 2016/10/26 17:56:22, xiyuan wrote: > chrome/browser/chromeos LGTM extension/common/extension_messages.h lgtm
4 years, 1 month ago (2016-10-27 00:14:20 UTC) #27
meacer
(forgot to send this comment) https://codereview.chromium.org/2418353002/diff/160001/extensions/common/permissions/usb_device_permission.h File extensions/common/permissions/usb_device_permission.h (right): https://codereview.chromium.org/2418353002/diff/160001/extensions/common/permissions/usb_device_permission.h#newcode55 extensions/common/permissions/usb_device_permission.h:55: CheckParam(const Extension* extesnion, extesnion ...
4 years, 1 month ago (2016-10-27 00:14:35 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2418353002/180001
4 years, 1 month ago (2016-10-27 21:29:45 UTC) #35
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 1 month ago (2016-10-27 22:09:26 UTC) #37
commit-bot: I haz the power
4 years, 1 month ago (2016-10-27 22:11:15 UTC) #39
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/2d0dff8d82ef6b4ba129f77f542e02391b7b04fb
Cr-Commit-Position: refs/heads/master@{#428154}

Powered by Google App Engine
This is Rietveld 408576698