#ifndef EXTENSIONS_SHELL_BROWSER_SHELL_DESKTOP_CONTROLLER_AURA_H_
#define EXTENSIONS_SHELL_BROWSER_SHELL_DESKTOP_CONTROLLER_AURA_H_
#include <map>
#include <memory>
#include "base/compiler_specific.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "components/keep_alive_registry/keep_alive_state_observer.h"
#include "extensions/shell/browser/desktop_controller.h"
#include "extensions/shell/browser/root_window_controller.h"
#include "ui/aura/window.h"
#include "ui/base/ime/ime_key_event_dispatcher.h"
#include "ui/display/display.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/dbus/power/power_manager_client.h"
#include "ui/display/manager/display_configurator.h"
#endif
namespace aura {
class WindowTreeHost;
}
namespace content {
class BrowserContext;
}
namespace display {
class Screen;
}
namespace gfx {
class Size;
}
namespace ui {
class InputMethod;
#if BUILDFLAG(IS_CHROMEOS_ASH)
class UserActivityPowerManagerNotifier;
#endif
}
namespace wm {
class CompoundEventFilter;
class CursorManager;
class FocusController;
}
namespace extensions {
class AppWindowClient;
class ShellDesktopControllerAura
: public DesktopController,
public RootWindowController::DesktopDelegate,
#if BUILDFLAG(IS_CHROMEOS_ASH)
public chromeos::PowerManagerClient::Observer,
public display::DisplayConfigurator::Observer,
#endif
public ui::ImeKeyEventDispatcher,
public KeepAliveStateObserver { … };
}
#endif