Index: Source/core/editing/VisibleUnits.h |
diff --git a/Source/core/editing/VisibleUnits.h b/Source/core/editing/VisibleUnits.h |
index 8f3bfddab701a45d83705b26fd7a64028cb13dc4..6215d9215b84d582141a2f97f07bdc9d8536e85c 100644 |
--- a/Source/core/editing/VisibleUnits.h |
+++ b/Source/core/editing/VisibleUnits.h |
@@ -39,10 +39,26 @@ class LayoutObject; |
class Node; |
class VisiblePosition; |
class IntPoint; |
+class InlineBox; |
class LocalFrame; |
enum EWordSide { RightWordIfOnBoundary = false, LeftWordIfOnBoundary = true }; |
+struct InlineBoxPosition { |
+ InlineBox* inlineBox; |
+ int offsetInBox; |
+ |
+ InlineBoxPosition() |
+ : inlineBox(nullptr), offsetInBox(0) |
+ { |
+ } |
+ |
+ InlineBoxPosition(InlineBox* inlineBox, int offsetInBox) |
+ : inlineBox(inlineBox), offsetInBox(offsetInBox) |
+ { |
+ } |
+}; |
+ |
// Position |
// mostForward/BackwardCaretPosition are used for moving back and forth between |
// visually equivalent candidates. |
@@ -126,6 +142,12 @@ VisiblePosition startOfEditableContent(const VisiblePosition&); |
VisiblePosition endOfEditableContent(const VisiblePosition&); |
bool isEndOfEditableOrNonEditableContent(const VisiblePosition&); |
+CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const Position&, TextAffinity); |
+CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const Position&, TextAffinity, TextDirection primaryDirection); |
+CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const PositionInComposedTree&, TextAffinity); |
+CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const PositionInComposedTree&, TextAffinity, TextDirection primaryDirection); |
+CORE_EXPORT InlineBoxPosition computeInlineBoxPosition(const VisiblePosition&); |
+ |
// Rect is local to the returned layoutObject |
LayoutRect localCaretRectOfPosition(const PositionWithAffinity&, LayoutObject*&); |
bool hasRenderedNonAnonymousDescendantsWithHeight(LayoutObject*); |