Chromium Code Reviews| Index: ui/views/controls/menu/menu_controller.cc |
| diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc |
| index 38a5e81e8e7e1a84406f23801e670a20771596bb..41044469c4d287a7a1d237de74e3bb0f78a323d5 100644 |
| --- a/ui/views/controls/menu/menu_controller.cc |
| +++ b/ui/views/controls/menu/menu_controller.cc |
| @@ -39,6 +39,7 @@ |
| #if defined(OS_WIN) |
| #include "ui/base/win/internal_constants.h" |
| +#include "ui/gfx/win/dpi.h" |
| #include "ui/views/win/hwnd_util.h" |
| #endif |
| @@ -2051,6 +2052,10 @@ void MenuController::RepostEvent(SubmenuView* source, |
| gfx::NativeWindow window = screen->GetWindowAtScreenPoint(screen_loc); |
| #if defined(OS_WIN) |
| + // Convert screen_loc to pixels for the Win32 API's like WindowFromPoint, |
| + // PostMessage/SendMessage to work correctly. These API's expect the |
| + // coordinates to be in pixels. |
| + screen_loc = gfx::win::DIPToScreenPoint(screen_loc); |
|
sky
2014/06/19 00:55:12
Don't reuse screen_loc here, it's too easy to get
ananta
2014/06/19 01:44:18
Done.
|
| // PostMessage() to metro windows isn't allowed (access will be denied). Don't |
| // try to repost with Win32 if the window under the mouse press is in metro. |
| if (!ViewsDelegate::views_delegate || |