| Index: net/http/http_cache_transaction.cc
|
| diff --git a/net/http/http_cache_transaction.cc b/net/http/http_cache_transaction.cc
|
| index 82b30788c61c8db6959fe7f7a4770cbc14c3fac8..3a236829d0b09183dd0862133a565c46ca91ace4 100644
|
| --- a/net/http/http_cache_transaction.cc
|
| +++ b/net/http/http_cache_transaction.cc
|
| @@ -360,7 +360,7 @@ int HttpCache::Transaction::RestartWithCertificate(
|
| int HttpCache::Transaction::RestartWithAuth(
|
| const AuthCredentials& credentials,
|
| const CompletionCallback& callback) {
|
| - DCHECK(auth_response_.headers);
|
| + DCHECK(auth_response_.headers.get());
|
| DCHECK(!callback.is_null());
|
|
|
| // Ensure that we only have one asynchronous call at a time.
|
| @@ -400,7 +400,7 @@ int HttpCache::Transaction::Read(IOBuffer* buf, int buf_len,
|
| // If we have an intermediate auth response at this point, then it means the
|
| // user wishes to read the network response (the error page). If there is a
|
| // previous response in the cache then we should leave it intact.
|
| - if (auth_response_.headers && mode_ != NONE) {
|
| + if (auth_response_.headers.get() && mode_ != NONE) {
|
| UpdateTransactionPattern(PATTERN_NOT_COVERED);
|
| DCHECK(mode_ & WRITE);
|
| DoneWritingToEntry(mode_ == READ_WRITE);
|
| @@ -464,10 +464,12 @@ void HttpCache::Transaction::DoneReading() {
|
|
|
| const HttpResponseInfo* HttpCache::Transaction::GetResponseInfo() const {
|
| // Null headers means we encountered an error or haven't a response yet
|
| - if (auth_response_.headers)
|
| + if (auth_response_.headers.get())
|
| return &auth_response_;
|
| - return (response_.headers || response_.ssl_info.cert ||
|
| - response_.cert_request_info) ? &response_ : NULL;
|
| + return (response_.headers.get() || response_.ssl_info.cert.get() ||
|
| + response_.cert_request_info.get())
|
| + ? &response_
|
| + : NULL;
|
| }
|
|
|
| LoadState HttpCache::Transaction::GetLoadState() const {
|
| @@ -918,7 +920,7 @@ int HttpCache::Transaction::DoSuccessfulSendRequest() {
|
| }
|
|
|
| new_response_ = new_response;
|
| - if (!ValidatePartialResponse() && !auth_response_.headers) {
|
| + if (!ValidatePartialResponse() && !auth_response_.headers.get()) {
|
| // Something went wrong with this request and we have to restart it.
|
| // If we have an authentication response, we are exposed to weird things
|
| // hapenning if the user cancels the authentication before we receive
|
| @@ -982,7 +984,7 @@ int HttpCache::Transaction::DoSuccessfulSendRequest() {
|
| int HttpCache::Transaction::DoNetworkRead() {
|
| ReportNetworkActionStart();
|
| next_state_ = STATE_NETWORK_READ_COMPLETE;
|
| - return network_trans_->Read(read_buf_, io_buf_len_, io_callback_);
|
| + return network_trans_->Read(read_buf_.get(), io_buf_len_, io_callback_);
|
| }
|
|
|
| int HttpCache::Transaction::DoNetworkReadComplete(int result) {
|
| @@ -1238,7 +1240,7 @@ int HttpCache::Transaction::DoUpdateCachedResponse() {
|
| int rv = OK;
|
| // Update cached response based on headers in new_response.
|
| // TODO(wtc): should we update cached certificate (response_.ssl_info), too?
|
| - response_.headers->Update(*new_response_->headers);
|
| + response_.headers->Update(*new_response_->headers.get());
|
| response_.response_time = new_response_->response_time;
|
| response_.request_time = new_response_->request_time;
|
| response_.network_accessed = new_response_->network_accessed;
|
| @@ -1301,7 +1303,7 @@ int HttpCache::Transaction::DoOverwriteCachedResponse() {
|
|
|
| // We change the value of Content-Length for partial content.
|
| if (handling_206_ && partial_.get())
|
| - partial_->FixContentLength(new_response_->headers);
|
| + partial_->FixContentLength(new_response_->headers.get());
|
|
|
| response_ = *new_response_;
|
|
|
| @@ -1309,7 +1311,7 @@ int HttpCache::Transaction::DoOverwriteCachedResponse() {
|
| // There is no point in storing this resource because it will never be used.
|
| DoneWritingToEntry(false);
|
| if (partial_.get())
|
| - partial_->FixResponseHeaders(response_.headers, true);
|
| + partial_->FixResponseHeaders(response_.headers.get(), true);
|
| next_state_ = STATE_PARTIAL_HEADERS_RECEIVED;
|
| return OK;
|
| }
|
| @@ -1392,7 +1394,7 @@ int HttpCache::Transaction::DoPartialHeadersReceived() {
|
| } else if (mode_ != NONE) {
|
| // We are about to return the headers for a byte-range request to the user,
|
| // so let's fix them.
|
| - partial_->FixResponseHeaders(response_.headers, true);
|
| + partial_->FixResponseHeaders(response_.headers.get(), true);
|
| }
|
| return OK;
|
| }
|
| @@ -1406,9 +1408,8 @@ int HttpCache::Transaction::DoCacheReadResponse() {
|
|
|
| net_log_.BeginEvent(NetLog::TYPE_HTTP_CACHE_READ_INFO);
|
| ReportCacheActionStart();
|
| - return ResetCacheIOStart(
|
| - entry_->disk_entry->ReadData(kResponseInfoIndex, 0, read_buf_,
|
| - io_buf_len_, io_callback_));
|
| + return ResetCacheIOStart(entry_->disk_entry->ReadData(
|
| + kResponseInfoIndex, 0, read_buf_.get(), io_buf_len_, io_callback_));
|
| }
|
|
|
| int HttpCache::Transaction::DoCacheReadResponseComplete(int result) {
|
| @@ -1496,7 +1497,7 @@ int HttpCache::Transaction::DoCacheWriteResponseComplete(int result) {
|
|
|
| int HttpCache::Transaction::DoCacheReadMetadata() {
|
| DCHECK(entry_);
|
| - DCHECK(!response_.metadata);
|
| + DCHECK(!response_.metadata.get());
|
| next_state_ = STATE_CACHE_READ_METADATA_COMPLETE;
|
|
|
| response_.metadata =
|
| @@ -1505,7 +1506,9 @@ int HttpCache::Transaction::DoCacheReadMetadata() {
|
| net_log_.BeginEvent(NetLog::TYPE_HTTP_CACHE_READ_INFO);
|
| ReportCacheActionStart();
|
| return ResetCacheIOStart(
|
| - entry_->disk_entry->ReadData(kMetadataIndex, 0, response_.metadata,
|
| + entry_->disk_entry->ReadData(kMetadataIndex,
|
| + 0,
|
| + response_.metadata.get(),
|
| response_.metadata->size(),
|
| io_callback_));
|
| }
|
| @@ -1542,14 +1545,15 @@ int HttpCache::Transaction::DoCacheReadData() {
|
| net_log_.BeginEvent(NetLog::TYPE_HTTP_CACHE_READ_DATA);
|
| ReportCacheActionStart();
|
| if (partial_.get()) {
|
| - return ResetCacheIOStart(
|
| - partial_->CacheRead(entry_->disk_entry, read_buf_, io_buf_len_,
|
| - io_callback_));
|
| + return ResetCacheIOStart(partial_->CacheRead(
|
| + entry_->disk_entry, read_buf_.get(), io_buf_len_, io_callback_));
|
| }
|
|
|
| - return ResetCacheIOStart(
|
| - entry_->disk_entry->ReadData(kResponseContentIndex, read_offset_,
|
| - read_buf_, io_buf_len_, io_callback_));
|
| + return ResetCacheIOStart(entry_->disk_entry->ReadData(kResponseContentIndex,
|
| + read_offset_,
|
| + read_buf_.get(),
|
| + io_buf_len_,
|
| + io_callback_));
|
| }
|
|
|
| int HttpCache::Transaction::DoCacheReadDataComplete(int result) {
|
| @@ -1591,7 +1595,7 @@ int HttpCache::Transaction::DoCacheWriteData(int num_bytes) {
|
| }
|
|
|
| return ResetCacheIOStart(
|
| - AppendResponseDataToEntry(read_buf_, num_bytes, io_callback_));
|
| + AppendResponseDataToEntry(read_buf_.get(), num_bytes, io_callback_));
|
| }
|
|
|
| int HttpCache::Transaction::DoCacheWriteDataComplete(int result) {
|
| @@ -1867,8 +1871,8 @@ int HttpCache::Transaction::BeginPartialCacheValidation() {
|
| int HttpCache::Transaction::ValidateEntryHeadersAndContinue() {
|
| DCHECK(mode_ == READ_WRITE);
|
|
|
| - if (!partial_->UpdateFromStoredHeaders(response_.headers, entry_->disk_entry,
|
| - truncated_)) {
|
| + if (!partial_->UpdateFromStoredHeaders(
|
| + response_.headers.get(), entry_->disk_entry, truncated_)) {
|
| return DoRestartPartialRequest();
|
| }
|
|
|
| @@ -1962,7 +1966,8 @@ bool HttpCache::Transaction::RequiresValidation() {
|
| return false;
|
|
|
| if (response_.vary_data.is_valid() &&
|
| - !response_.vary_data.MatchesRequest(*request_, *response_.headers)) {
|
| + !response_.vary_data.MatchesRequest(*request_,
|
| + *response_.headers.get())) {
|
| vary_mismatch_ = true;
|
| return true;
|
| }
|
| @@ -1985,7 +1990,7 @@ bool HttpCache::Transaction::RequiresValidation() {
|
| }
|
|
|
| bool HttpCache::Transaction::ConditionalizeRequest() {
|
| - DCHECK(response_.headers);
|
| + DCHECK(response_.headers.get());
|
|
|
| if (request_->method == "PUT" || request_->method == "DELETE")
|
| return false;
|
| @@ -2074,7 +2079,7 @@ bool HttpCache::Transaction::ConditionalizeRequest() {
|
| // time it is called it will return true so that we don't keep retrying the
|
| // request.
|
| bool HttpCache::Transaction::ValidatePartialResponse() {
|
| - const HttpResponseHeaders* headers = new_response_->headers;
|
| + const HttpResponseHeaders* headers = new_response_->headers.get();
|
| int response_code = headers->response_code();
|
| bool partial_response = (response_code == 206);
|
| handling_206_ = false;
|
| @@ -2184,7 +2189,7 @@ void HttpCache::Transaction::IgnoreRangeRequest() {
|
|
|
| void HttpCache::Transaction::FailRangeRequest() {
|
| response_ = *new_response_;
|
| - partial_->FixResponseHeaders(response_.headers, false);
|
| + partial_->FixResponseHeaders(response_.headers.get(), false);
|
| }
|
|
|
| int HttpCache::Transaction::SetupEntryForRead() {
|
| @@ -2275,9 +2280,8 @@ int HttpCache::Transaction::WriteResponseInfoToEntry(bool truncated) {
|
| data->Done();
|
|
|
| io_buf_len_ = data->pickle()->size();
|
| - return ResetCacheIOStart(
|
| - entry_->disk_entry->WriteData(kResponseInfoIndex, 0, data,
|
| - io_buf_len_, io_callback_, true));
|
| + return ResetCacheIOStart(entry_->disk_entry->WriteData(
|
| + kResponseInfoIndex, 0, data.get(), io_buf_len_, io_callback_, true));
|
| }
|
|
|
| int HttpCache::Transaction::AppendResponseDataToEntry(
|
|
|