Home | History | Annotate | Download | only in wm
      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