This commit is contained in:
Cameron Kaiser 2020-10-01 22:48:46 -07:00
parent 9d3a836029
commit 819a494138
1 changed files with 16 additions and 6 deletions

View File

@ -7938,7 +7938,9 @@ nsTextFrame::AddInlineMinISizeForFlow(nsRenderingContext *aRenderingContext,
if (i > wordStart) {
nscoord width =
NSToCoordCeilClamped(textRun->GetAdvanceWidth(wordStart, i - wordStart, &provider));
NSToCoordCeilClamped(textRun->GetAdvanceWidth(wordStart, i - wordStart,
&provider));
width = std::max(0, width);
aData->currentLine = NSCoordSaturatingAdd(aData->currentLine, width);
aData->atStartOfLine = false;
@ -7950,8 +7952,11 @@ nsTextFrame::AddInlineMinISizeForFlow(nsRenderingContext *aRenderingContext,
aData->trailingWhitespace += width;
} else {
// Some non-whitespace so the old trailingWhitespace is no longer trailing
aData->trailingWhitespace =
NSToCoordCeilClamped(textRun->GetAdvanceWidth(trimStart, i - trimStart, &provider));
nscoord wsWidth =
NSToCoordCeilClamped(textRun->GetAdvanceWidth(trimStart,
i - trimStart,
&provider));
aData->trailingWhitespace = std::max(0, wsWidth);
}
} else {
aData->trailingWhitespace = 0;
@ -8090,7 +8095,9 @@ nsTextFrame::AddInlinePrefISizeForFlow(nsRenderingContext *aRenderingContext,
if (i > lineStart) {
nscoord width =
NSToCoordCeilClamped(textRun->GetAdvanceWidth(lineStart, i - lineStart, &provider));
NSToCoordCeilClamped(textRun->GetAdvanceWidth(lineStart, i - lineStart,
&provider));
width = std::max(0, width);
aData->currentLine = NSCoordSaturatingAdd(aData->currentLine, width);
if (collapseWhitespace) {
@ -8101,8 +8108,11 @@ nsTextFrame::AddInlinePrefISizeForFlow(nsRenderingContext *aRenderingContext,
aData->trailingWhitespace += width;
} else {
// Some non-whitespace so the old trailingWhitespace is no longer trailing
aData->trailingWhitespace =
NSToCoordCeilClamped(textRun->GetAdvanceWidth(trimStart, i - trimStart, &provider));
nscoord wsWidth =
NSToCoordCeilClamped(textRun->GetAdvanceWidth(trimStart,
i - trimStart,
&provider));
aData->trailingWhitespace = std::max(0, wsWidth);
}
} else {
aData->trailingWhitespace = 0;