Chromium Code Reviews| Index: ui/views/widget/desktop_aura/desktop_drop_target_win.cc |
| diff --git a/ui/views/widget/desktop_aura/desktop_drop_target_win.cc b/ui/views/widget/desktop_aura/desktop_drop_target_win.cc |
| index f10fc1fc34b3b4e2573478c1710c62cb0ae84f91..b1ec429e2ad4bfa87a71a5e68ff6a70638e3a557 100644 |
| --- a/ui/views/widget/desktop_aura/desktop_drop_target_win.cc |
| +++ b/ui/views/widget/desktop_aura/desktop_drop_target_win.cc |
| @@ -94,6 +94,26 @@ void DesktopDropTargetWin::OnWindowDestroyed(aura::Window* window) { |
| target_window_ = NULL; |
| } |
| +static int ConvertKeyStateToAuraEventFlags(DWORD key_state) |
|
Avi (use Gerrit)
2015/03/10 03:14:07
Why are you putting this function in the middle of
zino
2015/03/10 08:47:23
Done.
|
| +{ |
| + int flags = 0; |
| + |
| + if (key_state & MK_CONTROL) |
| + flags |= ui::EF_CONTROL_DOWN; |
| + if (key_state & MK_ALT) |
| + flags |= ui::EF_ALT_DOWN; |
| + if (key_state & MK_SHIFT) |
| + flags |= ui::EF_SHIFT_DOWN; |
| + if (key_state & MK_LBUTTON) |
| + flags |= ui::EF_LEFT_MOUSE_BUTTON; |
| + if (key_state & MK_MBUTTON) |
| + flags |= ui::EF_MIDDLE_MOUSE_BUTTON; |
| + if (key_state & MK_RBUTTON) |
| + flags |= ui::EF_RIGHT_MOUSE_BUTTON; |
| + |
| + return flags; |
| +} |
| + |
| void DesktopDropTargetWin::Translate( |
| IDataObject* data_object, |
| DWORD key_state, |
| @@ -132,11 +152,7 @@ void DesktopDropTargetWin::Translate( |
| location, |
| root_location, |
| ui::DragDropTypes::DropEffectToDragOperation(effect))); |
| - int flags = 0; |
| - flags |= base::win::IsAltPressed() ? ui::EF_ALT_DOWN : ui::EF_NONE; |
| - flags |= base::win::IsShiftPressed() ? ui::EF_SHIFT_DOWN : ui::EF_NONE; |
| - flags |= base::win::IsCtrlPressed() ? ui::EF_CONTROL_DOWN : ui::EF_NONE; |
| - (*event)->set_flags(flags); |
| + (*event)->set_flags(ConvertKeyStateToAuraEventFlags(key_state)); |
| if (target_window_changed) |
| (*delegate)->OnDragEntered(*event->get()); |
| } |