| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index 646a36b53a65645d7d145b0ce1565c7bb7008fb3..b0bbc14bc491cdf3ba2b2bb18d73f08c6015db48 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -2161,13 +2161,14 @@ void Document::detach(const AttachContext& context)
|
|
|
| void Document::prepareForDestruction()
|
| {
|
| - m_markers->prepareForDestruction();
|
| - disconnectDescendantFrames();
|
| + ASSERT(!m_frame || m_frame->tree().childCount() == 0);
|
|
|
| - // The process of disconnecting descendant frames could have already detached us.
|
| if (!isActive())
|
| return;
|
|
|
| + ScriptForbiddenScope forbidScript;
|
| +
|
| + m_markers->prepareForDestruction();
|
| if (LocalDOMWindow* window = this->domWindow())
|
| window->willDetachDocumentFromFrame();
|
| detach();
|
|
|