Changeset 252967 in webkit
- Timestamp:
- Dec 1, 2019 7:27:07 AM (4 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r252966 r252967 1 2019-12-01 Zalan Bujtas <zalan@apple.com> 2 3 [LFC][IFC] Add support for word-spacing property 4 https://bugs.webkit.org/show_bug.cgi?id=204723 5 <rdar://problem/57541871> 6 7 Reviewed by Antti Koivisto. 8 9 * layout/inlineformatting/InlineLineBuilder.cpp: 10 (WebCore::Layout::LineBuilder::TrimmableContent::append): 11 * layout/inlineformatting/LineLayoutContext.cpp: 12 (WebCore::Layout::inlineItemWidth): 13 1 14 2019-11-30 Antoine Quint <graouts@apple.com> 2 15 -
trunk/Source/WebCore/layout/inlineformatting/InlineLineBuilder.cpp
r252942 r252967 711 711 void LineBuilder::TrimmableContent::append(LayoutUnit itemRunWidth, size_t runIndex) 712 712 { 713 ASSERT(itemRunWidth >= 0); 713 // word-spacing could very well be negative, but it does not mean that the line gains that much extra space when the content is trimmed. 714 itemRunWidth = std::max(0_lu, itemRunWidth); 714 715 m_width += itemRunWidth; 715 716 m_runIndexes.append(runIndex); -
trunk/Source/WebCore/layout/inlineformatting/LineLayoutContext.cpp
r252958 r252967 39 39 { 40 40 if (inlineItem.isForcedLineBreak()) 41 return 0;41 return { }; 42 42 43 43 if (is<InlineTextItem>(inlineItem)) { 44 44 auto& inlineTextItem = downcast<InlineTextItem>(inlineItem); 45 if (auto contentWidth = inlineTextItem.width()) 46 return *contentWidth; 47 auto end = inlineTextItem.isCollapsible() ? inlineTextItem.start() + 1 : inlineTextItem.end(); 48 return TextUtil::width(inlineTextItem.layoutBox(), inlineTextItem.start(), end, contentLogicalLeft); 45 auto contentWidth = inlineTextItem.width(); 46 if (!contentWidth) { 47 auto end = inlineTextItem.isCollapsible() ? inlineTextItem.start() + 1 : inlineTextItem.end(); 48 contentWidth = TextUtil::width(inlineTextItem.layoutBox(), inlineTextItem.start(), end, contentLogicalLeft); 49 } 50 auto wordSpacing = inlineTextItem.isWhitespace() ? LayoutUnit(inlineTextItem.style().fontCascade().wordSpacing()) : 0_lu; 51 return *contentWidth + wordSpacing; 49 52 } 50 53
Note: See TracChangeset
for help on using the changeset viewer.