blob: 00a3b52609ab02a361d6f9ab583245c8c21c47e4 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_VIEWS_TABS_WINDOW_FINDER_H_
#define CHROME_BROWSER_UI_VIEWS_TABS_WINDOW_FINDER_H_
#include <set>
#include "ui/gfx/native_widget_types.h"
namespace aura {
class Window;
}
namespace gfx {
class Point;
}
// Class used by the tabstrip to find chrome windows that we can attach tabs to.
class WindowFinder {
public:
WindowFinder();
virtual ~WindowFinder();
// Finds the topmost visible chrome window at |screen_point|. This should
// return nullptr if |screen_point| is in another program's window which
// occludes the topmost chrome window. Ignores the windows in |ignore|, which
// contain windows such as the tab being dragged right now.
virtual gfx::NativeWindow GetLocalProcessWindowAtPoint(
const gfx::Point& screen_point,
const std::set<gfx::NativeWindow>& ignore);
private:
DISALLOW_COPY_AND_ASSIGN(WindowFinder);
};
#endif // CHROME_BROWSER_UI_VIEWS_TABS_WINDOW_FINDER_H_