| 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();
|
|
|
|
|