OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sync/internal_api/public/attachments/on_disk_attachment_store.h" | 5 #include "sync/internal_api/public/attachments/on_disk_attachment_store.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/location.h" | 9 #include "base/location.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
314 return attachment.Pass(); | 314 return attachment.Pass(); |
315 } | 315 } |
316 scoped_refptr<base::RefCountedMemory> data = | 316 scoped_refptr<base::RefCountedMemory> data = |
317 base::RefCountedString::TakeString(&data_str); | 317 base::RefCountedString::TakeString(&data_str); |
318 uint32_t crc32c = ComputeCrc32c(data); | 318 uint32_t crc32c = ComputeCrc32c(data); |
319 if (record_metadata.has_crc32c() && record_metadata.crc32c() != crc32c) { | 319 if (record_metadata.has_crc32c() && record_metadata.crc32c() != crc32c) { |
320 DVLOG(1) << "Attachment crc does not match"; | 320 DVLOG(1) << "Attachment crc does not match"; |
321 return attachment.Pass(); | 321 return attachment.Pass(); |
322 } | 322 } |
323 attachment.reset( | 323 attachment.reset( |
324 new Attachment(Attachment::CreateFromParts(attachment_id, data, crc32c))); | 324 new Attachment(Attachment::CreateFromParts(attachment_id, data))); |
pavely
2015/03/07 00:07:25
Maybe check that attachment_id's crc matches the o
maniscalco
2015/03/09 17:09:00
Good idea. Done with test case to verify.
| |
325 return attachment.Pass(); | 325 return attachment.Pass(); |
326 } | 326 } |
327 | 327 |
328 bool OnDiskAttachmentStore::WriteSingleAttachment( | 328 bool OnDiskAttachmentStore::WriteSingleAttachment( |
329 const Attachment& attachment) { | 329 const Attachment& attachment) { |
330 const std::string metadata_key = | 330 const std::string metadata_key = |
331 MakeMetadataKeyFromAttachmentId(attachment.GetId()); | 331 MakeMetadataKeyFromAttachmentId(attachment.GetId()); |
332 const std::string data_key = MakeDataKeyFromAttachmentId(attachment.GetId()); | 332 const std::string data_key = MakeDataKeyFromAttachmentId(attachment.GetId()); |
333 | 333 |
334 std::string metadata_str; | 334 std::string metadata_str; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
397 return key; | 397 return key; |
398 } | 398 } |
399 | 399 |
400 AttachmentMetadata OnDiskAttachmentStore::MakeAttachmentMetadata( | 400 AttachmentMetadata OnDiskAttachmentStore::MakeAttachmentMetadata( |
401 const AttachmentId& attachment_id, | 401 const AttachmentId& attachment_id, |
402 const attachment_store_pb::RecordMetadata& record_metadata) { | 402 const attachment_store_pb::RecordMetadata& record_metadata) { |
403 return AttachmentMetadata(attachment_id, record_metadata.attachment_size()); | 403 return AttachmentMetadata(attachment_id, record_metadata.attachment_size()); |
404 } | 404 } |
405 | 405 |
406 } // namespace syncer | 406 } // namespace syncer |
OLD | NEW |