Index: pdf/chunk_stream.cc |
diff --git a/pdf/chunk_stream.cc b/pdf/chunk_stream.cc |
index 7ac8f974a5b8b79dd17b67658c904febb593b1b6..e5801513aa0fc7c48c96414a3b7668d074973109 100644 |
--- a/pdf/chunk_stream.cc |
+++ b/pdf/chunk_stream.cc |
@@ -17,7 +17,7 @@ |
namespace chrome_pdf { |
-ChunkStream::ChunkStream() { |
+ChunkStream::ChunkStream() : stream_size_(0) { |
} |
ChunkStream::~ChunkStream() { |
@@ -26,10 +26,12 @@ ChunkStream::~ChunkStream() { |
void ChunkStream::Clear() { |
chunks_.clear(); |
data_.clear(); |
+ stream_size_ = 0; |
} |
void ChunkStream::Preallocate(size_t stream_size) { |
data_.reserve(stream_size); |
+ stream_size_ = stream_size; |
} |
size_t ChunkStream::GetSize() { |
@@ -150,7 +152,7 @@ size_t ChunkStream::GetFirstMissingByte() const { |
return begin->first > 0 ? 0 : begin->second; |
} |
-size_t ChunkStream::GetLastByteBefore(size_t offset) const { |
+size_t ChunkStream::GetFirstMissingByteInInterval(size_t offset) const { |
if (chunks_.empty()) |
return 0; |
std::map<size_t, size_t>::const_iterator it = chunks_.upper_bound(offset); |
@@ -160,13 +162,13 @@ size_t ChunkStream::GetLastByteBefore(size_t offset) const { |
return it->first + it->second; |
} |
-size_t ChunkStream::GetFirstByteAfter(size_t offset) const { |
+size_t ChunkStream::GetLastMissingByteInInterval(size_t offset) const { |
if (chunks_.empty()) |
- return 0; |
+ return stream_size_ - 1; |
std::map<size_t, size_t>::const_iterator it = chunks_.upper_bound(offset); |
if (it == chunks_.end()) |
- return data_.size(); |
- return it->first; |
+ return stream_size_ - 1; |
+ return it->first - 1; |
} |
} // namespace chrome_pdf |