/* * Copyright (C) 2011 Apple Inc. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "config.h" #include "AccessibilityUIElement.h" #include "JSAccessibilityUIElement.h" #include namespace WTR { PassRefPtr AccessibilityUIElement::create(PlatformUIElement uiElement) { return adoptRef(new AccessibilityUIElement(uiElement)); } PassRefPtr AccessibilityUIElement::create(const AccessibilityUIElement& uiElement) { return adoptRef(new AccessibilityUIElement(uiElement)); } JSClassRef AccessibilityUIElement::wrapperClass() { return JSAccessibilityUIElement::accessibilityUIElementClass(); } // Implementation bool AccessibilityUIElement::isValid() const { return m_element; } // 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 AccessibilityUIElement::characterAtOffset(int) { return 0; } JSRetainPtr AccessibilityUIElement::wordAtOffset(int) { return 0; } JSRetainPtr AccessibilityUIElement::lineAtOffset(int) { return 0; } JSRetainPtr AccessibilityUIElement::sentenceAtOffset(int) { return 0; } #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::elementAtPoint(int, int) { return 0; } PassRefPtr AccessibilityUIElement::childAtIndex(unsigned) { return 0; } unsigned AccessibilityUIElement::indexOfChild(AccessibilityUIElement*) { return 0; } int AccessibilityUIElement::childrenCount() { return 0; } PassRefPtr AccessibilityUIElement::titleUIElement() { return 0; } PassRefPtr AccessibilityUIElement::parentElement() { return 0; } void AccessibilityUIElement::takeFocus() { } void AccessibilityUIElement::takeSelection() { } void AccessibilityUIElement::addSelection() { } void AccessibilityUIElement::removeSelection() { } JSRetainPtr AccessibilityUIElement::allAttributes() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfLinkedUIElements() { return 0; } PassRefPtr AccessibilityUIElement::linkedUIElementAtIndex(unsigned) { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfDocumentLinks() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfChildren() { return 0; } JSRetainPtr AccessibilityUIElement::parameterizedAttributeNames() { return 0; } void AccessibilityUIElement::increment() { } void AccessibilityUIElement::decrement() { } void AccessibilityUIElement::showMenu() { } void AccessibilityUIElement::press() { } JSRetainPtr AccessibilityUIElement::stringAttributeValue(JSStringRef) { return 0; } JSValueRef AccessibilityUIElement::uiElementArrayAttributeValue(JSStringRef) const { return nullptr; } PassRefPtr 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 AccessibilityUIElement::role() { return 0; } JSRetainPtr AccessibilityUIElement::subrole() { return 0; } JSRetainPtr AccessibilityUIElement::roleDescription() { return 0; } JSRetainPtr AccessibilityUIElement::title() { return 0; } JSRetainPtr AccessibilityUIElement::description() { return 0; } JSRetainPtr AccessibilityUIElement::language() { return 0; } JSRetainPtr AccessibilityUIElement::stringValue() { return 0; } JSRetainPtr AccessibilityUIElement::accessibilityValue() const { return 0; } JSRetainPtr AccessibilityUIElement::helpText() const { return 0; } JSRetainPtr 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 AccessibilityUIElement::valueDescription() { return 0; } int AccessibilityUIElement::insertionPointLineNumber() { return 0; } JSRetainPtr 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::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 AccessibilityUIElement::documentEncoding() { return 0; } JSRetainPtr AccessibilityUIElement::documentURI() { return 0; } JSRetainPtr AccessibilityUIElement::url() { return 0; } JSRetainPtr AccessibilityUIElement::speak() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfColumnHeaders() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfRowHeaders() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfColumns() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfRows() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfVisibleCells() { return 0; } JSRetainPtr AccessibilityUIElement::attributesOfHeader() { return 0; } int AccessibilityUIElement::indexInTable() { return 0; } JSRetainPtr AccessibilityUIElement::rowIndexRange() { return 0; } JSRetainPtr AccessibilityUIElement::columnIndexRange() { return 0; } int AccessibilityUIElement::rowCount() { return 0; } int AccessibilityUIElement::columnCount() { return 0; } PassRefPtr AccessibilityUIElement::selectedRowAtIndex(unsigned) { return 0; } PassRefPtr AccessibilityUIElement::disclosedByRow() { return 0; } PassRefPtr AccessibilityUIElement::disclosedRowAtIndex(unsigned) { return 0; } PassRefPtr AccessibilityUIElement::rowAtIndex(unsigned) { return 0; } PassRefPtr AccessibilityUIElement::ariaOwnsElementAtIndex(unsigned) { return 0; } PassRefPtr AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned) { return 0; } bool AccessibilityUIElement::ariaIsGrabbed() const { return false; } JSRetainPtr AccessibilityUIElement::ariaDropEffects() const { return 0; } JSRetainPtr AccessibilityUIElement::classList() const { return 0; } int AccessibilityUIElement::lineForIndex(int) { return 0; } JSRetainPtr AccessibilityUIElement::rangeForLine(int) { return 0; } JSRetainPtr AccessibilityUIElement::rangeForPosition(int, int) { return 0; } JSRetainPtr AccessibilityUIElement::boundsForRange(unsigned, unsigned) { return 0; } bool AccessibilityUIElement::setSelectedTextRange(unsigned, unsigned) { return false; } JSRetainPtr AccessibilityUIElement::stringForRange(unsigned, unsigned) { return 0; } JSRetainPtr 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::uiElementForSearchPredicate(JSContextRef, AccessibilityUIElement*, bool, JSValueRef, JSStringRef, bool) { return 0; } PassRefPtr AccessibilityUIElement::cellForColumnAndRow(unsigned, unsigned) { return 0; } PassRefPtr AccessibilityUIElement::horizontalScrollbar() const { return 0; } PassRefPtr AccessibilityUIElement::verticalScrollbar() const { return 0; } bool AccessibilityUIElement::addNotificationListener(JSValueRef) { return false; } bool AccessibilityUIElement::removeNotificationListener() { return false; } PassRefPtr AccessibilityUIElement::textMarkerRangeForElement(AccessibilityUIElement*) { return 0; } int AccessibilityUIElement::textMarkerRangeLength(AccessibilityTextMarkerRange*) { return 0; } PassRefPtr AccessibilityUIElement::textMarkerRangeForMarkers(AccessibilityTextMarker*, AccessibilityTextMarker*) { return 0; } PassRefPtr AccessibilityUIElement::startTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*) { return 0; } PassRefPtr AccessibilityUIElement::endTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*) { return 0; } PassRefPtr AccessibilityUIElement::accessibilityElementForTextMarker(AccessibilityTextMarker*) { return 0; } PassRefPtr AccessibilityUIElement::endTextMarkerForBounds(int x, int y, int width, int height) { return 0; } PassRefPtr AccessibilityUIElement::startTextMarkerForBounds(int x, int y, int width, int height) { return 0; } PassRefPtr AccessibilityUIElement::textMarkerForPoint(int, int) { return 0; } PassRefPtr AccessibilityUIElement::previousTextMarker(AccessibilityTextMarker*) { return 0; } PassRefPtr AccessibilityUIElement::nextTextMarker(AccessibilityTextMarker*) { return 0; } PassRefPtr AccessibilityUIElement::startTextMarker() { return 0; } PassRefPtr AccessibilityUIElement::endTextMarker() { return 0; } JSRetainPtr 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 AccessibilityUIElement::textMarkerForIndex(int) { return 0; } void AccessibilityUIElement::scrollToMakeVisible() { } JSRetainPtr AccessibilityUIElement::supportedActions() const { return 0; } JSRetainPtr AccessibilityUIElement::mathPostscriptsDescription() const { return 0; } JSRetainPtr AccessibilityUIElement::mathPrescriptsDescription() const { return 0; } JSRetainPtr AccessibilityUIElement::pathDescription() const { return 0; } #endif } // namespace WTR