Index: chrome/browser/ui/views/tabs/window_finder_win.cc |
diff --git a/chrome/browser/ui/views/tabs/window_finder_win.cc b/chrome/browser/ui/views/tabs/window_finder_win.cc |
index eff768ef2747e22a1bded33bab6a49fd970a491a..c2a2a238d5cc400b26f07df38778570c7077edd6 100644 |
--- a/chrome/browser/ui/views/tabs/window_finder_win.cc |
+++ b/chrome/browser/ui/views/tabs/window_finder_win.cc |
@@ -8,6 +8,7 @@ |
#include "base/win/windows_version.h" |
#include "ui/aura/window.h" |
#include "ui/gfx/screen.h" |
+#include "ui/gfx/win/dpi.h" |
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h" |
#include "ui/views/win/hwnd_util.h" |
@@ -158,14 +159,16 @@ class LocalProcessWindowFinder : public BaseWindowFinder { |
static gfx::NativeWindow GetProcessWindowAtPoint( |
const gfx::Point& screen_loc, |
const std::set<HWND>& ignore) { |
- LocalProcessWindowFinder finder(screen_loc, ignore); |
+ gfx::Point screen_loc_in_pixels = gfx::win::DIPToScreenPoint(screen_loc); |
+ LocalProcessWindowFinder finder(screen_loc_in_pixels, ignore); |
sky
2014/04/28 13:44:48
Can we make LocalProcessWindowFinder and TopMostFi
ananta
2014/04/28 18:13:08
Done. Changed to continue passing in screen coordi
|
// Windows 8 has a window that appears first in the list of iterated |
// windows, yet is not visually on top of everything. |
// TODO(sky): figure out a better way to ignore this window. |
if (finder.result_ && |
((base::win::OSInfo::GetInstance()->version() >= |
base::win::VERSION_WIN8) || |
- TopMostFinder::IsTopMostWindowAtPoint(finder.result_, screen_loc, |
+ TopMostFinder::IsTopMostWindowAtPoint(finder.result_, |
+ screen_loc_in_pixels, |
ignore))) { |
return views::DesktopWindowTreeHostWin::GetContentWindowForHWND( |
finder.result_); |