| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index 83fdf6f939b7ef19b529c1958ab6bf90a4be5069..6a4f0e2b59f2e4631bfc56e442dcc7cd3e0cbe94 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -2166,19 +2166,13 @@
|
|
|
| void Document::prepareForDestruction()
|
| {
|
| - ASSERT(!m_frame || m_frame->tree().childCount() == 0);
|
| -
|
| + m_markers->prepareForDestruction();
|
| + disconnectDescendantFrames();
|
| +
|
| + // The process of disconnecting descendant frames could have already detached us.
|
| if (!isActive())
|
| return;
|
|
|
| - ScriptForbiddenScope forbidScript;
|
| - // We detach the FrameView's custom scroll bars as early as
|
| - // possible to prevent detach() from messing with the view
|
| - // such that its scroll bars won't be torn down.
|
| - //
|
| - // FIXME: We should revisit this.
|
| - view()->prepareForDetach();
|
| - m_markers->prepareForDestruction();
|
| if (LocalDOMWindow* window = this->domWindow())
|
| window->willDetachDocumentFromFrame();
|
| detach();
|
|
|