Index: third_party/WebKit/Source/core/editing/SelectionModifier.cpp |
diff --git a/third_party/WebKit/Source/core/editing/SelectionModifier.cpp b/third_party/WebKit/Source/core/editing/SelectionModifier.cpp |
index 9cad57af4b407ee68f804d11302d274d556a1b91..81ac24951bde310b93745b2f35f12dd5959e31bf 100644 |
--- a/third_party/WebKit/Source/core/editing/SelectionModifier.cpp |
+++ b/third_party/WebKit/Source/core/editing/SelectionModifier.cpp |
@@ -1,5 +1,6 @@ |
/* |
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. |
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
+ * reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
@@ -88,9 +89,10 @@ void SelectionModifier::willBeModified(EAlteration alter, |
bool baseIsStart = true; |
if (m_selection.isDirectional()) { |
- // Make base and extent match start and end so we extend the user-visible selection. |
- // This only matters for cases where base and extend point to different positions than |
- // start and end (e.g. after a double-click to select a word). |
+ // Make base and extent match start and end so we extend the user-visible |
+ // selection. This only matters for cases where base and extend point to |
+ // different positions than start and end (e.g. after a double-click to |
+ // select a word). |
if (m_selection.isBaseFirst()) |
baseIsStart = true; |
else |
@@ -194,9 +196,10 @@ VisiblePosition SelectionModifier::modifyExtendingRight( |
// The difference between modifyExtendingRight and modifyExtendingForward is: |
// modifyExtendingForward always extends forward logically. |
- // modifyExtendingRight behaves the same as modifyExtendingForward except for extending character or word, |
- // it extends forward logically if the enclosing block is LTR direction, |
- // but it extends backward logically if the enclosing block is RTL direction. |
+ // modifyExtendingRight behaves the same as modifyExtendingForward except for |
+ // extending character or word, it extends forward logically if the enclosing |
+ // block is LTR direction, but it extends backward logically if the enclosing |
+ // block is RTL direction. |
switch (granularity) { |
case CharacterGranularity: |
if (directionOfEnclosingBlock() == LTR) |
@@ -338,8 +341,9 @@ VisiblePosition SelectionModifier::modifyMovingForward( |
createVisiblePosition(m_selection.extent(), m_selection.affinity())); |
break; |
case LineGranularity: { |
- // down-arrowing from a range selection that ends at the start of a line needs |
- // to leave the selection at that line start (no need to call nextLinePosition!) |
+ // down-arrowing from a range selection that ends at the start of a line |
+ // needs to leave the selection at that line start (no need to call |
+ // nextLinePosition!) |
pos = endForPlatform(); |
if (!m_selection.isRange() || !isStartOfLine(pos)) |
pos = nextLinePosition( |
@@ -378,9 +382,10 @@ VisiblePosition SelectionModifier::modifyExtendingLeft( |
// The difference between modifyExtendingLeft and modifyExtendingBackward is: |
// modifyExtendingBackward always extends backward logically. |
- // modifyExtendingLeft behaves the same as modifyExtendingBackward except for extending character or word, |
- // it extends backward logically if the enclosing block is LTR direction, |
- // but it extends forward logically if the enclosing block is RTL direction. |
+ // modifyExtendingLeft behaves the same as modifyExtendingBackward except for |
+ // extending character or word, it extends backward logically if the enclosing |
+ // block is LTR direction, but it extends forward logically if the enclosing |
+ // block is RTL direction. |
switch (granularity) { |
case CharacterGranularity: |
if (directionOfEnclosingBlock() == LTR) |
@@ -418,10 +423,10 @@ VisiblePosition SelectionModifier::modifyExtendingBackward( |
VisiblePosition pos = |
createVisiblePosition(m_selection.extent(), m_selection.affinity()); |
- // Extending a selection backward by word or character from just after a table selects |
- // the table. This "makes sense" from the user perspective, esp. when deleting. |
- // It was done here instead of in VisiblePosition because we want VPs to iterate |
- // over everything. |
+ // Extending a selection backward by word or character from just after a table |
+ // selects the table. This "makes sense" from the user perspective, esp. when |
+ // deleting. It was done here instead of in VisiblePosition because we want |
+ // VPs to iterate over everything. |
switch (granularity) { |
case CharacterGranularity: |
pos = previousPositionOf(pos, CanSkipOverEditingBoundary); |
@@ -630,8 +635,9 @@ bool SelectionModifier::modify(EAlteration alter, |
// Some of the above operations set an xPosForVerticalArrowNavigation. |
// Setting a selection will clear it, so save it to possibly restore later. |
- // Note: the START position type is arbitrary because it is unused, it would be |
- // the requested position type if there were no xPosForVerticalArrowNavigation set. |
+ // Note: the START position type is arbitrary because it is unused, it would |
+ // be the requested position type if there were no |
+ // xPosForVerticalArrowNavigation set. |
LayoutUnit x = lineDirectionPointForBlockDirectionNavigation(START); |
m_selection.setIsDirectional(shouldAlwaysUseDirectionalSelection(frame()) || |
alter == FrameSelection::AlterationExtend); |
@@ -651,10 +657,11 @@ bool SelectionModifier::modify(EAlteration alter, |
->editor() |
.behavior() |
.shouldExtendSelectionByWordOrLineAcrossCaret()) { |
- // Don't let the selection go across the base position directly. Needed to match mac |
- // behavior when, for instance, word-selecting backwards starting with the caret in |
- // the middle of a word and then word-selecting forward, leaving the caret in the |
- // same place where it was, instead of directly selecting to the end of the word. |
+ // Don't let the selection go across the base position directly. Needed |
+ // to match mac behavior when, for instance, word-selecting backwards |
+ // starting with the caret in the middle of a word and then |
+ // word-selecting forward, leaving the caret in the same place where it |
+ // was, instead of directly selecting to the end of the word. |
VisibleSelection newSelection = m_selection; |
newSelection.setExtent(position); |
if (m_selection.isBaseFirst() != newSelection.isBaseFirst()) |
@@ -800,9 +807,11 @@ static LayoutUnit lineDirectionPointForBlockDirectionNavigationOf( |
FloatPoint caretPoint = |
layoutObject->localToAbsolute(FloatPoint(localRect.location())); |
LayoutObject* containingBlock = layoutObject->containingBlock(); |
- if (!containingBlock) |
- containingBlock = |
- layoutObject; // Just use ourselves to determine the writing mode if we have no containing block. |
+ if (!containingBlock) { |
+ // Just use ourselves to determine the writing mode if we have no containing |
+ // block. |
+ containingBlock = layoutObject; |
+ } |
return LayoutUnit(containingBlock->isHorizontalWritingMode() |
? caretPoint.x() |
: caretPoint.y()); |
@@ -838,8 +847,9 @@ LayoutUnit SelectionModifier::lineDirectionPointForBlockDirectionNavigation( |
if (m_xPosForVerticalArrowNavigation == NoXPosForVerticalArrowNavigation()) { |
VisiblePosition visiblePosition = |
createVisiblePosition(pos, m_selection.affinity()); |
- // VisiblePosition creation can fail here if a node containing the selection becomes visibility:hidden |
- // after the selection is created and before this function is called. |
+ // VisiblePosition creation can fail here if a node containing the selection |
+ // becomes visibility:hidden after the selection is created and before this |
+ // function is called. |
x = lineDirectionPointForBlockDirectionNavigationOf(visiblePosition); |
m_xPosForVerticalArrowNavigation = x; |
} else { |