Index: chrome/browser/ui/views/tabs/window_finder.cc |
diff --git a/chrome/browser/ui/views/tabs/window_finder.cc b/chrome/browser/ui/views/tabs/window_finder.cc |
index 7f95d12d1a6b89961bacfdba9ec57c6dac19b6f3..8b3b065605a865e558f2cdc3aae52660b7b75364 100644 |
--- a/chrome/browser/ui/views/tabs/window_finder.cc |
+++ b/chrome/browser/ui/views/tabs/window_finder.cc |
@@ -4,5 +4,28 @@ |
#include "chrome/browser/ui/views/tabs/window_finder.h" |
+#if defined(USE_AURA) && !defined(OS_MACOSX) |
+#include "content/public/common/service_manager_connection.h" |
+#include "services/service_manager/runner/common/client_util.h" |
+ |
+gfx::NativeWindow GetLocalProcessWindowAtPointMus( |
+ const gfx::Point& screen_point, |
+ const std::set<gfx::NativeWindow>& ignore); |
+#endif |
+ |
WindowFinder::WindowFinder() {} |
+ |
WindowFinder::~WindowFinder() {} |
+ |
+gfx::NativeWindow WindowFinder::GetLocalProcessWindowAtPoint( |
+ const gfx::Point& screen_point, |
+ const std::set<gfx::NativeWindow>& ignore) { |
+#if defined(USE_AURA) && !defined(OS_MACOSX) |
sky
2016/10/26 22:01:28
I dislike the amount of ifdefs needed as a result
|
+ content::ServiceManagerConnection* service_manager_connection = |
+ content::ServiceManagerConnection::GetForProcess(); |
+ if (service_manager_connection && service_manager::ServiceManagerIsRemote()) |
+ return GetLocalProcessWindowAtPointMus(screen_point, ignore); |
+#endif |
+ |
+ return GetLocalProcessWindowAtPointImpl(screen_point, ignore); |
+} |