Closed Bug 1786086 Opened 2 years ago Closed 2 years ago

Miscellaneous layout-table-status caching issues

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
106 Branch
Tracking Status
firefox106 --- fixed

People

(Reporter: morgan, Assigned: morgan)

References

Details

Attachments

(3 files, 1 obsolete file)

While working on bug 1726124, I noticed a few issues with our existing layout-table-status caching implementation. I'll fix them here as follow-up:

  1. When we queue a CacheDomain::Table cache update from DocAccessible::PruneOrInsertSubtree, we dispatch the update on the accessible that the function was called with. This could be a table or a table part. If it is a table part, when the CacheDomain::Table update is bundled, we won't update the layout table status (that only occurs on tables). We should dispatch this on the table instead.
  2. We do not currently queue an update for CacheDomain::Table from nsAccessibilityService::TableLayoutGuessMaybeChanged. We should queue an update any time we fire the EVENT_TABLE_STYLING_CHANGED.
  3. When a border changes on a table, it can affect the layout table status. Right now, we check for this style change in nsTableCellFrame, but the border the original code references is not stored in the cell's ComputedStyle(). Instead, borders set by <table border=1"> are stored on the table frame (or maybe table wrapper frame? still TBD, discussing on matrix). We should relocate this code to nsTableFrame::DidSetComputedStyle.
Assignee: nobody → mreschenberg
Status: NEW → ASSIGNED
Attachment #9290721 - Attachment description: Bug 1786086▫️: Push table cache update when TableLayoutGuessMaybeChanged is called r?Jamie → Bug 1786086: Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie
Attachment #9290720 - Attachment description: Bug 1786086: Add test to verify changing border style changes layout status r?Jamie → Bug 1786086: [Part 1] Add test to verify changing border style changes layout status r?Jamie
Attachment #9290721 - Attachment description: Bug 1786086: Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie → Bug 1786086: [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie
Attachment #9290722 - Attachment description: Bug 1786086: Queue table cache update on table acc in PruneOrInsertSubtree r?Jamie → Bug 1786086: [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r?Jamie
Attachment #9290723 - Attachment description: Bug 1786086: Watch for border style changes in nsTableFrame instead of nsTableCellFrame r?Jamie → Bug 1786086: [Part 4] Watch for border style changes in nsTableFrame instead of nsTableCellFrame r?Jamie
Attachment #9290720 - Attachment description: Bug 1786086: [Part 1] Add test to verify changing border style changes layout status r?Jamie → WIP: Bug 1786086: [Part 1] Add test to verify changing border style changes layout status r?Jamie
Attachment #9290721 - Attachment description: Bug 1786086: [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie → WIP: Bug 1786086: [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie
Attachment #9290722 - Attachment description: Bug 1786086: [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r?Jamie → WIP: Bug 1786086: [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r?Jamie
Attachment #9290723 - Attachment description: Bug 1786086: [Part 4] Watch for border style changes in nsTableFrame instead of nsTableCellFrame r?Jamie → WIP: Bug 1786086: [Part 4] Watch for border style changes in nsTableFrame instead of nsTableCellFrame r?Jamie
Attachment #9290720 - Attachment description: WIP: Bug 1786086: [Part 1] Add test to verify changing border style changes layout status r?Jamie → Bug 1786086: [Part 1] Add test to verify changing border style changes layout status r?Jamie
Attachment #9290721 - Attachment description: WIP: Bug 1786086: [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie → Bug 1786086: [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r?Jamie
Attachment #9290722 - Attachment description: WIP: Bug 1786086: [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r?Jamie → Bug 1786086: [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r?Jamie
Attachment #9290723 - Attachment description: WIP: Bug 1786086: [Part 4] Watch for border style changes in nsTableFrame instead of nsTableCellFrame r?Jamie → Bug 1786086: [Part 4] Watch for border style changes in nsTableFrame instead of nsTableCellFrame r?Jamie
Attachment #9290723 - Attachment is obsolete: true
Severity: -- → N/A
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/25a5c81eded3 [Part 1] Add test to verify changing border style changes layout status r=Jamie https://hg.mozilla.org/integration/autoland/rev/76dd155c66b8 [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r=Jamie https://hg.mozilla.org/integration/autoland/rev/169c9576cb7b [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r=Jamie
Pushed by mreschenberg@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e7c22a758e0e [Part 1] Add test to verify changing border style changes layout status r=Jamie https://hg.mozilla.org/integration/autoland/rev/3dd58ffe278d [Part 2] Queue table cache update when TableLayoutGuessMaybeChanged is called r=Jamie https://hg.mozilla.org/integration/autoland/rev/204e5f0247ee [Part 3] Queue table cache update on table acc in PruneOrInsertSubtree r=Jamie
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: