Closed Bug 1627765 Opened 1 year ago Closed 1 year ago

Stop caching children in mac

Categories

(Core :: Disability Access APIs, enhancement, P1)

All
macOS
enhancement

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

(Reporter: eeejay, Assigned: eeejay)

References

Details

(Whiteboard: [mac2020_1])

Attachments

(3 files)

Caching children gives us no performance benefit, since it is mostly a simple list access anyway. In e10s it doesn't involve an IPC call, as the hierarchy is already cached in the main process.

Removing the children cache will simplify top-level chrome children since many of them are toggled in and out of visibility with no mutation change event.

The latter seems more accurate to what that method does, since we don't necessarily
forward that event to the OS, but might instead use it to update cached properties.

We need to do this because we can't rely on the main children cache invalidation.
Also, I don't think this really worked before with cell additions to a row, since only
the row's children would be invalidated, and the table's children would remain untouched.

Depends on D69878

Depends on D69879

Blocks: 1627832
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9ab7c3a66d87
Rename firePlatformEvent to handleAccessibleEvent. r=morgan
https://hg.mozilla.org/integration/autoland/rev/3987a054cda9
Use REORDER event to invalidate table column accessibles. r=morgan
https://hg.mozilla.org/integration/autoland/rev/33870350e2bc
Remove mac heirarchy cache. r=morgan
Type: defect → enhancement
You need to log in before you can comment on or make changes to this bug.