Index: third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
diff --git a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
index af78ba8b3d1a3c90a0ead5a828483443c75bfd12..e1c6a264d8ab397b99c8adba63a8f8d9250c0d98 100644 |
--- a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
+++ b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp |
@@ -2009,10 +2009,11 @@ Element* AXNodeObject::actionElement() const |
break; |
} |
- Element* elt = anchorElement(); |
- if (!elt) |
- elt = mouseButtonListener(); |
- return elt; |
+ Element* anchor = anchorElement(); |
+ Element* clickElement = mouseButtonListener(); |
+ if (!anchor || (clickElement && clickElement->isDescendantOf(anchor))) |
+ return clickElement; |
+ return anchor; |
} |
Element* AXNodeObject::anchorElement() const |