Don't call GetProp in LazyInstantiator::EnableBlindAggregation if a11y is enabled
Categories
(Core :: Disability Access APIs, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox121 | --- | fixed |
People
(Reporter: Jamie, Assigned: Jamie)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
When a11y is disabled, LazyInstantiator::GetRootAccessible will return a LazyInstantiator instead of a real MsaaRootAccessible. It disables blind aggregation temporarily when it does this so that COM interface marshaling can occur without unintentionally instantiating a11y. Once marshaling is done, nsWindow calls EnableBlindAggregation to re-enable it. EnableBlindAggregation needs to query the HWND to get its associated LazyInstantiator. It does this using GetProp.
I've seen this GetProp call show up in profiles when clients are responding to a flood of events. But once a11y is enabled, GetRootAccessible returns a real MsaaRootAccessible anyway, not a LazyInstantiator. Therefore, there's no reason for EnableBlindAggregation to call GetProp at all because there's no LazyInstantiator to enable blind aggregation for.
We should just return early in this case and avoid the GetProp call.
Assignee | ||
Comment 1•1 year ago
|
||
Comment 3•1 year ago
|
||
bugherder |
Description
•