summaryrefslogtreecommitdiff
path: root/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp')
-rw-r--r--Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp195
1 files changed, 48 insertions, 147 deletions
diff --git a/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp b/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
index 00e965ff3..233ff7d20 100644
--- a/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
+++ b/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
@@ -31,14 +31,14 @@
namespace WTR {
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::create(PlatformUIElement uiElement)
+Ref<AccessibilityUIElement> AccessibilityUIElement::create(PlatformUIElement uiElement)
{
- return adoptRef(new AccessibilityUIElement(uiElement));
+ return adoptRef(*new AccessibilityUIElement(uiElement));
}
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::create(const AccessibilityUIElement& uiElement)
+Ref<AccessibilityUIElement> AccessibilityUIElement::create(const AccessibilityUIElement& uiElement)
{
- return adoptRef(new AccessibilityUIElement(uiElement));
+ return adoptRef(*new AccessibilityUIElement(uiElement));
}
JSClassRef AccessibilityUIElement::wrapperClass()
@@ -53,154 +53,55 @@ bool AccessibilityUIElement::isValid() const
return m_element;
}
+// iOS specific methods
+#if !PLATFORM(IOS)
+JSRetainPtr<JSStringRef> AccessibilityUIElement::identifier() { return nullptr; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::traits() { return nullptr; }
+int AccessibilityUIElement::elementTextPosition() { return 0; }
+int AccessibilityUIElement::elementTextLength() { return 0; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::stringForSelection() { return nullptr; }
+JSValueRef AccessibilityUIElement::elementsForRange(unsigned, unsigned) { return nullptr; }
+void AccessibilityUIElement::increaseTextSelection() { }
+void AccessibilityUIElement::decreaseTextSelection() { }
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::linkedElement() { return nullptr; }
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::headerElementAtIndex(unsigned) { return nullptr; }
+void AccessibilityUIElement::assistiveTechnologySimulatedFocus() { return; }
+bool AccessibilityUIElement::scrollPageUp() { return false; }
+bool AccessibilityUIElement::scrollPageDown() { return false; }
+bool AccessibilityUIElement::scrollPageLeft() { return false; }
+bool AccessibilityUIElement::scrollPageRight() { return false; }
+bool AccessibilityUIElement::hasContainedByFieldsetTrait() { return false; }
+RefPtr<AccessibilityUIElement> AccessibilityUIElement::fieldsetAncestorElement() { return nullptr; }
+bool AccessibilityUIElement::isSearchField() const { return false; }
+bool AccessibilityUIElement::isTextArea() const { return false; }
+
+#endif
+
// Unsupported methods on various platforms. As they're implemented on other platforms this list should be modified.
#if (!PLATFORM(GTK) && !PLATFORM(EFL)) || !HAVE(ACCESSIBILITY)
-JSRetainPtr<JSStringRef> AccessibilityUIElement::characterAtOffset(int) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::wordAtOffset(int) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::lineAtOffset(int) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::sentenceAtOffset(int) { return 0; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::characterAtOffset(int) { return nullptr; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::wordAtOffset(int) { return nullptr; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::lineAtOffset(int) { return nullptr; }
+JSRetainPtr<JSStringRef> AccessibilityUIElement::sentenceAtOffset(int) { return nullptr; }
#endif
-#if (!PLATFORM(MAC) && !PLATFORM(GTK) && !PLATFORM(EFL)) || !HAVE(ACCESSIBILITY)
-AccessibilityUIElement::AccessibilityUIElement(PlatformUIElement) { }
-AccessibilityUIElement::AccessibilityUIElement(const AccessibilityUIElement&) { }
-AccessibilityUIElement::~AccessibilityUIElement() { }
-bool AccessibilityUIElement::isEqual(AccessibilityUIElement*) { return false; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::elementAtPoint(int, int) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::childAtIndex(unsigned) { return 0; }
-unsigned AccessibilityUIElement::indexOfChild(AccessibilityUIElement*) { return 0; }
-int AccessibilityUIElement::childrenCount() { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::titleUIElement() { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::parentElement() { return 0; }
-void AccessibilityUIElement::takeFocus() { }
-void AccessibilityUIElement::takeSelection() { }
-void AccessibilityUIElement::addSelection() { }
-void AccessibilityUIElement::removeSelection() { }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::allAttributes() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfLinkedUIElements() { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::linkedUIElementAtIndex(unsigned) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfDocumentLinks() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfChildren() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::parameterizedAttributeNames() { return 0; }
-void AccessibilityUIElement::increment() { }
-void AccessibilityUIElement::decrement() { }
-void AccessibilityUIElement::showMenu() { }
-void AccessibilityUIElement::press() { }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::stringAttributeValue(JSStringRef) { return 0; }
-JSValueRef AccessibilityUIElement::uiElementArrayAttributeValue(JSStringRef) const { return nullptr; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::uiElementAttributeValue(JSStringRef) const { return 0; }
-double AccessibilityUIElement::numberAttributeValue(JSStringRef) { return 0; }
-bool AccessibilityUIElement::boolAttributeValue(JSStringRef) { return false; }
-bool AccessibilityUIElement::isAttributeSupported(JSStringRef) { return false; }
-bool AccessibilityUIElement::isAttributeSettable(JSStringRef) { return false; }
-bool AccessibilityUIElement::isPressActionSupported() { return false; }
-bool AccessibilityUIElement::isIncrementActionSupported() { return false; }
-bool AccessibilityUIElement::isDecrementActionSupported() { return false; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::role() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::subrole() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::roleDescription() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::title() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::description() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::language() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::stringValue() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::accessibilityValue() const { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::helpText() const { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::orientation() const { return 0; }
-double AccessibilityUIElement::x() { return 0; }
-double AccessibilityUIElement::y() { return 0; }
-double AccessibilityUIElement::width() { return 0; }
-double AccessibilityUIElement::height() { return 0; }
-double AccessibilityUIElement::intValue() const { return 0; }
-double AccessibilityUIElement::minValue() { return 0; }
-double AccessibilityUIElement::maxValue() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::valueDescription() { return 0; }
-int AccessibilityUIElement::insertionPointLineNumber() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::selectedTextRange() { return 0; }
-bool AccessibilityUIElement::isEnabled() { return false; }
-bool AccessibilityUIElement::isRequired() const { return false; }
-bool AccessibilityUIElement::isFocused() const { return false; }
-bool AccessibilityUIElement::isFocusable() const { return false; }
-bool AccessibilityUIElement::isSelected() const { return false; }
-bool AccessibilityUIElement::isSelectedOptionActive() const { return false; }
-bool AccessibilityUIElement::isSelectable() const { return false; }
-bool AccessibilityUIElement::isMultiSelectable() const { return false; }
-void AccessibilityUIElement::setSelectedChild(AccessibilityUIElement*) const { }
-unsigned AccessibilityUIElement::selectedChildrenCount() const { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::selectedChildAtIndex(unsigned) const { return 0; }
-bool AccessibilityUIElement::isExpanded() const { return false; }
-bool AccessibilityUIElement::isChecked() const { return false; }
-bool AccessibilityUIElement::isIndeterminate() const { return false; }
-bool AccessibilityUIElement::isVisible() const { return false; }
-bool AccessibilityUIElement::isOffScreen() const { return false; }
-bool AccessibilityUIElement::isCollapsed() const { return false; }
-bool AccessibilityUIElement::isIgnored() const { return false; }
-bool AccessibilityUIElement::hasPopup() const { return false; }
-int AccessibilityUIElement::hierarchicalLevel() const { return 0; }
-double AccessibilityUIElement::clickPointX() { return 0; }
-double AccessibilityUIElement::clickPointY() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::documentEncoding() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::documentURI() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::url() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::speak() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfColumnHeaders() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfRowHeaders() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfColumns() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfRows() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfVisibleCells() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributesOfHeader() { return 0; }
-int AccessibilityUIElement::indexInTable() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::rowIndexRange() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::columnIndexRange() { return 0; }
-int AccessibilityUIElement::rowCount() { return 0; }
-int AccessibilityUIElement::columnCount() { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::selectedRowAtIndex(unsigned) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::disclosedByRow() { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::disclosedRowAtIndex(unsigned) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::rowAtIndex(unsigned) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaOwnsElementAtIndex(unsigned) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned) { return 0; }
-bool AccessibilityUIElement::ariaIsGrabbed() const { return false; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::ariaDropEffects() const { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::classList() const { return 0; }
-int AccessibilityUIElement::lineForIndex(int) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::rangeForLine(int) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::rangeForPosition(int, int) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::boundsForRange(unsigned, unsigned) { return 0; }
-bool AccessibilityUIElement::setSelectedTextRange(unsigned, unsigned) { return false; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::stringForRange(unsigned, unsigned) { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::attributedStringForRange(unsigned, unsigned) { return 0; }
-bool AccessibilityUIElement::attributedStringRangeIsMisspelled(unsigned, unsigned) { return false; }
-unsigned AccessibilityUIElement::uiElementCountForSearchPredicate(JSContextRef, AccessibilityUIElement*, bool, JSValueRef, JSStringRef, bool) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::uiElementForSearchPredicate(JSContextRef, AccessibilityUIElement*, bool, JSValueRef, JSStringRef, bool) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::cellForColumnAndRow(unsigned, unsigned) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::horizontalScrollbar() const { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::verticalScrollbar() const { return 0; }
-bool AccessibilityUIElement::addNotificationListener(JSValueRef) { return false; }
-bool AccessibilityUIElement::removeNotificationListener() { return false; }
-PassRefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::textMarkerRangeForElement(AccessibilityUIElement*) { return 0; }
-int AccessibilityUIElement::textMarkerRangeLength(AccessibilityTextMarkerRange*) { return 0; }
-PassRefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::textMarkerRangeForMarkers(AccessibilityTextMarker*, AccessibilityTextMarker*) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::startTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::endTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*) { return 0; }
-PassRefPtr<AccessibilityUIElement> AccessibilityUIElement::accessibilityElementForTextMarker(AccessibilityTextMarker*) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::endTextMarkerForBounds(int x, int y, int width, int height) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::startTextMarkerForBounds(int x, int y, int width, int height) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::textMarkerForPoint(int, int) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::previousTextMarker(AccessibilityTextMarker*) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::nextTextMarker(AccessibilityTextMarker*) { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::startTextMarker() { return 0; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::endTextMarker() { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::stringForTextMarkerRange(AccessibilityTextMarkerRange*) { return 0; }
-bool AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute(JSStringRef, AccessibilityTextMarkerRange*) { return false; }
-int AccessibilityUIElement::indexForTextMarker(AccessibilityTextMarker*) { return -1; }
-bool AccessibilityUIElement::isTextMarkerValid(AccessibilityTextMarker*) { return false; }
-PassRefPtr<AccessibilityTextMarker> AccessibilityUIElement::textMarkerForIndex(int) { return 0; }
-void AccessibilityUIElement::scrollToMakeVisible() { }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::supportedActions() const { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::mathPostscriptsDescription() const { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::mathPrescriptsDescription() const { return 0; }
-JSRetainPtr<JSStringRef> AccessibilityUIElement::pathDescription() const { return 0; }
+#if !PLATFORM(MAC) || !HAVE(ACCESSIBILITY)
+RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::selectedTextMarkerRange() { return nullptr; }
+void AccessibilityUIElement::resetSelectedTextMarkerRange() { }
+void AccessibilityUIElement::setBoolAttributeValue(JSStringRef, bool) { }
+#endif
+#if !PLATFORM(COCOA) || !HAVE(ACCESSIBILITY)
+RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarker> AccessibilityUIElement::previousWordStartTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarker> AccessibilityUIElement::nextWordEndTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarker> AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarker> AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarkerRange> AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarker> AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
+RefPtr<AccessibilityTextMarker> AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker(AccessibilityTextMarker*) { return nullptr; }
#endif
} // namespace WTR