| Index: Source/core/accessibility/AXObject.cpp
 | 
| diff --git a/Source/core/accessibility/AXObject.cpp b/Source/core/accessibility/AXObject.cpp
 | 
| index dd3f7b0ac1def71d5c2b562020589227d16ef36a..55bdba6394da246fe386f4784da922bf69156604 100644
 | 
| --- a/Source/core/accessibility/AXObject.cpp
 | 
| +++ b/Source/core/accessibility/AXObject.cpp
 | 
| @@ -134,6 +134,8 @@ AXObject::AXObject()
 | 
|      , m_role(UnknownRole)
 | 
|      , m_lastKnownIsIgnoredValue(DefaultBehavior)
 | 
|      , m_detached(false)
 | 
| +    , m_lastModificationCount(-1)
 | 
| +    , m_cachedIsIgnored(false)
 | 
|  {
 | 
|  }
 | 
|  
 | 
| @@ -248,29 +250,21 @@ bool AXObject::isClickable() const
 | 
|  
 | 
|  bool AXObject::accessibilityIsIgnored() const
 | 
|  {
 | 
| +    updateCachedAttributeValuesIfNeeded();
 | 
| +    return m_cachedIsIgnored;
 | 
| +}
 | 
| +
 | 
| +void AXObject::updateCachedAttributeValuesIfNeeded() const
 | 
| +{
 | 
|      AXObjectCacheImpl* cache = axObjectCache();
 | 
|      if (!cache)
 | 
| -        return true;
 | 
| -
 | 
| -    AXComputedObjectAttributeCache* attributeCache = cache->computedObjectAttributeCache();
 | 
| -    if (attributeCache) {
 | 
| -        AXObjectInclusion ignored = attributeCache->getIgnored(axObjectID());
 | 
| -        switch (ignored) {
 | 
| -        case IgnoreObject:
 | 
| -            return true;
 | 
| -        case IncludeObject:
 | 
| -            return false;
 | 
| -        case DefaultBehavior:
 | 
| -            break;
 | 
| -        }
 | 
| -    }
 | 
| -
 | 
| -    bool result = computeAccessibilityIsIgnored();
 | 
| +        return;
 | 
|  
 | 
| -    if (attributeCache)
 | 
| -        attributeCache->setIgnored(axObjectID(), result ? IgnoreObject : IncludeObject);
 | 
| +    if (cache->modificationCount() == m_lastModificationCount)
 | 
| +        return;
 | 
|  
 | 
| -    return result;
 | 
| +    m_cachedIsIgnored = computeAccessibilityIsIgnored();
 | 
| +    m_lastModificationCount = cache->modificationCount();
 | 
|  }
 | 
|  
 | 
|  bool AXObject::accessibilityIsIgnoredByDefault() const
 | 
| 
 |