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. 4 5 #ifndef ASH_WM_ACTIVATION_CONTROLLER_DELEGATE_H_ 6 #define ASH_WM_ACTIVATION_CONTROLLER_DELEGATE_H_ 7 8 #include "ash/ash_export.h" 9 10 namespace aura { 11 class Window; 12 } 13 14 namespace ash { 15 namespace internal { 16 17 class ASH_EXPORT ActivationControllerDelegate { 18 public: 19 virtual ~ActivationControllerDelegate() {} 20 21 // Called when the ActivationController is about to activate |window|. The 22 // delegate gets an opportunity to take action and modify activation. 23 // Modification occurs via the return value: 24 // Returning |window| will activate |window|. 25 // Returning some other window will activate that window instead. 26 // Returning NULL will not change activation. 27 virtual aura::Window* WillActivateWindow(aura::Window* window) = 0; 28 29 // Called when the ActivationController is about to focus |window|. Returns 30 // the window that should be focused instead. 31 virtual aura::Window* WillFocusWindow(aura::Window* window) = 0; 32 }; 33 34 } // namespace internal 35 } // namespace ash 36 37 #endif // ASH_WM_ACTIVATION_CONTROLLER_DELEGATE_H_ 38