Changeset 295477 in webkit
- Timestamp:
- Jun 11, 2022 8:25:59 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/rendering/LegacyLineLayout.cpp
r295265 r295477 1747 1747 // elements at the same time. 1748 1748 bool hasInlineChild = false; 1749 auto hasDirtyRenderCounterWithInlineBoxParent = false; 1749 1750 Vector<RenderBox*> replacedChildren; 1750 1751 for (InlineWalker walker(m_flow); !walker.atEnd(); walker.advance()) { … … 1783 1784 } 1784 1785 } else if (o.isTextOrLineBreak() || is<RenderInline>(o)) { 1785 if (layoutState.isFullLayout() || o.selfNeedsLayout()) 1786 if (layoutState.isFullLayout() || o.selfNeedsLayout()) { 1786 1787 dirtyLineBoxesForRenderer(o, layoutState.isFullLayout()); 1788 hasDirtyRenderCounterWithInlineBoxParent = hasDirtyRenderCounterWithInlineBoxParent || (is<RenderCounter>(o) && is<RenderInline>(o.parent())); 1789 } 1787 1790 o.clearNeedsLayout(); 1788 1791 } … … 1791 1794 for (size_t i = 0; i < replacedChildren.size(); i++) 1792 1795 replacedChildren[i]->layoutIfNeeded(); 1796 1797 auto clearNeedsLayoutIfNeeded = [&] { 1798 if (!hasDirtyRenderCounterWithInlineBoxParent) 1799 return; 1800 for (InlineWalker walker(m_flow); !walker.atEnd(); walker.advance()) { 1801 auto& renderer = *walker.current(); 1802 if (is<RenderCounter>(renderer) || is<RenderInline>(renderer)) 1803 renderer.clearNeedsLayout(); 1804 } 1805 }; 1806 clearNeedsLayoutIfNeeded(); 1793 1807 1794 1808 layoutRunsAndFloats(layoutState, hasInlineChild);
Note: See TracChangeset
for help on using the changeset viewer.