| Index: chrome/browser/ui/views/tab_contents/native_tab_contents_view_aura.cc
|
| diff --git a/chrome/browser/ui/views/tab_contents/native_tab_contents_view_aura.cc b/chrome/browser/ui/views/tab_contents/native_tab_contents_view_aura.cc
|
| index 795b9672025fc6e732cb8569ec8ba41209a52fd3..ab1a843353de93e1ba10d887708f4f71f27d5350 100644
|
| --- a/chrome/browser/ui/views/tab_contents/native_tab_contents_view_aura.cc
|
| +++ b/chrome/browser/ui/views/tab_contents/native_tab_contents_view_aura.cc
|
| @@ -211,11 +211,12 @@ void NativeTabContentsViewAura::StartDragging(const WebDropData& drop_data,
|
|
|
| // We need to enable recursive tasks on the message loop so we can get
|
| // updates while in the system DoDragDrop loop.
|
| - bool old_state = MessageLoop::current()->NestableTasksAllowed();
|
| - MessageLoop::current()->SetNestableTasksAllowed(true);
|
| - int result_op = aura::client::GetDragDropClient()->StartDragAndDrop(
|
| - data, ConvertFromWeb(ops));
|
| - MessageLoop::current()->SetNestableTasksAllowed(old_state);
|
| + int result_op = 0;
|
| + {
|
| + MessageLoop::ScopedNestableTaskAllower allow(MessageLoop::current());
|
| + result_op = aura::client::GetDragDropClient()->StartDragAndDrop(
|
| + data, ConvertFromWeb(ops));
|
| + }
|
|
|
| EndDrag(ConvertToWeb(result_op));
|
| GetWebContents()->GetRenderViewHost()->DragSourceSystemDragEnded();
|
|
|