| Index: Source/core/layout/line/BreakingContextInlineHeaders.h
|
| diff --git a/Source/core/layout/line/BreakingContextInlineHeaders.h b/Source/core/layout/line/BreakingContextInlineHeaders.h
|
| index a33c7bb57207c4f5f2262173fe2ab28b993a9ff7..071144e8c583c621449a112cf33ff9d60b84f3bb 100644
|
| --- a/Source/core/layout/line/BreakingContextInlineHeaders.h
|
| +++ b/Source/core/layout/line/BreakingContextInlineHeaders.h
|
| @@ -644,6 +644,7 @@ inline bool BreakingContext::handleText(WordMeasurements& wordMeasurements, bool
|
| additionalTempWidth = textWidth(layoutText, lastSpace, m_current.offset() - lastSpace, font, m_width.currentWidth(), m_collapseWhiteSpace, &wordMeasurement.fallbackFonts, &wordMeasurement.glyphBounds);
|
|
|
| wordMeasurement.width = additionalTempWidth + wordSpacingForWordMeasurement;
|
| + wordMeasurement.glyphBounds.move(wordSpacingForWordMeasurement, 0);
|
| additionalTempWidth += lastSpaceWordSpacing;
|
| m_width.addUncommittedWidth(additionalTempWidth);
|
|
|
| @@ -801,10 +802,14 @@ inline bool BreakingContext::handleText(WordMeasurements& wordMeasurements, bool
|
| wordMeasurement.layoutText = layoutText;
|
|
|
| // IMPORTANT: current.m_pos is > length here!
|
| - float additionalTempWidth = m_ignoringSpaces ? 0 : textWidth(layoutText, lastSpace, m_current.offset() - lastSpace, font, m_width.currentWidth(), m_collapseWhiteSpace, &wordMeasurement.fallbackFonts, &wordMeasurement.glyphBounds);
|
| + float additionalTempWidth = 0;
|
| wordMeasurement.startOffset = lastSpace;
|
| wordMeasurement.endOffset = m_current.offset();
|
| - wordMeasurement.width = m_ignoringSpaces ? 0 : additionalTempWidth + wordSpacingForWordMeasurement;
|
| + if (!m_ignoringSpaces) {
|
| + additionalTempWidth = textWidth(layoutText, lastSpace, m_current.offset() - lastSpace, font, m_width.currentWidth(), m_collapseWhiteSpace, &wordMeasurement.fallbackFonts, &wordMeasurement.glyphBounds);
|
| + wordMeasurement.width = additionalTempWidth + wordSpacingForWordMeasurement;
|
| + wordMeasurement.glyphBounds.move(wordSpacingForWordMeasurement, 0);
|
| + }
|
| additionalTempWidth += lastSpaceWordSpacing;
|
|
|
| LayoutUnit inlineLogicalTempWidth = inlineLogicalWidth(m_current.object(), !m_appliedStartWidth, m_includeEndWidth);
|
|
|