diff options
author | rockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-26 18:25:38 +0000 |
---|---|---|
committer | rockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-26 18:25:38 +0000 |
commit | 03b640fd591ce98a81ec36ef6dab245fa95b6b51 (patch) | |
tree | d74d538b4cc5bd5512150af429e956de2cafe9dc /device/hid/hid_service_linux.h | |
parent | be4e0f9f02b6722b62986106d915f637ff1ca7b4 (diff) | |
download | chromium_src-03b640fd591ce98a81ec36ef6dab245fa95b6b51.zip chromium_src-03b640fd591ce98a81ec36ef6dab245fa95b6b51.tar.gz chromium_src-03b640fd591ce98a81ec36ef6dab245fa95b6b51.tar.bz2 |
Support permission_broker for chrome.hid devices.
This enables the Chrome to query permission_broker for access
to hidraw device paths when running on Chrome OS.
HidService has been refactored so that it is owned by the
extensions API embedder, rather than being a singleton.
Because hid has just moved to //extensions as well, this also establishes a new ShellExtensionsAPIClient to create a HidService for app_shell.
BUG=367145
TEST=manual test on ChromeOS dev build
TBR=derat@chromium.org for mechanical app_shell changes
Review URL: https://codereview.chromium.org/419713002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285774 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'device/hid/hid_service_linux.h')
-rw-r--r-- | device/hid/hid_service_linux.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/device/hid/hid_service_linux.h b/device/hid/hid_service_linux.h index c69096d..62bb4c7 100644 --- a/device/hid/hid_service_linux.h +++ b/device/hid/hid_service_linux.h @@ -7,6 +7,7 @@ #include "base/compiler_specific.h" #include "base/macros.h" +#include "base/memory/weak_ptr.h" #include "device/hid/device_monitor_linux.h" #include "device/hid/hid_device_info.h" #include "device/hid/hid_service.h" @@ -20,7 +21,7 @@ class HidConnection; class HidServiceLinux : public HidService, public DeviceMonitorLinux::Observer { public: - HidServiceLinux(); + HidServiceLinux(scoped_refptr<base::MessageLoopProxy> ui_message_loop); virtual scoped_refptr<HidConnection> Connect(const HidDeviceId& device_id) OVERRIDE; @@ -32,6 +33,15 @@ class HidServiceLinux : public HidService, private: virtual ~HidServiceLinux(); + void OnRequestAccessComplete( + const std::string& path, + scoped_ptr<HidDeviceInfo> device_info, + bool success); + + scoped_refptr<base::MessageLoopProxy> ui_message_loop_; + + base::WeakPtrFactory<HidServiceLinux> weak_factory_; + DISALLOW_COPY_AND_ASSIGN(HidServiceLinux); }; |