| 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;
|
|
|