Kick the pump when allowing nestable tasks on a message loop
BUG=318998
Review URL: https://codereview.chromium.org/65173003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@236405 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: ea769a47f69d4ca03585009f86190f59dbf2c675
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index e035726..3f9d01c 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -358,13 +358,12 @@
}
void MessageLoop::SetNestableTasksAllowed(bool allowed) {
- if (nestable_tasks_allowed_ != allowed) {
- nestable_tasks_allowed_ = allowed;
- if (!nestable_tasks_allowed_)
- return;
- // Start the native pump if we are not already pumping.
+ if (allowed) {
+ // Kick the native pump just in case we enter a OS-driven nested message
+ // loop.
pump_->ScheduleWork();
}
+ nestable_tasks_allowed_ = allowed;
}
bool MessageLoop::NestableTasksAllowed() const {