Index: Source/core/editing/VisibleUnits.cpp |
diff --git a/Source/core/editing/VisibleUnits.cpp b/Source/core/editing/VisibleUnits.cpp |
index 53299dd01f215f8cb0d4d752ebda49434321335b..442ee637be8b8fe88a109978722c7919e67e3186 100644 |
--- a/Source/core/editing/VisibleUnits.cpp |
+++ b/Source/core/editing/VisibleUnits.cpp |
@@ -2500,7 +2500,8 @@ bool isVisuallyEquivalentCandidate(const PositionInComposedTree& position) |
return isVisuallyEquivalentCandidateAlgorithm<EditingInComposedTreeStrategy>(position); |
} |
-IntRect absoluteCaretBoundsOf(const VisiblePosition& visiblePosition) |
+template <typename Strategy> |
+static IntRect absoluteCaretBoundsOfAlgorithm(const VisiblePositionTemplate<Strategy>& visiblePosition) |
{ |
LayoutObject* layoutObject; |
LayoutRect localRect = localCaretRectOfPosition(visiblePosition.toPositionWithAffinity(), layoutObject); |
@@ -2510,6 +2511,16 @@ IntRect absoluteCaretBoundsOf(const VisiblePosition& visiblePosition) |
return layoutObject->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox(); |
} |
+IntRect absoluteCaretBoundsOf(const VisiblePosition& visiblePosition) |
+{ |
+ return absoluteCaretBoundsOfAlgorithm<EditingStrategy>(visiblePosition); |
+} |
+ |
+IntRect absoluteCaretBoundsOf(const VisiblePositionInComposedTree& visiblePosition) |
+{ |
+ return absoluteCaretBoundsOfAlgorithm<EditingInComposedTreeStrategy>(visiblePosition); |
+} |
+ |
static VisiblePosition skipToEndOfEditingBoundary(const VisiblePosition& pos, const Position& anchor) |
{ |
if (pos.isNull()) |