Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / views / accessibility / ax_window_obj_wrapper.h
blob7d904aac4b4163fd65e60b3ee7fd3ae1b3003938
1 // Copyright 2014 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.
5 #ifndef UI_VIEWS_ACCESSIBILITY_AX_WINDOW_OBJ_WRAPPER_H_
6 #define UI_VIEWS_ACCESSIBILITY_AX_WINDOW_OBJ_WRAPPER_H_
8 #include "ui/aura/window_observer.h"
9 #include "ui/views/accessibility/ax_aura_obj_wrapper.h"
11 namespace aura {
12 class Window;
13 } // namespace aura
15 namespace views {
17 // Describes a |Window| for use with other AX classes.
18 class AXWindowObjWrapper : public AXAuraObjWrapper,
19 public aura::WindowObserver {
20 public:
21 explicit AXWindowObjWrapper(aura::Window* window);
22 ~AXWindowObjWrapper() override;
24 // Whether this window is an alert window.
25 bool is_alert() { return is_alert_; }
27 // Sets whether this window is an alert window.
28 void set_is_alert(bool is_alert) { is_alert_ = is_alert; }
30 // AXAuraObjWrapper overrides.
31 AXAuraObjWrapper* GetParent() override;
32 void GetChildren(std::vector<AXAuraObjWrapper*>* out_children) override;
33 void Serialize(ui::AXNodeData* out_node_data) override;
34 int32 GetID() override;
36 // WindowObserver overrides.
37 void OnWindowDestroying(aura::Window* window) override;
39 private:
40 aura::Window* window_;
42 bool is_alert_;
44 DISALLOW_COPY_AND_ASSIGN(AXWindowObjWrapper);
47 } // namespace views
49 #endif // UI_VIEWS_ACCESSIBILITY_AX_WINDOW_OBJ_WRAPPER_H_