15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Copyright 2014 The Chromium Authors. All rights reserved. 25c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Use of this source code is governed by a BSD-style license that can be 35c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// found in the LICENSE file. 45c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 55c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#ifndef UI_VIEWS_ACCESSIBILITY_AX_AURA_OBJ_WRAPPER_H_ 65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#define UI_VIEWS_ACCESSIBILITY_AX_AURA_OBJ_WRAPPER_H_ 75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include <vector> 95c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 105c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "base/basictypes.h" 115c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "base/compiler_specific.h" 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "base/macros.h" 135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ui/views/views_export.h" 145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 155c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace ui { 165c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liustruct AXNodeData; 175c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} // namespace ui 185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace views { 205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// An interface abstraction for Aura views that exposes the view-tree formed 225c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// by the implementing view types. 235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass VIEWS_EXPORT AXAuraObjWrapper { 245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu public: 255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual ~AXAuraObjWrapper() {} 265c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Traversal and serialization. 285c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual AXAuraObjWrapper* GetParent() = 0; 295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void GetChildren( 305c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu std::vector<AXAuraObjWrapper*>* out_children) = 0; 315c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void Serialize(ui::AXNodeData* out_node_data) = 0; 325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual int32 GetID() = 0; 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Actions. 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void DoDefault() {} 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void Focus() {} 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void MakeVisible() {} 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void SetSelection(int32 start, int32 end) {} 395c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 405c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 415c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} // namespace views 425c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#endif // UI_VIEWS_ACCESSIBILITY_AX_AURA_OBJ_WRAPPER_H_ 44