| Index: chrome/browser/ui/tabs/dock_info_win.cc
|
| diff --git a/chrome/browser/ui/tabs/dock_info_win.cc b/chrome/browser/ui/tabs/dock_info_win.cc
|
| index 776a77244310dec91fc5c09ad7ff730199d96b6f..3c39e91b93b0620b6f5f73194610dde1cbb18ec2 100644
|
| --- a/chrome/browser/ui/tabs/dock_info_win.cc
|
| +++ b/chrome/browser/ui/tabs/dock_info_win.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/ui/tabs/dock_info.h"
|
|
|
| #include "base/win/scoped_gdi_object.h"
|
| +#include "base/win/windows_version.h"
|
| #include "chrome/browser/ui/browser_list.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| #include "chrome/browser/ui/views/frame/browser_view.h"
|
| @@ -146,9 +147,14 @@ class LocalProcessWindowFinder : public BaseWindowFinder {
|
| static HWND GetProcessWindowAtPoint(const gfx::Point& screen_loc,
|
| const std::set<HWND>& ignore) {
|
| LocalProcessWindowFinder finder(screen_loc, ignore);
|
| + // 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_ &&
|
| - TopMostFinder::IsTopMostWindowAtPoint(finder.result_, screen_loc,
|
| - ignore)) {
|
| + ((base::win::OSInfo::GetInstance()->version() >=
|
| + base::win::VERSION_WIN8) ||
|
| + TopMostFinder::IsTopMostWindowAtPoint(finder.result_, screen_loc,
|
| + ignore))) {
|
| return finder.result_;
|
| }
|
| return NULL;
|
|
|