| Index: sync/internal_api/attachments/attachment_downloader_impl.cc
|
| diff --git a/sync/internal_api/attachments/attachment_downloader_impl.cc b/sync/internal_api/attachments/attachment_downloader_impl.cc
|
| index f2e6a007aa0f1dc5dd921f4c37713b49081095d8..56a2c346d7cdb2492afb92fbeec23ef834285a77 100644
|
| --- a/sync/internal_api/attachments/attachment_downloader_impl.cc
|
| +++ b/sync/internal_api/attachments/attachment_downloader_impl.cc
|
| @@ -132,7 +132,7 @@
|
| DownloadState* download_state = *iter;
|
| scoped_refptr<base::RefCountedString> null_attachment_data;
|
| ReportResult(*download_state, DOWNLOAD_TRANSIENT_ERROR,
|
| - null_attachment_data);
|
| + null_attachment_data, 0);
|
| DCHECK(state_map_.find(download_state->attachment_url) != state_map_.end());
|
| state_map_.erase(download_state->attachment_url);
|
| }
|
| @@ -175,13 +175,7 @@
|
| // locally calculated one will be stored and used for further checks.
|
| result = DOWNLOAD_TRANSIENT_ERROR;
|
| } else {
|
| - // If the id's crc32c doesn't match that of the downloaded attachment,
|
| - // then we're stuck and retrying is unlikely to help.
|
| - if (attachment_crc32c != download_state.attachment_id.GetCrc32c()) {
|
| - result = DOWNLOAD_UNSPECIFIED_ERROR;
|
| - } else {
|
| - result = DOWNLOAD_SUCCESS;
|
| - }
|
| + result = DOWNLOAD_SUCCESS;
|
| }
|
| UMA_HISTOGRAM_BOOLEAN("Sync.Attachments.DownloadChecksumResult",
|
| result == DOWNLOAD_SUCCESS);
|
| @@ -199,7 +193,7 @@
|
| } else if (response_code == net::URLFetcher::RESPONSE_CODE_INVALID) {
|
| result = DOWNLOAD_TRANSIENT_ERROR;
|
| }
|
| - ReportResult(download_state, result, attachment_data);
|
| + ReportResult(download_state, result, attachment_data, attachment_crc32c);
|
| state_map_.erase(iter);
|
| }
|
|
|
| @@ -227,7 +221,8 @@
|
| void AttachmentDownloaderImpl::ReportResult(
|
| const DownloadState& download_state,
|
| const DownloadResult& result,
|
| - const scoped_refptr<base::RefCountedString>& attachment_data) {
|
| + const scoped_refptr<base::RefCountedString>& attachment_data,
|
| + uint32_t attachment_crc32c) {
|
| std::vector<DownloadCallback>::const_iterator iter;
|
| for (iter = download_state.user_callbacks.begin();
|
| iter != download_state.user_callbacks.end();
|
| @@ -235,7 +230,7 @@
|
| scoped_ptr<Attachment> attachment;
|
| if (result == DOWNLOAD_SUCCESS) {
|
| attachment.reset(new Attachment(Attachment::CreateFromParts(
|
| - download_state.attachment_id, attachment_data)));
|
| + download_state.attachment_id, attachment_data, attachment_crc32c)));
|
| }
|
|
|
| base::MessageLoop::current()->PostTask(
|
|
|