#ifndef UI_VIEWS_WIDGET_FOCUS_MANAGER_EVENT_HANDLER_H_
#define UI_VIEWS_WIDGET_FOCUS_MANAGER_EVENT_HANDLER_H_
#include <string_view>
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "ui/events/event_handler.h"
namespace aura {
class Window;
}
namespace views {
class Widget;
class FocusManagerEventHandler : public ui::EventHandler {
public:
FocusManagerEventHandler(Widget* widget, aura::Window* window);
FocusManagerEventHandler(const FocusManagerEventHandler&) = delete;
FocusManagerEventHandler& operator=(const FocusManagerEventHandler&) = delete;
~FocusManagerEventHandler() override;
void OnKeyEvent(ui::KeyEvent* event) override;
std::string_view GetLogContext() const override;
private:
base::WeakPtr<Widget> widget_;
raw_ptr<aura::Window> window_;
};
}
#endif