Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / views / widget / desktop_aura / desktop_focus_rules.h
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   ~DesktopFocusRules() override;
16
17  private:
18   // Overridden from wm::BaseFocusRules:
19   bool CanActivateWindow(aura::Window* window) const override;
20   bool SupportsChildActivation(aura::Window* window) const override;
21   bool IsWindowConsideredVisibleForActivation(
22       aura::Window* window) const override;
23   aura::Window* GetToplevelWindow(aura::Window* window) const override;
24   aura::Window* GetNextActivatableWindow(aura::Window* window) const override;
25
26   // The content window. This is an activatable window even though it is a
27   // child.
28   aura::Window* content_window_;
29
30   DISALLOW_COPY_AND_ASSIGN(DesktopFocusRules);
31 };
32
33 }  // namespace views
34
35 #endif  // UI_VIEWS_WIDGET_DESKTOP_FOCUS_RULES_H_