1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_WM_PUBLIC_ACTIVATION_CHANGE_OBSERVER_H_
6 #define UI_WM_PUBLIC_ACTIVATION_CHANGE_OBSERVER_H_
8 #include "ui/aura/aura_export.h"
15 class AURA_EXPORT ActivationChangeObserver
{
17 // Called when |active| gains focus, or there is no active window
18 // (|active| is NULL in this case.) |old_active| refers to the
19 // previous active window or NULL if there was no previously active
21 virtual void OnWindowActivated(Window
* gained_active
,
22 Window
* lost_active
) = 0;
24 // Called when during window activation the currently active window is
25 // selected for activation. This can happen when a window requested for
26 // activation cannot be activated because a system modal window is active.
27 virtual void OnAttemptToReactivateWindow(aura::Window
* request_active
,
28 aura::Window
* actual_active
) {}
31 virtual ~ActivationChangeObserver() {}
34 // Gets/Sets the ActivationChangeObserver for a specific window. This observer
35 // is notified after the ActivationClient notifies all registered observers.
36 AURA_EXPORT
void SetActivationChangeObserver(
38 ActivationChangeObserver
* observer
);
39 AURA_EXPORT ActivationChangeObserver
* GetActivationChangeObserver(
45 #endif // UI_WM_PUBLIC_ACTIVATION_CHANGE_OBSERVER_H_