Chromium Code Reviews| Index: Source/core/editing/SelectionController.cpp | 
| diff --git a/Source/core/editing/SelectionController.cpp b/Source/core/editing/SelectionController.cpp | 
| index 6544f3ce7d923d24655242e3ee59a7adbd8fbac6..d2e0e6678f4664efc926bc0146d4c3362f292dcb 100644 | 
| --- a/Source/core/editing/SelectionController.cpp | 
| +++ b/Source/core/editing/SelectionController.cpp | 
| @@ -193,7 +193,7 @@ bool SelectionController::handleMousePressEventSingleClickAlgorithm(const MouseE | 
| granularity = selection().granularity(); | 
| expandSelectionUsingGranularity(newSelection, selection().granularity()); | 
| } | 
| - } else { | 
| + } else if (m_selectionState != SelectionState::ExtendedSelection) { | 
| newSelection = expandSelectionToRespectUserSelectAll(innerNode, VisibleSelection(visiblePos)); | 
| } | 
| @@ -618,6 +618,16 @@ bool SelectionController::mouseDownWasSingleClickInSelection() const | 
| return m_mouseDownWasSingleClickInSelection; | 
| } | 
| +void SelectionController::notifySelectionChanged() | 
| +{ | 
| 
 
yosin_UTC9
2015/07/06 01:57:30
It is better to have a function which maps |Select
 
Miyoung Shin(g)
2015/07/13 03:32:57
Done.
 
 | 
| + if (selection().isRange()) | 
| + m_selectionState = SelectionState::ExtendedSelection; | 
| + else if (selection().isCaret()) | 
| + m_selectionState = SelectionState::PlacedCaret; | 
| + else | 
| + m_selectionState = SelectionState::HaveNotStartedSelection; | 
| +} | 
| + | 
| FrameSelection& SelectionController::selection() const | 
| { | 
| return m_frame->selection(); |