mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
585b41e8b5
After calling FlushLayout(), PresShell::Destroy() might be called and we should consider PresShell and other resources will be no longer valid. Before this patch, AccessibleCaretManager and AccessibleCaret(s) are deallocated in PresShell::Destroy(). However FlushLayout() are all invoked in AccessibleCaretManager, we need to keep manager alive to clean up after PresShell::Destroy(). This patch makes AccessibleCaretManager live after PresShell::Destroy(), and use IsTerminated() to check whether PreShell is vaild after each FlushLayout() calls. Note that event though AccessibleCaretEventHub will be unref in PresShell::Destroy(), all the callers to AccessibleCaretEventHub's public methods already add a ref to AccessibleCaretEventHub. So we don't need to worry about AccessibleCaretEventHub and AccessibleCaretManager die immediately after PresShell::Destroy(). MozReview-Commit-ID: DDpXZ7v3zyo --HG-- extra : rebase_source : 2698f0313e394b64ff8caacf21493c874510a7ce |
||
---|---|---|
.. | ||
base | ||
build | ||
doc | ||
forms | ||
generic | ||
inspector | ||
ipc | ||
mathml | ||
media | ||
printing | ||
reftests | ||
style | ||
svg | ||
tables | ||
tools | ||
xul | ||
moz.build |