diff options
Diffstat (limited to 'WebKitTools/DumpRenderTree/AccessibilityUIElement.h')
-rw-r--r-- | WebKitTools/DumpRenderTree/AccessibilityUIElement.h | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h deleted file mode 100644 index 3eb396d..0000000 --- a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Copyright (C) 2008 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. - */ - -#ifndef AccessibilityUIElement_h -#define AccessibilityUIElement_h - -#include "AccessibilityTextMarker.h" -#include <JavaScriptCore/JSObjectRef.h> -#include <wtf/Platform.h> -#include <wtf/Vector.h> - -#if PLATFORM(MAC) -#ifdef __OBJC__ -typedef id PlatformUIElement; -#else -typedef struct objc_object* PlatformUIElement; -#endif -#elif PLATFORM(WIN) -#undef _WINSOCKAPI_ -#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h - -#include <WebCore/COMPtr.h> -#include <oleacc.h> - -typedef COMPtr<IAccessible> PlatformUIElement; -#elif PLATFORM(GTK) -#include <atk/atk.h> -typedef AtkObject* PlatformUIElement; -#else -typedef void* PlatformUIElement; -#endif - -#if PLATFORM(MAC) -#ifdef __OBJC__ -typedef id NotificationHandler; -#else -typedef struct objc_object* NotificationHandler; -#endif -#endif - -class AccessibilityUIElement { -public: - AccessibilityUIElement(PlatformUIElement); - AccessibilityUIElement(const AccessibilityUIElement&); - ~AccessibilityUIElement(); - - PlatformUIElement platformUIElement() { return m_element; } - - static JSObjectRef makeJSAccessibilityUIElement(JSContextRef, const AccessibilityUIElement&); - - bool isEqual(AccessibilityUIElement* otherElement); - - void getLinkedUIElements(Vector<AccessibilityUIElement>&); - void getDocumentLinks(Vector<AccessibilityUIElement>&); - void getChildren(Vector<AccessibilityUIElement>&); - void getChildrenWithRange(Vector<AccessibilityUIElement>&, unsigned location, unsigned length); - - AccessibilityUIElement elementAtPoint(int x, int y); - AccessibilityUIElement getChildAtIndex(unsigned); - unsigned indexOfChild(AccessibilityUIElement*); - int childrenCount(); - AccessibilityUIElement titleUIElement(); - AccessibilityUIElement parentElement(); - - void takeFocus(); - void takeSelection(); - void addSelection(); - void removeSelection(); - - // Methods - platform-independent implementations - JSStringRef allAttributes(); - JSStringRef attributesOfLinkedUIElements(); - AccessibilityUIElement linkedUIElementAtIndex(unsigned); - - JSStringRef attributesOfDocumentLinks(); - JSStringRef attributesOfChildren(); - JSStringRef parameterizedAttributeNames(); - void increment(); - void decrement(); - void showMenu(); - void press(); - - // Attributes - platform-independent implementations - JSStringRef stringAttributeValue(JSStringRef attribute); - bool boolAttributeValue(JSStringRef attribute); - bool isAttributeSupported(JSStringRef attribute); - bool isAttributeSettable(JSStringRef attribute); - bool isActionSupported(JSStringRef action); - JSStringRef role(); - JSStringRef subrole(); - JSStringRef roleDescription(); - JSStringRef title(); - JSStringRef description(); - JSStringRef language(); - JSStringRef stringValue(); - JSStringRef accessibilityValue() const; - JSStringRef helpText() const; - JSStringRef orientation() const; - double x(); - double y(); - double width(); - double height(); - double intValue() const; - double minValue(); - double maxValue(); - JSStringRef valueDescription(); - int insertionPointLineNumber(); - JSStringRef selectedTextRange(); - bool isEnabled(); - bool isRequired() const; - - bool isSelected() const; - bool isSelectable() const; - bool isMultiSelectable() const; - void setSelectedChild(AccessibilityUIElement*) const; - unsigned selectedChildrenCount() const; - AccessibilityUIElement selectedChildAtIndex(unsigned) const; - - bool isExpanded() const; - bool isChecked() const; - bool isVisible() const; - bool isOffScreen() const; - bool isCollapsed() const; - bool isIgnored() const; - bool hasPopup() const; - int hierarchicalLevel() const; - double clickPointX(); - double clickPointY(); - JSStringRef documentEncoding(); - JSStringRef documentURI(); - JSStringRef url(); - - // CSS3-speech properties. - JSStringRef speak(); - - // Table-specific attributes - JSStringRef attributesOfColumnHeaders(); - JSStringRef attributesOfRowHeaders(); - JSStringRef attributesOfColumns(); - JSStringRef attributesOfRows(); - JSStringRef attributesOfVisibleCells(); - JSStringRef attributesOfHeader(); - int indexInTable(); - JSStringRef rowIndexRange(); - JSStringRef columnIndexRange(); - int rowCount(); - int columnCount(); - - // Tree/Outline specific attributes - AccessibilityUIElement selectedRowAtIndex(unsigned); - AccessibilityUIElement disclosedByRow(); - AccessibilityUIElement disclosedRowAtIndex(unsigned); - - // ARIA specific - AccessibilityUIElement ariaOwnsElementAtIndex(unsigned); - AccessibilityUIElement ariaFlowToElementAtIndex(unsigned); - - // ARIA Drag and Drop - bool ariaIsGrabbed() const; - // A space concatentated string of all the drop effects. - JSStringRef ariaDropEffects() const; - - // Parameterized attributes - int lineForIndex(int); - JSStringRef rangeForLine(int); - JSStringRef boundsForRange(unsigned location, unsigned length); - void setSelectedTextRange(unsigned location, unsigned length); - JSStringRef stringForRange(unsigned location, unsigned length); - JSStringRef attributedStringForRange(unsigned location, unsigned length); - bool attributedStringRangeIsMisspelled(unsigned location, unsigned length); - - // Table-specific - AccessibilityUIElement cellForColumnAndRow(unsigned column, unsigned row); - - // Text markers. - AccessibilityTextMarkerRange textMarkerRangeForElement(AccessibilityUIElement*); - AccessibilityTextMarkerRange textMarkerRangeForMarkers(AccessibilityTextMarker* startMarker, AccessibilityTextMarker* endMarker); - AccessibilityTextMarker startTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*); - AccessibilityTextMarker endTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange*); - AccessibilityTextMarker textMarkerForPoint(int x, int y); - AccessibilityUIElement accessibilityElementForTextMarker(AccessibilityTextMarker*); - int textMarkerRangeLength(AccessibilityTextMarkerRange*); - - // Notifications - // Function callback should take one argument, the name of the notification. - bool addNotificationListener(JSObjectRef functionCallback); - // Make sure you call remove, because you can't rely on objects being deallocated in a timely fashion. - void removeNotificationListener(); - -private: - static JSClassRef getJSClass(); - PlatformUIElement m_element; - - // A retained, platform specific object used to help manage notifications for this object. -#if PLATFORM(MAC) - NotificationHandler m_notificationHandler; -#endif -}; - -#endif // AccessibilityUIElement_h |