Chromium Code Reviews| Index: Source/core/page/DOMSelection.cpp |
| diff --git a/Source/core/page/DOMSelection.cpp b/Source/core/page/DOMSelection.cpp |
| index 04a5a906f620d609a8fd18b0d527c6eb179fffde..56ca2f31f3ee1496b51264dd2582181637739e8c 100644 |
| --- a/Source/core/page/DOMSelection.cpp |
| +++ b/Source/core/page/DOMSelection.cpp |
| @@ -207,9 +207,16 @@ void DOMSelection::collapse(Node* node, int offset, ExceptionState& exceptionSta |
| if (!isValidForPosition(node)) |
| return; |
| - |
| - // FIXME: Eliminate legacy editing positions |
| - m_frame->selection().moveTo(VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM)); |
| + if (!node) |
|
yosin_UTC9
2014/06/05 03:43:36
nit: Can we merge this if-statement to L208?
yoichio
2014/06/06 07:54:49
Oh, |node| is asserted at L199 so this line is no
|
| + return; |
| + RefPtr<Range> range = Range::create(node->document()); |
|
yosin_UTC9
2014/06/05 03:43:36
nit: Please use RefPtrWillbeRawPtr<Range>
yoichio
2014/06/06 07:54:49
Done.
|
| + range->setStart(node, offset, exceptionState); |
| + if (exceptionState.hadException()) |
| + return; |
| + range->setEnd(node, offset, exceptionState); |
| + if (exceptionState.hadException()) |
| + return; |
| + m_frame->selection().setSelectedRange(range.get(), DOWNSTREAM); |
| } |
| void DOMSelection::collapse(Node* node, ExceptionState& exceptionState) |