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 {