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

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

Issue 1302353002: Get rid of redundant member function PositionAlgorithm<Strategy>::{upstream,downstream} (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-08-22T04:51:20 Rebase 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 396bd93130980c8d18b822dbacf71cf789dea8e0..9565fca09ed2c03543f2bef49ccde863068bec32 100644
--- a/Source/core/editing/commands/DeleteSelectionCommand.cpp
+++ b/Source/core/editing/commands/DeleteSelectionCommand.cpp
@@ -172,10 +172,10 @@ void DeleteSelectionCommand::initializePositionData()
if (!isEditablePosition(end, ContentIsEditable, DoNotUpdateStyle))
end = lastEditablePositionBeforePositionInRoot(end, highestEditableRoot(start));
- m_upstreamStart = start.upstream();
- m_downstreamStart = start.downstream();
- m_upstreamEnd = end.upstream();
- m_downstreamEnd = end.downstream();
+ m_upstreamStart = mostBackwardCaretPosition(start);
+ m_downstreamStart = mostForwardCaretPosition(start);
+ m_upstreamEnd = mostBackwardCaretPosition(end);
+ m_downstreamEnd = mostForwardCaretPosition(end);
m_startRoot = editableRootForPosition(start);
m_endRoot = editableRootForPosition(end);
@@ -233,8 +233,8 @@ void DeleteSelectionCommand::initializePositionData()
pos = visiblePos.deepEquivalent();
// Expand out one character upstream for smart delete and recalculate
// positions based on this change.
- m_upstreamStart = pos.upstream();
- m_downstreamStart = pos.downstream();
+ m_upstreamStart = mostBackwardCaretPosition(pos);
+ m_downstreamStart = mostForwardCaretPosition(pos);
m_leadingWhitespace = leadingWhitespacePosition(m_upstreamStart, visiblePos.affinity());
setStartingSelectionOnSmartDelete(m_upstreamStart, m_upstreamEnd);
@@ -246,8 +246,8 @@ void DeleteSelectionCommand::initializePositionData()
// Expand out one character downstream for smart delete and recalculate
// positions based on this change.
pos = VisiblePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY).next().deepEquivalent();
- m_upstreamEnd = pos.upstream();
- m_downstreamEnd = pos.downstream();
+ m_upstreamEnd = mostBackwardCaretPosition(pos);
+ m_downstreamEnd = mostForwardCaretPosition(pos);
m_trailingWhitespace = trailingWhitespacePosition(m_downstreamEnd, VP_DEFAULT_AFFINITY);
setStartingSelectionOnSmartDelete(m_downstreamStart, m_downstreamEnd);
@@ -654,8 +654,8 @@ void DeleteSelectionCommand::mergeParagraphs()
// The rule for merging into an empty block is: only do so if its farther to the right.
// FIXME: Consider RTL.
if (!m_startsAtEmptyLine && isStartOfParagraph(mergeDestination) && startOfParagraphToMove.absoluteCaretBounds().x() > mergeDestination.absoluteCaretBounds().x()) {
- if (isHTMLBRElement(*mergeDestination.deepEquivalent().downstream().anchorNode())) {
- removeNodeAndPruneAncestors(mergeDestination.deepEquivalent().downstream().anchorNode());
+ if (isHTMLBRElement(*mostForwardCaretPosition(mergeDestination.deepEquivalent()).anchorNode())) {
+ removeNodeAndPruneAncestors(mostForwardCaretPosition(mergeDestination.deepEquivalent()).anchorNode());
m_endingPosition = startOfParagraphToMove.deepEquivalent();
return;
}
@@ -794,7 +794,7 @@ void DeleteSelectionCommand::doApply()
// save this to later make the selection with
TextAffinity affinity = m_selectionToDelete.affinity();
- Position downstreamEnd = m_selectionToDelete.end().downstream();
+ Position downstreamEnd = mostForwardCaretPosition(m_selectionToDelete.end());
bool rootWillStayOpenWithoutPlaceholder = downstreamEnd.computeContainerNode() == downstreamEnd.computeContainerNode()->rootEditableElement()
|| (downstreamEnd.computeContainerNode()->isTextNode() && downstreamEnd.computeContainerNode()->parentNode() == downstreamEnd.computeContainerNode()->rootEditableElement());
bool lineBreakAtEndOfSelectionToDelete = lineBreakExistsAtVisiblePosition(m_selectionToDelete.visibleEnd());
« no previous file with comments | « Source/core/editing/commands/CompositeEditCommand.cpp ('k') | Source/core/editing/commands/InsertListCommand.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698