Index: Source/core/dom/StyleSheetScopingNodeList.cpp |
diff --git a/Source/core/dom/StyleSheetScopingNodeList.cpp b/Source/core/dom/StyleSheetScopingNodeList.cpp |
index 7510eb01861877015221c9c7d087affc4e4a3f06..e2a5b3da044d13db917210f1a9239bc572c9e72b 100644 |
--- a/Source/core/dom/StyleSheetScopingNodeList.cpp |
+++ b/Source/core/dom/StyleSheetScopingNodeList.cpp |
@@ -51,10 +51,11 @@ void StyleSheetScopingNodeList::remove(ContainerNode* node) |
if (isTreeScopeRoot(node) || !m_scopingNodes) |
return; |
- m_scopingNodes->remove(node); |
+ // If the node is still working as a scoping node, we cannot remove. |
if (node->inDocument() && node->numberOfScopedHTMLStyleChildren()) |
return; |
+ m_scopingNodes->remove(node); |
if (!m_scopingNodesRemoved) |
m_scopingNodesRemoved = adoptPtr(new ListHashSet<Node*, 4>()); |
m_scopingNodesRemoved->add(node); |