| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
| 3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
| 4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
| 5 * 2000 Simon Hausmann <hausmann@kde.org> | 5 * 2000 Simon Hausmann <hausmann@kde.org> |
| 6 * 2000 Stefan Schimanski <1Stein@gmx.de> | 6 * 2000 Stefan Schimanski <1Stein@gmx.de> |
| 7 * 2001 George Staikos <staikos@kde.org> | 7 * 2001 George Staikos <staikos@kde.org> |
| 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 8 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 9 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> | 9 * Copyright (C) 2005 Alexey Proskuryakov <ap@nypop.com> |
| 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 10 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 311 void LocalFrame::detach(FrameDetachType type) | 311 void LocalFrame::detach(FrameDetachType type) |
| 312 { | 312 { |
| 313 PluginScriptForbiddenScope forbidPluginDestructorScripting; | 313 PluginScriptForbiddenScope forbidPluginDestructorScripting; |
| 314 m_loader.stopAllLoaders(); | 314 m_loader.stopAllLoaders(); |
| 315 // Don't allow any new child frames to load in this frame: attaching a new | 315 // Don't allow any new child frames to load in this frame: attaching a new |
| 316 // child frame during or after detaching children results in an attached | 316 // child frame during or after detaching children results in an attached |
| 317 // frame on a detached DOM tree, which is bad. | 317 // frame on a detached DOM tree, which is bad. |
| 318 SubframeLoadingDisabler disabler(*document()); | 318 SubframeLoadingDisabler disabler(*document()); |
| 319 m_loader.dispatchUnloadEvent(); | 319 m_loader.dispatchUnloadEvent(); |
| 320 detachChildren(); | 320 detachChildren(); |
| 321 m_frameScheduler.clear(); | 321 m_frameScheduler.reset(); |
| 322 | 322 |
| 323 // All done if detaching the subframes brought about a detach of this frame
also. | 323 // All done if detaching the subframes brought about a detach of this frame
also. |
| 324 if (!client()) | 324 if (!client()) |
| 325 return; | 325 return; |
| 326 | 326 |
| 327 // stopAllLoaders() needs to be called after detachChildren(), because detac
hChildren() | 327 // stopAllLoaders() needs to be called after detachChildren(), because detac
hChildren() |
| 328 // will trigger the unload event handlers of any child frames, and those eve
nt | 328 // will trigger the unload event handlers of any child frames, and those eve
nt |
| 329 // handlers might start a new subresource load in this frame. | 329 // handlers might start a new subresource load in this frame. |
| 330 m_loader.stopAllLoaders(); | 330 m_loader.stopAllLoaders(); |
| 331 m_loader.detach(); | 331 m_loader.detach(); |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 { | 821 { |
| 822 m_frame->disableNavigation(); | 822 m_frame->disableNavigation(); |
| 823 } | 823 } |
| 824 | 824 |
| 825 FrameNavigationDisabler::~FrameNavigationDisabler() | 825 FrameNavigationDisabler::~FrameNavigationDisabler() |
| 826 { | 826 { |
| 827 m_frame->enableNavigation(); | 827 m_frame->enableNavigation(); |
| 828 } | 828 } |
| 829 | 829 |
| 830 } // namespace blink | 830 } // namespace blink |
| OLD | NEW |