summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/RenderObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderObject.cpp')
-rw-r--r--Source/WebCore/rendering/RenderObject.cpp13
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;