Bug 4858

Summary: 204 response stops timers
Product: WebKit Reporter: Carsten Bormann <cabo>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WORKSFORME    
Severity: Normal CC: ap, ian, mason
Priority: P3 Keywords: HasReduction
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
Testcase none

Description Carsten Bormann 2005-09-05 14:49:26 PDT
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.)
Comment 1 Joost de Valk (AlthA) 2005-09-08 04:37:39 PDT
Created attachment 3813 [details]
Testcase

This testcase needs php installed, for the 204-test.php to return a 204.
Comment 2 Joost de Valk (AlthA) 2005-09-08 04:38:22 PDT
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.
Comment 3 mason 2009-12-29 13:53:11 PST
+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
Comment 4 Alexey Proskuryakov 2011-05-05 11:33:56 PDT
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.