AccessibilityObject* AccessibilityListBoxOption::parentObject() const { HTMLSelectElement* parentNode = listBoxOptionParentNode(); if (!parentNode) return 0; return m_optionElement->document()->axObjectCache()->getOrCreate(parentNode->renderer()); }
LayoutRect AccessibilityListBoxOption::elementRect() const { LayoutRect rect; if (!m_optionElement) return rect; HTMLSelectElement* listBoxParentNode = listBoxOptionParentNode(); if (!listBoxParentNode) return rect; RenderObject* listBoxRenderer = listBoxParentNode->renderer(); if (!listBoxRenderer) return rect; LayoutRect parentRect = listBoxRenderer->document()->axObjectCache()->getOrCreate(listBoxRenderer)->boundingBoxRect(); int index = listBoxOptionIndex(); if (index != -1) rect = toRenderListBox(listBoxRenderer)->itemBoundingBoxRect(parentRect.location(), index); return rect; }
IntRect AccessibilityListBoxOption::elementRect() const { IntRect rect; if (!m_optionElement) return rect; HTMLSelectElement* listBoxParentNode = listBoxOptionParentNode(); if (!listBoxParentNode) return rect; RenderObject* listBoxRenderer = listBoxParentNode->renderer(); if (!listBoxRenderer) return rect; IntRect parentRect = listBoxRenderer->document()->axObjectCache()->get(listBoxRenderer)->boundingBoxRect(); int index = listBoxOptionIndex(); if (index != -1) rect = static_cast<RenderListBox*>(listBoxRenderer)->itemBoundingBoxRect(parentRect.x(), parentRect.y(), index); return rect; }