| Index: device/usb/usb_service.h | 
| diff --git a/device/usb/usb_service.h b/device/usb/usb_service.h | 
| index b8c4ffa0ca4201dc8243b6b76933d9ab8f3bbd00..2ac6bb8799feb144fa6df51f9d6b0f14b9a7e03f 100644 | 
| --- a/device/usb/usb_service.h | 
| +++ b/device/usb/usb_service.h | 
| @@ -18,6 +18,7 @@ | 
| #include "base/observer_list.h" | 
| #include "base/sequenced_task_runner.h" | 
| #include "base/single_thread_task_runner.h" | 
| +#include "base/task_scheduler/task_traits.h" | 
| #include "base/threading/non_thread_safe.h" | 
|  | 
| namespace device { | 
| @@ -49,10 +50,16 @@ class UsbService : public base::NonThreadSafe { | 
| virtual void WillDestroyUsbService(); | 
| }; | 
|  | 
| +  // These task traits are to be used for posting blocking tasks to the task | 
| +  // scheduler. | 
| +  static constexpr base::TaskTraits kBlockingTaskTraits = { | 
| +      base::MayBlock(), base::TaskPriority::USER_VISIBLE, | 
| +      base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN}; | 
| + | 
| // Returns nullptr when initialization fails. | 
| static std::unique_ptr<UsbService> Create(); | 
|  | 
| -  // Creates a SequencedTaskRunner appropriate for blocking I/O operations. | 
| +  // Creates a SequencedTaskRunner with kBlockingTaskTraits. | 
| static scoped_refptr<base::SequencedTaskRunner> CreateBlockingTaskRunner(); | 
|  | 
| virtual ~UsbService(); | 
|  |