| Index: Source/core/accessibility/AXRenderObject.cpp
|
| diff --git a/Source/core/accessibility/AXRenderObject.cpp b/Source/core/accessibility/AXRenderObject.cpp
|
| index 07afd3e6d65835330a3370ce92f46f933ba6988b..7d8d28ff690d9b77e443402cfff5bb5e7a62e60c 100644
|
| --- a/Source/core/accessibility/AXRenderObject.cpp
|
| +++ b/Source/core/accessibility/AXRenderObject.cpp
|
| @@ -310,16 +310,16 @@ AccessibilityRole AXRenderObject::determineAccessibilityRole()
|
| if (cssBox && cssBox->isTextArea())
|
| return TextAreaRole;
|
|
|
| - if (node && node->hasTagName(inputTag)) {
|
| - HTMLInputElement* input = toHTMLInputElement(node);
|
| - if (input->isCheckbox())
|
| + if (isHTMLInputElement(node)) {
|
| + HTMLInputElement& input = toHTMLInputElement(*node);
|
| + if (input.isCheckbox())
|
| return CheckBoxRole;
|
| - if (input->isRadioButton())
|
| + if (input.isRadioButton())
|
| return RadioButtonRole;
|
| - if (input->isTextButton())
|
| + if (input.isTextButton())
|
| return buttonRoleType();
|
|
|
| - const AtomicString& type = input->getAttribute(typeAttr);
|
| + const AtomicString& type = input.getAttribute(typeAttr);
|
| if (equalIgnoringCase(type, "color"))
|
| return ColorWellRole;
|
| }
|
| @@ -446,9 +446,9 @@ bool AXRenderObject::isAttachment() const
|
|
|
| bool AXRenderObject::isFileUploadButton() const
|
| {
|
| - if (m_renderer && m_renderer->node() && m_renderer->node()->hasTagName(inputTag)) {
|
| - HTMLInputElement* input = toHTMLInputElement(m_renderer->node());
|
| - return input->isFileUpload();
|
| + if (m_renderer && isHTMLInputElement(m_renderer->node())) {
|
| + HTMLInputElement& input = toHTMLInputElement(*m_renderer->node());
|
| + return input.isFileUpload();
|
| }
|
|
|
| return false;
|
| @@ -470,10 +470,10 @@ bool AXRenderObject::isLinked() const
|
| return false;
|
|
|
| Element* anchor = anchorElement();
|
| - if (!anchor || !anchor->hasTagName(aTag))
|
| + if (!isHTMLAnchorElement(anchor))
|
| return false;
|
|
|
| - return !toHTMLAnchorElement(anchor)->href().isEmpty();
|
| + return !toHTMLAnchorElement(*anchor).href().isEmpty();
|
| }
|
|
|
| bool AXRenderObject::isLoaded() const
|
| @@ -808,7 +808,7 @@ int AXRenderObject::textLength() const
|
|
|
| KURL AXRenderObject::url() const
|
| {
|
| - if (isAnchor() && m_renderer->node()->hasTagName(aTag)) {
|
| + if (isAnchor() && isHTMLAnchorElement(m_renderer->node())) {
|
| if (HTMLAnchorElement* anchor = toHTMLAnchorElement(anchorElement()))
|
| return anchor->href();
|
| }
|
| @@ -816,8 +816,8 @@ KURL AXRenderObject::url() const
|
| if (isWebArea())
|
| return m_renderer->document().url();
|
|
|
| - if (isImage() && m_renderer->node() && m_renderer->node()->hasTagName(imgTag))
|
| - return toHTMLImageElement(m_renderer->node())->src();
|
| + if (isImage() && isHTMLImageElement(m_renderer->node()))
|
| + return toHTMLImageElement(*m_renderer->node()).src();
|
|
|
| if (isInputImage())
|
| return toHTMLInputElement(m_renderer->node())->src();
|
| @@ -1264,11 +1264,11 @@ AXObject* AXRenderObject::accessibilityHitTest(const IntPoint& point) const
|
| return 0;
|
| Node* node = hitTestResult.innerNode()->deprecatedShadowAncestorNode();
|
|
|
| - if (node->hasTagName(areaTag))
|
| + if (isHTMLAreaElement(node))
|
| return accessibilityImageMapHitTest(toHTMLAreaElement(node), point);
|
|
|
| - if (node->hasTagName(optionTag))
|
| - node = toHTMLOptionElement(node)->ownerSelectElement();
|
| + if (isHTMLOptionElement(node))
|
| + node = toHTMLOptionElement(*node).ownerSelectElement();
|
|
|
| RenderObject* obj = node->renderer();
|
| if (!obj)
|
| @@ -1596,11 +1596,10 @@ void AXRenderObject::setValue(const String& string)
|
| return;
|
|
|
| RenderBoxModelObject* renderer = toRenderBoxModelObject(m_renderer);
|
| - if (renderer->isTextField() && node()->hasTagName(inputTag)) {
|
| - toHTMLInputElement(node())->setValue(string);
|
| - } else if (renderer->isTextArea() && node()->hasTagName(textareaTag)) {
|
| - toHTMLTextAreaElement(node())->setValue(string);
|
| - }
|
| + if (renderer->isTextField() && isHTMLInputElement(*node()))
|
| + toHTMLInputElement(*node()).setValue(string);
|
| + else if (renderer->isTextArea() && isHTMLTextAreaElement(*node()))
|
| + toHTMLTextAreaElement(*node()).setValue(string);
|
| }
|
|
|
| // FIXME: This function should use an IntSize to avoid the conversion below.
|
| @@ -1897,15 +1896,12 @@ bool AXRenderObject::isTabItemSelected() const
|
| AXObject* AXRenderObject::internalLinkElement() const
|
| {
|
| Element* element = anchorElement();
|
| - if (!element)
|
| - return 0;
|
| -
|
| // Right now, we do not support ARIA links as internal link elements
|
| - if (!element->hasTagName(aTag))
|
| + if (!isHTMLAnchorElement(element))
|
| return 0;
|
| - HTMLAnchorElement* anchor = toHTMLAnchorElement(element);
|
| + HTMLAnchorElement& anchor = toHTMLAnchorElement(*element);
|
|
|
| - KURL linkURL = anchor->href();
|
| + KURL linkURL = anchor.href();
|
| String fragmentIdentifier = linkURL.fragmentIdentifier();
|
| if (fragmentIdentifier.isEmpty())
|
| return 0;
|
| @@ -2136,11 +2132,11 @@ void AXRenderObject::addHiddenChildren()
|
| void AXRenderObject::addTextFieldChildren()
|
| {
|
| Node* node = this->node();
|
| - if (!node || !node->hasTagName(inputTag))
|
| + if (!isHTMLInputElement(node))
|
| return;
|
|
|
| - HTMLInputElement* input = toHTMLInputElement(node);
|
| - Element* spinButtonElement = input->userAgentShadowRoot()->getElementById(ShadowElementNames::spinButton());
|
| + HTMLInputElement& input = toHTMLInputElement(*node);
|
| + Element* spinButtonElement = input.userAgentShadowRoot()->getElementById(ShadowElementNames::spinButton());
|
| if (!spinButtonElement || !spinButtonElement->isSpinButtonElement())
|
| return;
|
|
|
| @@ -2162,7 +2158,7 @@ void AXRenderObject::addImageMapChildren()
|
|
|
| for (Element* current = ElementTraversal::firstWithin(*map); current; current = ElementTraversal::next(*current, map)) {
|
| // add an <area> element for this child if it has a link
|
| - if (current->hasTagName(areaTag) && current->isLink()) {
|
| + if (isHTMLAreaElement(*current) && current->isLink()) {
|
| AXImageMapLink* areaObject = toAXImageMapLink(axObjectCache()->getOrCreate(ImageMapLinkRole));
|
| areaObject->setHTMLAreaElement(toHTMLAreaElement(current));
|
| areaObject->setHTMLMapElement(map);
|
|
|