| Index: webkit/browser/appcache/appcache_url_request_job.cc
|
| diff --git a/webkit/browser/appcache/appcache_url_request_job.cc b/webkit/browser/appcache/appcache_url_request_job.cc
|
| index 759d757d6f06bf1b0f42db2098037df3826dd444..30f1c1fe7fb2cd86a642c9128dc1e7a96ec18abe 100644
|
| --- a/webkit/browser/appcache/appcache_url_request_job.cc
|
| +++ b/webkit/browser/appcache/appcache_url_request_job.cc
|
| @@ -310,8 +310,7 @@ void AppCacheURLRequestJob::SetupRangeResponse() {
|
| return;
|
| }
|
|
|
| - DCHECK(range_requested_.HasFirstBytePosition() &&
|
| - range_requested_.HasLastBytePosition());
|
| + DCHECK(range_requested_.IsValid());
|
| int offset = static_cast<int>(range_requested_.first_byte_position());
|
| int length = static_cast<int>(range_requested_.last_byte_position() -
|
| range_requested_.first_byte_position() + 1);
|
| @@ -321,23 +320,11 @@ void AppCacheURLRequestJob::SetupRangeResponse() {
|
|
|
| // Make a copy of the full response headers and fix them up
|
| // for the range we'll be returning.
|
| - const char kLengthHeader[] = "Content-Length";
|
| - const char kRangeHeader[] = "Content-Range";
|
| - const char kPartialStatusLine[] = "HTTP/1.1 206 Partial Content";
|
| range_response_info_.reset(
|
| new net::HttpResponseInfo(*info_->http_response_info()));
|
| net::HttpResponseHeaders* headers = range_response_info_->headers.get();
|
| - headers->RemoveHeader(kLengthHeader);
|
| - headers->RemoveHeader(kRangeHeader);
|
| - headers->ReplaceStatusLine(kPartialStatusLine);
|
| - headers->AddHeader(
|
| - base::StringPrintf("%s: %d", kLengthHeader, length));
|
| - headers->AddHeader(
|
| - base::StringPrintf("%s: bytes %d-%d/%d",
|
| - kRangeHeader,
|
| - offset,
|
| - offset + length - 1,
|
| - resource_size));
|
| + headers->UpdateWithNewRange(
|
| + range_requested_, resource_size, true /* replace status line */);
|
| }
|
|
|
| void AppCacheURLRequestJob::OnReadComplete(int result) {
|
|
|