#ifndef UI_AURA_WINDOW_TREE_HOST_OBSERVER_H_
#define UI_AURA_WINDOW_TREE_HOST_OBSERVER_H_
#include "base/containers/flat_set.h"
#include "base/observer_list_types.h"
#include "components/viz/common/surfaces/frame_sink_id.h"
#include "ui/aura/aura_export.h"
#include "ui/aura/window.h"
class SkRegion;
namespace aura {
class WindowTreeHost;
class AURA_EXPORT WindowTreeHostObserver : public base::CheckedObserver {
public:
virtual void OnHostResized(WindowTreeHost* host) {}
virtual void OnHostMovedInPixels(WindowTreeHost* host) {}
virtual void OnHostWorkspaceChanged(WindowTreeHost* host) {}
virtual void OnHostCloseRequested(WindowTreeHost* host) {}
virtual void OnOcclusionStateChanged(WindowTreeHost* host,
Window::OcclusionState new_state,
const SkRegion& occluded_region) {}
virtual void OnHostWillProcessBoundsChange(WindowTreeHost* host) {}
virtual void OnHostDidProcessBoundsChange(WindowTreeHost* host) {}
virtual void OnCompositingFrameSinksToThrottleUpdated(
const aura::WindowTreeHost* host,
const base::flat_set<viz::FrameSinkId>& ids) {}
virtual void OnSetPreferredRefreshRate(WindowTreeHost* host,
float preferred_refresh_rate) {}
virtual void OnLocalSurfaceIdChanged(WindowTreeHost* host,
const viz::LocalSurfaceId& id) {}
protected:
~WindowTreeHostObserver() override {}
};
}
#endif