Index: ipc/ipc_sync_channel.cc |
diff --git a/ipc/ipc_sync_channel.cc b/ipc/ipc_sync_channel.cc |
index 74d9744b17c14c8a6e794d974f24f3feba0bd093..be8315cdcda8cbf39db265e89559df3eae5dbc85 100644 |
--- a/ipc/ipc_sync_channel.cc |
+++ b/ipc/ipc_sync_channel.cc |
@@ -506,11 +506,11 @@ void SyncChannel::WaitForReplyWithNestedMessageLoop(SyncContext* context) { |
sync_msg_queue->set_top_send_done_watcher(&send_done_watcher); |
send_done_watcher.StartWatching(context->GetSendDoneEvent(), context); |
- bool old_state = MessageLoop::current()->NestableTasksAllowed(); |
- MessageLoop::current()->SetNestableTasksAllowed(true); |
- MessageLoop::current()->Run(); |
- MessageLoop::current()->SetNestableTasksAllowed(old_state); |
+ { |
+ MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current()); |
+ MessageLoop::current()->Run(); |
+ } |
sync_msg_queue->set_top_send_done_watcher(old_send_done_event_watcher); |
if (old_send_done_event_watcher && old_event) { |