Index: Source/core/dom/Node.cpp |
diff --git a/Source/core/dom/Node.cpp b/Source/core/dom/Node.cpp |
index 19c2cc0cfecd019f70ed76f2247f9c11b7588de5..cd07aa30ef859ee7d59b7dbc96a1a43bc501a7fb 100644 |
--- a/Source/core/dom/Node.cpp |
+++ b/Source/core/dom/Node.cpp |
@@ -2441,8 +2441,12 @@ void Node::trace(Visitor* visitor) |
visitor->trace(m_parentOrShadowHostNode); |
visitor->trace(m_previous); |
visitor->trace(m_next); |
+ // rareData() and m_data.m_renderer share their storage. We have to trace |
+ // only one of them. |
if (hasRareData()) |
visitor->trace(rareData()); |
+ else |
+ visitor->trace(m_data.m_renderer); |
visitor->trace(m_treeScope); |
#endif |
EventTarget::trace(visitor); |