Chromium Code Reviews| Index: third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
| diff --git a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
| index 5a9dda91338e369e5a20e3c4d6e43df14c3f4b9e..e83005201541b235418c4cdfaf7da83c332483dd 100644 |
| --- a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
| +++ b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp |
| @@ -2936,8 +2936,7 @@ bool isVisuallyEquivalentCandidate(const PositionInFlatTree& position) |
| template <typename Strategy> |
| static IntRect absoluteCaretBoundsOfAlgorithm(const VisiblePositionTemplate<Strategy>& visiblePosition) |
| { |
| - // TODO(xiaochengh): Ensure that this function is called with a valid |
| - // |visiblePosition|, and add |DCHECK(visiblePosition.isValid())|; |
| + DCHECK(visiblePosition.isValid()) << visiblePosition; |
| LayoutObject* layoutObject; |
| LayoutRect localRect = localCaretRectOfPosition(visiblePosition.toPositionWithAffinity(), layoutObject); |
| if (localRect.isEmpty() || !layoutObject) |
| @@ -2957,6 +2956,22 @@ IntRect absoluteCaretBoundsOf(const VisiblePositionInFlatTree& visiblePosition) |
| } |
| template <typename Strategy> |
| +static IntRect absoluteCaretBoundsOfAlgorithmDeprecated(const VisiblePositionTemplate<Strategy>& visiblePosition) |
|
yosin_UTC9
2016/09/27 10:09:50
Let's make absoluteCaretBoundsOfAlgorithm to take
|
| +{ |
| + LayoutObject* layoutObject; |
| + LayoutRect localRect = localCaretRectOfPosition(visiblePosition.toPositionWithAffinity(), layoutObject); |
| + if (localRect.isEmpty() || !layoutObject) |
| + return IntRect(); |
| + |
| + return layoutObject->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox(); |
| +} |
| + |
| +IntRect absoluteCaretBoundsOfDeprecated(const VisiblePosition& visiblePosition) |
| +{ |
| + return absoluteCaretBoundsOfAlgorithmDeprecated<EditingStrategy>(visiblePosition); |
| +} |
| + |
| +template <typename Strategy> |
| static VisiblePositionTemplate<Strategy> skipToEndOfEditingBoundary(const VisiblePositionTemplate<Strategy>& pos, const PositionTemplate<Strategy>& anchor) |
| { |
| DCHECK(pos.isValid()) << pos; |