Index: components/usb_service/usb_service.h |
diff --git a/components/usb_service/usb_service.h b/components/usb_service/usb_service.h |
index 133cacd7e57374c23a331bcc53ff29b4344b34a1..11eac1aafbd3d6e69721fb50e65722eced90ada3 100644 |
--- a/components/usb_service/usb_service.h |
+++ b/components/usb_service/usb_service.h |
@@ -12,6 +12,10 @@ |
#include "base/threading/non_thread_safe.h" |
#include "components/usb_service/usb_service_export.h" |
+namespace base { |
+class SingleThreadTaskRunner; |
+} |
+ |
namespace usb_service { |
class UsbDevice; |
@@ -22,9 +26,12 @@ class UsbDevice; |
// competition for the same USB device. |
class USB_SERVICE_EXPORT UsbService : public base::NonThreadSafe { |
public: |
- // Must be called on FILE thread. |
- // Returns NULL when failed to initialized. |
- static UsbService* GetInstance(); |
+ // Must be called on a thread with a MessageLoopForIO (for example |
+ // BrowserThread::FILE). The UI task runner reference is used to talk to the |
+ // PermissionBrokerClient on ChromeOS (UI thread). Returns NULL when |
+ // initialization fails. |
+ static UsbService* GetInstance( |
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner); |
static void SetInstanceForTest(UsbService* instance); |