Skip to content

Commit

Permalink
AX: Remove unnecessary AccessibilityRenderObject::renderBoxModelObjec…
Browse files Browse the repository at this point in the history
…t() function

https://bugs.webkit.org/show_bug.cgi?id=259758
rdar://problem/113303890

Reviewed by Chris Fleizach.

* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::renderBoxModelObject const): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:

Canonical link: https://commits.webkit.org/266534@main
  • Loading branch information
twilco committed Aug 3, 2023
1 parent dfde447 commit d2da54f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 20 deletions.
30 changes: 11 additions & 19 deletions Source/WebCore/accessibility/AccessibilityRenderObject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,6 @@ void AccessibilityRenderObject::detachRemoteParts(AccessibilityDetachmentType de
m_renderer = nullptr;
}

RenderBoxModelObject* AccessibilityRenderObject::renderBoxModelObject() const
{
if (!is<RenderBoxModelObject>(renderer()))
return nullptr;
return downcast<RenderBoxModelObject>(renderer());
}

static inline bool isInlineWithContinuation(RenderObject& object)
{
return is<RenderInline>(object) && downcast<RenderInline>(object).continuation();
Expand Down Expand Up @@ -2033,17 +2026,16 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
return m_ariaRole;

Node* node = m_renderer->node();
RenderBoxModelObject* cssBox = renderBoxModelObject();

if (cssBox && cssBox->isListItem())
if (m_renderer->isListItem())
return AccessibilityRole::ListItem;
if (m_renderer->isListMarker())
return AccessibilityRole::ListMarker;
if (m_renderer->isText())
return AccessibilityRole::StaticText;
if (is<HTMLImageElement>(node) && downcast<HTMLImageElement>(*node).hasAttributeWithoutSynchronization(usemapAttr))
return AccessibilityRole::ImageMap;
if (cssBox && cssBox->isImage()) {
if (m_renderer->isImage()) {
if (is<HTMLInputElement>(node))
return hasPopup() ? AccessibilityRole::PopUpButton : AccessibilityRole::Button;

Expand All @@ -2054,15 +2046,15 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
return AccessibilityRole::Image;
}

if (cssBox && cssBox->isRenderView())
if (m_renderer->isRenderView())
return AccessibilityRole::WebArea;
if (cssBox && cssBox->isTextField()) {
if (m_renderer->isTextField()) {
if (is<HTMLInputElement>(node))
return downcast<HTMLInputElement>(*node).isSearchField() ? AccessibilityRole::SearchField : AccessibilityRole::TextField;
}
if (cssBox && cssBox->isTextArea())
if (m_renderer->isTextArea())
return AccessibilityRole::TextArea;
if (cssBox && cssBox->isMenuList())
if (m_renderer->isMenuList())
return AccessibilityRole::PopUpButton;

if (m_renderer->isSVGRootOrLegacySVGRoot())
Expand Down Expand Up @@ -2163,11 +2155,11 @@ bool AccessibilityRenderObject::inheritsPresentationalRole() const

void AccessibilityRenderObject::addImageMapChildren()
{
RenderBoxModelObject* cssBox = renderBoxModelObject();
if (!is<RenderImage>(cssBox))
auto* renderImage = dynamicDowncast<RenderImage>(m_renderer.get());
if (!renderImage)
return;
HTMLMapElement* map = downcast<RenderImage>(*cssBox).imageMap();

RefPtr map = renderImage->imageMap();
if (!map)
return;

Expand All @@ -2177,7 +2169,7 @@ void AccessibilityRenderObject::addImageMapChildren()
continue;
auto& areaObject = downcast<AccessibilityImageMapLink>(*axObjectCache()->create(AccessibilityRole::ImageMapLink));
areaObject.setHTMLAreaElement(&area);
areaObject.setHTMLMapElement(map);
areaObject.setHTMLMapElement(map.get());
areaObject.setParent(this);
if (!areaObject.accessibilityIsIgnored())
addChild(&areaObject);
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/accessibility/AccessibilityRenderObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ class AccessibilityRenderObject : public AccessibilityNodeObject {
LayoutRect boundingBoxRect() const override;

RenderObject* renderer() const final { return m_renderer.get(); }
RenderBoxModelObject* renderBoxModelObject() const;
Node* node() const override;

Document* document() const override;
Expand Down

0 comments on commit d2da54f

Please sign in to comment.