Index: base/message_loop/message_loop.cc |
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
index 2212941db9ae15a3a6a30a590389dca826134f35..acfcab2f8879ca8009535f511b86589ca44bd456 100644 |
--- a/base/message_loop/message_loop.cc |
+++ b/base/message_loop/message_loop.cc |
@@ -320,7 +320,8 @@ MessageLoop::MessageLoop(Type type, MessagePumpFactoryCallback pump_factory) |
#endif |
nestable_tasks_allowed_(true), |
pump_factory_(pump_factory), |
- run_loop_(NULL), |
+ run_loop_(nullptr), |
+ current_pending_task_(nullptr), |
incoming_task_queue_(new internal::IncomingTaskQueue(this)), |
unbound_task_runner_( |
new internal::MessageLoopTaskRunner(incoming_task_queue_)), |
@@ -403,6 +404,7 @@ bool MessageLoop::ProcessNextDelayedNonNestableTask() { |
void MessageLoop::RunTask(PendingTask* pending_task) { |
DCHECK(nestable_tasks_allowed_); |
+ current_pending_task_ = pending_task; |
#if defined(OS_WIN) |
if (pending_task->is_high_res) { |
@@ -423,6 +425,8 @@ void MessageLoop::RunTask(PendingTask* pending_task) { |
observer.DidProcessTask(*pending_task); |
nestable_tasks_allowed_ = true; |
+ |
+ current_pending_task_ = nullptr; |
} |
bool MessageLoop::DeferOrRunPendingTask(PendingTask pending_task) { |