Home | History | Annotate | Download | only in desktop_aura
      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 UI_VIEWS_WIDGET_DESKTOP_FOCUS_RULES_H_
      6 #define UI_VIEWS_WIDGET_DESKTOP_FOCUS_RULES_H_
      7 
      8 #include "ui/wm/core/base_focus_rules.h"
      9 
     10 namespace views {
     11 
     12 class DesktopFocusRules : public wm::BaseFocusRules {
     13  public:
     14   explicit DesktopFocusRules(aura::Window* content_window);
     15   virtual ~DesktopFocusRules();
     16 
     17  private:
     18   // Overridden from wm::BaseFocusRules:
     19   virtual bool CanActivateWindow(aura::Window* window) const OVERRIDE;
     20   virtual bool SupportsChildActivation(aura::Window* window) const OVERRIDE;
     21   virtual bool IsWindowConsideredVisibleForActivation(
     22       aura::Window* window) const OVERRIDE;
     23   virtual aura::Window* GetToplevelWindow(aura::Window* window) const OVERRIDE;
     24   virtual aura::Window* GetNextActivatableWindow(
     25       aura::Window* window) const OVERRIDE;
     26 
     27   // The content window. This is an activatable window even though it is a
     28   // child.
     29   aura::Window* content_window_;
     30 
     31   DISALLOW_COPY_AND_ASSIGN(DesktopFocusRules);
     32 };
     33 
     34 }  // namespace views
     35 
     36 #endif  // UI_VIEWS_WIDGET_DESKTOP_FOCUS_RULES_H_
     37