Changeset 276202 in webkit
- Timestamp:
- Apr 17, 2021, 11:22:35 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
-
ChangeLog (modified) (1 diff)
-
rendering/line/BreakingContext.h (modified) (4 diffs)
-
rendering/line/TrailingObjects.cpp (modified) (3 diffs)
-
rendering/line/TrailingObjects.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r276201 r276202 1 2021-04-17 Zalan Bujtas <zalan@apple.com> 2 3 [Cleanup] Modernize TrailingObjects 4 https://bugs.webkit.org/show_bug.cgi?id=224712 5 6 Reviewed by Antti Koivisto. 7 8 Remove redundant c'tor and start using enum class. 9 10 * rendering/line/BreakingContext.h: 11 (WebCore::BreakingContext::handleText): 12 (WebCore::checkWhitespaceCollapsingTransitions): 13 (WebCore::BreakingContext::handleEndOfLine): 14 * rendering/line/TrailingObjects.cpp: 15 (WebCore::TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes): 16 * rendering/line/TrailingObjects.h: 17 (WebCore::TrailingObjects::setTrailingWhitespace): 18 (WebCore::TrailingObjects::clear): 19 (WebCore::TrailingObjects::TrailingObjects): Deleted. 20 1 21 2021-04-17 Zalan Bujtas <zalan@apple.com> 2 22 -
trunk/Source/WebCore/rendering/line/BreakingContext.h
r276201 r276202 981 981 // before the second space. 982 982 m_lineWhitespaceCollapsingState.startIgnoringSpaces(m_startOfIgnoredSpaces); 983 m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, InlineIterator(), TrailingObjects:: DoNotCollapseFirstSpace);983 m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, InlineIterator(), TrailingObjects::CollapseFirstSpace::No); 984 984 } 985 985 } … … 1186 1186 } 1187 1187 1188 inline TrailingObjects::CollapseFirstSpace OrNotcheckWhitespaceCollapsingTransitions(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak)1188 inline TrailingObjects::CollapseFirstSpace checkWhitespaceCollapsingTransitions(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak) 1189 1189 { 1190 1190 // Check to see if our last transition is a start point beyond the line break. If so, … … 1203 1203 if (endpoint.renderer()->style().collapseWhiteSpace() && endpoint.renderer()->isText()) { 1204 1204 lineWhitespaceCollapsingState.decrementTransitionAt(lineWhitespaceCollapsingState.numTransitions() - 1); 1205 return TrailingObjects:: DoNotCollapseFirstSpace;1205 return TrailingObjects::CollapseFirstSpace::No; 1206 1206 } 1207 1207 } 1208 1208 } 1209 return TrailingObjects::CollapseFirstSpace ;1209 return TrailingObjects::CollapseFirstSpace::Yes; 1210 1210 } 1211 1211 … … 1241 1241 1242 1242 // Sanity check our whitespace collapsing transitions. 1243 TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak); 1244 1243 auto collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak); 1245 1244 m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreak, collapsed); 1246 1245 -
trunk/Source/WebCore/rendering/line/TrailingObjects.cpp
r225117 r276202 30 30 namespace WebCore { 31 31 32 void TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak, CollapseFirstSpace OrNotcollapseFirstSpace)32 void TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak, CollapseFirstSpace collapseFirstSpace) 33 33 { 34 34 if (!m_whitespace) … … 42 42 for ( ; trailingSpaceTransition > 0 && lineWhitespaceCollapsingState.transitions()[trailingSpaceTransition].renderer() != m_whitespace; --trailingSpaceTransition) { } 43 43 ASSERT(trailingSpaceTransition >= 0); 44 if (collapseFirstSpace == CollapseFirstSpace )44 if (collapseFirstSpace == CollapseFirstSpace::Yes) 45 45 lineWhitespaceCollapsingState.decrementTransitionAt(trailingSpaceTransition); 46 46 … … 60 60 } else if (!lBreak.renderer()) { 61 61 ASSERT(m_whitespace->isText()); 62 ASSERT(collapseFirstSpace == CollapseFirstSpace );62 ASSERT(collapseFirstSpace == CollapseFirstSpace::Yes); 63 63 // Add a new end transition that stops right at the very end. 64 64 unsigned length = m_whitespace->text().length(); -
trunk/Source/WebCore/rendering/line/TrailingObjects.h
r276201 r276202 44 44 class TrailingObjects { 45 45 public: 46 TrailingObjects() 47 : m_whitespace(0) 48 { } 49 50 void setTrailingWhitespace(RenderText& whitespace) 51 { 52 m_whitespace = &whitespace; 53 } 54 46 void setTrailingWhitespace(RenderText& whitespace) { m_whitespace = &whitespace; } 55 47 void clear() 56 48 { 57 m_whitespace = 0;49 m_whitespace = { }; 58 50 m_boxes.shrink(0); // Use shrink(0) instead of clear() to retain our capacity. 59 51 } … … 65 57 } 66 58 67 enum CollapseFirstSpaceOrNot { DoNotCollapseFirstSpace, CollapseFirstSpace }; 68 69 void updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState&, const InlineIterator& lBreak, CollapseFirstSpaceOrNot); 59 enum class CollapseFirstSpace { No, Yes }; 60 void updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState&, const InlineIterator& lBreak, CollapseFirstSpace); 70 61 71 62 private: 72 RenderText* m_whitespace ;63 RenderText* m_whitespace { nullptr }; 73 64 Vector<std::reference_wrapper<RenderBoxModelObject>, 4> m_boxes; 74 65 };
Note:
See TracChangeset
for help on using the changeset viewer.