Bug 1334735 - Part 3: Really set mNeedLayoutFlush when skipping suppressed interruptible reflows. r?bz
MozReview-Commit-ID: FUlY7Xqo6gZ
--- a/layout/base/PresShell.cpp
+++ b/layout/base/PresShell.cpp
@@ -4243,23 +4243,21 @@ PresShell::FlushPendingNotifications(moz
if (!didStyleFlush && flushType >= FlushType::Style && !mIsDestroying) {
SetNeedStyleFlush();
if (aFlush.mFlushAnimations) {
SetNeedThrottledAnimationFlush();
}
}
- if (!didLayoutFlush && !mIsDestroying &&
- (flushType >=
- (mSuppressInterruptibleReflows ? FlushType::Layout
- : FlushType::InterruptibleLayout))) {
- // We suppressed this flush due to mSuppressInterruptibleReflows or
- // !isSafeToFlush, but now we think we don't need to flush any more.
- // Record what's really going on.
+ if (!didLayoutFlush && flushType >= FlushType::InterruptibleLayout &&
+ !mIsDestroying) {
+ // We suppressed this flush either due to it not being safe to flush,
+ // or due to mSuppressInterruptibleReflows. Either way, the
+ // mNeedLayoutFlush flag needs to be re-set.
SetNeedLayoutFlush();
}
}
void
PresShell::CharacterDataChanged(nsIDocument *aDocument,
nsIContent* aContent,
CharacterDataChangeInfo* aInfo)