Bug 80551

Summary: REGRESSION (r107672): Cached empty XMLHttpRequest responses are not delivered
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: XMLAssignee: Nate Chapin <japhet>
Status: RESOLVED FIXED    
Severity: Critical CC: abarth, beidson, japhet
Priority: P1 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
test case
none
patch ap: review+

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.