Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ash / wm / ash_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 ASH_WM_ASH_FOCUS_RULES_H_
6 #define ASH_WM_ASH_FOCUS_RULES_H_
7
8 #include "ash/ash_export.h"
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11 #include "ui/wm/core/base_focus_rules.h"
12
13 namespace ash {
14 namespace wm {
15
16 class ASH_EXPORT AshFocusRules : public ::wm::BaseFocusRules {
17  public:
18   AshFocusRules();
19   ~AshFocusRules() override;
20
21  private:
22   // Overridden from ::wm::BaseFocusRules:
23   bool SupportsChildActivation(aura::Window* window) const override;
24   bool IsWindowConsideredVisibleForActivation(
25       aura::Window* window) const override;
26   bool CanActivateWindow(aura::Window* window) const override;
27   aura::Window* GetNextActivatableWindow(aura::Window* ignore) const override;
28
29   aura::Window* GetTopmostWindowToActivateForContainerIndex(
30       int index,
31       aura::Window* ignore) const;
32   aura::Window* GetTopmostWindowToActivateInContainer(
33       aura::Window* container,
34       aura::Window* ignore) const;
35
36   DISALLOW_COPY_AND_ASSIGN(AshFocusRules);
37 };
38
39 }  // namespace wm
40 }  // namespace ash
41
42 #endif  // ASH_WM_ASH_FOCUS_RULES_H_