Use handler to avoid cross-process calls when querying row/column headers
Categories
(Core :: Disability Access APIs, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: Jamie, Assigned: Jamie)
References
Details
Attachments
(3 files)
Currently, even with AccessibleHandler, fetching row and column headers is two cross-process calls. Moreover, the same headers often apply to many cells, which means we're marshaling the same objects many times.
We should include row and column headers in the handler payload. However, even there, we don't want to include the actual objects, since that may still mean we marshal the same headers many times. Instead, we should just include their ids. The handler must then cache headers by id and return cached headers to the client.
With the patch for bug 1638238, a 10000 row table takes ~32 sec to render an NVDA browse mode buffer. With row/headers cached as described above, it takes ~21 sec.
Assignee | ||
Comment 1•4 years ago
|
||
This cache is cleared when other AccessibleHandler caches are invalidated; i.e. when an event is fired.
Assignee | ||
Comment 2•4 years ago
|
||
Assignee | ||
Comment 3•4 years ago
|
||
- When we unmarshal a row/column header, cache it so we can get it by id later.
- get_rowHeaderCells and get_columnHeaderCells use the header ids in the payload.
If the headers are in the cache (as per 1), return them to the client.
Otherwise, fall back to a cross-process call, which might happen if we haven't encountered the header yet.
Comment 5•4 years ago
|
||
Backed out 3 changesets (Bug 1640553) for causing Windows build bustages CLOSED TREE
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=303704244&repo=autoland&lineNumber=30483
Backout: https://hg.mozilla.org/integration/autoland/rev/f4014f06729515f3f30125d994d1dafb740fda6c
Assignee | ||
Updated•4 years ago
|
Comment 7•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/fca8c3441924
https://hg.mozilla.org/mozilla-central/rev/43767daa796f
https://hg.mozilla.org/mozilla-central/rev/d167ecd4e318
Description
•