Avoid multiple unnecessary updates of the IsolatedTree.
Created attachment 394238 [details] Patch
Comment on attachment 394238 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=394238&action=review > Source/WebCore/accessibility/AXObjectCache.cpp:-3147 > - case AXChildrenChanged: where do we handle the children changed case? > Source/WebCore/accessibility/AXObjectCache.cpp:3129 > + tree->updateSubtree(object); do we need to remake the subtree here? or just remake this specific element attribute. for these attributes, I would think we just need to get the info for this element but leave the children as-is > Source/WebCore/accessibility/AXObjectCache.cpp:3172 > + tree->updateSubtree(*note.first); childrenChanged should do the updateSubtree, but I think these other ones should just an updateIsolatedObject, that leaves the subtree alone > Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:163 > + auto child = createSubtree(*axChild, object->objectID(), attachWrapper, nodeChanges); instead of creating a sub tree for all the children, can we check if the child already exists in the tree and not remake it here? presumably if this child had it's childrenChanged, it would get a notification for this object right?
Created attachment 394462 [details] Patch
Committed r258971: <https://trac.webkit.org/changeset/258971> All reviewed patches have been landed. Closing bug and clearing flags on attachment 394462 [details].
<rdar://problem/60857009>