<rdar://problem/5921046> AX: list box options have wrong AXPosition
authorcfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 May 2008 00:02:52 +0000 (00:02 +0000)
committercfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 May 2008 00:02:52 +0000 (00:02 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@32990 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/page/AccessibilityObject.cpp
WebCore/page/AccessibilityObject.h

index 86090af..70feb80 100644 (file)
@@ -1,3 +1,13 @@
+2008-05-08  Chris Fleizach  <cfleizach@apple.com>
+
+        Reviewed by Darin Adler.
+
+        <rdar://problem/5921046> AX: list box options have wrong AXPosition
+
+        * page/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::documentFrameView):
+        * page/AccessibilityObject.h:
+
 2008-05-08  Julien Chaffraix  <jchaffraix@webkit.org>
 
         Reviewed by Eric.
index 9820c89..ac7924c 100644 (file)
@@ -893,6 +893,18 @@ unsigned AccessibilityObject::doAXLineForIndex(unsigned index)
     return doAXLineForTextMarker(textMarkerForIndex(index, false));
 }
 
+FrameView* AccessibilityObject::documentFrameView() const 
+{ 
+    const AccessibilityObject* object = this;
+    while (object && !object->isAccessibilityRenderObject()) 
+        object = object->parentObject();
+        
+    if (!object)
+        return 0;
+
+    return object->documentFrameView();
+}    
+
 AccessibilityObject* AccessibilityObject::doAccessibilityHitTest(const IntPoint& point) const
 {
     return 0;
index f3ed3b3..ce22262 100644 (file)
@@ -273,7 +273,7 @@ public:
     void getDocumentLinks(Vector< RefPtr<AccessibilityObject> >&) const;
     virtual Document* document() const { return 0; }
     virtual FrameView* topDocumentFrameView() const { return 0; }
-    virtual FrameView* documentFrameView() const { return 0; }
+    virtual FrameView* documentFrameView() const;
 
     void setAXObjectID(unsigned);
     virtual void setFocused(bool);