Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(864)

Unified Diff: pdf/chunk_stream.cc

Issue 1506023002: Minimize the number of range requests made by PDFium (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix issue with chunk_stream Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pdf/chunk_stream.h ('k') | pdf/document_loader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « pdf/chunk_stream.h ('k') | pdf/document_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698