AccessibilityScrollView.h [plain text]
#ifndef AccessibilityScrollView_h
#define AccessibilityScrollView_h
#include "AccessibilityObject.h"
namespace WebCore {
class AccessibilityScrollbar;
class Scrollbar;
class ScrollView;
class AccessibilityScrollView : public AccessibilityObject {
public:
static PassRefPtr<AccessibilityScrollView> create(ScrollView*);
virtual AccessibilityRole roleValue() const { return ScrollAreaRole; }
ScrollView* scrollView() const { return m_scrollView; }
virtual ~AccessibilityScrollView();
virtual void detach();
protected:
virtual ScrollableArea* getScrollableAreaIfScrollable() const;
virtual void scrollTo(const IntPoint&) const;
private:
explicit AccessibilityScrollView(ScrollView*);
virtual bool computeAccessibilityIsIgnored() const;
virtual bool isAccessibilityScrollView() const { return true; }
virtual bool isEnabled() const { return true; }
virtual bool isAttachment() const;
virtual Widget* widgetForAttachmentView() const;
virtual AccessibilityObject* scrollBar(AccessibilityOrientation);
virtual void addChildren();
virtual void clearChildren();
virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const;
virtual void updateChildrenIfNecessary();
virtual void setNeedsToUpdateChildren() { m_childrenDirty = true; }
void updateScrollbars();
virtual FrameView* documentFrameView() const;
virtual LayoutRect elementRect() const;
virtual AccessibilityObject* parentObject() const;
virtual AccessibilityObject* parentObjectIfExists() const;
AccessibilityObject* webAreaObject() const;
virtual AccessibilityObject* firstChild() const { return webAreaObject(); }
AccessibilityScrollbar* addChildScrollbar(Scrollbar*);
void removeChildScrollbar(AccessibilityObject*);
ScrollView* m_scrollView;
RefPtr<AccessibilityObject> m_horizontalScrollbar;
RefPtr<AccessibilityObject> m_verticalScrollbar;
bool m_childrenDirty;
};
inline AccessibilityScrollView* toAccessibilityScrollView(AccessibilityObject* object)
{
ASSERT(!object || object->isAccessibilityScrollView());
if (!object->isAccessibilityScrollView())
return 0;
return static_cast<AccessibilityScrollView*>(object);
}
}
#endif // AccessibilityScrollView_h