| Index: device/usb/usb_device_android.cc
|
| diff --git a/device/usb/usb_device_android.cc b/device/usb/usb_device_android.cc
|
| index 7f98ec6f5d02f4092f4b73282247d9ca444bd9d0..692be666e946c39971b342ce1eaa074a168bdf3a 100644
|
| --- a/device/usb/usb_device_android.cc
|
| +++ b/device/usb/usb_device_android.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/android/jni_string.h"
|
| #include "base/bind.h"
|
| #include "base/location.h"
|
| +#include "base/task_scheduler/post_task.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "device/usb/usb_configuration_android.h"
|
| #include "device/usb/usb_descriptors.h"
|
| @@ -23,11 +24,23 @@ using base::android::ScopedJavaLocalRef;
|
|
|
| namespace device {
|
|
|
| +namespace {
|
| +
|
| +scoped_refptr<base::SequencedTaskRunner> CreateBlockingTaskRunner() {
|
| + return base::CreateSequencedTaskRunnerWithTraits(
|
| + base::TaskTraits()
|
| + .MayBlock()
|
| + .WithPriority(base::TaskPriority::USER_VISIBLE)
|
| + .WithShutdownBehavior(
|
| + base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN));
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| // static
|
| scoped_refptr<UsbDeviceAndroid> UsbDeviceAndroid::Create(
|
| JNIEnv* env,
|
| base::WeakPtr<UsbServiceAndroid> service,
|
| - scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
|
| const JavaRef<jobject>& usb_device) {
|
| ScopedJavaLocalRef<jobject> wrapper =
|
| Java_ChromeUsbDevice_create(env, usb_device);
|
| @@ -51,8 +64,7 @@ scoped_refptr<UsbDeviceAndroid> UsbDeviceAndroid::Create(
|
| Java_ChromeUsbDevice_getDeviceProtocol(env, wrapper),
|
| Java_ChromeUsbDevice_getVendorId(env, wrapper),
|
| Java_ChromeUsbDevice_getProductId(env, wrapper), device_version,
|
| - manufacturer_string, product_string, serial_number, blocking_task_runner,
|
| - wrapper));
|
| + manufacturer_string, product_string, serial_number, wrapper));
|
| }
|
|
|
| void UsbDeviceAndroid::RequestPermission(const ResultCallback& callback) {
|
| @@ -73,7 +85,7 @@ void UsbDeviceAndroid::Open(const OpenCallback& callback) {
|
| service_->OpenDevice(env, j_object_);
|
| if (!connection.is_null()) {
|
| device_handle = UsbDeviceHandleAndroid::Create(
|
| - env, this, blocking_task_runner_, connection);
|
| + env, this, CreateBlockingTaskRunner(), connection);
|
| handles().push_back(device_handle.get());
|
| }
|
| }
|
| @@ -98,7 +110,6 @@ UsbDeviceAndroid::UsbDeviceAndroid(
|
| const base::string16& manufacturer_string,
|
| const base::string16& product_string,
|
| const base::string16& serial_number,
|
| - scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
|
| const JavaRef<jobject>& wrapper)
|
| : UsbDevice(usb_version,
|
| device_class,
|
| @@ -110,7 +121,6 @@ UsbDeviceAndroid::UsbDeviceAndroid(
|
| manufacturer_string,
|
| product_string,
|
| serial_number),
|
| - blocking_task_runner_(blocking_task_runner),
|
| device_id_(Java_ChromeUsbDevice_getDeviceId(env, wrapper)),
|
| service_(service),
|
| j_object_(wrapper) {
|
|
|