Chromium Code Reviews| Index: Source/core/accessibility/AXScrollView.cpp |
| diff --git a/Source/core/accessibility/AXScrollView.cpp b/Source/core/accessibility/AXScrollView.cpp |
| index 70a7c94cdceb56e03eb295fe453bf47c6fe67938..1662c2db66f8686eda6b162041d63aa2339e70e1 100644 |
| --- a/Source/core/accessibility/AXScrollView.cpp |
| +++ b/Source/core/accessibility/AXScrollView.cpp |
| @@ -143,11 +143,21 @@ void AXScrollView::clearChildren() |
| bool AXScrollView::computeAccessibilityIsIgnored() const |
| { |
| + // We just want to match whatever's returned by our web area, which is a child of this |
| + // object. Normally cached attribute values may only search up the tree. We can't just |
| + // call accessibilityIsIgnored on the web area, because the web area may search up its |
| + // ancestors and call this function recursively, and we'd loop until a stack overflow. |
| + |
| + // Instead, we first update the cached accessibilityIsIgnored value for this node to |
| + // false, call accessibilityIsIgnored on the web area, then return the mathcing value. |
| + m_cachedIsIgnored = false; |
| + m_lastModificationCount = axObjectCache()->modificationCount(); |
| + |
| AXObject* webArea = webAreaObject(); |
| - if (!webArea) |
| - return true; |
| + if (webArea) |
| + return webArea->accessibilityIsIgnored(); |
| - return webArea->accessibilityIsIgnored(); |
| + return false; |
|
aboxhall
2014/10/27 17:29:53
Why did this change from true to false?
dmazzoni
2014/10/27 18:08:25
Good catch - should be true. Thanks.
|
| } |
| void AXScrollView::addChildren() |