| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "storage/browser/blob/blob_reader.h" | 5 #include "storage/browser/blob/blob_reader.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 return file_stream_provider_ | 532 return file_stream_provider_ |
| 533 ->CreateFileStreamReader( | 533 ->CreateFileStreamReader( |
| 534 item.filesystem_url(), item.offset() + additional_offset, | 534 item.filesystem_url(), item.offset() + additional_offset, |
| 535 item.length() == std::numeric_limits<uint64_t>::max() | 535 item.length() == std::numeric_limits<uint64_t>::max() |
| 536 ? storage::kMaximumLength | 536 ? storage::kMaximumLength |
| 537 : item.length() - additional_offset, | 537 : item.length() - additional_offset, |
| 538 item.expected_modification_time()) | 538 item.expected_modification_time()) |
| 539 .Pass(); | 539 .Pass(); |
| 540 case DataElement::TYPE_BLOB: | 540 case DataElement::TYPE_BLOB: |
| 541 case DataElement::TYPE_BYTES: | 541 case DataElement::TYPE_BYTES: |
| 542 case DataElement::TYPE_BYTES_DESCRIPTION: |
| 542 case DataElement::TYPE_DISK_CACHE_ENTRY: | 543 case DataElement::TYPE_DISK_CACHE_ENTRY: |
| 543 case DataElement::TYPE_UNKNOWN: | 544 case DataElement::TYPE_UNKNOWN: |
| 544 break; | 545 break; |
| 545 } | 546 } |
| 546 | 547 |
| 547 NOTREACHED(); | 548 NOTREACHED(); |
| 548 return nullptr; | 549 return nullptr; |
| 549 } | 550 } |
| 550 | 551 |
| 551 void BlobReader::SetFileReaderAtIndex(size_t index, | 552 void BlobReader::SetFileReaderAtIndex(size_t index, |
| 552 scoped_ptr<FileStreamReader> reader) { | 553 scoped_ptr<FileStreamReader> reader) { |
| 553 auto found = index_to_reader_.find(current_item_index_); | 554 auto found = index_to_reader_.find(current_item_index_); |
| 554 if (found != index_to_reader_.end()) { | 555 if (found != index_to_reader_.end()) { |
| 555 if (found->second) { | 556 if (found->second) { |
| 556 delete found->second; | 557 delete found->second; |
| 557 } | 558 } |
| 558 if (!reader.get()) { | 559 if (!reader.get()) { |
| 559 index_to_reader_.erase(found); | 560 index_to_reader_.erase(found); |
| 560 return; | 561 return; |
| 561 } | 562 } |
| 562 found->second = reader.release(); | 563 found->second = reader.release(); |
| 563 } else if (reader.get()) { | 564 } else if (reader.get()) { |
| 564 index_to_reader_[current_item_index_] = reader.release(); | 565 index_to_reader_[current_item_index_] = reader.release(); |
| 565 } | 566 } |
| 566 } | 567 } |
| 567 | 568 |
| 568 } // namespace storage | 569 } // namespace storage |
| OLD | NEW |