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

Reply via email to