Index: Source/core/editing/VisiblePosition.cpp |
diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp |
index 48bc675d39487d8d2abcf5ba6bc56e99530dcf27..5b66a19eaa2264c5c3db2c2a977fed5352df144a 100644 |
--- a/Source/core/editing/VisiblePosition.cpp |
+++ b/Source/core/editing/VisiblePosition.cpp |
@@ -687,16 +687,17 @@ UChar32 characterBefore(const VisiblePosition& visiblePosition) |
return characterAfter(previousPositionOf(visiblePosition)); |
} |
-LayoutRect VisiblePosition::localCaretRect(LayoutObject*& layoutObject) const |
+// TODO(yosin) We should move |localCaretRect()| to "VisibleUnits.cpp". |
+static LayoutRect localCaretRectOf(const VisiblePosition& visiblePosition, LayoutObject*& layoutObject) |
{ |
- PositionWithAffinity positionWithAffinity(m_deepPosition, m_affinity); |
+ PositionWithAffinity positionWithAffinity(visiblePosition.deepEquivalent(), visiblePosition.affinity()); |
return localCaretRectOfPosition(positionWithAffinity, layoutObject); |
} |
IntRect absoluteCaretBoundsOf(const VisiblePosition& visiblePosition) |
{ |
LayoutObject* layoutObject; |
- LayoutRect localRect = visiblePosition.localCaretRect(layoutObject); |
+ LayoutRect localRect = localCaretRectOf(visiblePosition, layoutObject); |
if (localRect.isEmpty() || !layoutObject) |
return IntRect(); |
@@ -712,7 +713,7 @@ int lineDirectionPointForBlockDirectionNavigationOf(const VisiblePosition& visib |
return 0; |
LayoutObject* layoutObject; |
- LayoutRect localRect = visiblePosition.localCaretRect(layoutObject); |
+ LayoutRect localRect = localCaretRectOf(visiblePosition, layoutObject); |
if (localRect.isEmpty() || !layoutObject) |
return 0; |