Reviewed by Oliver.
- test case for <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
* fast/loader/early-load-cancel-expected.txt: Added.
* fast/loader/early-load-cancel.html: Added.
* fast/loader/resources/early-load-cancel-inner.html: Added.
WebCore:
Reviewed by Oliver.
- fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
test case: fast/loader/early-load-cancel.html
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks
if we never even sent willSendRequest because we were deferred.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24087
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-07-06 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver.
+
+ - test case for <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
+
+ * fast/loader/early-load-cancel-expected.txt: Added.
+ * fast/loader/early-load-cancel.html: Added.
+ * fast/loader/resources/early-load-cancel-inner.html: Added.
+
2007-07-06 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
--- /dev/null
+
+A series of unfortunate circumstances can load to starting a load and then cancelling it while loading is deferred, thus leading to a mismatched set of callbacks (it gets cancelled without ever starting). If this test does not crash or fail an assertion, then that bug is fixed.
--- /dev/null
+<iframe src="resources/early-load-cancel-inner.html"></iframe>
+
+<p>A series of unfortunate circumstances can lead to starting a load
+and then cancelling it while loading is deferred, thus leading to a
+mismatched set of callbacks (it gets cancelled without ever
+starting). If this test does not crash or fail an assertion, then that
+bug is fixed.</p>
+
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+</script>
--- /dev/null
+<a id="test" onmousedown="test()">click here</a>
+<div id="outer">
+</div>
+<script>
+function test()
+{
+ document.getElementById("outer").innerHTML = "<iframe src='other.html'></iframe>";
+ document.getElementById("outer").innerHTML = "PASSED";
+}
+
+if (window.eventSender) {
+ eventSender.mouseMoveTo(20, 20);
+ eventSender.mouseDown();
+}
+
+</script>
+
+2007-07-06 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver.
+
+ - fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
+
+ test case: fast/loader/early-load-cancel.html
+
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks
+ if we never even sent willSendRequest because we were deferred.
+
2007-07-06 Oliver Hunt <oliver@apple.com>
Reviewed by Maciej.
// for a single delegate. Cancelling wins.
m_cancelled = true;
+ bool m_hadHandle = m_handle;
if (m_handle)
m_handle->clearAuthentication();
m_handle->cancel();
m_handle = 0;
}
- if (m_sendResourceLoadCallbacks && !m_calledDidFinishLoad)
+ if (m_sendResourceLoadCallbacks && !m_calledDidFinishLoad && m_hadHandle)
frameLoader()->didFailToLoad(this, error);
releaseResources();