| Index: Source/core/dom/PositionIterator.cpp
|
| diff --git a/Source/core/dom/PositionIterator.cpp b/Source/core/dom/PositionIterator.cpp
|
| index cf18d99daa24fda35d57fbb4d1052a962c686916..6e3d4874c15aca1e36e6a55c631c55078475f168 100644
|
| --- a/Source/core/dom/PositionIterator.cpp
|
| +++ b/Source/core/dom/PositionIterator.cpp
|
| @@ -93,7 +93,7 @@ void PositionIteratorAlgorithm<Strategy>::increment()
|
| return;
|
| }
|
|
|
| - if (!Strategy::hasChildren(*m_anchorNode) && m_offsetInAnchor < Strategy::lastOffsetForEditing(m_anchorNode)) {
|
| + if (m_anchorNode->layoutObject() && !Strategy::hasChildren(*m_anchorNode) && m_offsetInAnchor < Strategy::lastOffsetForEditing(m_anchorNode)) {
|
| m_offsetInAnchor = PositionAlgorithm<Strategy>::uncheckedNextOffset(m_anchorNode, m_offsetInAnchor);
|
| } else {
|
| m_nodeAfterPositionInAnchor = m_anchorNode;
|
| @@ -126,7 +126,7 @@ void PositionIteratorAlgorithm<Strategy>::decrement()
|
| m_anchorNode = Strategy::lastChild(*m_anchorNode);
|
| m_offsetInAnchor = Strategy::hasChildren(*m_anchorNode)? 0 : Strategy::lastOffsetForEditing(m_anchorNode);
|
| } else {
|
| - if (m_offsetInAnchor) {
|
| + if (m_offsetInAnchor && m_anchorNode->layoutObject()) {
|
| m_offsetInAnchor = PositionAlgorithm<Strategy>::uncheckedPreviousOffset(m_anchorNode, m_offsetInAnchor);
|
| } else {
|
| m_nodeAfterPositionInAnchor = m_anchorNode;
|
|
|