mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-13 03:24:26 +00:00
![Emilio Cobos Álvarez](/assets/img/avatar_default.png)
A version of the patch in bug 1895870 caused some WPT tests to time out because document.fonts.ready never resolves. This is because I made PresShell::HasPendingReflow look at mNeedLayoutFlush, and nsIFrame::SchedulePaint() calls PresShell::ScheduleViewManagerFlush() which sets that bit. So we end up with mNeedLayoutFlush, but without a flush scheduled, and the ready promise doesn't resolve until something else schedules a flush. I fixed the original patch to preserve behavior, but requesting a repaint shouldn't require a layout flush. This call was added in bug 598482 part 16: https://hg.mozilla.org/mozilla-central/rev/71d77495b606fc145bdceabcda29181978bd9405 We only need the layout flush if there are view geometry updates, so shift the call up to the view manager. Differential Revision: https://phabricator.services.mozilla.com/D209938