Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(834)

Unified Diff: Source/core/editing/commands/DeleteSelectionCommand.cpp

Issue 1317053004: Make VisiblePosition constructor private (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-09-01T18:48:19 Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/editing/commands/DeleteSelectionCommand.cpp
diff --git a/Source/core/editing/commands/DeleteSelectionCommand.cpp b/Source/core/editing/commands/DeleteSelectionCommand.cpp
index efcdfea0450aa367a7424cc19a9edfffba759d7b..b4d8dad37868b0618831f95247bbdfc24025ff18 100644
--- a/Source/core/editing/commands/DeleteSelectionCommand.cpp
+++ b/Source/core/editing/commands/DeleteSelectionCommand.cpp
@@ -50,7 +50,7 @@ using namespace HTMLNames;
static bool isTableCellEmpty(Node* cell)
{
ASSERT(isTableCell(cell));
- return VisiblePosition(firstPositionInNode(cell)).deepEquivalent() == VisiblePosition(lastPositionInNode(cell)).deepEquivalent();
+ return createVisiblePosition(firstPositionInNode(cell)).deepEquivalent() == createVisiblePosition(lastPositionInNode(cell)).deepEquivalent();
}
static bool isTableRowEmpty(Node* row)
@@ -129,7 +129,7 @@ void DeleteSelectionCommand::initializeStartEnd(Position& start, Position& end)
if (!startSpecialContainer && !endSpecialContainer)
break;
- if (VisiblePosition(start).deepEquivalent() != m_selectionToDelete.visibleStart().deepEquivalent() || VisiblePosition(end).deepEquivalent() != m_selectionToDelete.visibleEnd().deepEquivalent())
+ if (createVisiblePosition(start).deepEquivalent() != m_selectionToDelete.visibleStart().deepEquivalent() || createVisiblePosition(end).deepEquivalent() != m_selectionToDelete.visibleEnd().deepEquivalent())
break;
// If we're going to expand to include the startSpecialContainer, it must be fully selected.
@@ -158,8 +158,8 @@ void DeleteSelectionCommand::initializeStartEnd(Position& start, Position& end)
void DeleteSelectionCommand::setStartingSelectionOnSmartDelete(const Position& start, const Position& end)
{
bool isBaseFirst = startingSelection().isBaseFirst();
- VisiblePosition newBase(isBaseFirst ? start : end);
- VisiblePosition newExtent(isBaseFirst ? end : start);
+ VisiblePosition newBase = createVisiblePosition(isBaseFirst ? start : end);
+ VisiblePosition newExtent = createVisiblePosition(isBaseFirst ? end : start);
setStartingSelection(VisibleSelection(newBase, newExtent, startingSelection().isDirectional()));
}
@@ -195,7 +195,7 @@ void DeleteSelectionCommand::initializePositionData()
// Usually the start and the end of the selection to delete are pulled together as a result of the deletion.
// Sometimes they aren't (like when no merge is requested), so we must choose one position to hold the caret
// and receive the placeholder after deletion.
- VisiblePosition visibleEnd(m_downstreamEnd);
+ VisiblePosition visibleEnd = createVisiblePosition(m_downstreamEnd);
if (m_mergeBlocksAfterDelete && !isEndOfParagraph(visibleEnd))
m_endingPosition = m_downstreamEnd;
else
@@ -208,7 +208,7 @@ void DeleteSelectionCommand::initializePositionData()
// Only apply this rule if the endingSelection is a range selection. If it is a caret, then other operations have created
// the selection we're deleting (like the process of creating a selection to delete during a backspace), and the user isn't in the situation described above.
if (numEnclosingMailBlockquotes(start) != numEnclosingMailBlockquotes(end)
- && isStartOfParagraph(visibleEnd) && isStartOfParagraph(VisiblePosition(start))
+ && isStartOfParagraph(visibleEnd) && isStartOfParagraph(createVisiblePosition(start))
&& endingSelection().isRange()) {
m_mergeBlocksAfterDelete = false;
m_pruneStartBlockIfNecessary = true;
@@ -221,7 +221,7 @@ void DeleteSelectionCommand::initializePositionData()
if (m_smartDelete) {
// skip smart delete if the selection to delete already starts or ends with whitespace
- Position pos = VisiblePosition(m_upstreamStart, m_selectionToDelete.affinity()).deepEquivalent();
+ Position pos = createVisiblePosition(m_upstreamStart, m_selectionToDelete.affinity()).deepEquivalent();
bool skipSmartDelete = trailingWhitespacePosition(pos, VP_DEFAULT_AFFINITY, ConsiderNonCollapsibleWhitespace).isNotNull();
if (!skipSmartDelete)
skipSmartDelete = leadingWhitespacePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY, ConsiderNonCollapsibleWhitespace).isNotNull();
@@ -229,7 +229,7 @@ void DeleteSelectionCommand::initializePositionData()
// extend selection upstream if there is whitespace there
bool hasLeadingWhitespaceBeforeAdjustment = leadingWhitespacePosition(m_upstreamStart, m_selectionToDelete.affinity(), ConsiderNonCollapsibleWhitespace).isNotNull();
if (!skipSmartDelete && hasLeadingWhitespaceBeforeAdjustment) {
- VisiblePosition visiblePos = previousPositionOf(VisiblePosition(m_upstreamStart, VP_DEFAULT_AFFINITY));
+ VisiblePosition visiblePos = previousPositionOf(createVisiblePosition(m_upstreamStart, VP_DEFAULT_AFFINITY));
pos = visiblePos.deepEquivalent();
// Expand out one character upstream for smart delete and recalculate
// positions based on this change.
@@ -245,7 +245,7 @@ void DeleteSelectionCommand::initializePositionData()
if (!skipSmartDelete && !hasLeadingWhitespaceBeforeAdjustment && trailingWhitespacePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY, ConsiderNonCollapsibleWhitespace).isNotNull()) {
// Expand out one character downstream for smart delete and recalculate
// positions based on this change.
- pos = nextPositionOf(VisiblePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY)).deepEquivalent();
+ pos = nextPositionOf(createVisiblePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY)).deepEquivalent();
m_upstreamEnd = mostBackwardCaretPosition(pos);
m_downstreamEnd = mostForwardCaretPosition(pos);
m_trailingWhitespace = trailingWhitespacePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY);
@@ -318,7 +318,7 @@ bool DeleteSelectionCommand::handleSpecialCaseBRDelete()
// FIXME: This code doesn't belong in here.
// We detect the case where the start is an empty line consisting of BR not wrapped in a block element.
- if (upstreamStartIsBR && downstreamStartIsBR && !(isStartOfBlock(VisiblePosition(positionBeforeNode(nodeAfterUpstreamStart))) && isEndOfBlock(VisiblePosition(positionAfterNode(nodeAfterUpstreamStart))))) {
+ if (upstreamStartIsBR && downstreamStartIsBR && !(isStartOfBlock(createVisiblePosition(positionBeforeNode(nodeAfterUpstreamStart))) && isEndOfBlock(createVisiblePosition(positionAfterNode(nodeAfterUpstreamStart))))) {
m_startsAtEmptyLine = true;
m_endingPosition = m_downstreamEnd;
}
@@ -384,12 +384,12 @@ void DeleteSelectionCommand::removeNode(PassRefPtrWillBeRawPtr<Node> node, Shoul
}
if (node == m_startBlock) {
- VisiblePosition previous = previousPositionOf(VisiblePosition(firstPositionInNode(m_startBlock.get())));
+ VisiblePosition previous = previousPositionOf(createVisiblePosition(firstPositionInNode(m_startBlock.get())));
if (previous.isNotNull() && !isEndOfBlock(previous))
m_needPlaceholder = true;
}
if (node == m_endBlock) {
- VisiblePosition next = nextPositionOf(VisiblePosition(lastPositionInNode(m_endBlock.get())));
+ VisiblePosition next = nextPositionOf(createVisiblePosition(lastPositionInNode(m_endBlock.get())));
if (next.isNotNull() && !isStartOfBlock(next))
m_needPlaceholder = true;
}
@@ -615,8 +615,8 @@ void DeleteSelectionCommand::mergeParagraphs()
if (m_upstreamStart == m_downstreamEnd)
return;
- VisiblePosition startOfParagraphToMove(m_downstreamEnd);
- VisiblePosition mergeDestination(m_upstreamStart);
+ VisiblePosition startOfParagraphToMove = createVisiblePosition(m_downstreamEnd);
+ VisiblePosition mergeDestination = createVisiblePosition(m_upstreamStart);
// m_downstreamEnd's block has been emptied out by deletion. There is no content inside of it to
// move, so just remove it.
@@ -629,7 +629,7 @@ void DeleteSelectionCommand::mergeParagraphs()
// We need to merge into m_upstreamStart's block, but it's been emptied out and collapsed by deletion.
if (!mergeDestination.deepEquivalent().anchorNode() || (!mergeDestination.deepEquivalent().anchorNode()->isDescendantOf(enclosingBlock(m_upstreamStart.computeContainerNode())) && (!mergeDestination.deepEquivalent().anchorNode()->hasChildren() || !m_upstreamStart.computeContainerNode()->hasChildren())) || (m_startsAtEmptyLine && mergeDestination.deepEquivalent() != startOfParagraphToMove.deepEquivalent())) {
insertNodeAt(createBreakElement(document()).get(), m_upstreamStart);
- mergeDestination = VisiblePosition(m_upstreamStart);
+ mergeDestination = createVisiblePosition(m_upstreamStart);
}
if (mergeDestination.deepEquivalent() == startOfParagraphToMove.deepEquivalent())
@@ -816,7 +816,7 @@ void DeleteSelectionCommand::doApply()
// set up our state
initializePositionData();
- bool lineBreakBeforeStart = lineBreakExistsAtVisiblePosition(previousPositionOf(VisiblePosition(m_upstreamStart)));
+ bool lineBreakBeforeStart = lineBreakExistsAtVisiblePosition(previousPositionOf(createVisiblePosition(m_upstreamStart)));
// Delete any text that may hinder our ability to fixup whitespace after the
// delete
@@ -843,7 +843,7 @@ void DeleteSelectionCommand::doApply()
removePreviouslySelectedEmptyTableRows();
if (!m_needPlaceholder && rootWillStayOpenWithoutPlaceholder) {
- VisiblePosition visualEnding(m_endingPosition);
+ VisiblePosition visualEnding = createVisiblePosition(m_endingPosition);
bool hasPlaceholder = lineBreakExistsAtVisiblePosition(visualEnding)
&& nextPositionOf(visualEnding, CannotCrossEditingBoundary).isNull();
m_needPlaceholder = hasPlaceholder && lineBreakBeforeStart && !lineBreakAtEndOfSelectionToDelete;

Powered by Google App Engine
This is Rietveld 408576698