Index: base/message_loop/message_loop.cc |
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
index e03572675aa8528a04034463e9c25cb35b2a98f7..3f9d01c8620f9de69d734783e8b340661cd019ea 100644 |
--- a/base/message_loop/message_loop.cc |
+++ b/base/message_loop/message_loop.cc |
@@ -358,13 +358,12 @@ Closure MessageLoop::QuitWhenIdleClosure() { |
} |
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 { |