Index: chrome/browser/sessions/session_restore.cc |
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc |
index dac3665baf5d5be1701be4be16db55730fd7eb3e..a8f266727688c5b7cf4fbbb71ff57e1042b1d5ea 100644 |
--- a/chrome/browser/sessions/session_restore.cc |
+++ b/chrome/browser/sessions/session_restore.cc |
@@ -454,10 +454,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; |