Index: Source/core/dom/PositionIterator.cpp |
diff --git a/Source/core/dom/PositionIterator.cpp b/Source/core/dom/PositionIterator.cpp |
index 09d35f119ad240aef9ace7caaca0197a6e3e63f2..147ab5ef9644a7e38c668df82e9f4a3cf7a7a577 100644 |
--- a/Source/core/dom/PositionIterator.cpp |
+++ b/Source/core/dom/PositionIterator.cpp |
@@ -165,6 +165,12 @@ bool PositionIterator::isCandidate() const |
if (renderer->isText()) |
return !Position::nodeIsUserSelectNone(m_anchorNode) && Position(*this).inRenderedText(); |
+ if (renderer->isSVG()) { |
+ // We don't consider SVG elements are contenteditable except for |
+ // associated renderer returns isText() true, e.g. RenderSVGInlineText. |
+ return false; |
+ } |
+ |
if (isRenderedTableElement(m_anchorNode) || editingIgnoresContent(m_anchorNode)) |
return (atStartOfNode() || atEndOfNode()) && !Position::nodeIsUserSelectNone(m_anchorNode->parentNode()); |