RESOLVED FIXED 26681
Problem updating applicationCache when server returns 304
https://bugs.webkit.org/show_bug.cgi?id=26681
Summary Problem updating applicationCache when server returns 304
Kevin D. Wolf
Reported 2009-06-24 08:36:47 PDT
1) Configure an application to use a manifest and window.applicationCache 2) Download initial cache, everythings works fine. Server returns an ETag or Last-Modified date within the header. Also has headers to disable cacheing. 3) Cache is updated, but the one or more of the resources aren't 4) WebKit requests a resource sending up If-Modified-Since and If-None-Match header headers. 5) Server returns a 304 Not Modified. 6) WebKit makes another request (goes back to step 4) this process will go on in an infinite loop. You can see a more detailed overview at: http://new.efficientcoder.net/2009/06/webkitsafari-application-cache-work.html
Attachments
proposed fix (3.75 KB, patch)
2009-06-25 07:24 PDT, Alexey Proskuryakov
darin: review+
improve the fix (2.57 KB, patch)
2009-06-26 06:23 PDT, Alexey Proskuryakov
sam: review+
Mark Rowe (bdash)
Comment 1 2009-06-24 12:03:06 PDT
Alexey Proskuryakov
Comment 2 2009-06-25 02:20:40 PDT
From code inspection, looks like we fail to call m_pendingEntries.remove() in ApplicationCacheGroup::didReceiveResponse() for 304 responses.
Alexey Proskuryakov
Comment 3 2009-06-25 07:24:23 PDT
Created attachment 31855 [details] proposed fix
Alexey Proskuryakov
Comment 4 2009-06-25 21:46:40 PDT
Committed <http://trac.webkit.org/changeset/45247>. I've slightly changed the code to look more like other code paths.
Alexey Proskuryakov
Comment 5 2009-06-26 06:18:50 PDT
Tiger buildbot says this isn't quite fixed.
Alexey Proskuryakov
Comment 6 2009-06-26 06:23:14 PDT
Created attachment 31930 [details] improve the fix
Alexey Proskuryakov
Comment 7 2009-06-26 12:39:33 PDT
Note You need to log in before you can comment on or make changes to this bug.