| 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 0a07d75b0503436d10f4afdd344cb4e1a838b64a..e2d5698b616c41815b6c2ac44bde32057ad5aa0e 100644
|
| --- a/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
|
| +++ b/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
|
| @@ -685,16 +685,19 @@ Element* AXNodeObject::mouseButtonListener() const
|
| if (!node)
|
| return 0;
|
|
|
| - // check if our parent is a mouse button listener
|
| if (!node->isElementNode())
|
| node = node->parentElement();
|
|
|
| if (!node)
|
| return 0;
|
|
|
| - // FIXME: Do the continuation search like anchorElement does
|
| for (Element* element = toElement(node); element; element = element->parentElement()) {
|
| - if (element->getAttributeEventListener(EventTypeNames::click) || element->getAttributeEventListener(EventTypeNames::mousedown) || element->getAttributeEventListener(EventTypeNames::mouseup))
|
| + // It's a pretty common practice to put click listeners on the body or document, but that's
|
| + // almost never what the user wants when clicking on an accessible element.
|
| + if (isHTMLBodyElement(element))
|
| + break;
|
| +
|
| + if (element->hasEventListeners(EventTypeNames::click) || element->hasEventListeners(EventTypeNames::mousedown) || element->hasEventListeners(EventTypeNames::mouseup) || element->hasEventListeners(EventTypeNames::DOMActivate))
|
| return element;
|
| }
|
|
|
|
|