| Index: components/scheduler/child/task_queue_manager.cc
|
| diff --git a/components/scheduler/child/task_queue_manager.cc b/components/scheduler/child/task_queue_manager.cc
|
| index 5f06d6a7fe98298be636e572ff14068acad98f60..55bd4f74d7eab2af51214e93b185530a32b2046d 100644
|
| --- a/components/scheduler/child/task_queue_manager.cc
|
| +++ b/components/scheduler/child/task_queue_manager.cc
|
| @@ -155,6 +155,11 @@ void TaskQueueManager::DoWork(bool posted_from_main_thread) {
|
| TaskQueue::WakeupPolicy::CAN_WAKE_OTHER_QUEUES;
|
| if (!UpdateWorkQueues(should_trigger_wakeup, &previous_task))
|
| return;
|
| +
|
| + // Only run a single task per batch in nested run loops so that we can
|
| + // properly exit the nested loop when someone calls RunLoop::Quit().
|
| + if (main_task_runner_->IsNested())
|
| + break;
|
| }
|
| }
|
|
|
|
|