Index: chrome/browser/sessions/session_restore.cc |
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc |
index fb83dcbb446751849776e784829b5996c0155764..7c576dc5c670515e15bd26fe10656884f3c985a6 100644 |
--- a/chrome/browser/sessions/session_restore.cc |
+++ b/chrome/browser/sessions/session_restore.cc |
@@ -475,10 +475,10 @@ class SessionRestoreImpl : public content::NotificationObserver { |
base::Bind(&SessionRestoreImpl::OnGotSession, base::Unretained(this))); |
if (synchronous_) { |
- 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(); |
+ } |
Browser* browser = ProcessSessionWindows(&windows_); |
delete this; |
return browser; |