Commit 5c4e04d4 authored by Emilio Cobos Álvarez's avatar Emilio Cobos Álvarez
Browse files

Bug 1644264 - Mark frame with text-overflow ellipsis as modified when overflow...

Bug 1644264 - Mark frame with text-overflow ellipsis as modified when overflow changes. r=mattwoodrow, a=jcristau

This prevents us not descending to rebuild the display list if the
overflow changes during an intermediate layout like a flex layout.

To capture Matrix discussion: This is a bit unfortunate, but the idea is
that text-overflow is usually pretty small (at most one line of content)
so we can probably live with this.

An alternative would be to do something like
nsDisplayListBuilder::MarkFrameForDisplayIfVisible, which could work as
well.

Note that this is a bit of a speculative fix because neither me or
Cameron have been able to reproduce the issue in local builds (I tried
all the combinations of gfx-things that I could think about). :-(

If this doesn't fix it on next nightly, we should back out and try to
repro some other way, I guess. But the hypothesis of why it happens
makes sense to me, and if it's correct it should fix the issue.

Differential Revision: https://phabricator.services.mozilla.com/D79009
parent 7953350d
......@@ -9966,7 +9966,7 @@ bool nsIFrame::FinishAndStoreOverflow(nsOverflowAreas& aOverflowAreas,
DiscardDisplayItems(this, [](nsDisplayItemBase* aItem) {
return aItem->GetType() == DisplayItemType::TYPE_TEXT_OVERFLOW;
});
SchedulePaint(PAINT_DEFAULT, false);
SchedulePaint(PAINT_DEFAULT);
}
}
return anyOverflowChanged;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment