| Index: third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| index e9102811b6d94faf676e4c0960f77cea5c87d237..611202411a2df3104977b5e18f3d4195b88eb355 100644
|
| --- a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| @@ -1707,9 +1707,11 @@ Element* AXLayoutObject::anchorElement() const
|
| // search up the DOM tree for an anchor element
|
| // NOTE: this assumes that any non-image with an anchor is an HTMLAnchorElement
|
| Node* node = currLayoutObject->node();
|
| - for ( ; node; node = node->parentNode()) {
|
| - if (isHTMLAnchorElement(*node) || (node->layoutObject() && cache.getOrCreate(node->layoutObject())->isAnchor()))
|
| - return toElement(node);
|
| + if (!node)
|
| + return nullptr;
|
| + for (Node& runner : NodeTraversal::inclusiveAncestorsOf(*node)) {
|
| + if (isHTMLAnchorElement(runner) || (runner.layoutObject() && cache.getOrCreate(runner.layoutObject())->isAnchor()))
|
| + return toElement(&runner);
|
| }
|
|
|
| return 0;
|
|
|