Index: Source/core/editing/EditingUtilities.cpp |
diff --git a/Source/core/editing/EditingUtilities.cpp b/Source/core/editing/EditingUtilities.cpp |
index eac4b20d1436a1b5e94fb749434cce3048bed315..8474bbb25f2e4b7baa644874eacbac8f7a6be2ae 100644 |
--- a/Source/core/editing/EditingUtilities.cpp |
+++ b/Source/core/editing/EditingUtilities.cpp |
@@ -448,7 +448,7 @@ PositionInComposedTree previousVisuallyDistinctCandidate(const PositionInCompose |
VisiblePosition firstEditableVisiblePositionAfterPositionInRoot(const Position& position, ContainerNode* highestRoot) |
{ |
- return VisiblePosition(firstEditablePositionAfterPositionInRoot(position, highestRoot)); |
+ return createVisiblePosition(firstEditablePositionAfterPositionInRoot(position, highestRoot)); |
} |
template <typename Strategy> |
@@ -489,7 +489,7 @@ PositionInComposedTree firstEditablePositionAfterPositionInRoot(const PositionIn |
VisiblePosition lastEditableVisiblePositionBeforePositionInRoot(const Position& position, ContainerNode* highestRoot) |
{ |
- return VisiblePosition(lastEditablePositionBeforePositionInRoot(position, highestRoot)); |
+ return createVisiblePosition(lastEditablePositionBeforePositionInRoot(position, highestRoot)); |
} |
template <typename Strategy> |
@@ -803,8 +803,8 @@ static HTMLElement* firstInSpecialElement(const Position& pos) |
for (Node* n = pos.anchorNode(); n && n->rootEditableElement() == rootEditableElement; n = n->parentNode()) { |
if (isSpecialHTMLElement(*n)) { |
HTMLElement* specialElement = toHTMLElement(n); |
- VisiblePosition vPos = VisiblePosition(pos); |
- VisiblePosition firstInElement = VisiblePosition(firstPositionInOrBeforeNode(specialElement)); |
+ VisiblePosition vPos = createVisiblePosition(pos); |
+ VisiblePosition firstInElement = createVisiblePosition(firstPositionInOrBeforeNode(specialElement)); |
if (isRenderedTableElement(specialElement) && vPos.deepEquivalent() == nextPositionOf(firstInElement).deepEquivalent()) |
return specialElement; |
if (vPos.deepEquivalent() == firstInElement.deepEquivalent()) |
@@ -820,8 +820,8 @@ static HTMLElement* lastInSpecialElement(const Position& pos) |
for (Node* n = pos.anchorNode(); n && n->rootEditableElement() == rootEditableElement; n = n->parentNode()) { |
if (isSpecialHTMLElement(*n)) { |
HTMLElement* specialElement = toHTMLElement(n); |
- VisiblePosition vPos = VisiblePosition(pos); |
- VisiblePosition lastInElement = VisiblePosition(lastPositionInOrAfterNode(specialElement)); |
+ VisiblePosition vPos = createVisiblePosition(pos); |
+ VisiblePosition lastInElement = createVisiblePosition(lastPositionInOrAfterNode(specialElement)); |
if (isRenderedTableElement(specialElement) && vPos.deepEquivalent() == previousPositionOf(lastInElement).deepEquivalent()) |
return specialElement; |
if (vPos.deepEquivalent() == lastInElement.deepEquivalent()) |
@@ -926,20 +926,20 @@ Node* nextAtomicLeafNode(const Node& start) |
VisiblePosition visiblePositionBeforeNode(Node& node) |
{ |
if (node.hasChildren()) |
- return VisiblePosition(firstPositionInOrBeforeNode(&node)); |
+ return createVisiblePosition(firstPositionInOrBeforeNode(&node)); |
ASSERT(node.parentNode()); |
ASSERT(!node.parentNode()->isShadowRoot()); |
- return VisiblePosition(positionInParentBeforeNode(node)); |
+ return createVisiblePosition(positionInParentBeforeNode(node)); |
} |
// Returns the visible position at the ending of a node |
VisiblePosition visiblePositionAfterNode(Node& node) |
{ |
if (node.hasChildren()) |
- return VisiblePosition(lastPositionInOrAfterNode(&node)); |
+ return createVisiblePosition(lastPositionInOrAfterNode(&node)); |
ASSERT(node.parentNode()); |
ASSERT(!node.parentNode()->isShadowRoot()); |
- return VisiblePosition(positionInParentAfterNode(node)); |
+ return createVisiblePosition(positionInParentAfterNode(node)); |
} |
bool isHTMLListElement(Node* n) |
@@ -1118,8 +1118,8 @@ Node* enclosingEmptyListItem(const VisiblePosition& visiblePos) |
if (!listChildNode || !isStartOfParagraph(visiblePos) || !isEndOfParagraph(visiblePos)) |
return 0; |
- VisiblePosition firstInListChild(firstPositionInOrBeforeNode(listChildNode)); |
- VisiblePosition lastInListChild(lastPositionInOrAfterNode(listChildNode)); |
+ VisiblePosition firstInListChild = createVisiblePosition(firstPositionInOrBeforeNode(listChildNode)); |
+ VisiblePosition lastInListChild = createVisiblePosition(lastPositionInOrAfterNode(listChildNode)); |
if (firstInListChild.deepEquivalent() != visiblePos.deepEquivalent() || lastInListChild.deepEquivalent() != visiblePos.deepEquivalent()) |
return 0; |
@@ -1146,7 +1146,7 @@ HTMLElement* outermostEnclosingList(Node* node, HTMLElement* rootList) |
// while ignoring whitespaces and unrendered nodes |
static bool isVisiblyAdjacent(const Position& first, const Position& second) |
{ |
- return VisiblePosition(first).deepEquivalent() == VisiblePosition(mostBackwardCaretPosition(second)).deepEquivalent(); |
+ return createVisiblePosition(first).deepEquivalent() == createVisiblePosition(mostBackwardCaretPosition(second)).deepEquivalent(); |
} |
bool canMergeLists(Element* firstList, Element* secondList) |
@@ -1316,7 +1316,7 @@ static Position previousCharacterPosition(const Position& position, TextAffinity |
Element* fromRootEditableElement = position.anchorNode()->rootEditableElement(); |
- bool atStartOfLine = isStartOfLine(VisiblePosition(position, affinity)); |
+ bool atStartOfLine = isStartOfLine(createVisiblePosition(position, affinity)); |
bool rendered = isVisuallyEquivalentCandidate(position); |
Position currentPos = position; |
@@ -1369,7 +1369,7 @@ Position trailingWhitespacePosition(const Position& position, TextAffinity, Whit |
if (position.isNull()) |
return Position(); |
- VisiblePosition visiblePosition(position); |
+ VisiblePosition visiblePosition = createVisiblePosition(position); |
UChar characterAfterVisiblePosition = characterAfter(visiblePosition); |
bool isSpace = option == ConsiderNonCollapsibleWhitespace ? (isSpaceOrNewline(characterAfterVisiblePosition) || characterAfterVisiblePosition == noBreakSpaceCharacter) : isCollapsibleWhitespace(characterAfterVisiblePosition); |
// The space must not be in another paragraph and it must be editable. |
@@ -1568,7 +1568,7 @@ VisiblePosition visiblePositionForIndex(int index, ContainerNode* scope) |
// TextIteratorEmitsCharactersBetweenAllVisiblePositions. |
if (range.isNull()) |
return VisiblePosition(); |
- return VisiblePosition(range.startPosition()); |
+ return createVisiblePosition(range.startPosition()); |
} |
// Determines whether a node is inside a range or visibly starts and ends at the boundaries of the range. |
@@ -1578,11 +1578,11 @@ bool isNodeVisiblyContainedWithin(Node& node, const Range& selectedRange) |
if (selectedRange.isNodeFullyContained(node)) |
return true; |
- bool startIsVisuallySame = visiblePositionBeforeNode(node).deepEquivalent() == VisiblePosition(selectedRange.startPosition()).deepEquivalent(); |
+ bool startIsVisuallySame = visiblePositionBeforeNode(node).deepEquivalent() == createVisiblePosition(selectedRange.startPosition()).deepEquivalent(); |
if (startIsVisuallySame && comparePositions(positionInParentAfterNode(node), selectedRange.endPosition()) < 0) |
return true; |
- bool endIsVisuallySame = visiblePositionAfterNode(node).deepEquivalent() == VisiblePosition(selectedRange.endPosition()).deepEquivalent(); |
+ bool endIsVisuallySame = visiblePositionAfterNode(node).deepEquivalent() == createVisiblePosition(selectedRange.endPosition()).deepEquivalent(); |
if (endIsVisuallySame && comparePositions(selectedRange.startPosition(), positionInParentBeforeNode(node)) < 0) |
return true; |
@@ -1642,7 +1642,7 @@ Position adjustedSelectionStartForStyleComputation(const VisibleSelection& selec |
// It is important to skip certain irrelevant content at the start of the selection, so we do not wind up |
// with a spurious "mixed" style. |
- VisiblePosition visiblePosition(selection.start()); |
+ VisiblePosition visiblePosition = createVisiblePosition(selection.start()); |
if (visiblePosition.isNull()) |
return Position(); |