Index: Source/core/accessibility/AXObjectCache.cpp |
diff --git a/Source/core/accessibility/AXObjectCache.cpp b/Source/core/accessibility/AXObjectCache.cpp |
index 950b465e1631fe9d9d3ef2f458929255275033e8..970156ca2da6dae5b1d5e31ab43cc98680a87656 100644 |
--- a/Source/core/accessibility/AXObjectCache.cpp |
+++ b/Source/core/accessibility/AXObjectCache.cpp |
@@ -650,6 +650,22 @@ void AXObjectCache::updateCacheAfterNodeIsAttached(Node* node) |
get(node); |
} |
+static void inertSubtreesChanged(AXObject* object) |
+{ |
+ if (object->notifyIfIgnoredValueChanged()) |
+ return; |
+ AXObject::AccessibilityChildrenVector children = object->children(); |
+ size_t count = children.size(); |
+ for (size_t i = 0; i < count; ++i) |
+ inertSubtreesChanged(children[i].get()); |
+} |
+ |
+void AXObjectCache::handleInertSubtreesChanged() |
+{ |
+ m_computedObjectAttributeCache->clear(); |
+ inertSubtreesChanged(rootObject()); |
+} |
+ |
void AXObjectCache::childrenChanged(Node* node) |
{ |
childrenChanged(get(node)); |