Chromium Code Reviews| Index: chrome/browser/chrome_device_client.cc |
| diff --git a/chrome/browser/chrome_device_client.cc b/chrome/browser/chrome_device_client.cc |
| index 835a4c3a57782af555671849cdb89ca5fc3e9abd..15c58d25f1d409912cd92a9aa45a85d61126fcf5 100644 |
| --- a/chrome/browser/chrome_device_client.cc |
| +++ b/chrome/browser/chrome_device_client.cc |
| @@ -7,10 +7,29 @@ |
| #include "base/logging.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "device/hid/hid_service.h" |
| +#include "device/usb/public/cpp/device_manager_delegate.h" |
| +#include "device/usb/public/cpp/device_manager_factory.h" |
| +#include "device/usb/public/interfaces/device.mojom.h" |
| #include "device/usb/usb_service.h" |
| using content::BrowserThread; |
| +namespace { |
| + |
| +// DeviceManagerDelegate implementation which allows access to all devices. |
| +class BrowserDeviceManagerDelegate : public device::usb::DeviceManagerDelegate { |
| + public: |
| + BrowserDeviceManagerDelegate() {} |
| + ~BrowserDeviceManagerDelegate() override {} |
| + |
| + private: |
| + bool IsDeviceAllowed(const device::usb::DeviceInfo& device) override { |
| + return true; |
| + } |
| +}; |
|
sky
2015/05/27 23:01:11
DISALLOW_...
Ken Rockot(use gerrit already)
2015/05/27 23:04:11
Done.
|
| + |
| +} // namespace |
| + |
| ChromeDeviceClient::ChromeDeviceClient() {} |
| ChromeDeviceClient::~ChromeDeviceClient() {} |
| @@ -21,6 +40,14 @@ device::UsbService* ChromeDeviceClient::GetUsbService() { |
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)); |
| } |
| +void ChromeDeviceClient::ConnectToUSBDeviceManager( |
| + mojo::InterfaceRequest<device::usb::DeviceManager> request) { |
| + device::usb::DeviceManagerFactory::Build( |
| + request.Pass(), |
| + scoped_ptr<device::usb::DeviceManagerDelegate>( |
| + new BrowserDeviceManagerDelegate)); |
| +} |
| + |
| device::HidService* ChromeDeviceClient::GetHidService() { |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| return device::HidService::GetInstance( |