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

Issue 1115213004: Add chrome.hid.getUserSelectedDevices API. (Closed)

Created:
5 years, 7 months ago by Reilly Grant (use Gerrit)
Modified:
5 years, 6 months ago
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, asvitkine+watch_chromium.org, extensions-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add chrome.hid.getUserSelectedDevices API. This change wires up the HID API to the DevicePermissionsManager so that devices the user has granted permission are enumerated and can be connected to. It then adds a chrome.hid.getUserSelectedDevices function which displays a dialog box (using the new AskForHidDevices method added to DevicePermissionsPrompt) asking the user to select one or more HID devices. The application can filter which devices are available for the user to select. BUG=457899 Committed: https://crrev.com/7c2dc58d437b8dfa269227981b0221c196888d41 Cr-Commit-Position: refs/heads/master@{#335316}

Patch Set 1 : #

Total comments: 26

Patch Set 2 : Address Devlin's comments. #

Total comments: 4

Patch Set 3 : Replace "service unavailable" errors with CHECKs. #

Total comments: 3

Patch Set 4 : Check for bad web contents and unavailable modal/popup managers #

Patch Set 5 : Rebased. #

Total comments: 6

Patch Set 6 : Post Dismissed call to the thread's TaskRunner. #

Patch Set 7 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+286 lines, -54 lines) Patch
M chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm View 1 2 3 4 5 2 chunks +11 lines, -2 lines 0 comments Download
M chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc View 1 2 3 4 5 2 chunks +16 lines, -2 lines 0 comments Download
M extensions/browser/api/hid/hid_api.h View 1 3 chunks +25 lines, -0 lines 0 comments Download
M extensions/browser/api/hid/hid_api.cc View 1 2 3 13 chunks +62 lines, -28 lines 0 comments Download
M extensions/browser/api/hid/hid_apitest.cc View 1 4 chunks +51 lines, -1 line 0 comments Download
M extensions/browser/api/hid/hid_device_manager.h View 1 4 chunks +16 lines, -7 lines 0 comments Download
M extensions/browser/api/hid/hid_device_manager.cc View 1 2 7 chunks +42 lines, -11 lines 0 comments Download
M extensions/browser/extension_function_histogram_value.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M extensions/common/api/_api_features.json View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M extensions/common/api/hid.idl View 1 2 chunks +19 lines, -0 lines 0 comments Download
A extensions/test/data/api_test/hid/get_user_selected_devices/background.js View 1 chunk +34 lines, -0 lines 0 comments Download
A + extensions/test/data/api_test/hid/get_user_selected_devices/manifest.json View 1 chunk +3 lines, -3 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 28 (6 generated)
Reilly Grant (use Gerrit)
Devlin, please take a look.
5 years, 7 months ago (2015-05-05 20:30:51 UTC) #2
Devlin
https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc#newcode112 extensions/browser/api/hid/hid_api.cc:112: ExtensionFunction::ResponseAction HidGetUserSelectedDevicesFunction::Run() { I thought I saw something in ...
5 years, 7 months ago (2015-05-05 22:19:51 UTC) #4
Reilly Grant (use Gerrit)
https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc#newcode112 extensions/browser/api/hid/hid_api.cc:112: ExtensionFunction::ResponseAction HidGetUserSelectedDevicesFunction::Run() { On 2015/05/05 22:19:50, Devlin wrote: > ...
5 years, 7 months ago (2015-05-06 00:52:53 UTC) #5
Devlin
https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc#newcode145 extensions/browser/api/hid/hid_api.cc:145: if (!device_manager) { On 2015/05/06 00:52:53, reillyg wrote: > ...
5 years, 7 months ago (2015-05-06 23:04:28 UTC) #6
Reilly Grant (use Gerrit)
https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/20001/extensions/browser/api/hid/hid_api.cc#newcode145 extensions/browser/api/hid/hid_api.cc:145: if (!device_manager) { On 2015/05/06 23:04:28, Devlin wrote: > ...
5 years, 7 months ago (2015-05-06 23:48:52 UTC) #7
Reilly Grant (use Gerrit)
Adding Alexei for a histograms review.
5 years, 7 months ago (2015-05-07 20:34:30 UTC) #9
Devlin
https://codereview.chromium.org/1115213004/diff/40001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/40001/extensions/browser/api/hid/hid_api.cc#newcode123 extensions/browser/api/hid/hid_api.cc:123: return RespondNow(OneArgument(new base::ListValue())); On 2015/05/06 23:48:52, reillyg wrote: > ...
5 years, 7 months ago (2015-05-07 20:43:55 UTC) #10
Reilly Grant (use Gerrit)
https://codereview.chromium.org/1115213004/diff/60001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/60001/extensions/browser/api/hid/hid_api.cc#newcode133 extensions/browser/api/hid/hid_api.cc:133: CHECK(prompt_); On 2015/05/07 20:43:55, Devlin wrote: > This has ...
5 years, 7 months ago (2015-05-07 20:53:39 UTC) #11
Devlin
https://codereview.chromium.org/1115213004/diff/60001/extensions/browser/api/hid/hid_api.cc File extensions/browser/api/hid/hid_api.cc (right): https://codereview.chromium.org/1115213004/diff/60001/extensions/browser/api/hid/hid_api.cc#newcode133 extensions/browser/api/hid/hid_api.cc:133: CHECK(prompt_); On 2015/05/07 20:53:39, reillyg wrote: > On 2015/05/07 ...
5 years, 7 months ago (2015-05-07 21:02:43 UTC) #12
Alexei Svitkine (slow)
histograms lgtm
5 years, 7 months ago (2015-05-08 18:35:44 UTC) #13
Reilly Grant (use Gerrit)
I've added checks for unavailable web contexts and web contexts without popup managers. This should ...
5 years, 7 months ago (2015-05-09 20:05:53 UTC) #14
Reilly Grant (use Gerrit)
Adding Ben for the chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc change.
5 years, 7 months ago (2015-05-13 01:33:10 UTC) #16
benwells
On 2015/05/13 01:33:10, reillyg wrote: > Adding Ben for the > chrome/browser/ui/views/extensions/device_permissions_dialog_view.cc change. ^^^ file ...
5 years, 7 months ago (2015-05-13 02:57:57 UTC) #17
Devlin
Sorry for the delay - was OOO. https://codereview.chromium.org/1115213004/diff/100001/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm File chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm (right): https://codereview.chromium.org/1115213004/diff/100001/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm#newcode65 chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm:65: prompt()->Dismissed(); - ...
5 years, 7 months ago (2015-05-14 17:38:11 UTC) #18
Reilly Grant (use Gerrit)
https://codereview.chromium.org/1115213004/diff/100001/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm File chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm (right): https://codereview.chromium.org/1115213004/diff/100001/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm#newcode65 chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm:65: prompt()->Dismissed(); On 2015/05/14 17:38:11, Devlin wrote: > - Can ...
5 years, 7 months ago (2015-05-14 18:04:28 UTC) #19
Devlin
https://codereview.chromium.org/1115213004/diff/100001/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm File chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm (right): https://codereview.chromium.org/1115213004/diff/100001/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm#newcode65 chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm:65: prompt()->Dismissed(); And you're confident that Dismissed()'ing the dialog is ...
5 years, 7 months ago (2015-05-14 18:32:02 UTC) #20
Reilly Grant (use Gerrit)
After discussing the ExtensionFunction interface with kalman@ I've been convinced that calling callback.Run() directly is ...
5 years, 6 months ago (2015-06-10 23:01:12 UTC) #21
Reilly Grant (use Gerrit)
Devlin, ping?
5 years, 6 months ago (2015-06-19 16:31:36 UTC) #22
Devlin
On 2015/06/19 16:31:36, reillyg wrote: > Devlin, ping? Sorry for the delay - please feel ...
5 years, 6 months ago (2015-06-19 17:29:41 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1115213004/140001
5 years, 6 months ago (2015-06-19 18:07:24 UTC) #26
commit-bot: I haz the power
Committed patchset #7 (id:140001)
5 years, 6 months ago (2015-06-19 19:23:05 UTC) #27
commit-bot: I haz the power
5 years, 6 months ago (2015-06-19 19:24:11 UTC) #28
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/7c2dc58d437b8dfa269227981b0221c196888d41
Cr-Commit-Position: refs/heads/master@{#335316}

Powered by Google App Engine
This is Rietveld 408576698