RESOLVED FIXED Bug 80551
REGRESSION (r107672): Cached empty XMLHttpRequest responses are not delivered
https://bugs.webkit.org/show_bug.cgi?id=80551
Summary REGRESSION (r107672): Cached empty XMLHttpRequest responses are not delivered
Alexey Proskuryakov
Reported 2012-03-07 16:52:33 PST
If a response is cached with ETag, it cannot be fetched from cache with XMLHttpRequest. To reproduce, 1. unpack attached files into LayoutTests/http/tests, 2. run-webkit-httpd, 3. Open http://127.0.0.1:8000/304.html, 4. Follow instructions in test.
Attachments
test case (1.52 KB, application/zip)
2012-03-07 16:52 PST, Alexey Proskuryakov
no flags
patch (4.33 KB, patch)
2012-03-08 14:24 PST, Nate Chapin
ap: review+
Alexey Proskuryakov
Comment 1 2012-03-07 16:52:58 PST
Created attachment 130726 [details] test case
Alexey Proskuryakov
Comment 2 2012-03-07 16:53:14 PST
Nate Chapin
Comment 3 2012-03-07 17:18:35 PST
(In reply to comment #2) > <rdar://problem/10979550> (In reply to comment #0) > If a response is cached with ETag, it cannot be fetched from cache with XMLHttpRequest. > > To reproduce, > 1. unpack attached files into LayoutTests/http/tests, > 2. run-webkit-httpd, > 3. Open http://127.0.0.1:8000/304.html, > 4. Follow instructions in test. I'm wondering if we should perhaps switch to requiring identical headers except a whitelist, rather than presuming reuse is ok with a blacklist, as proposed in https://bugs.webkit.org/show_bug.cgi?id=80334 What do you think?
Alexey Proskuryakov
Comment 4 2012-03-07 17:24:54 PST
This sounds reasonable to me, but I don't see the connection to this bug. Here, no response is delivered at all, not even a stale one.
Nate Chapin
Comment 5 2012-03-08 09:38:49 PST
(In reply to comment #4) > This sounds reasonable to me, but I don't see the connection to this bug. Here, no response is delivered at all, not even a stale one. Sorry, I misread the report. That's bad, will look at this today.
Nate Chapin
Comment 6 2012-03-08 12:56:56 PST
(In reply to comment #5) > (In reply to comment #4) > > This sounds reasonable to me, but I don't see the connection to this bug. Here, no response is delivered at all, not even a stale one. > > Sorry, I misread the report. That's bad, will look at this today. This appears to be more general than just etags. When the content of a cached xhr is valid but empty, we exit too early in CachedRawResource::didAddClient() and leave the load hanging.
Alexey Proskuryakov
Comment 7 2012-03-08 13:05:57 PST
Re-titling accordingly.
Nate Chapin
Comment 8 2012-03-08 14:24:53 PST
Nate Chapin
Comment 9 2012-03-09 09:37:00 PST
Note You need to log in before you can comment on or make changes to this bug.