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

Unified Diff: Source/core/editing/SelectionController.cpp

Issue 1205563002: Use Position and PositionInComposedTree to create VisiblePosition at SelectionController (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/SelectionController.cpp
diff --git a/Source/core/editing/SelectionController.cpp b/Source/core/editing/SelectionController.cpp
index 3b3d3a911c5707fb6dd5bd83fb4ae30ef969c6cd..e2e23fa98eaa2470f062459a17169f3075752271 100644
--- a/Source/core/editing/SelectionController.cpp
+++ b/Source/core/editing/SelectionController.cpp
@@ -278,7 +278,8 @@ bool SelectionController::handleMousePressEventSingleClickAlgorithm(const MouseE
}
}
- VisiblePosition visiblePos(innerNode->layoutObject()->positionForPoint(event.localPoint()));
+ PositionWithAffinity eventPos = innerNode->layoutObject()->positionForPoint(event.localPoint());
+ VisiblePosition visiblePos(Strategy::toPositionType(eventPos.position()), eventPos.affinity());
if (visiblePos.isNull())
visiblePos = VisiblePosition(firstPositionInOrBeforeNode(innerNode), DOWNSTREAM);
PositionType pos = Strategy::toPositionType(visiblePos.deepEquivalent());
@@ -388,7 +389,8 @@ void SelectionController::updateSelectionForMouseDragAlgorithm(const HitTestResu
if (!target)
return;
- VisiblePosition targetPosition = m_frame->selection().selection().visiblePositionRespectingEditingBoundary(hitTestResult.localPoint(), target);
+ PositionWithAffinity rawTargetPosition = m_frame->selection().selection().positionRespectingEditingBoundary(hitTestResult.localPoint(), target);
+ VisiblePosition targetPosition = VisiblePosition(Strategy::toPositionType(rawTargetPosition.position()), rawTargetPosition.affinity());
// Don't modify the selection if we're not on a node.
if (targetPosition.isNull())
return;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698