AccessibilityScrollView.h [plain text]
#pragma once
#include "AccessibilityObject.h"
namespace WebCore {
class AccessibilityScrollbar;
class Scrollbar;
class ScrollView;
class AccessibilityScrollView final : public AccessibilityObject {
public:
static Ref<AccessibilityScrollView> create(ScrollView*);
AccessibilityRole roleValue() const override { return AccessibilityRole::ScrollArea; }
ScrollView* scrollView() const { return m_scrollView; }
virtual ~AccessibilityScrollView();
void detach(AccessibilityDetachmentType, AXObjectCache*) override;
AccessibilityObject* webAreaObject() const;
private:
explicit AccessibilityScrollView(ScrollView*);
ScrollableArea* getScrollableAreaIfScrollable() const override;
void scrollTo(const IntPoint&) const override;
bool computeAccessibilityIsIgnored() const override;
bool isAccessibilityScrollView() const override { return true; }
bool isEnabled() const override { return true; }
bool isAttachment() const override;
Widget* widgetForAttachmentView() const override;
AccessibilityObject* scrollBar(AccessibilityOrientation) override;
void addChildren() override;
void clearChildren() override;
AccessibilityObject* accessibilityHitTest(const IntPoint&) const override;
void updateChildrenIfNecessary() override;
void setNeedsToUpdateChildren() override { m_childrenDirty = true; }
void updateScrollbars();
void setFocused(bool) override;
bool canSetFocusAttribute() const override;
bool isFocused() const override;
FrameView* documentFrameView() const override;
LayoutRect elementRect() const override;
AccessibilityObject* parentObject() const override;
AccessibilityObject* parentObjectIfExists() const override;
AccessibilityObject* firstChild() const override { return webAreaObject(); }
AccessibilityScrollbar* addChildScrollbar(Scrollbar*);
void removeChildScrollbar(AccessibilityObject*);
ScrollView* m_scrollView;
RefPtr<AccessibilityObject> m_horizontalScrollbar;
RefPtr<AccessibilityObject> m_verticalScrollbar;
bool m_childrenDirty;
};
}
SPECIALIZE_TYPE_TRAITS_ACCESSIBILITY(AccessibilityScrollView, isAccessibilityScrollView())