Index: Source/core/dom/Node.cpp |
diff --git a/Source/core/dom/Node.cpp b/Source/core/dom/Node.cpp |
index 04356d0b344fbfe5426e8b81ea019cbf6708687a..4241f1be6d9ff812ee667b4108410dfc1ffae571 100644 |
--- a/Source/core/dom/Node.cpp |
+++ b/Source/core/dom/Node.cpp |
@@ -919,7 +919,11 @@ void Node::detach(const AttachContext& context) |
DocumentLifecycle::DetachScope willDetach(document().lifecycle()); |
#if ENABLE(ASSERT) |
- ASSERT(!detachingNode); |
+ // The detaching might trigger destruction of a popup menu window, |
+ // with ensuing detachment of its Nodes. In a separate document, so |
+ // don't assert for these, but do set detachingNode to the most recent |
+ // Node being detached. |
+ ASSERT(!detachingNode || detachingNode->document() != document()); |
detachingNode = this; |
#endif |