Changeset 286957 in webkit
- Timestamp:
- Dec 13, 2021, 10:32:50 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 11 edited
-
ChangeLog (modified) (1 diff)
-
display/css/DisplayBoxFactory.cpp (modified) (1 diff)
-
layout/Verification.cpp (modified) (3 diffs)
-
layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (modified) (10 diffs)
-
layout/formattingContexts/inline/InlineFormattingContext.cpp (modified) (5 diffs)
-
layout/formattingContexts/inline/display/InlineDisplayBox.h (modified) (4 diffs)
-
layout/integration/InlineIteratorBoxModernPath.h (modified) (1 diff)
-
layout/integration/LayoutIntegrationBoxTree.cpp (modified) (3 diffs)
-
layout/integration/LayoutIntegrationInlineContentBuilder.cpp (modified) (1 diff)
-
layout/integration/LayoutIntegrationLineLayout.cpp (modified) (3 diffs)
-
layout/layouttree/LayoutTreeBuilder.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r286955 r286957 1 2021-12-13 Alan Bujtas <zalan@apple.com> 2 3 [LFC][IFC] Display boxes have physical geometry. 4 https://bugs.webkit.org/show_bug.cgi?id=234248 5 6 Reviewed by Antti Koivisto. 7 8 logicalRect -> rect. 9 10 * display/css/DisplayBoxFactory.cpp: 11 (WebCore::Display::BoxFactory::displayBoxForTextRun const): 12 * layout/Verification.cpp: 13 (WebCore::Layout::checkForMatchingNonTextRuns): 14 (WebCore::Layout::checkForMatchingTextRuns): 15 (WebCore::Layout::outputMismatchingComplexLineInformationIfNeeded): 16 * layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp: 17 (WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox): 18 (WebCore::Layout::InlineDisplayContentBuilder::processOverflownRunsForEllipsis): 19 * layout/formattingContexts/inline/InlineFormattingContext.cpp: 20 (WebCore::Layout::InlineFormattingContext::computeStaticPositionForOutOfFlowContent): 21 * layout/formattingContexts/inline/display/InlineDisplayBox.h: 22 (WebCore::InlineDisplay::Box::rect const): 23 (WebCore::InlineDisplay::Box::top const): 24 (WebCore::InlineDisplay::Box::bottom const): 25 (WebCore::InlineDisplay::Box::left const): 26 (WebCore::InlineDisplay::Box::right const): 27 (WebCore::InlineDisplay::Box::width const): 28 (WebCore::InlineDisplay::Box::height const): 29 (WebCore::InlineDisplay::Box::moveVertically): 30 (WebCore::InlineDisplay::Box::moveHorizontally): 31 (WebCore::InlineDisplay::Box::setLeft): 32 (WebCore::InlineDisplay::Box::setRight): 33 (WebCore::InlineDisplay::Box::setRect): 34 (WebCore::InlineDisplay::Box::Box): 35 (WebCore::InlineDisplay::Box::truncate): 36 (WebCore::InlineDisplay::Box::logicalRect const): Deleted. 37 (WebCore::InlineDisplay::Box::logicalTop const): Deleted. 38 (WebCore::InlineDisplay::Box::logicalBottom const): Deleted. 39 (WebCore::InlineDisplay::Box::logicalLeft const): Deleted. 40 (WebCore::InlineDisplay::Box::logicalRight const): Deleted. 41 (WebCore::InlineDisplay::Box::logicalWidth const): Deleted. 42 (WebCore::InlineDisplay::Box::logicalHeight const): Deleted. 43 (WebCore::InlineDisplay::Box::setLogicalLeft): Deleted. 44 (WebCore::InlineDisplay::Box::setLogicalRight): Deleted. 45 (WebCore::InlineDisplay::Box::setLogicalRect): Deleted. 46 * layout/integration/InlineIteratorBoxModernPath.h: 47 (WebCore::InlineIterator::BoxModernPath::rect const): 48 * layout/integration/LayoutIntegrationBoxTree.cpp: 49 (WebCore::LayoutIntegration::showInlineContent): 50 * layout/integration/LayoutIntegrationInlineContentBuilder.cpp: 51 (WebCore::LayoutIntegration::InlineContentBuilder::createDisplayLines const): 52 * layout/integration/LayoutIntegrationLineLayout.cpp: 53 (WebCore::LayoutIntegration::LineLayout::firstInlineBoxRect const): 54 (WebCore::LayoutIntegration::LineLayout::collectInlineBoxRects const): 55 (WebCore::LayoutIntegration::LineLayout::hitTest): 56 * layout/layouttree/LayoutTreeBuilder.cpp: 57 (WebCore::Layout::showInlineTreeAndRuns): 58 1 59 2021-12-13 Tim Nguyen <ntim@apple.com> 2 60 -
trunk/Source/WebCore/display/css/DisplayBoxFactory.cpp
r282961 r286957 149 149 ASSERT(box.text()); 150 150 151 auto boxRect = LayoutRect { box.l ogicalLeft(), box.logicalTop(), box.logicalWidth(), box.logicalHeight() };151 auto boxRect = LayoutRect { box.left(), box.top(), box.width(), box.height() }; 152 152 boxRect.move(containingBlockContext.offsetFromRoot); 153 153 -
trunk/Source/WebCore/layout/Verification.cpp
r282961 r286957 73 73 static bool checkForMatchingNonTextRuns(const InlineDisplay::Box& box, const WebCore::LegacyInlineBox& inlineBox) 74 74 { 75 return areEssentiallyEqual(inlineBox.left(), box.l ogicalLeft())76 && areEssentiallyEqual(inlineBox.right(), box. logicalRight())77 && areEssentiallyEqual(inlineBox.top(), box. logicalTop())78 && areEssentiallyEqual(inlineBox.bottom(), box. logicalBottom());75 return areEssentiallyEqual(inlineBox.left(), box.left()) 76 && areEssentiallyEqual(inlineBox.right(), box.right()) 77 && areEssentiallyEqual(inlineBox.top(), box.top()) 78 && areEssentiallyEqual(inlineBox.bottom(), box.bottom()); 79 79 } 80 80 … … 84 84 if (!box.text()) 85 85 return false; 86 return areEssentiallyEqual(inlineTextBox.left(), box.l ogicalLeft())87 && areEssentiallyEqual(inlineTextBox.right(), box. logicalRight())88 && areEssentiallyEqual(inlineTextBox.top(), box. logicalTop())89 && areEssentiallyEqual(inlineTextBox.bottom(), box. logicalBottom())86 return areEssentiallyEqual(inlineTextBox.left(), box.left()) 87 && areEssentiallyEqual(inlineTextBox.right(), box.right()) 88 && areEssentiallyEqual(inlineTextBox.top(), box.top()) 89 && areEssentiallyEqual(inlineTextBox.bottom(), box.bottom()) 90 90 && (inlineTextBox.isLineBreak() || (inlineTextBox.start() == box.text()->start() && inlineTextBox.end() == box.text()->end())); 91 91 } … … 156 156 if (box.text()) 157 157 stream << " (" << box.text()->start() << ", " << box.text()->end() << ")"; 158 stream << " (" << box.l ogicalLeft() << ", " << box.logicalTop() << ") (" << box.logicalWidth() << "x" << box.logicalHeight() << ")";158 stream << " (" << box.left() << ", " << box.top() << ") (" << box.width() << "x" << box.height() << ")"; 159 159 stream.nextLine(); 160 160 mismatched = true; -
trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp
r286931 r286957 428 428 429 429 if (!displayBox.isNonRootInlineBox()) { 430 displayBox.setL ogicalLeft(contentRightInVisualOrder);431 contentRightInVisualOrder += displayBox. logicalWidth();430 displayBox.setLeft(contentRightInVisualOrder); 431 contentRightInVisualOrder += displayBox.width(); 432 432 if (displayBox.isAtomicInlineLevelBox() || displayBox.isGenericInlineLevelBox()) 433 433 contentRightInVisualOrder += formattingState().boxGeometry(layoutBox).marginEnd(); … … 440 440 auto visualRect = InlineRect { lineBoxLogicalTop + logicalRect.top(), contentRightInVisualOrder, { }, logicalRect.height() }; 441 441 if (!displayBox.isFirstForLayoutBox()) 442 return displayBox.set LogicalRect(visualRect, visualRect);442 return displayBox.setRect(visualRect, visualRect); 443 443 444 444 contentRightInVisualOrder += boxGeometry.marginStart(); 445 445 auto visualRectWithMarginStart = InlineRect { visualRect.top(), contentRightInVisualOrder, visualRect.width(), visualRect.height() }; 446 displayBox.set LogicalRect(visualRectWithMarginStart, visualRectWithMarginStart);446 displayBox.setRect(visualRectWithMarginStart, visualRectWithMarginStart); 447 447 contentRightInVisualOrder += boxGeometry.borderAndPaddingStart(); 448 448 }; … … 454 454 auto afterInlineBoxContent = [&] { 455 455 if (!displayBox.isLastForLayoutBox()) 456 return displayBox.set LogicalRight(contentRightInVisualOrder);456 return displayBox.setRight(contentRightInVisualOrder); 457 457 458 458 contentRightInVisualOrder += boxGeometry.borderAndPaddingEnd(); 459 displayBox.set LogicalRight(contentRightInVisualOrder);459 displayBox.setRight(contentRightInVisualOrder); 460 460 contentRightInVisualOrder += boxGeometry.marginEnd(); 461 461 }; … … 463 463 464 464 auto computeInkOverflow = [&] { 465 auto inkOverflow = displayBox. logicalRect();465 auto inkOverflow = displayBox.rect(); 466 466 m_contentHasInkOverflow = computeBoxShadowInkOverflow(!m_lineIndex ? layoutBox.firstLineStyle() : layoutBox.style(), inkOverflow) || m_contentHasInkOverflow; 467 467 displayBox.adjustInkOverflow(inkOverflow); … … 469 469 computeInkOverflow(); 470 470 471 setInlineBoxGeometry(layoutBox, displayBox. logicalRect(), displayBox.isFirstForLayoutBox());471 setInlineBoxGeometry(layoutBox, displayBox.rect(), displayBox.isFirstForLayoutBox()); 472 472 if (lineBox.inlineLevelBoxForLayoutBox(layoutBox).hasContent()) 473 473 displayBox.setHasContent(); … … 587 587 ASSERT(rootInlineBox.isRootInlineBox()); 588 588 589 auto rootInlineBoxRect = rootInlineBox. logicalRect();589 auto rootInlineBoxRect = rootInlineBox.rect(); 590 590 if (rootInlineBoxRect.right() <= lineBoxLogicalRight) { 591 ASSERT(boxes.last(). logicalRight() <= lineBoxLogicalRight);591 ASSERT(boxes.last().right() <= lineBoxLogicalRight); 592 592 return; 593 593 } … … 601 601 auto& displayBox = boxes[index]; 602 602 603 if (displayBox.l ogicalLeft() >= lineBoxLogicalRight) {603 if (displayBox.left() >= lineBoxLogicalRight) { 604 604 // Fully overflown boxes are collapsed. 605 605 displayBox.truncate(); … … 610 610 // 1. fully truncate in case of inline level boxes (ie non-text content) or if ellipsis content is wider than the overflowing one. 611 611 // 2. partially truncated to make room for the ellipsis box. 612 auto availableRoomForEllipsis = lineBoxLogicalRight - displayBox.l ogicalLeft();612 auto availableRoomForEllipsis = lineBoxLogicalRight - displayBox.left(); 613 613 if (availableRoomForEllipsis <= ellipsisWidth) { 614 614 // Can't accommodate the ellipsis content here. We need to truncate non-overflowing boxes too. … … 621 621 auto text = *displayBox.text(); 622 622 // FIXME: Check if it needs adjustment for RTL direction. 623 truncatedWidth = TextUtil::breakWord(downcast<InlineTextBox>(displayBox.layoutBox()), text.start(), text.length(), displayBox. logicalWidth(), availableRoomForEllipsis - ellipsisWidth, { }, displayBox.style().fontCascade()).logicalWidth;623 truncatedWidth = TextUtil::breakWord(downcast<InlineTextBox>(displayBox.layoutBox()), text.start(), text.length(), displayBox.width(), availableRoomForEllipsis - ellipsisWidth, { }, displayBox.style().fontCascade()).logicalWidth; 624 624 } 625 625 displayBox.truncate(truncatedWidth); … … 629 629 ASSERT(firstTruncatedBoxIndex < boxes.size()); 630 630 // Collapse truncated runs. 631 auto contentRight = boxes[firstTruncatedBoxIndex]. logicalRight();631 auto contentRight = boxes[firstTruncatedBoxIndex].right(); 632 632 for (auto index = firstTruncatedBoxIndex + 1; index < boxes.size(); ++index) 633 boxes[index].moveHorizontally(contentRight - boxes[index].l ogicalLeft());633 boxes[index].moveHorizontally(contentRight - boxes[index].left()); 634 634 // And append the ellipsis box as the trailing item. 635 635 auto ellispisBoxRect = InlineRect { rootInlineBoxRect.top(), contentRight, ellipsisWidth, rootInlineBoxRect.height() }; -
trunk/Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
r286534 r286957 306 306 // <div><img style="position: absolute">text content</div> 307 307 ASSERT(boxes.size()); 308 outOfFlowGeometry.setLogicalTopLeft({ boxes[0].l ogicalLeft(), lines[0].lineBoxLogicalRect().top() });308 outOfFlowGeometry.setLogicalTopLeft({ boxes[0].left(), lines[0].lineBoxLogicalRect().top() }); 309 309 continue; 310 310 } … … 337 337 // Previous and next boxes are on the same line. The out-of-flow box is right at the previous box's logical right. 338 338 // <div>text<img style="position: absolute">content</div> 339 auto l ogicalLeft = previousBox.logicalRight();339 auto left = previousBox.right(); 340 340 if (previousContentSkippingFloats->isInlineBox() && !previousContentSkippingFloats->isAnonymous()) { 341 341 // <div>text<span><img style="position: absolute">content</span></div> … … 343 343 // <div>text<span>content</span><img style="position: absolute"></div> 344 344 auto& inlineBoxBoxGeometry = geometryForBox(*previousContentSkippingFloats); 345 l ogicalLeft = previousContentSkippingFloats == &outOfFlowBox->parent()345 left = previousContentSkippingFloats == &outOfFlowBox->parent() 346 346 ? BoxGeometry::borderBoxLeft(inlineBoxBoxGeometry) + inlineBoxBoxGeometry.contentBoxLeft() 347 347 : BoxGeometry::borderBoxRect(inlineBoxBoxGeometry).right(); 348 348 } 349 outOfFlowGeometry.setLogicalTopLeft({ l ogicalLeft, lines[previousBox.lineIndex()].lineBoxLogicalRect().top() });349 outOfFlowGeometry.setLogicalTopLeft({ left, lines[previousBox.lineIndex()].lineBoxLogicalRect().top() }); 350 350 return; 351 351 } … … 354 354 // The out of flow box is placed at the beginning of the next line (where the first box on the line is). 355 355 // <div>text<br><img style="position: absolute"><img style="position: absolute">content</div> 356 outOfFlowGeometry.setLogicalTopLeft({ nextBox->l ogicalLeft(), lines[nextBox->lineIndex()].lineBoxLogicalRect().top() });356 outOfFlowGeometry.setLogicalTopLeft({ nextBox->left(), lines[nextBox->lineIndex()].lineBoxLogicalRect().top() }); 357 357 return; 358 358 } … … 367 367 } 368 368 // FIXME: We may need to check if this box actually fits the last line and move it over to the "next" line. 369 outOfFlowGeometry.setLogicalTopLeft({ previousBox. logicalRight(), lastLineLogicalRect.top() });369 outOfFlowGeometry.setLogicalTopLeft({ previousBox.right(), lastLineLogicalRect.top() }); 370 370 }; 371 371 placeOutOfFlowBoxAfterPreviousInFlowBox(); -
trunk/Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayBox.h
r286784 r286957 96 96 bool hasContent() const { return m_hasContent; } 97 97 98 const Layout::InlineRect& logicalRect() const { return m_logicalRect; }98 const Layout::InlineRect& rect() const { return m_physicalRect; } 99 99 const Layout::InlineRect& inkOverflow() const { return m_inkOverflow; } 100 100 101 Layout::InlineLayoutUnit logicalTop() const { return logicalRect().top(); }102 Layout::InlineLayoutUnit logicalBottom() const { return logicalRect().bottom(); }103 Layout::InlineLayoutUnit l ogicalLeft() const { return logicalRect().left(); }104 Layout::InlineLayoutUnit logicalRight() const { return logicalRect().right(); }105 106 Layout::InlineLayoutUnit logicalWidth() const { return logicalRect().width(); }107 Layout::InlineLayoutUnit logicalHeight() const { return logicalRect().height(); }101 Layout::InlineLayoutUnit top() const { return rect().top(); } 102 Layout::InlineLayoutUnit bottom() const { return rect().bottom(); } 103 Layout::InlineLayoutUnit left() const { return rect().left(); } 104 Layout::InlineLayoutUnit right() const { return rect().right(); } 105 106 Layout::InlineLayoutUnit width() const { return rect().width(); } 107 Layout::InlineLayoutUnit height() const { return rect().height(); } 108 108 109 109 void moveVertically(Layout::InlineLayoutUnit offset) 110 110 { 111 m_ logicalRect.moveVertically(offset);111 m_physicalRect.moveVertically(offset); 112 112 m_inkOverflow.moveVertically(offset); 113 113 } 114 114 void moveHorizontally(Layout::InlineLayoutUnit offset) 115 115 { 116 m_ logicalRect.moveHorizontally(offset);116 m_physicalRect.moveHorizontally(offset); 117 117 m_inkOverflow.moveHorizontally(offset); 118 118 } 119 119 void adjustInkOverflow(const Layout::InlineRect& childBorderBox) { return m_inkOverflow.expandToContain(childBorderBox); } 120 120 void truncate(Layout::InlineLayoutUnit truncatedwidth = 0.f); 121 void setL ogicalLeft(Layout::InlineLayoutUnit left)122 { 123 auto offset = left - logicalLeft();124 m_ logicalRect.setLeft(left);121 void setLeft(Layout::InlineLayoutUnit pysicalLeft) 122 { 123 auto offset = pysicalLeft - left(); 124 m_physicalRect.setLeft(pysicalLeft); 125 125 m_inkOverflow.setLeft(m_inkOverflow.left() + offset); 126 126 } 127 void set LogicalRight(Layout::InlineLayoutUnit right)128 { 129 auto offset = right - logicalRight();130 m_ logicalRect.setRight(right);127 void setRight(Layout::InlineLayoutUnit physicalRight) 128 { 129 auto offset = physicalRight - right(); 130 m_physicalRect.setRight(physicalRight); 131 131 m_inkOverflow.setRight(m_inkOverflow.right() + offset); 132 132 } 133 void set LogicalRect(const Layout::InlineRect& rect, const Layout::InlineRect& inkOverflow)134 { 135 m_ logicalRect = rect;133 void setRect(const Layout::InlineRect& rect, const Layout::InlineRect& inkOverflow) 134 { 135 m_physicalRect = rect; 136 136 m_inkOverflow = inkOverflow; 137 137 } … … 164 164 CheckedRef<const Layout::Box> m_layoutBox; 165 165 UBiDiLevel m_bidiLevel { UBIDI_DEFAULT_LTR }; 166 Layout::InlineRect m_ logicalRect;166 Layout::InlineRect m_physicalRect; 167 167 Layout::InlineRect m_inkOverflow; 168 168 bool m_hasContent : 1; … … 173 173 }; 174 174 175 inline Box::Box(size_t lineIndex, Type type, const Layout::Box& layoutBox, UBiDiLevel bidiLevel, const Layout::InlineRect& logicalRect, const Layout::InlineRect& inkOverflow, Expansion expansion, std::optional<Text> text, bool hasContent, OptionSet<PositionWithinInlineLevelBox> positionWithinInlineLevelBox)175 inline Box::Box(size_t lineIndex, Type type, const Layout::Box& layoutBox, UBiDiLevel bidiLevel, const Layout::InlineRect& physicalRect, const Layout::InlineRect& inkOverflow, Expansion expansion, std::optional<Text> text, bool hasContent, OptionSet<PositionWithinInlineLevelBox> positionWithinInlineLevelBox) 176 176 : m_lineIndex(lineIndex) 177 177 , m_type(type) 178 178 , m_layoutBox(layoutBox) 179 179 , m_bidiLevel(bidiLevel) 180 , m_ logicalRect(logicalRect)180 , m_physicalRect(physicalRect) 181 181 , m_inkOverflow(inkOverflow) 182 182 , m_hasContent(hasContent) … … 199 199 inline void Box::truncate(Layout::InlineLayoutUnit truncatedwidth) 200 200 { 201 m_ logicalRect.setWidth(truncatedwidth);202 m_inkOverflow.setRight(m_ logicalRect.right());201 m_physicalRect.setWidth(truncatedwidth); 202 m_inkOverflow.setRight(m_physicalRect.right()); 203 203 } 204 204 -
trunk/Source/WebCore/layout/integration/InlineIteratorBoxModernPath.h
r286541 r286957 53 53 bool isRootInlineBox() const { return box().isRootInlineBox(); } 54 54 55 FloatRect rect() const { return box(). logicalRect(); }55 FloatRect rect() const { return box().rect(); } 56 56 57 57 bool isHorizontal() const { return true; } -
trunk/Source/WebCore/layout/integration/LayoutIntegrationBoxTree.cpp
r286138 r286957 277 277 addSpacing(); 278 278 stream << " "; 279 auto logicalRect = inlineLevelBox.logicalRect();279 auto rect = inlineLevelBox.rect(); 280 280 auto& layoutBox = inlineLevelBox.layoutBox(); 281 281 if (layoutBox.isAtomicInlineLevelBox()) … … 288 288 stream << "Generic inline level box"; 289 289 stream 290 << " at (" << logicalRect.left() << "," << logicalRect.top() << ")"291 << " size (" << logicalRect.width() << "x" << logicalRect.height() << ")";290 << " at (" << rect.left() << "," << rect.top() << ")" 291 << " size (" << rect.width() << "x" << rect.height() << ")"; 292 292 stream.nextLine(); 293 293 }; … … 312 312 else 313 313 stream << "box box"; 314 stream << " at (" << box.l ogicalLeft() << "," << box.logicalTop() << ") size " << box.logicalWidth() << "x" << box.logicalHeight();314 stream << " at (" << box.left() << "," << box.top() << ") size " << box.width() << "x" << box.height(); 315 315 if (box.text()) 316 316 stream << " box(" << box.text()->start() << ", " << box.text()->end() << ")"; -
trunk/Source/WebCore/layout/integration/LayoutIntegrationInlineContentBuilder.cpp
r283711 r286957 95 95 // Similar to LegacyInlineFlowBox::addReplacedChildOverflow. 96 96 auto& renderer = downcast<RenderBox>(m_boxTree.rendererForLayoutBox(layoutBox)); 97 auto box LogicalRect = box.logicalRect();97 auto boxRect = box.rect(); 98 98 if (!renderer.hasSelfPaintingLayer()) { 99 99 auto childInkOverflow = renderer.logicalVisualOverflowRectForPropagation(&renderer.parent()->style()); 100 childInkOverflow.move(box LogicalRect.left(), boxLogicalRect.top());100 childInkOverflow.move(boxRect.left(), boxRect.top()); 101 101 lineInkOverflowRect.unite(childInkOverflow); 102 102 } 103 103 auto childScrollableOverflow = renderer.logicalLayoutOverflowRectForPropagation(&renderer.parent()->style()); 104 childScrollableOverflow.move(box LogicalRect.left(), boxLogicalRect.top());104 childScrollableOverflow.move(boxRect.left(), boxRect.top()); 105 105 scrollableOverflowRect.unite(childScrollableOverflow); 106 106 } -
trunk/Source/WebCore/layout/integration/LayoutIntegrationLineLayout.cpp
r286096 r286957 448 448 449 449 if (auto* box = m_inlineContent->firstBoxForLayoutBox(layoutBox)) 450 return Layout::toLayoutRect(box-> logicalRect());450 return Layout::toLayoutRect(box->rect()); 451 451 452 452 return { }; … … 486 486 Vector<FloatRect> result; 487 487 m_inlineContent->traverseNonRootInlineBoxes(layoutBox, [&](auto& inlineBox) { 488 result.append(inlineBox. logicalRect());488 result.append(inlineBox.rect()); 489 489 }); 490 490 … … 581 581 } 582 582 583 auto boxRect = Layout::toLayoutRect(box. logicalRect());583 auto boxRect = Layout::toLayoutRect(box.rect()); 584 584 boxRect.moveBy(accumulatedOffset); 585 585 -
trunk/Source/WebCore/layout/layouttree/LayoutTreeBuilder.cpp
r285807 r286957 387 387 addSpacing(); 388 388 stream << " "; 389 auto logicalRect = inlineLevelBox.logicalRect();389 auto rect = inlineLevelBox.rect(); 390 390 auto& layoutBox = inlineLevelBox.layoutBox(); 391 391 if (layoutBox.isAtomicInlineLevelBox()) … … 398 398 stream << "Generic inline level box"; 399 399 stream 400 << " at (" << logicalRect.left() << "," << logicalRect.top() << ")"401 << " size (" << logicalRect.width() << "x" << logicalRect.height() << ")";400 << " at (" << rect.left() << "," << rect.top() << ")" 401 << " size (" << rect.width() << "x" << rect.height() << ")"; 402 402 stream.nextLine(); 403 403 }; … … 422 422 else 423 423 stream << "box box"; 424 stream << " at (" << box.l ogicalLeft() << "," << box.logicalTop() << ") size " << box.logicalWidth() << "x" << box.logicalHeight();424 stream << " at (" << box.left() << "," << box.top() << ") size " << box.width() << "x" << box.height(); 425 425 if (box.text()) 426 426 stream << " box(" << box.text()->start() << ", " << box.text()->end() << ")";
Note:
See TracChangeset
for help on using the changeset viewer.