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

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.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: 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/AXObjectCacheImpl.cpp
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp b/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
index faab5b80b36baf91a898e3ad3611b7d8baeee640..6debcedc5d0822e3b7f6a1e7af1a2e07d54d53cf 100644
--- a/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
+++ b/third_party/WebKit/Source/modules/accessibility/AXObjectCacheImpl.cpp
@@ -231,13 +231,17 @@ AXObject* AXObjectCacheImpl::get(Node* node)
if (!node)
return 0;
- AXID layoutID = node->layoutObject() ? m_layoutObjectMapping.get(node->layoutObject()) : 0;
+ LayoutObject* layoutObject = node->layoutObject();
+ if (isMenuListOption(node) || isHTMLAreaElement(node))
aboxhall 2015/11/05 17:49:21 Add a comment to explain this?
dmazzoni 2015/11/06 00:21:17 Done.
+ layoutObject = nullptr;
+
+ AXID layoutID = layoutObject ? m_layoutObjectMapping.get(layoutObject) : 0;
ASSERT(!HashTraits<AXID>::isDeletedValue(layoutID));
AXID nodeID = m_nodeObjectMapping.get(node);
ASSERT(!HashTraits<AXID>::isDeletedValue(nodeID));
- if (node->layoutObject() && nodeID && !layoutID && !isMenuListOption(node)) {
+ if (layoutObject && nodeID && !layoutID) {
// This can happen if an AXNodeObject is created for a node that's not
// laid out, but later something changes and it gets a layoutObject (like if it's
// reparented).
@@ -338,6 +342,9 @@ AXObject* AXObjectCacheImpl::createFromNode(Node* node)
if (isMenuListOption(node))
return AXMenuListOption::create(toHTMLOptionElement(node), *this);
+ if (isHTMLAreaElement(node))
+ return AXImageMapLink::create(toHTMLAreaElement(node), *this);
+
return AXNodeObject::create(node, *this);
}
@@ -392,7 +399,7 @@ AXObject* AXObjectCacheImpl::getOrCreate(Node* node)
if (AXObject* obj = get(node))
return obj;
- if (node->layoutObject())
+ if (node->layoutObject() && !isHTMLAreaElement(node))
aboxhall 2015/11/05 17:49:21 And a comment for this too?
dmazzoni 2015/11/06 00:21:17 Done.
return getOrCreate(node->layoutObject());
if (!node->parentElement())
@@ -479,9 +486,6 @@ AXObject* AXObjectCacheImpl::getOrCreate(AccessibilityRole role)
// will be filled in...
switch (role) {
- case ImageMapLinkRole:
- obj = AXImageMapLink::create(*this);
- break;
case ColumnRole:
obj = AXTableColumn::create(*this);
break;

Powered by Google App Engine
This is Rietveld 408576698