diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2018-06-21 18:51:15 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-06-21 18:51:15 +0000 |
commit | 0dcf1f40652edd701d032227a742f6a63e6e3fae (patch) | |
tree | 5bb3c21d9e502e1b32488535769a4ed90384a391 /core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp | |
parent | d52a0afaa3e4374dee469e41db4389bf9c61c4a9 (diff) | |
download | pdfium-0dcf1f40652edd701d032227a742f6a63e6e3fae.tar.xz |
Do not save content stream if all page objects were removed from it.
Bug: pdfium:1051
Change-Id: Ia990a47eeceb47fd2b15fe4ea7226861507484db
Reviewed-on: https://pdfium-review.googlesource.com/35115
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp')
-rw-r--r-- | core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp index 80b121a572..da6c74e2c7 100644 --- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp +++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp @@ -161,11 +161,14 @@ void CPDF_PageContentGenerator::UpdateContentStreams( page_content_manager.GetStreamByIndex(stream_index); ASSERT(old_stream); - // TODO(pdfium:1051): Remove streams that are now empty. If buf is empty, - // remove this instead of setting the data. - - old_stream->SetData(buf); + // If buf is now empty, remove the stream instead of setting the data. + if (buf->tellp() <= 0) + page_content_manager.ScheduleRemoveStreamByIndex(stream_index); + else + old_stream->SetData(buf); } + + page_content_manager.ExecuteScheduledRemovals(); } ByteString CPDF_PageContentGenerator::RealizeResource( |