Index: chrome/browser/sync/profile_sync_service_harness.cc |
diff --git a/chrome/browser/sync/profile_sync_service_harness.cc b/chrome/browser/sync/profile_sync_service_harness.cc |
index 34b6124c510140ac1f4de1c4be07818fbdd28bad..13fcc71d7f1b43de5f1aa8294cb4790c88681f51 100644 |
--- a/chrome/browser/sync/profile_sync_service_harness.cc |
+++ b/chrome/browser/sync/profile_sync_service_harness.cc |
@@ -746,16 +746,17 @@ bool ProfileSyncServiceHarness::AwaitStatusChangeWithTimeout( |
} |
scoped_refptr<StateChangeTimeoutEvent> timeout_signal( |
new StateChangeTimeoutEvent(this, reason)); |
- MessageLoop* loop = MessageLoop::current(); |
- bool did_allow_nestable_tasks = loop->NestableTasksAllowed(); |
- loop->SetNestableTasksAllowed(true); |
- loop->PostDelayedTask( |
- FROM_HERE, |
- base::Bind(&StateChangeTimeoutEvent::Callback, |
- timeout_signal.get()), |
- base::TimeDelta::FromMilliseconds(timeout_milliseconds)); |
- loop->Run(); |
- loop->SetNestableTasksAllowed(did_allow_nestable_tasks); |
+ { |
+ MessageLoop* loop = MessageLoop::current(); |
+ MessageLoop::ScopedNestableTaskAllower allow(loop); |
+ loop->PostDelayedTask( |
+ FROM_HERE, |
+ base::Bind(&StateChangeTimeoutEvent::Callback, |
+ timeout_signal.get()), |
+ base::TimeDelta::FromMilliseconds(timeout_milliseconds)); |
+ loop->Run(); |
+ } |
+ |
if (timeout_signal->Abort()) { |
DVLOG(1) << GetClientInfoString("AwaitStatusChangeWithTimeout succeeded"); |
return true; |