-
weinig authored
Reviewed by Darin. - test for http://bugs.webkit.org/show_bug.cgi?id=9929 REGRESSION: crash on logging in on mijnpostbank.nl * http/tests/misc/onload-remove-iframe-crash-2-expected.txt: Added. * http/tests/misc/onload-remove-iframe-crash-2.html: Added. * http/tests/misc/resources/onload-remove-iframe-crash-2.html: Added. * http/tests/misc/resources/onload-remove-iframe.html: Added. WebCore: Reviewed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=9929 REGRESSION: crash on logging in on mijnpostbank.nl Test: http/tests/misc/onload-remove-iframe-crash-2.html The resulted from an iframe's load event handler removing the iframe from the document. * dom/Document.cpp: (WebCore::Document::implicitClose): Bail out early if an event handler removed the frame. * loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::clear): (WebCore::FrameLoader::checkCompleted): Protect the frame from deletion by event handlers. (WebCore::FrameLoader::checkCompletedTimerFired): (WebCore::FrameLoader::scheduleCheckCompleted): (WebCore::FrameLoader::detachFromParent): Schedule a completion check on the parent (in case the child is what has been keeping it from completing). * loader/FrameLoader.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
c34c71c8