chromium/chrome/browser/ui/views/fullscreen_control/fullscreen_control_host.h

// Copyright 2017 The Chromium Authors
// 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_FULLSCREEN_CONTROL_FULLSCREEN_CONTROL_HOST_H_
#define CHROME_BROWSER_UI_VIEWS_FULLSCREEN_CONTROL_FULLSCREEN_CONTROL_HOST_H_

#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "base/timer/timer.h"
#include "components/fullscreen_control/fullscreen_control_popup.h"
#include "ui/events/event_observer.h"

class BrowserView;

namespace ui {
class GestureEvent;
class KeyEvent;
class MouseEvent;
class TouchEvent;
}  // namespace ui

namespace views {
class EventMonitor;
}  // namespace views

// This is a UI component that helps user exit fullscreen without using a
// keyboard. It drops an "X" button from the top of the screen when user moves
// cursor to the top or long-press on the screen. Pressing that button will exit
// fullscreen.
// This UI is also used as a visual progress indicator when keyboard lock
// requires user to press-and-hold ESC key to exit fullscreen.
class FullscreenControlHost : public ui::EventObserver {};

#endif  // CHROME_BROWSER_UI_VIEWS_FULLSCREEN_CONTROL_FULLSCREEN_CONTROL_HOST_H_