| Index: net/http/partial_data.cc
|
| diff --git a/net/http/partial_data.cc b/net/http/partial_data.cc
|
| index a05c21897542f12f7677a12e1cebedbec6914eab..bee54c6ee53781dabc0507771f74b9ed0c306baf 100644
|
| --- a/net/http/partial_data.cc
|
| +++ b/net/http/partial_data.cc
|
| @@ -32,14 +32,14 @@ const int kDataStream = 1;
|
| class PartialData::Core {
|
| public:
|
| // Build a new core object. Lifetime management is automatic.
|
| - static Core* CreateCore(PartialData* owner) {
|
| - return new Core(owner);
|
| - }
|
| + static Core* CreateCore(PartialData* owner) { return new Core(owner); }
|
|
|
| // Wrapper for Entry::GetAvailableRange. If this method returns ERR_IO_PENDING
|
| // PartialData::GetAvailableRangeCompleted() will be invoked on the owner
|
| // object when finished (unless Cancel() is called first).
|
| - int GetAvailableRange(disk_cache::Entry* entry, int64 offset, int len,
|
| + int GetAvailableRange(disk_cache::Entry* entry,
|
| + int64 offset,
|
| + int len,
|
| int64* start);
|
|
|
| // Cancels a pending operation. It is a mistake to call this method if there
|
| @@ -59,8 +59,7 @@ class PartialData::Core {
|
| DISALLOW_COPY_AND_ASSIGN(Core);
|
| };
|
|
|
| -PartialData::Core::Core(PartialData* owner)
|
| - : owner_(owner), start_(0) {
|
| +PartialData::Core::Core(PartialData* owner) : owner_(owner), start_(0) {
|
| DCHECK(!owner_->core_);
|
| owner_->core_ = this;
|
| }
|
| @@ -75,11 +74,15 @@ void PartialData::Core::Cancel() {
|
| owner_ = NULL;
|
| }
|
|
|
| -int PartialData::Core::GetAvailableRange(disk_cache::Entry* entry, int64 offset,
|
| - int len, int64* start) {
|
| +int PartialData::Core::GetAvailableRange(disk_cache::Entry* entry,
|
| + int64 offset,
|
| + int len,
|
| + int64* start) {
|
| int rv = entry->GetAvailableRange(
|
| - offset, len, &start_, base::Bind(&PartialData::Core::OnIOComplete,
|
| - base::Unretained(this)));
|
| + offset,
|
| + len,
|
| + &start_,
|
| + base::Bind(&PartialData::Core::OnIOComplete, base::Unretained(this)));
|
| if (rv != net::ERR_IO_PENDING) {
|
| // The callback will not be invoked. Lets cleanup.
|
| *start = start_;
|
| @@ -127,8 +130,8 @@ bool PartialData::Init(const HttpRequestHeaders& headers) {
|
| resource_size_ = 0;
|
| current_range_start_ = byte_range_.first_byte_position();
|
|
|
| - DVLOG(1) << "Range start: " << current_range_start_ << " end: " <<
|
| - byte_range_.last_byte_position();
|
| + DVLOG(1) << "Range start: " << current_range_start_
|
| + << " end: " << byte_range_.last_byte_position();
|
| return true;
|
| }
|
|
|
| @@ -139,8 +142,9 @@ void PartialData::SetHeaders(const HttpRequestHeaders& headers) {
|
|
|
| void PartialData::RestoreHeaders(HttpRequestHeaders* headers) const {
|
| DCHECK(current_range_start_ >= 0 || byte_range_.IsSuffixByteRange());
|
| - int64 end = byte_range_.IsSuffixByteRange() ?
|
| - byte_range_.suffix_length() : byte_range_.last_byte_position();
|
| + int64 end = byte_range_.IsSuffixByteRange()
|
| + ? byte_range_.suffix_length()
|
| + : byte_range_.last_byte_position();
|
|
|
| headers->CopyFrom(extra_headers_);
|
| if (truncated_ || !byte_range_.IsValid())
|
| @@ -150,9 +154,9 @@ void PartialData::RestoreHeaders(HttpRequestHeaders* headers) const {
|
| headers->SetHeader(HttpRequestHeaders::kRange,
|
| HttpByteRange::Suffix(end).GetHeaderValue());
|
| } else {
|
| - headers->SetHeader(HttpRequestHeaders::kRange,
|
| - HttpByteRange::Bounded(
|
| - current_range_start_, end).GetHeaderValue());
|
| + headers->SetHeader(
|
| + HttpRequestHeaders::kRange,
|
| + HttpByteRange::Bounded(current_range_start_, end).GetHeaderValue());
|
| }
|
| }
|
|
|
| @@ -170,8 +174,8 @@ int PartialData::ShouldValidateCache(disk_cache::Entry* entry,
|
| if (sparse_entry_) {
|
| DCHECK(callback_.is_null());
|
| Core* core = Core::CreateCore(this);
|
| - cached_min_len_ = core->GetAvailableRange(entry, current_range_start_, len,
|
| - &cached_start_);
|
| + cached_min_len_ = core->GetAvailableRange(
|
| + entry, current_range_start_, len, &cached_start_);
|
|
|
| if (cached_min_len_ == ERR_IO_PENDING) {
|
| callback_ = callback;
|
| @@ -210,7 +214,7 @@ void PartialData::PrepareCacheValidation(disk_cache::Entry* entry,
|
| // We don't have anything else stored.
|
| final_range_ = true;
|
| cached_start_ =
|
| - byte_range_.HasLastBytePosition() ? current_range_start_ + len : 0;
|
| + byte_range_.HasLastBytePosition() ? current_range_start_ + len : 0;
|
| }
|
|
|
| if (current_range_start_ == cached_start_) {
|
| @@ -220,15 +224,15 @@ void PartialData::PrepareCacheValidation(disk_cache::Entry* entry,
|
| final_range_ = true;
|
| headers->SetHeader(
|
| HttpRequestHeaders::kRange,
|
| - net::HttpByteRange::Bounded(
|
| - current_range_start_,
|
| - cached_start_ + cached_min_len_ - 1).GetHeaderValue());
|
| + net::HttpByteRange::Bounded(current_range_start_,
|
| + cached_start_ + cached_min_len_ - 1)
|
| + .GetHeaderValue());
|
| } else {
|
| // This range is not in the cache.
|
| headers->SetHeader(
|
| HttpRequestHeaders::kRange,
|
| - net::HttpByteRange::Bounded(
|
| - current_range_start_, cached_start_ - 1).GetHeaderValue());
|
| + net::HttpByteRange::Bounded(current_range_start_, cached_start_ - 1)
|
| + .GetHeaderValue());
|
| }
|
| }
|
|
|
| @@ -330,7 +334,7 @@ bool PartialData::ResponseHeadersOK(const HttpResponseHeaders* headers) {
|
|
|
| // We must have a complete range here.
|
| return byte_range_.HasFirstBytePosition() &&
|
| - byte_range_.HasLastBytePosition();
|
| + byte_range_.HasLastBytePosition();
|
| }
|
|
|
| int64 start, end, total_length;
|
| @@ -392,58 +396,66 @@ void PartialData::FixResponseHeaders(HttpResponseHeaders* headers,
|
|
|
| if (byte_range_.IsValid()) {
|
| headers->ReplaceStatusLine("HTTP/1.1 416 Requested Range Not Satisfiable");
|
| - headers->AddHeader(base::StringPrintf("%s: bytes 0-0/%" PRId64,
|
| - kRangeHeader, resource_size_));
|
| + headers->AddHeader(base::StringPrintf(
|
| + "%s: bytes 0-0/%" PRId64, kRangeHeader, resource_size_));
|
| headers->AddHeader(base::StringPrintf("%s: 0", kLengthHeader));
|
| } else {
|
| // TODO(rvargas): Is it safe to change the protocol version?
|
| headers->ReplaceStatusLine("HTTP/1.1 200 OK");
|
| DCHECK_NE(resource_size_, 0);
|
| - headers->AddHeader(base::StringPrintf("%s: %" PRId64, kLengthHeader,
|
| - resource_size_));
|
| + headers->AddHeader(
|
| + base::StringPrintf("%s: %" PRId64, kLengthHeader, resource_size_));
|
| }
|
| }
|
|
|
| void PartialData::FixContentLength(HttpResponseHeaders* headers) {
|
| headers->RemoveHeader(kLengthHeader);
|
| - headers->AddHeader(base::StringPrintf("%s: %" PRId64, kLengthHeader,
|
| - resource_size_));
|
| + headers->AddHeader(
|
| + base::StringPrintf("%s: %" PRId64, kLengthHeader, resource_size_));
|
| }
|
|
|
| -int PartialData::CacheRead(
|
| - disk_cache::Entry* entry, IOBuffer* data, int data_len,
|
| - const net::CompletionCallback& callback) {
|
| +int PartialData::CacheRead(disk_cache::Entry* entry,
|
| + IOBuffer* data,
|
| + int data_len,
|
| + const net::CompletionCallback& callback) {
|
| int read_len = std::min(data_len, cached_min_len_);
|
| if (!read_len)
|
| return 0;
|
|
|
| int rv = 0;
|
| if (sparse_entry_) {
|
| - rv = entry->ReadSparseData(current_range_start_, data, read_len,
|
| - callback);
|
| + rv = entry->ReadSparseData(current_range_start_, data, read_len, callback);
|
| } else {
|
| if (current_range_start_ > kint32max)
|
| return ERR_INVALID_ARGUMENT;
|
|
|
| - rv = entry->ReadData(kDataStream, static_cast<int>(current_range_start_),
|
| - data, read_len, callback);
|
| + rv = entry->ReadData(kDataStream,
|
| + static_cast<int>(current_range_start_),
|
| + data,
|
| + read_len,
|
| + callback);
|
| }
|
| return rv;
|
| }
|
|
|
| -int PartialData::CacheWrite(
|
| - disk_cache::Entry* entry, IOBuffer* data, int data_len,
|
| - const net::CompletionCallback& callback) {
|
| +int PartialData::CacheWrite(disk_cache::Entry* entry,
|
| + IOBuffer* data,
|
| + int data_len,
|
| + const net::CompletionCallback& callback) {
|
| DVLOG(3) << "To write: " << data_len;
|
| if (sparse_entry_) {
|
| return entry->WriteSparseData(
|
| current_range_start_, data, data_len, callback);
|
| - } else {
|
| + } else {
|
| if (current_range_start_ > kint32max)
|
| return ERR_INVALID_ARGUMENT;
|
|
|
| - return entry->WriteData(kDataStream, static_cast<int>(current_range_start_),
|
| - data, data_len, callback, true);
|
| + return entry->WriteData(kDataStream,
|
| + static_cast<int>(current_range_start_),
|
| + data,
|
| + data_len,
|
| + callback,
|
| + true);
|
| }
|
| }
|
|
|
| @@ -463,9 +475,9 @@ void PartialData::OnNetworkReadCompleted(int result) {
|
|
|
| int PartialData::GetNextRangeLen() {
|
| int64 range_len =
|
| - byte_range_.HasLastBytePosition() ?
|
| - byte_range_.last_byte_position() - current_range_start_ + 1 :
|
| - kint32max;
|
| + byte_range_.HasLastBytePosition()
|
| + ? byte_range_.last_byte_position() - current_range_start_ + 1
|
| + : kint32max;
|
| if (range_len > kint32max)
|
| range_len = kint32max;
|
| return static_cast<int32>(range_len);
|
|
|