diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderObject.cpp')
-rw-r--r-- | Source/WebCore/rendering/RenderObject.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp index ebab355..d06db14 100644 --- a/Source/WebCore/rendering/RenderObject.cpp +++ b/Source/WebCore/rendering/RenderObject.cpp @@ -2651,13 +2651,14 @@ VisiblePosition RenderObject::createVisiblePosition(int offset, EAffinity affini // If it can be found, we prefer a visually equivalent position that is editable. Position position(node, offset); Position candidate = position.downstream(CanCrossEditingBoundary); - if (candidate.node()->isContentEditable()) + if (candidate.deprecatedNode()->isContentEditable()) return VisiblePosition(candidate, affinity); candidate = position.upstream(CanCrossEditingBoundary); - if (candidate.node()->isContentEditable()) + if (candidate.deprecatedNode()->isContentEditable()) return VisiblePosition(candidate, affinity); } - return VisiblePosition(node, offset, affinity); + // FIXME: Eliminate legacy editing positions + return VisiblePosition(Position(node, offset), affinity); } // We don't want to cross the boundary between editable and non-editable @@ -2672,7 +2673,7 @@ VisiblePosition RenderObject::createVisiblePosition(int offset, EAffinity affini RenderObject* renderer = child; while ((renderer = renderer->nextInPreOrder(parent))) { if (Node* node = renderer->node()) - return VisiblePosition(node, 0, DOWNSTREAM); + return VisiblePosition(firstPositionInOrBeforeNode(node), DOWNSTREAM); } // Find non-anonymous content before. @@ -2681,12 +2682,12 @@ VisiblePosition RenderObject::createVisiblePosition(int offset, EAffinity affini if (renderer == parent) break; if (Node* node = renderer->node()) - return VisiblePosition(lastDeepEditingPositionForNode(node), DOWNSTREAM); + return VisiblePosition(lastPositionInOrAfterNode(node), DOWNSTREAM); } // Use the parent itself unless it too is anonymous. if (Node* node = parent->node()) - return VisiblePosition(node, 0, DOWNSTREAM); + return VisiblePosition(firstPositionInOrBeforeNode(node), DOWNSTREAM); // Repeat at the next level up. child = parent; |