[webkit-changes] [WebKit/WebKit] d000f8: InlineIterator::Box:logicalLeft/right do not retur...

Alan Baradlay noreply at github.com
Tue Jan 24 18:09:18 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d000f817a148e8372018d70c108928651acff39c
      https://github.com/WebKit/WebKit/commit/d000f817a148e8372018d70c108928651acff39c
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-01-24 (Tue, 24 Jan 2023)

  Changed paths:
    M Source/WebCore/layout/integration/inline/InlineIteratorBox.h
    M Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp
    M Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderInline.cpp
    M Source/WebCore/rendering/RenderLineBreak.cpp
    M Source/WebCore/rendering/RenderText.cpp

  Log Message:
  -----------
  InlineIterator::Box:logicalLeft/right do not return entirely logical values
https://bugs.webkit.org/show_bug.cgi?id=251098

Reviewed by Antti Koivisto.

Rename logicalLeft/right to logicalLeft(right)IgnoringInlineDirection to reflect what values they really return.
This is a combination of visual and logical values where we use the visual position in inline direction, but don't flip the
coordinates for writing mode (e.g vertical).
This helps to identify potential coordinate space mismatching at callsites (where we expect logicalLeft return logical value for right-to-left direction.)

* Source/WebCore/layout/integration/inline/InlineIteratorBox.h:
(WebCore::InlineIterator::Box::logicalTop const):
(WebCore::InlineIterator::Box::logicalBottom const):
(WebCore::InlineIterator::Box::logicalHeight const):
(WebCore::InlineIterator::Box::logicalWidth const):
(WebCore::InlineIterator::Box::logicalLeftIgnoringInlineDirection const):
(WebCore::InlineIterator::Box::logicalRightIgnoringInlineDirection const):
(WebCore::InlineIterator::Box::logicalRectIgnoringInlineDirection const):
(WebCore::InlineIterator::Box::logicalLeft const): Deleted.
(WebCore::InlineIterator::Box::logicalRight const): Deleted.
* Source/WebCore/layout/integration/inline/InlineIteratorLineBox.cpp:
(WebCore::InlineIterator::closestBoxForHorizontalPosition):
* Source/WebCore/layout/integration/inline/InlineIteratorTextBox.cpp:
(WebCore::InlineIterator::TextBox::selectionRect const):
(WebCore::InlineIterator::TextBox::offsetForPosition const):
(WebCore::InlineIterator::TextBox::positionForOffset const):
* Source/WebCore/rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::inlineSelectionGaps):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::positionWithRTLInlineBoxContainingBlock):
* Source/WebCore/rendering/RenderInline.cpp:
(WebCore::RenderInline::innerPaddingBoxWidth const):
(WebCore::RenderInline::offsetForInFlowPositionedInline const):
* Source/WebCore/rendering/RenderText.cpp:
(WebCore::lineDirectionPointFitsInBox):
(WebCore::RenderText::positionForPoint):

Canonical link: https://commits.webkit.org/259324@main




More information about the webkit-changes mailing list