| Index: Source/core/html/HTMLTextFormControlElement.cpp
|
| diff --git a/Source/core/html/HTMLTextFormControlElement.cpp b/Source/core/html/HTMLTextFormControlElement.cpp
|
| index 658ef9df2375ac4015e2f817e6984bd35abc38bf..f1015db34f8a31de6b02f7cf28fdaa4aaf29e894 100644
|
| --- a/Source/core/html/HTMLTextFormControlElement.cpp
|
| +++ b/Source/core/html/HTMLTextFormControlElement.cpp
|
| @@ -393,11 +393,13 @@ VisiblePosition HTMLTextFormControlElement::visiblePositionForIndex(int index) c
|
| {
|
| if (index <= 0)
|
| return VisiblePosition(firstPositionInNode(innerEditorElement()), DOWNSTREAM);
|
| - RefPtrWillBeRawPtr<Range> range = Range::create(document());
|
| - range->selectNodeContents(innerEditorElement(), ASSERT_NO_EXCEPTION);
|
| - CharacterIterator it(range.get());
|
| + Position start, end;
|
| + bool selected = Range::selectNodeContents(innerEditorElement(), start, end);
|
| + if (!selected)
|
| + return VisiblePosition();
|
| + CharacterIterator it(start, end);
|
| it.advance(index - 1);
|
| - return VisiblePosition(it.range()->endPosition(), UPSTREAM);
|
| + return VisiblePosition(it.endPosition(), UPSTREAM);
|
| }
|
|
|
| int HTMLTextFormControlElement::indexForVisiblePosition(const VisiblePosition& pos) const
|
|
|