Unreviewed, rolling out r92439.

http://trac.webkit.org/changeset/92439
https://bugs.webkit.org/show_bug.cgi?id=65753

Caused 9 tests to fail on Qt (Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-08-05

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::implicitOpen):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::detachChildren):

LayoutTests:

* loader/document-destruction-within-unload-expected.txt: Removed.
* loader/document-destruction-within-unload.html: Removed.
* loader/resources/document-destruction-within-unload-iframe.html: Removed.
* loader/resources/document-destruction-within-unload.svg: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@92453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent e428b096
2011-08-05 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r92439.
http://trac.webkit.org/changeset/92439
https://bugs.webkit.org/show_bug.cgi?id=65753
Caused 9 tests to fail on Qt (Requested by abarth on #webkit).
* loader/document-destruction-within-unload-expected.txt: Removed.
* loader/document-destruction-within-unload.html: Removed.
* loader/resources/document-destruction-within-unload-iframe.html: Removed.
* loader/resources/document-destruction-within-unload.svg: Removed.
2011-08-04 Ryosuke Niwa <rniwa@webkit.org>
Chromium test expectation update after r92341.
<html>
<body>
<script>
if (window.layoutTestController) {
layoutTestController.dumpAsText();
layoutTestController.waitUntilDone();
}
</script>
<iframe src="resources/document-destruction-within-unload-iframe.html">
</iframe>
<p>For the test to pass there should be no crash.</p>
<script>
function done() {
if (window.layoutTestController)
layoutTestController.notifyDone();
}
</script>
</body>
</html>
<html>
<body onload="window.done()">
<script>
function runTest() {
var test = document.getElementById('root').contentDocument;
test.firstChild.setAttribute('onunload', "parent.clearUs();");
location.reload();
}
function clearUs() {
document.write();
}
</script>
<object data="does_not_exist"></object>
<object data="document-destruction-within-unload.svg" id="root" onload="runTest();"></object>
</body>
</html>
2011-08-05 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r92439.
http://trac.webkit.org/changeset/92439
https://bugs.webkit.org/show_bug.cgi?id=65753
Caused 9 tests to fail on Qt (Requested by abarth on #webkit).
* dom/Document.cpp:
(WebCore::Document::implicitOpen):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::detachChildren):
2011-08-04 Ryosuke Niwa <rniwa@webkit.org>
Use RenderedPosition instead of getInlineBoxAndOffset in Editor and AccessibilityObject
......@@ -1995,10 +1995,6 @@ void Document::implicitOpen()
removeChildren();
// cancel again, as removeChildren can cause event triggers to be added
// again, which we don't want triggered on the old document.
cancelParsing();
setCompatibilityMode(NoQuirksMode);
m_parser = createParser();
......
......@@ -1834,13 +1834,9 @@ void FrameLoader::transitionToCommitted(PassRefPtr<CachedPage> cachedPage)
if (m_documentLoader)
m_documentLoader->stopLoadingPlugIns();
// State must be set before setting m_documentLoader to avoid
// m_provisionalDocumentLoader getting detached from the frame via a sub
// frame. See https://bugs.webkit.org/show_bug.cgi?id=64741 for more
// discussion.
setState(FrameStateCommittedPage);
setDocumentLoader(m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(0);
setState(FrameStateCommittedPage);
#if ENABLE(TOUCH_EVENTS)
if (isLoadingMainFrame())
......@@ -2336,14 +2332,12 @@ void FrameLoader::frameLoadCompleted()
void FrameLoader::detachChildren()
{
typedef Vector<RefPtr<Frame> > FrameVector;
FrameVector protect;
// FIXME: Is it really necessary to do this in reverse order?
for (Frame* child = m_frame->tree()->lastChild(); child; child = child->tree()->previousSibling())
protect.append(child);
for (FrameVector::iterator it = protect.begin(); it != protect.end(); ++it)
(*it)->loader()->detachFromParent();
Frame* previous;
for (Frame* child = m_frame->tree()->lastChild(); child; child = previous) {
previous = child->tree()->previousSibling();
child->loader()->detachFromParent();
}
}
void FrameLoader::closeAndRemoveChild(Frame* child)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment