Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXImageMapLink.cpp

Issue 1417213006: Switch all LayoutTests to use new AX name calculation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix canvas-fallback-content-labels-expected.txt Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/accessibility/AXImageMapLink.cpp
diff --git a/third_party/WebKit/Source/modules/accessibility/AXImageMapLink.cpp b/third_party/WebKit/Source/modules/accessibility/AXImageMapLink.cpp
index 4ad21ce2d013329931b6669fad3a90eb8833309b..f222e23ff8b7892781ed1cc360d6536a6cb97599 100644
--- a/third_party/WebKit/Source/modules/accessibility/AXImageMapLink.cpp
+++ b/third_party/WebKit/Source/modules/accessibility/AXImageMapLink.cpp
@@ -29,6 +29,7 @@
#include "config.h"
#include "modules/accessibility/AXImageMapLink.h"
+#include "core/dom/ElementTraversal.h"
#include "modules/accessibility/AXLayoutObject.h"
#include "modules/accessibility/AXObjectCacheImpl.h"
@@ -36,36 +37,26 @@ namespace blink {
using namespace HTMLNames;
-AXImageMapLink::AXImageMapLink(AXObjectCacheImpl& axObjectCache)
- : AXMockObject(axObjectCache)
- , m_areaElement(nullptr)
- , m_mapElement(nullptr)
+AXImageMapLink::AXImageMapLink(HTMLAreaElement* area, AXObjectCacheImpl& axObjectCache)
+ : AXNodeObject(area, axObjectCache)
{
}
AXImageMapLink::~AXImageMapLink()
{
- ASSERT(!m_areaElement);
- ASSERT(!m_mapElement);
}
-void AXImageMapLink::detach()
+AXImageMapLink* AXImageMapLink::create(HTMLAreaElement* area, AXObjectCacheImpl& axObjectCache)
{
- AXMockObject::detach();
- m_areaElement = nullptr;
- m_mapElement = nullptr;
+ return new AXImageMapLink(area, axObjectCache);
}
-void AXImageMapLink::detachFromParent()
+HTMLMapElement* AXImageMapLink::mapElement() const
{
- AXMockObject::detachFromParent();
- m_areaElement = nullptr;
- m_mapElement = nullptr;
-}
-
-AXImageMapLink* AXImageMapLink::create(AXObjectCacheImpl& axObjectCache)
-{
- return new AXImageMapLink(axObjectCache);
+ HTMLAreaElement* area = areaElement();
+ if (!area)
+ return nullptr;
+ return Traversal<HTMLMapElement>::firstAncestor(*area);
}
AXObject* AXImageMapLink::computeParent() const
@@ -73,17 +64,14 @@ AXObject* AXImageMapLink::computeParent() const
if (m_parent)
return m_parent;
- if (!m_mapElement.get() || !m_mapElement->layoutObject())
- return 0;
+ if (!mapElement())
+ return nullptr;
- return axObjectCache().getOrCreate(m_mapElement->layoutObject());
+ return axObjectCache().getOrCreate(mapElement()->layoutObject());
}
AccessibilityRole AXImageMapLink::roleValue() const
{
- if (!m_areaElement)
- return LinkRole;
-
const AtomicString& ariaRole = getAttribute(roleAttr);
if (!ariaRole.isEmpty())
return AXObject::ariaRoleToWebCoreRole(ariaRole);
@@ -91,6 +79,11 @@ AccessibilityRole AXImageMapLink::roleValue() const
return LinkRole;
}
+bool AXImageMapLink::computeAccessibilityIsIgnored(IgnoredReasons* ignoredReasons) const
+{
+ return accessibilityIsIgnoredByDefault(ignoredReasons);
+}
+
Element* AXImageMapLink::actionElement() const
{
return anchorElement();
@@ -98,15 +91,15 @@ Element* AXImageMapLink::actionElement() const
Element* AXImageMapLink::anchorElement() const
{
- return m_areaElement.get();
+ return node() ? toElement(node()) : nullptr;
}
KURL AXImageMapLink::url() const
{
- if (!m_areaElement.get())
+ if (!areaElement())
return KURL();
- return m_areaElement->href();
+ return areaElement()->href();
}
String AXImageMapLink::deprecatedAccessibilityDescription() const
@@ -135,26 +128,26 @@ String AXImageMapLink::deprecatedTitle(TextUnderElementMode mode) const
LayoutRect AXImageMapLink::elementRect() const
{
- if (!m_mapElement.get() || !m_areaElement.get())
+ HTMLAreaElement* area = areaElement();
+ HTMLMapElement* map = mapElement();
+ if (!area || !map)
return LayoutRect();
LayoutObject* layoutObject;
if (m_parent && m_parent->isAXLayoutObject())
layoutObject = toAXLayoutObject(m_parent)->layoutObject();
else
- layoutObject = m_mapElement->layoutObject();
+ layoutObject = map->layoutObject();
if (!layoutObject)
return LayoutRect();
- return m_areaElement->computeRect(layoutObject);
+ return area->computeRect(layoutObject);
}
DEFINE_TRACE(AXImageMapLink)
{
- visitor->trace(m_areaElement);
- visitor->trace(m_mapElement);
- AXMockObject::trace(visitor);
+ AXNodeObject::trace(visitor);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698