Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d0bccb1198a21b4353be52a27f83e95dbbda45f5 https://github.com/WebKit/WebKit/commit/d0bccb1198a21b4353be52a27f83e95dbbda45f5 Author: Elika Etemad <fantasai.b...@inkedblade.net> Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths: M Source/WebCore/dom/Position.cpp M Source/WebCore/editing/Editing.cpp M Source/WebCore/editing/RenderedPosition.cpp M Source/WebCore/editing/VisiblePosition.cpp M Source/WebCore/editing/VisibleUnits.cpp M Source/WebCore/html/HTMLTextFormControlElement.cpp M Source/WebCore/layout/integration/inline/InlineIteratorBox.cpp M Source/WebCore/layout/integration/inline/InlineIteratorBox.h M Source/WebCore/layout/integration/inline/InlineIteratorBoxInlines.h M Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.cpp M Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.h M Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp M Source/WebCore/layout/integration/inline/InlineIteratorLineBox.h M Source/WebCore/layout/integration/inline/InlineIteratorLogicalOrderTraversal.cpp M Source/WebCore/layout/integration/inline/InlineIteratorLogicalOrderTraversal.h M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.h M Source/WebCore/layout/integration/inline/LineSelection.h M Source/WebCore/rendering/BackgroundPainter.cpp M Source/WebCore/rendering/CaretRectComputation.cpp M Source/WebCore/rendering/InlineBoxPainter.cpp M Source/WebCore/rendering/RenderBlock.cpp M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderBoxModelObject.cpp M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderFileUploadControl.cpp M Source/WebCore/rendering/RenderImage.cpp M Source/WebCore/rendering/RenderInline.cpp M Source/WebCore/rendering/RenderLineBreak.cpp M Source/WebCore/rendering/RenderText.cpp M Source/WebCore/rendering/RenderVTTCue.cpp M Source/WebCore/rendering/TextBoxTrimmer.cpp M Source/WebCore/rendering/svg/RenderSVGInlineText.cpp M Source/WebCore/rendering/svg/RenderSVGText.cpp M Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp M Source/WebCore/rendering/svg/SVGTextQuery.cpp M Source/WebCore/style/InlineTextBoxStyle.cpp Log Message: ----------- Clarify Inline Box Traversal Methods https://bugs.webkit.org/show_bug.cgi?id=286207 rdar://problem/143182898 Reviewed by Alan Baradlay. Our inline box traversal methods go in LTR order, not tree order or coordinate order. Rename them to clarify this, and add methods for coordinate order traversal. This is a cosmetic change, setting us up to switch to coordinate order traversal or source order traversal methods where needed. * Source/WebCore/dom/Position.cpp: (WebCore::hasInlineRun): (WebCore::Position::inlineBoxAndOffset const): * Source/WebCore/editing/Editing.cpp: (WebCore::visualDistanceOnSameLine): (WebCore::advanceInDirection): (WebCore::forEachRenderedBoxBetween): * Source/WebCore/editing/RenderedPosition.cpp: (WebCore::RenderedPosition::previousLeafOnLine const): (WebCore::RenderedPosition::nextLeafOnLine const): (WebCore::RenderedPosition::leftBoundaryOfBidiRun const): (WebCore::RenderedPosition::rightBoundaryOfBidiRun const): * Source/WebCore/editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate const): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate const): * Source/WebCore/editing/VisibleUnits.cpp: (WebCore::startPositionForLine): (WebCore::endPositionForLine): (WebCore::previousLinePosition): (WebCore::nextLinePosition): * Source/WebCore/html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks const): * Source/WebCore/layout/integration/inline/InlineIteratorBox.cpp: (WebCore::InlineIterator::BoxIterator::traverseLineRightwardOnLine): (WebCore::InlineIterator::BoxIterator::traverseLineRightwardOnLineSkippingChildren): (WebCore::InlineIterator::Box::nextLineRightwardOnLine const): (WebCore::InlineIterator::Box::nextLineLeftwardOnLine const): (WebCore::InlineIterator::Box::nextLineRightwardOnLineIgnoringLineBreak const): (WebCore::InlineIterator::Box::nextLineLeftwardOnLineIgnoringLineBreak const): (WebCore::InlineIterator::LeafBoxIterator::traverseLineRightwardOnLine): (WebCore::InlineIterator::LeafBoxIterator::traverseLineLeftwardOnLine): (WebCore::InlineIterator::LeafBoxIterator::traverseLineRightwardOnLineIgnoringLineBreak): (WebCore::InlineIterator::LeafBoxIterator::traverseLineLeftwardOnLineIgnoringLineBreak): (WebCore::InlineIterator::BoxIterator::traverseNextOnLine): Deleted. (WebCore::InlineIterator::BoxIterator::traverseNextOnLineSkippingChildren): Deleted. (WebCore::InlineIterator::Box::nextOnLine const): Deleted. (WebCore::InlineIterator::Box::previousOnLine const): Deleted. (WebCore::InlineIterator::Box::nextOnLineIgnoringLineBreak const): Deleted. (WebCore::InlineIterator::Box::previousOnLineIgnoringLineBreak const): Deleted. (WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLine): Deleted. (WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLine): Deleted. (WebCore::InlineIterator::LeafBoxIterator::traverseNextOnLineIgnoringLineBreak): Deleted. (WebCore::InlineIterator::LeafBoxIterator::traversePreviousOnLineIgnoringLineBreak): Deleted. * Source/WebCore/layout/integration/inline/InlineIteratorBox.h: (WebCore::InlineIterator::BoxIterator::operator++): (WebCore::InlineIterator::LeafBoxIterator::operator++): * Source/WebCore/layout/integration/inline/InlineIteratorBoxInlines.h: (WebCore::InlineIterator::Box::nextLogicalRightwardOnLine const): (WebCore::InlineIterator::Box::nextLogicalLeftwardOnLine const): (WebCore::InlineIterator::Box::nextLogicalRightwardOnLineIgnoringLineBreak const): (WebCore::InlineIterator::Box::nextLogicalLeftwardOnLineIgnoringLineBreak const): * Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.cpp: (WebCore::InlineIterator::InlineBox::closedEdges const): (WebCore::InlineIterator::InlineBox::nextInlineBoxLineRightward const): (WebCore::InlineIterator::InlineBox::nextInlineBoxLineLeftward const): (WebCore::InlineIterator::InlineBox::endLeafBox const): (WebCore::InlineIterator::InlineBox::descendants const): (WebCore::InlineIterator::InlineBoxIterator::traverseInlineBoxLineRightward): (WebCore::InlineIterator::InlineBoxIterator::traverseInlineBoxLineLeftward): (WebCore::InlineIterator::lineLeftmostInlineBoxFor): (WebCore::InlineIterator::InlineBox::nextInlineBox const): Deleted. (WebCore::InlineIterator::InlineBox::previousInlineBox const): Deleted. (WebCore::InlineIterator::InlineBoxIterator::traverseNextInlineBox): Deleted. (WebCore::InlineIterator::InlineBoxIterator::traversePreviousInlineBox): Deleted. (WebCore::InlineIterator::firstInlineBoxFor): Deleted. * Source/WebCore/layout/integration/inline/InlineIteratorInlineBox.h: * Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp: (WebCore::InlineIterator::LineBox::lineLeftmostLeafBox const): (WebCore::InlineIterator::LineBox::lineRightmostLeafBox const): (WebCore::InlineIterator::closestBoxForHorizontalPosition): (WebCore::InlineIterator::LineBox::ellipsisSelectionState const): (WebCore::InlineIterator::LineBox::firstLeafBox const): Deleted. (WebCore::InlineIterator::LineBox::lastLeafBox const): Deleted. * Source/WebCore/layout/integration/inline/InlineIteratorLineBox.h: * Source/WebCore/layout/integration/inline/InlineIteratorLogicalOrderTraversal.cpp: (WebCore::InlineIterator::firstTextBoxInLogicalOrderFor): * Source/WebCore/layout/integration/inline/InlineIteratorLogicalOrderTraversal.h: (WebCore::InlineIterator::leafBoxesInLogicalOrder): * Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp: (WebCore::InlineIterator::lineLeftmostTextBoxFor): (WebCore::InlineIterator::textBoxesFor): (WebCore::InlineIterator::firstTextBoxFor): Deleted. * Source/WebCore/layout/integration/inline/InlineIteratorTextBox.h: * Source/WebCore/layout/integration/inline/LineSelection.h: (WebCore::LineSelection::selectionState): * Source/WebCore/rendering/BackgroundPainter.cpp: (WebCore::BackgroundPainter::boxShadowShouldBeAppliedToBackground): * Source/WebCore/rendering/CaretRectComputation.cpp: (WebCore::computeCaretRectForInline): * Source/WebCore/rendering/InlineBoxPainter.cpp: (WebCore::InlineBoxPainter::paintMask): (WebCore::InlineBoxPainter::paintDecorations): (WebCore::InlineBoxPainter::paintFillLayer): (WebCore::InlineBoxPainter::paintBoxShadow): * Source/WebCore/rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject): * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::computeLineAdjustmentForPagination): (WebCore::RenderBlockFlow::inlineSelectionGaps): (WebCore::RenderBlockFlow::containsNonZeroBidiLevel const): (WebCore::RenderBlockFlow::findClosestTextAtAbsolutePoint): (WebCore::RenderBlockFlow::positionForPointWithInlineChildren): (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren const): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::positionWithRTLInlineBoxContainingBlock): * Source/WebCore/rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintMaskForTextFillBox): * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::getLeadingCorner const): * Source/WebCore/rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintControl): * Source/WebCore/rendering/RenderImage.cpp: (WebCore::RenderImage::collectSelectionGeometries): * Source/WebCore/rendering/RenderInline.cpp: (WebCore::RenderInline::innerPaddingBoxWidth const): (WebCore::RenderInline::linesBoundingBox const): (WebCore::RenderInline::offsetForInFlowPositionedInline const): (WebCore::RenderInline::paintOutline const): * Source/WebCore/rendering/RenderLineBreak.cpp: (WebCore::RenderLineBreak::collectSelectionGeometries): * Source/WebCore/rendering/RenderText.cpp: (WebCore::RenderText::collectSelectionGeometries): (WebCore::lineDirectionPointFitsInBox): (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi): (WebCore::RenderText::positionForPoint): (WebCore::RenderText::firstRunLocation const): (WebCore::RenderText::linesBoundingBox const): (WebCore::RenderText::caretMinOffset const): (WebCore::RenderText::caretMaxOffset const): * Source/WebCore/rendering/RenderVTTCue.cpp: (WebCore::RenderVTTCue::initializeLayoutParameters): (WebCore::RenderVTTCue::repositionCueSnapToLinesSet): (WebCore::RenderVTTCue::repositionGenericCue): * Source/WebCore/rendering/TextBoxTrimmer.cpp: (WebCore::shouldIgnoreAsFirstLastFormattedLineContainer): * Source/WebCore/rendering/svg/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::positionForPoint): * Source/WebCore/rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::layoutCharactersInTextBoxes): (WebCore::RenderSVGText::paintInlineChildren): * Source/WebCore/rendering/svg/SVGTextLayoutEngine.cpp: (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): * Source/WebCore/rendering/svg/SVGTextQuery.cpp: (WebCore::inlineBoxForRenderer): (WebCore::SVGTextQuery::collectTextBoxesInInlineBox): * Source/WebCore/style/InlineTextBoxStyle.cpp: (WebCore::minLogicalTopForTextDecorationLineUnder): (WebCore::maxLogicalBottomForTextDecorationLineUnder): Canonical link: https://commits.webkit.org/289159@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes