diff options
Diffstat (limited to 'dom/base/Element.cpp')
-rw-r--r-- | dom/base/Element.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index bfa0869c3..bc1e27ba7 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -1983,11 +1983,12 @@ Element::UnbindFromTree(bool aDeep, bool aNullParent) document->ClearBoxObjectFor(this); - // Detached must be enqueued whenever custom element is removed from - // the document and this document has a browsing context. - if (GetCustomElementData() && document->GetDocShell()) { - // Enqueue a detached callback for the custom element. - nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eDetached, this); + // Disconnected must be enqueued whenever a connected custom element becomes + // disconnected. + if (CustomElementRegistry::IsCustomElementEnabled() && + GetCustomElementData()) { + nsContentUtils::EnqueueLifecycleCallback(nsIDocument::eDisconnected, + this); } } |