Index: third_party/WebKit/Source/core/dom/Node.cpp |
diff --git a/third_party/WebKit/Source/core/dom/Node.cpp b/third_party/WebKit/Source/core/dom/Node.cpp |
index 8887dc3c9ad1bbcd71139232797e17c2ce296b75..b5d634ec2a491852f9bd91b68dfcddbe5463335c 100644 |
--- a/third_party/WebKit/Source/core/dom/Node.cpp |
+++ b/third_party/WebKit/Source/core/dom/Node.cpp |
@@ -267,6 +267,8 @@ Node::~Node() |
// this condition (we cannot directly access it here.) |
RELEASE_ASSERT(hasRareData() || !layoutObject()); |
InstanceCounters::decrementCounter(InstanceCounters::NodeCounter); |
+ if (!hasRareData() && m_data.m_computedStyle) |
+ m_data.m_computedStyle->deref(); |
} |
NodeRareData* Node::rareData() const |
@@ -281,9 +283,9 @@ NodeRareData& Node::ensureRareData() |
return *rareData(); |
if (isElementNode()) |
- m_data.m_rareData = ElementRareData::create(m_data.m_layoutObject); |
+ m_data.m_rareData = ElementRareData::create(layoutObject()); |
else |
- m_data.m_rareData = NodeRareData::create(m_data.m_layoutObject); |
+ m_data.m_rareData = NodeRareData::create(layoutObject()); |
DCHECK(m_data.m_rareData); |