| Index: Source/core/editing/VisiblePosition.cpp
|
| diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp
|
| index b04bd5ce0bb0a48e70dc9d311ecca844bdd8fbb3..7d9c82640873aaf6ae54bde1aaaabd2e8757bc49 100644
|
| --- a/Source/core/editing/VisiblePosition.cpp
|
| +++ b/Source/core/editing/VisiblePosition.cpp
|
| @@ -54,8 +54,8 @@ VisiblePosition::VisiblePosition(const Position &pos, EAffinity affinity)
|
| }
|
|
|
| VisiblePosition::VisiblePosition(const PositionInComposedTree& pos, EAffinity affinity)
|
| - : VisiblePosition(toPositionInDOMTree(pos), affinity)
|
| {
|
| + init(pos, affinity);
|
| }
|
|
|
| VisiblePosition::VisiblePosition(const PositionWithAffinity& positionWithAffinity)
|
| @@ -652,7 +652,8 @@ void VisiblePosition::init(const PositionType& position, EAffinity affinity)
|
| {
|
| m_affinity = affinity;
|
|
|
| - m_deepPosition = canonicalPosition(position);
|
| + PositionType deepPosition = canonicalPosition(position);
|
| + m_deepPosition = toPositionInDOMTree(deepPosition);
|
|
|
| if (m_affinity != UPSTREAM)
|
| return;
|
| @@ -663,7 +664,8 @@ void VisiblePosition::init(const PositionType& position, EAffinity affinity)
|
| }
|
|
|
| // When not at a line wrap, make sure to end up with DOWNSTREAM affinity.
|
| - if (!inSameLine(PositionWithAffinity(m_deepPosition, DOWNSTREAM), PositionWithAffinity(m_deepPosition, UPSTREAM)))
|
| + using PositionWithAffinityType = PositionWithAffinityTemplate<PositionType>;
|
| + if (!inSameLine(PositionWithAffinityType(deepPosition, DOWNSTREAM), PositionWithAffinityType(deepPosition, UPSTREAM)))
|
| return;
|
| m_affinity = DOWNSTREAM;
|
| }
|
|
|