I'm still working on an isolated test case, but I have a page that submits a form, receives a 204 response, which means I should stay on the same page, which happens alright in Safari 2.0.1. The problem: all the timers that were running on the page seem to stop. (I understand that handling 204 responses is unchartered territory for many, but it has become a more likely case recently with the interest in AJAX style interfaces.)
Created attachment 3813 [details] Testcase This testcase needs php installed, for the 204-test.php to return a 204.
Behavior as described confiremd and reproduced in attached testcase. Don't know if this is fixable and even if this is supposed to be fixed.
+1 Just ran into this issue on a current project. Am seeing this unexpected behavior in Safari 4.0.4 / Mac. Can confirm that Google Chrome 4.0/Win/Mac, Firefox 3.0,3.5/Win/Mac and IE 6/7/8 do NOT cancel running timers as the result of a 204 status HTTP response. It is surprising that Chrome doesn't have this flaw as it is also based on WebKit, no? See also this blog post (as more evidence of this as unexpected behavior): - http://www.harukizaemon.com/2008/04/getting-too-fancy-with-http-response.html
Luiz Agostini alerted me to the fact that this no longer fails on Safari 5.0.5 on Mac, and I can confirm. Also tested ToT, just in case.