Title: [93726] trunk
- Revision
- 93726
- Author
- jap...@chromium.org
- Date
- 2011-08-24 13:16:45 -0700 (Wed, 24 Aug 2011)
Log Message
2011-08-24 Nate Chapin <jap...@chromium.org>
Fix an intermittent crash in EventSource, when a
reconnect timer triggers after a navigation
away from the current page begins.
https://bugs.webkit.org/show_bug.cgi?id=45202
Reviewed by Alexey Proskuryakov.
Test: http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html
* page/EventSource.cpp:
(WebCore::EventSource::connect): Don't set m_requestInFlight
to true if ThreadableLoader::create() failed.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (93725 => 93726)
--- trunk/LayoutTests/ChangeLog 2011-08-24 20:08:51 UTC (rev 93725)
+++ trunk/LayoutTests/ChangeLog 2011-08-24 20:16:45 UTC (rev 93726)
@@ -1,3 +1,13 @@
+2011-08-24 Nate Chapin <jap...@chromium.org>
+
+ Test for https://bugs.webkit.org/show_bug.cgi?id=45202.
+
+ Reviewed by Alexey Proskuryakov.
+
+ * http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt: Added.
+ * http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html: Added.
+ * http/tests/eventsource/resources/wait-then-notify-done.php: Added.
+
2011-08-23 Peter Kasting <pkast...@google.com>
[chromium] Test expectation updates.
Added: trunk/LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt (0 => 93726)
--- trunk/LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt (rev 0)
+++ trunk/LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash-expected.txt 2011-08-24 20:16:45 UTC (rev 93726)
@@ -0,0 +1 @@
+
Added: trunk/LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html (0 => 93726)
--- trunk/LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html (rev 0)
+++ trunk/LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html 2011-08-24 20:16:45 UTC (rev 93726)
@@ -0,0 +1,20 @@
+<html>
+<body>
+<p>Navigate while an EventSource reconnect timer is waiting, then have the reconnect timer trigger before the page unloads. We pass if we don't crash.
+<script>
+if (window.layoutTestController) {
+ layoutTestController.waitUntilDone();
+ layoutTestController.dumpAsText();
+}
+
+function navigate() {
+ window.location = "resources/wait-then-notify-done.php";
+}
+
+var es = new EventSource("resources/reconnect.php");
+es._onerror_ = function() {
+ setTimeout(navigate, 0);
+};
+</script>
+</body>
+</html>
Added: trunk/LayoutTests/http/tests/eventsource/resources/wait-then-notify-done.php (0 => 93726)
--- trunk/LayoutTests/http/tests/eventsource/resources/wait-then-notify-done.php (rev 0)
+++ trunk/LayoutTests/http/tests/eventsource/resources/wait-then-notify-done.php 2011-08-24 20:16:45 UTC (rev 93726)
@@ -0,0 +1,8 @@
+<?php
+header("Content-Type: text/html");
+header("Expires: Thu, 01 Dec 2003 16:00:00 GMT");
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Pragma: no-cache");
+sleep(1);
+echo "<script> if (window.layoutTestController) layoutTestController.notifyDone()</script>\n";
+?>
Modified: trunk/Source/WebCore/ChangeLog (93725 => 93726)
--- trunk/Source/WebCore/ChangeLog 2011-08-24 20:08:51 UTC (rev 93725)
+++ trunk/Source/WebCore/ChangeLog 2011-08-24 20:16:45 UTC (rev 93726)
@@ -1,3 +1,18 @@
+2011-08-24 Nate Chapin <jap...@chromium.org>
+
+ Fix an intermittent crash in EventSource, when a
+ reconnect timer triggers after a navigation
+ away from the current page begins.
+ https://bugs.webkit.org/show_bug.cgi?id=45202
+
+ Reviewed by Alexey Proskuryakov.
+
+ Test: http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html
+
+ * page/EventSource.cpp:
+ (WebCore::EventSource::connect): Don't set m_requestInFlight
+ to true if ThreadableLoader::create() failed.
+
2011-08-24 Mike Reed <r...@google.com>
Change clip routine to promote the clipbounds up to (local) floats and then perform the intersection,
Modified: trunk/Source/WebCore/page/EventSource.cpp (93725 => 93726)
--- trunk/Source/WebCore/page/EventSource.cpp 2011-08-24 20:08:51 UTC (rev 93725)
+++ trunk/Source/WebCore/page/EventSource.cpp 2011-08-24 20:16:45 UTC (rev 93726)
@@ -120,7 +120,8 @@
m_loader = ThreadableLoader::create(scriptExecutionContext(), this, request, options);
- m_requestInFlight = true;
+ if (m_loader)
+ m_requestInFlight = true;
}
void EventSource::endRequest()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes