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_WIDGET_OBJ_WRAPPER_H_ 65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#define UI_VIEWS_ACCESSIBILITY_AX_WIDGET_OBJ_WRAPPER_H_ 75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ui/views/accessibility/ax_aura_obj_wrapper.h" 95c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ui/views/widget/widget_observer.h" 105c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "ui/views/widget/widget_removals_observer.h" 115c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace views { 135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass Widget; 145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 155c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Describes a |Widget| for use with other AX classes. 165c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass AXWidgetObjWrapper : public AXAuraObjWrapper, 175c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu public WidgetObserver, 185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu public WidgetRemovalsObserver { 195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu public: 205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu explicit AXWidgetObjWrapper(Widget* widget); 215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual ~AXWidgetObjWrapper(); 225c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // AXAuraObjWrapper overrides. 245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual AXAuraObjWrapper* GetParent() OVERRIDE; 255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void GetChildren( 265c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu std::vector<AXAuraObjWrapper*>* out_children) OVERRIDE; 275c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void Serialize(ui::AXNodeData* out_node_data) OVERRIDE; 285c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual int32 GetID() OVERRIDE; 295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 305c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // WidgetObserver overrides. 315c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void OnWidgetDestroying(Widget* widget) OVERRIDE; 325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 335c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // WidgetRemovalsObserver overrides. 345c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu virtual void OnWillRemoveView(Widget* widget, View* view) OVERRIDE; 355c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 365c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu private: 375c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu Widget* widget_; 385c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 395c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu DISALLOW_COPY_AND_ASSIGN(AXWidgetObjWrapper); 405c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 415c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 425c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} // namespace views 435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 445c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#endif // UI_VIEWS_ACCESSIBILITY_AX_WIDGET_OBJ_WRAPPER_H_ 45