1 // Copyright 2012 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ASH_SHELL_OBSERVER_H_
6 #define ASH_SHELL_OBSERVER_H_
8 #include "ash/ash_export.h"
9 #include "ash/login_status.h"
10 #include "ash/public/cpp/shelf_types.h"
18 class ASH_EXPORT ShellObserver {
20 // Called when a casting session is started or stopped.
21 virtual void OnCastingSessionStartedOrStopped(bool started) {}
23 // Invoked after a non-primary root window is created.
24 virtual void OnRootWindowAdded(aura::Window* root_window) {}
26 // Invoked when a root window is about to be shutdown.
27 virtual void OnRootWindowWillShutdown(aura::Window* root_window) {}
29 // Invoked when the shelf alignment in |root_window| is changed.
30 virtual void OnShelfAlignmentChanged(aura::Window* root_window,
31 ShelfAlignment old_alignment) {}
33 // Invoked when user work area insets (accessibility panel, docked magnifier,
34 // keyboard) in |root_window| changed.
35 // This notification is not fired when shelf bounds changed.
36 virtual void OnUserWorkAreaInsetsChanged(aura::Window* root_window) {}
38 // Invoked when entering or exiting fullscreen mode in |container|.
39 // |container| is always the active desk container.
40 virtual void OnFullscreenStateChanged(bool is_fullscreen,
41 aura::Window* container) {}
43 // Invoked when |pinned_window| enter or exit pinned mode.
44 virtual void OnPinnedStateChanged(aura::Window* pinned_window) {}
46 // Called when dictation is activated.
47 virtual void OnDictationStarted() {}
49 // Called when dicatation is ended.
50 virtual void OnDictationEnded() {}
52 // Called at the end of Shell::Init.
53 virtual void OnShellInitialized() {}
55 // Called at the beginning of ~Shell.
56 virtual void OnShellDestroying() {}
58 // Called near the end of ~Shell. Shell::Get() still returns the Shell, but
59 // most of Shell's state has been deleted.
60 virtual void OnShellDestroyed() {}
63 virtual ~ShellObserver() {}
68 #endif // ASH_SHELL_OBSERVER_H_