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()); |
} |