Bug 267599 - AX: AXObjectCache::updateIsolatedTree may cause the update of dependent properties for the same object multiple times unnecessarily.
Summary: AX: AXObjectCache::updateIsolatedTree may cause the update of dependent prope...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Andres Gonzalez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2024-01-16 11:32 PST by Andres Gonzalez
Modified: 2024-01-16 17:25 PST (History)
10 users (show)

See Also:


Attachments
Patch (4.68 KB, patch)
2024-01-16 11:36 PST, Andres Gonzalez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andres Gonzalez 2024-01-16 11:32:59 PST
.
Comment 1 Radar WebKit Bug Importer 2024-01-16 11:33:17 PST
<rdar://problem/121065998>
Comment 2 Andres Gonzalez 2024-01-16 11:36:21 PST
Created attachment 469419 [details]
Patch
Comment 3 Tyler Wilcock 2024-01-16 11:51:26 PST
Comment on attachment 469419 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=469419&action=review

> Source/WebCore/accessibility/AXObjectCache.cpp:4180
> +            updatedObjects.set(axObject->objectID(), updatedFields);

Not sure how expensive OptionSet copies are, but maybe WTFMove(updatedFields) would be more efficient?

> Source/WebCore/accessibility/AXObjectCache.cpp:4188
> +            updatedObjects.set(axObject->objectID(), updatedFields);

WTFMove(updatedFields)?

> Source/WebCore/accessibility/AXObjectCache.cpp:4196
> +            updatedObjects.set(axObject->objectID(), updatedFields);

WTFMove(updatedFields)?
Comment 4 Andres Gonzalez 2024-01-16 12:00:51 PST
(In reply to Tyler Wilcock from comment #3)
> Comment on attachment 469419 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=469419&action=review
> 
> > Source/WebCore/accessibility/AXObjectCache.cpp:4180
> > +            updatedObjects.set(axObject->objectID(), updatedFields);
> 
> Not sure how expensive OptionSet copies are, but maybe
> WTFMove(updatedFields) would be more efficient?
> 
> > Source/WebCore/accessibility/AXObjectCache.cpp:4188
> > +            updatedObjects.set(axObject->objectID(), updatedFields);
> 
> WTFMove(updatedFields)?
> 
> > Source/WebCore/accessibility/AXObjectCache.cpp:4196
> > +            updatedObjects.set(axObject->objectID(), updatedFields);
> 
> WTFMove(updatedFields)?

This OptionSet should be equivalent to an uint8_t, so I think it is not necessary to move.
Comment 5 EWS 2024-01-16 17:25:31 PST
Committed 273106@main (f890a7cc18de): <https://commits.webkit.org/273106@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 469419 [details].