mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-02 22:37:50 +00:00

The caret position is in the DOM, and sometimes can get out of sync. While that is an issue, it's not new: The code before the regressing bug papered over it on a pre-pass before entering DL building. Instead, deal with it using MarkFramesForDisplay (just like we mark the caret frame itself, which has the same issue), and invalidate the old frame more precisely by tracking it in nsCaret directly. Also, add missing invalidation in PresShell::SetCaret, where the caret might change and the old caret might not be invalidated properly. Differential Revision: https://phabricator.services.mozilla.com/D205369