Index: Source/core/page/Page.cpp |
diff --git a/Source/core/page/Page.cpp b/Source/core/page/Page.cpp |
index 26be6acad3f31ceb43fb483e915bbece462d2996..b3f93c739051ce421425562c9722dbce31d44590 100644 |
--- a/Source/core/page/Page.cpp |
+++ b/Source/core/page/Page.cpp |
@@ -601,6 +601,9 @@ void Page::trace(Visitor* visitor) |
void Page::willBeDestroyed() |
{ |
+ if (m_mainFrame && m_mainFrame->isLocalFrame()) |
+ deprecatedLocalMainFrame()->loader().frameDetached(); |
+ |
// Disable all agents prior to resetting the frame view. |
m_inspectorController->willBeDestroyed(); |
@@ -615,11 +618,6 @@ void Page::willBeDestroyed() |
if (ordinaryPages().contains(this)) |
ordinaryPages().remove(this); |
- for (Frame* frame = mainFrame(); frame; frame = frame->tree().traverseNext()) { |
- if (frame->isLocalFrame()) |
- toLocalFrame(frame)->loader().frameDetached(); |
- } |
- |
if (m_scrollingCoordinator) |
m_scrollingCoordinator->willBeDestroyed(); |