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