| Index: net/http/http_cache.cc
|
| ===================================================================
|
| --- net/http/http_cache.cc (revision 24666)
|
| +++ net/http/http_cache.cc (working copy)
|
| @@ -81,6 +81,7 @@
|
| static const HeaderNameAndValue kPassThroughHeaders[] = {
|
| { "if-unmodified-since", NULL }, // causes unexpected 412s
|
| { "if-match", NULL }, // causes unexpected 412s
|
| + { "if-range", NULL },
|
| { NULL, NULL }
|
| };
|
|
|
| @@ -804,6 +805,12 @@
|
| }
|
| }
|
|
|
| + // We don't support ranges and validation headers.
|
| + if (range_found && num_validation_headers) {
|
| + LOG(WARNING) << "Byte ranges AND validation headers found.";
|
| + effective_load_flags_ |= LOAD_DISABLE_CACHE;
|
| + }
|
| +
|
| if (range_found && !(effective_load_flags_ & LOAD_DISABLE_CACHE)) {
|
| partial_.reset(new PartialData);
|
| if (partial_->Init(request_->extra_headers, new_extra_headers)) {
|
| @@ -814,6 +821,7 @@
|
| custom_request_->extra_headers = new_extra_headers;
|
| } else {
|
| // The range is invalid or we cannot handle it properly.
|
| + LOG(WARNING) << "Invalid byte range found.";
|
| effective_load_flags_ |= LOAD_DISABLE_CACHE;
|
| partial_.reset(NULL);
|
| }
|
|
|