Index: public/web/WebAXObject.h |
diff --git a/public/web/WebAXObject.h b/public/web/WebAXObject.h |
index c693bea5feaf8a670f9a0a5cf7d7876989132f04..8106a1474c6490cd7d0a061d31f13f6e17f17044 100644 |
--- a/public/web/WebAXObject.h |
+++ b/public/web/WebAXObject.h |
@@ -1,5 +1,5 @@ |
/* |
- * Copyright (C) 2013 Google Inc. All rights reserved. |
+ * Copyright (C) 2009 Google Inc. All rights reserved. |
aboxhall
2013/09/03 16:26:23
This is a bit awkward: it's not considered a renam
dmazzoni
2013/09/06 19:53:32
The rename detection did a particularly poor job h
|
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions are |
@@ -31,12 +31,186 @@ |
#ifndef WebAXObject_h |
#define WebAXObject_h |
-#include "WebAccessibilityObject.h" |
+#include "../platform/WebCommon.h" |
+#include "../platform/WebPrivatePtr.h" |
+#include "../platform/WebVector.h" |
+#include "WebAXEnums.h" |
+ |
+#if WEBKIT_IMPLEMENTATION |
+namespace WTF { template <typename T> class PassRefPtr; } |
+#endif |
+ |
+namespace WebCore { class AccessibilityObject; } |
namespace WebKit { |
-// FIXME: rename WebAccessibilityObject to WebAXObject and get rid of this temporary typedef (http://crbug.com/269034). |
-typedef WebAccessibilityObject WebAXObject; |
+class WebNode; |
+class WebDocument; |
+class WebString; |
+class WebURL; |
+struct WebPoint; |
+struct WebRect; |
+ |
+// A container for passing around a reference to AccessibilityObject. |
+class WebAXObject { |
+public: |
+ ~WebAXObject() { reset(); } |
+ |
+ WebAXObject() { } |
+ WebAXObject(const WebAXObject& o) { assign(o); } |
+ WebAXObject& operator=(const WebAXObject& o) |
+ { |
+ assign(o); |
+ return *this; |
+ } |
+ |
+ WEBKIT_EXPORT void reset(); |
+ WEBKIT_EXPORT void assign(const WebAXObject&); |
+ WEBKIT_EXPORT bool equals(const WebAXObject&) const; |
+ |
+ bool isNull() const { return m_private.isNull(); } |
+ // isDetached also checks for null, so it's safe to just call isDetached. |
+ WEBKIT_EXPORT bool isDetached() const; |
+ |
+ // Static methods for enabling accessibility. |
+ WEBKIT_EXPORT static void enableAccessibility(); |
+ WEBKIT_EXPORT static bool accessibilityEnabled(); |
+ |
+ WEBKIT_EXPORT void startCachingComputedObjectAttributesUntilTreeMutates(); |
+ WEBKIT_EXPORT void stopCachingComputedObjectAttributes(); |
+ |
+ WEBKIT_EXPORT int axID() const; |
+ |
+ // Update the underlying tree, and return true if this object is |
+ // still valid (not detached). Note that calling this method |
+ // can cause other WebAXObjects to become invalid, too, |
+ // so always call isDetached if updateBackingStoreAndCheckValidity |
+ // has been called on any object, or if any other WebCore code has run. |
+ WEBKIT_EXPORT bool updateBackingStoreAndCheckValidity(); |
+ |
+ WEBKIT_EXPORT WebString accessibilityDescription() const; |
+ WEBKIT_EXPORT unsigned childCount() const; |
+ |
+ WEBKIT_EXPORT WebAXObject childAt(unsigned) const; |
+ WEBKIT_EXPORT WebAXObject parentObject() const; |
+ |
+ WEBKIT_EXPORT bool isAnchor() const; |
+ WEBKIT_EXPORT bool isAriaReadOnly() const; |
+ WEBKIT_EXPORT bool isButtonStateMixed() const; |
+ WEBKIT_EXPORT bool isChecked() const; |
+ WEBKIT_EXPORT bool isClickable() const; |
+ WEBKIT_EXPORT bool isCollapsed() const; |
+ WEBKIT_EXPORT bool isControl() const; |
+ WEBKIT_EXPORT bool isEnabled() const; |
+ WEBKIT_EXPORT bool isFocused() const; |
+ WEBKIT_EXPORT bool isHovered() const; |
+ WEBKIT_EXPORT bool isIndeterminate() const; |
+ WEBKIT_EXPORT bool isLinked() const; |
+ WEBKIT_EXPORT bool isLoaded() const; |
+ WEBKIT_EXPORT bool isMultiSelectable() const; |
+ WEBKIT_EXPORT bool isOffScreen() const; |
+ WEBKIT_EXPORT bool isPasswordField() const; |
+ WEBKIT_EXPORT bool isPressed() const; |
+ WEBKIT_EXPORT bool isReadOnly() const; |
+ WEBKIT_EXPORT bool isRequired() const; |
+ WEBKIT_EXPORT bool isSelected() const; |
+ WEBKIT_EXPORT bool isSelectedOptionActive() const; |
+ WEBKIT_EXPORT bool isVertical() const; |
+ WEBKIT_EXPORT bool isVisible() const; |
+ WEBKIT_EXPORT bool isVisited() const; |
+ |
+ WEBKIT_EXPORT WebString accessKey() const; |
+ WEBKIT_EXPORT bool ariaHasPopup() const; |
+ WEBKIT_EXPORT bool ariaLiveRegionAtomic() const; |
+ WEBKIT_EXPORT bool ariaLiveRegionBusy() const; |
+ WEBKIT_EXPORT WebString ariaLiveRegionRelevant() const; |
+ WEBKIT_EXPORT WebString ariaLiveRegionStatus() const; |
+ WEBKIT_EXPORT WebRect boundingBoxRect() const; |
+ WEBKIT_EXPORT bool canvasHasFallbackContent() const; |
+ WEBKIT_EXPORT WebPoint clickPoint() const; |
+ WEBKIT_EXPORT void colorValue(int& r, int& g, int& b) const; |
+ WEBKIT_EXPORT double estimatedLoadingProgress() const; |
+ WEBKIT_EXPORT WebString helpText() const; |
+ WEBKIT_EXPORT int headingLevel() const; |
+ WEBKIT_EXPORT int hierarchicalLevel() const; |
+ WEBKIT_EXPORT WebAXObject hitTest(const WebPoint&) const; |
+ WEBKIT_EXPORT WebString keyboardShortcut() const; |
+ WEBKIT_EXPORT WebAXRole role() const; |
+ WEBKIT_EXPORT unsigned selectionEnd() const; |
+ WEBKIT_EXPORT unsigned selectionEndLineNumber() const; |
+ WEBKIT_EXPORT unsigned selectionStart() const; |
+ WEBKIT_EXPORT unsigned selectionStartLineNumber() const; |
+ WEBKIT_EXPORT WebString stringValue() const; |
+ WEBKIT_EXPORT WebString title() const; |
+ WEBKIT_EXPORT WebAXObject titleUIElement() const; |
+ WEBKIT_EXPORT WebURL url() const; |
+ |
+ WEBKIT_EXPORT bool supportsRangeValue() const; |
+ WEBKIT_EXPORT WebString valueDescription() const; |
+ WEBKIT_EXPORT float valueForRange() const; |
+ WEBKIT_EXPORT float maxValueForRange() const; |
+ WEBKIT_EXPORT float minValueForRange() const; |
+ |
+ WEBKIT_EXPORT WebNode node() const; |
+ WEBKIT_EXPORT WebDocument document() const; |
+ WEBKIT_EXPORT bool hasComputedStyle() const; |
+ WEBKIT_EXPORT WebString computedStyleDisplay() const; |
+ WEBKIT_EXPORT bool accessibilityIsIgnored() const; |
+ WEBKIT_EXPORT bool lineBreaks(WebVector<int>&) const; |
+ |
+ // Actions |
+ WEBKIT_EXPORT WebString actionVerb() const; // The verb corresponding to performDefaultAction. |
+ WEBKIT_EXPORT bool canDecrement() const; |
+ WEBKIT_EXPORT bool canIncrement() const; |
+ WEBKIT_EXPORT bool canPress() const; |
+ WEBKIT_EXPORT bool canSetFocusAttribute() const; |
+ WEBKIT_EXPORT bool canSetSelectedAttribute() const; |
+ WEBKIT_EXPORT bool canSetValueAttribute() const; |
+ WEBKIT_EXPORT bool performDefaultAction() const; |
+ WEBKIT_EXPORT bool press() const; |
+ WEBKIT_EXPORT bool increment() const; |
+ WEBKIT_EXPORT bool decrement() const; |
+ WEBKIT_EXPORT void setFocused(bool) const; |
+ WEBKIT_EXPORT void setSelectedTextRange(int selectionStart, int selectionEnd) const; |
+ |
+ // For a table |
+ WEBKIT_EXPORT unsigned columnCount() const; |
+ WEBKIT_EXPORT unsigned rowCount() const; |
+ WEBKIT_EXPORT WebAXObject cellForColumnAndRow(unsigned column, unsigned row) const; |
+ WEBKIT_EXPORT WebAXObject headerContainerObject() const; |
+ WEBKIT_EXPORT WebAXObject rowAtIndex(unsigned rowIndex) const; |
+ WEBKIT_EXPORT WebAXObject columnAtIndex(unsigned columnIndex) const; |
+ |
+ // For a table row |
+ WEBKIT_EXPORT unsigned rowIndex() const; |
+ WEBKIT_EXPORT WebAXObject rowHeader() const; |
+ |
+ // For a table column |
+ WEBKIT_EXPORT unsigned columnIndex() const; |
+ WEBKIT_EXPORT WebAXObject columnHeader() const; |
+ |
+ // For a table cell |
+ WEBKIT_EXPORT unsigned cellColumnIndex() const; |
+ WEBKIT_EXPORT unsigned cellColumnSpan() const; |
+ WEBKIT_EXPORT unsigned cellRowIndex() const; |
+ WEBKIT_EXPORT unsigned cellRowSpan() const; |
+ |
+ // Make this object visible by scrolling as many nested scrollable views as needed. |
+ WEBKIT_EXPORT void scrollToMakeVisible() const; |
+ // Same, but if the whole object can't be made visible, try for this subrect, in local coordinates. |
+ WEBKIT_EXPORT void scrollToMakeVisibleWithSubFocus(const WebRect&) const; |
+ // Scroll this object to a given point in global coordinates of the top-level window. |
+ WEBKIT_EXPORT void scrollToGlobalPoint(const WebPoint&) const; |
+ |
+#if WEBKIT_IMPLEMENTATION |
+ WebAXObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>&); |
+ WebAXObject& operator=(const WTF::PassRefPtr<WebCore::AccessibilityObject>&); |
+ operator WTF::PassRefPtr<WebCore::AccessibilityObject>() const; |
+#endif |
+ |
+private: |
+ WebPrivatePtr<WebCore::AccessibilityObject> m_private; |
+}; |
} // namespace WebKit |