| Index: webkit/appcache/appcache_url_request_job.cc
|
| ===================================================================
|
| --- webkit/appcache/appcache_url_request_job.cc (revision 51565)
|
| +++ webkit/appcache/appcache_url_request_job.cc (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include "base/message_loop.h"
|
| #include "base/string_util.h"
|
| #include "net/base/net_errors.h"
|
| +#include "net/http/http_request_headers.h"
|
| #include "net/http/http_util.h"
|
| #include "net/url_request/url_request_status.h"
|
|
|
| @@ -243,13 +244,18 @@
|
| }
|
|
|
| void AppCacheURLRequestJob::SetExtraRequestHeaders(
|
| - const std::string& headers) {
|
| + const net::HttpRequestHeaders& headers) {
|
| + std::string value;
|
| + std::vector<net::HttpByteRange> ranges;
|
| + if (!headers.GetHeader(net::HttpRequestHeaders::kRange, &value) ||
|
| + !net::HttpUtil::ParseRangeHeader(value, &ranges)) {
|
| + return;
|
| + }
|
| +
|
| // If multiple ranges are requested, we play dumb and
|
| // return the entire response with 200 OK.
|
| - std::vector<net::HttpByteRange> ranges;
|
| - if (!net::HttpUtil::ParseRanges(headers, &ranges) || (ranges.size() > 1U))
|
| - return;
|
| - range_requested_ = ranges[0];
|
| + if (ranges.size() == 1U)
|
| + range_requested_ = ranges[0];
|
| }
|
|
|
| } // namespace appcache
|
|
|