Index: ui/aura/mus/drag_drop_controller_mus.cc |
diff --git a/ui/aura/mus/drag_drop_controller_mus.cc b/ui/aura/mus/drag_drop_controller_mus.cc |
index a82841c80c09d3adf4b280a76d33b85f18a78242..ccb364dd4101763b0c30907fe863955c8123fbe4 100644 |
--- a/ui/aura/mus/drag_drop_controller_mus.cc |
+++ b/ui/aura/mus/drag_drop_controller_mus.cc |
@@ -137,23 +137,25 @@ int DragDropControllerMus::StartDragAndDrop( |
// we start showing an image representation of the drag under he cursor. |
base::RunLoop run_loop; |
- WindowMus* source_window_mus = WindowMus::Get(source_window); |
+ WindowMus* root_window_mus = WindowMus::Get(root_window); |
const uint32_t change_id = |
- drag_drop_controller_host_->CreateChangeIdForDrag(source_window_mus); |
- CurrentDragState current_drag_state = {source_window_mus->server_id(), |
+ drag_drop_controller_host_->CreateChangeIdForDrag(root_window_mus); |
+ CurrentDragState current_drag_state = {root_window_mus->server_id(), |
change_id, ui::mojom::kDropEffectNone, |
data, run_loop.QuitClosure()}; |
base::AutoReset<CurrentDragState*> resetter(¤t_drag_state_, |
¤t_drag_state); |
+ |
+ base::MessageLoop* loop = base::MessageLoop::current(); |
+ base::MessageLoop::ScopedNestableTaskAllower allow_nested(loop); |
+ |
std::map<std::string, std::vector<uint8_t>> drag_data = |
static_cast<const aura::OSExchangeDataProviderMus&>(data.provider()) |
.GetData(); |
- window_tree_->PerformDragDrop(change_id, source_window_mus->server_id(), |
+ window_tree_->PerformDragDrop(change_id, root_window_mus->server_id(), |
mojo::MapToUnorderedMap(drag_data), |
drag_operations); |
- base::MessageLoop* loop = base::MessageLoop::current(); |
- base::MessageLoop::ScopedNestableTaskAllower allow_nested(loop); |
run_loop.Run(); |
return current_drag_state.completed_action; |