| Index: device/bluetooth/test/bluetooth_test_win.cc
|
| diff --git a/device/bluetooth/test/bluetooth_test_win.cc b/device/bluetooth/test/bluetooth_test_win.cc
|
| index 5bbdebfc4dbb43ccb46b0a48927b5ba7677c92e1..091aa2e12e2eaaf384ea28514df010a525daaebe 100644
|
| --- a/device/bluetooth/test/bluetooth_test_win.cc
|
| +++ b/device/bluetooth/test/bluetooth_test_win.cc
|
| @@ -8,7 +8,7 @@
|
| #include "base/location.h"
|
| #include "base/run_loop.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| -#include "base/test/test_pending_task.h"
|
| +#include "base/test/test_pending_task_info.h"
|
| #include "base/time/time.h"
|
| #include "device/bluetooth/bluetooth_adapter_win.h"
|
| #include "device/bluetooth/bluetooth_low_energy_win.h"
|
| @@ -67,6 +67,12 @@ BTH_LE_UUID CanonicalStringToBTH_LE_UUID(std::string uuid) {
|
| return win_uuid;
|
| }
|
|
|
| +// TODO(tzik): Remove this helper once TaskRunner has migrated from Clrosure to
|
| +// OnceClosure.
|
| +void RunOnceClosure(base::OnceClosure closure) {
|
| + std::move(closure).Run();
|
| +}
|
| +
|
| } // namespace
|
|
|
| namespace device {
|
| @@ -471,25 +477,27 @@ win::GattCharacteristic* BluetoothTestWin::GetSimulatedCharacteristic(
|
| }
|
|
|
| void BluetoothTestWin::RunPendingTasksUntilCallback() {
|
| - std::deque<base::TestPendingTask> tasks =
|
| - bluetooth_task_runner_->TakePendingTasks();
|
| + base::TestPendingTaskQueue tasks = bluetooth_task_runner_->TakePendingTasks();
|
| int original_callback_count = callback_count_;
|
| int original_error_callback_count = error_callback_count_;
|
| do {
|
| - base::TestPendingTask task = tasks.front();
|
| + base::OnceClosure task = std::move(tasks.front().second);
|
| tasks.pop_front();
|
| - task.task.Run();
|
| + std::move(task).Run();
|
| base::RunLoop().RunUntilIdle();
|
| } while (tasks.size() && callback_count_ == original_callback_count &&
|
| error_callback_count_ == original_error_callback_count);
|
|
|
| // Put the rest of pending tasks back to Bluetooth task runner.
|
| - for (const auto& task : tasks) {
|
| - if (task.delay.is_zero()) {
|
| - bluetooth_task_runner_->PostTask(task.location, task.task);
|
| + for (auto& pending_task : tasks) {
|
| + const base::TestPendingTaskInfo& task_info = pending_task.first;
|
| + base::Closure task =
|
| + base::Bind(&RunOnceClosure, base::Passed(&pending_task.second));
|
| + if (task_info.delay.is_zero()) {
|
| + bluetooth_task_runner_->PostTask(task_info.location, task);
|
| } else {
|
| - bluetooth_task_runner_->PostDelayedTask(task.location, task.task,
|
| - task.delay);
|
| + bluetooth_task_runner_->PostDelayedTask(task_info.location, task,
|
| + task_info.delay);
|
| }
|
| }
|
| }
|
|
|