Home | History | Annotate | Download | only in accessibility
      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.
      4 
      5 #ifndef UI_VIEWS_ACCESSIBILITY_AX_WINDOW_OBJ_WRAPPER_H_
      6 #define UI_VIEWS_ACCESSIBILITY_AX_WINDOW_OBJ_WRAPPER_H_
      7 
      8 #include "ui/aura/window_observer.h"
      9 #include "ui/views/accessibility/ax_aura_obj_wrapper.h"
     10 
     11 namespace aura {
     12 class Window;
     13 }  // namespace aura
     14 
     15 namespace views {
     16 
     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   virtual ~AXWindowObjWrapper();
     23 
     24   // AXAuraObjWrapper overrides.
     25   virtual AXAuraObjWrapper* GetParent() OVERRIDE;
     26   virtual void GetChildren(
     27       std::vector<AXAuraObjWrapper*>* out_children) OVERRIDE;
     28   virtual void Serialize(ui::AXNodeData* out_node_data) OVERRIDE;
     29   virtual int32 GetID() OVERRIDE;
     30 
     31   // WindowObserver overrides.
     32   virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
     33 
     34  private:
     35   aura::Window* window_;
     36 
     37   DISALLOW_COPY_AND_ASSIGN(AXWindowObjWrapper);
     38 };
     39 
     40 }  // namespace views
     41 
     42 #endif  // UI_VIEWS_ACCESSIBILITY_AX_WINDOW_OBJ_WRAPPER_H_
     43