Bug 209409

Summary: Avoid multiple unnecessary updates of the IsolatedTree.
Product: WebKit Reporter: Andres Gonzalez <andresg_22>
Component: New BugsAssignee: Andres Gonzalez <andresg_22>
Status: RESOLVED FIXED    
Severity: Normal CC: aboxhall, apinheiro, cfleizach, dmazzoni, ews-watchlist, jcraig, jdiggs, samuel_white, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description Andres Gonzalez 2020-03-22 19:33:36 PDT
Avoid multiple unnecessary updates of the IsolatedTree.
Comment 1 Andres Gonzalez 2020-03-22 19:51:43 PDT
Created attachment 394238 [details]
Patch
Comment 2 chris fleizach 2020-03-22 20:20:20 PDT
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?
Comment 3 Andres Gonzalez 2020-03-24 19:40:48 PDT
Created attachment 394462 [details]
Patch
Comment 4 EWS 2020-03-24 20:48:39 PDT
Committed r258971: <https://trac.webkit.org/changeset/258971>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394462 [details].
Comment 5 Radar WebKit Bug Importer 2020-03-24 20:49:14 PDT
<rdar://problem/60857009>