Changeset 269747 in webkit
- Timestamp:
- Nov 12, 2020 1:24:14 PM (3 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r269745 r269747 1 2020-11-12 Antti Koivisto <antti@apple.com> 2 3 [LFC][Integration] VisiblePosition::absoluteSelectionBoundsForLine should use iterator 4 https://bugs.webkit.org/show_bug.cgi?id=218866 5 6 Reviewed by Zalan Bujtas. 7 8 * editing/VisiblePosition.cpp: 9 (WebCore::VisiblePosition::absoluteSelectionBoundsForLine const): 10 11 Also fix confused logical->physical mapping. The client wants physical position. 12 13 * editing/VisiblePosition.h: 14 (WebCore::VisiblePosition::inlineBoxAndOffset const): Deleted. 15 1 16 2020-11-12 Zalan Bujtas <zalan@apple.com> 2 17 -
trunk/Source/WebCore/editing/VisiblePosition.cpp
r269732 r269747 41 41 #include "Logging.h" 42 42 #include "Range.h" 43 #include "RenderBlock.h" 44 #include "RootInlineBox.h" 43 #include "RenderBlockFlow.h" 45 44 #include "SimpleRange.h" 46 45 #include "Text.h" … … 657 656 FloatRect VisiblePosition::absoluteSelectionBoundsForLine() const 658 657 { 659 auto inlineBox = inlineBoxAndOffset().box;660 if (! inlineBox)658 auto run = inlineRunAndOffset().run; 659 if (!run) 661 660 return { }; 662 661 663 auto& root = inlineBox->root(); 664 auto localRect = FloatRect { root.x(), root.selectionTop(), root.width(), root.selectionHeight() }; 665 return root.renderer().localToAbsoluteQuad(localRect).boundingBox(); 662 auto line = run.line(); 663 auto localRect = FloatRect { FloatPoint { line->logicalLeft(), line->selectionTop() }, FloatPoint { line->logicalRight(), line->selectionBottom() } }; 664 if (!line->isHorizontal()) 665 localRect = localRect.transposedRect(); 666 667 return line->containingBlock().localToAbsoluteQuad(localRect).boundingBox(); 666 668 } 667 669 -
trunk/Source/WebCore/editing/VisiblePosition.h
r269662 r269747 70 70 InlineRunAndOffset inlineRunAndOffset() const; 71 71 InlineRunAndOffset inlineRunAndOffset(TextDirection primaryDirection) const; 72 73 InlineBoxAndOffset inlineBoxAndOffset() const;74 InlineBoxAndOffset inlineBoxAndOffset(TextDirection primaryDirection) const;75 72 76 73 struct LocalCaretRect { … … 182 179 } 183 180 184 inline auto VisiblePosition::inlineBoxAndOffset() const -> InlineBoxAndOffset185 {186 return m_deepPosition.inlineBoxAndOffset(m_affinity);187 }188 189 inline auto VisiblePosition::inlineBoxAndOffset(TextDirection primaryDirection) const -> InlineBoxAndOffset190 {191 return m_deepPosition.inlineBoxAndOffset(m_affinity, primaryDirection);192 }193 194 181 } // namespace WebCore 195 182
Note: See TracChangeset
for help on using the changeset viewer.