Pass retained argument to CPDF_Creator
Change-Id: I905e6dd5e00d7dba44b8b84a48d2338072095892
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/95450
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_creator.cpp b/core/fpdfapi/edit/cpdf_creator.cpp
index 9d60e85..6e0019e 100644
--- a/core/fpdfapi/edit/cpdf_creator.cpp
+++ b/core/fpdfapi/edit/cpdf_creator.cpp
@@ -7,6 +7,7 @@
#include "core/fpdfapi/edit/cpdf_creator.h"
#include <algorithm>
+#include <utility>
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_crypto_handler.h"
@@ -35,8 +36,7 @@
class CFX_FileBufferArchive final : public IFX_ArchiveStream {
public:
- explicit CFX_FileBufferArchive(
- const RetainPtr<IFX_RetainableWriteStream>& file);
+ explicit CFX_FileBufferArchive(RetainPtr<IFX_RetainableWriteStream> file);
~CFX_FileBufferArchive() override;
bool WriteBlock(const void* pBuf, size_t size) override;
@@ -52,9 +52,9 @@
};
CFX_FileBufferArchive::CFX_FileBufferArchive(
- const RetainPtr<IFX_RetainableWriteStream>& file)
- : buffer_(kArchiveBufferSize), backing_file_(file) {
- DCHECK(file);
+ RetainPtr<IFX_RetainableWriteStream> file)
+ : buffer_(kArchiveBufferSize), backing_file_(std::move(file)) {
+ DCHECK(backing_file_);
}
CFX_FileBufferArchive::~CFX_FileBufferArchive() {
@@ -123,13 +123,13 @@
} // namespace
CPDF_Creator::CPDF_Creator(CPDF_Document* pDoc,
- const RetainPtr<IFX_RetainableWriteStream>& archive)
+ RetainPtr<IFX_RetainableWriteStream> archive)
: m_pDocument(pDoc),
m_pParser(pDoc->GetParser()),
m_pEncryptDict(m_pParser ? m_pParser->GetEncryptDict() : nullptr),
m_pSecurityHandler(m_pParser ? m_pParser->GetSecurityHandler() : nullptr),
m_dwLastObjNum(m_pDocument->GetLastObjNum()),
- m_Archive(std::make_unique<CFX_FileBufferArchive>(archive)) {}
+ m_Archive(std::make_unique<CFX_FileBufferArchive>(std::move(archive))) {}
CPDF_Creator::~CPDF_Creator() = default;
diff --git a/core/fpdfapi/edit/cpdf_creator.h b/core/fpdfapi/edit/cpdf_creator.h
index d85d8cf..60c4b6b 100644
--- a/core/fpdfapi/edit/cpdf_creator.h
+++ b/core/fpdfapi/edit/cpdf_creator.h
@@ -29,7 +29,7 @@
class CPDF_Creator {
public:
CPDF_Creator(CPDF_Document* pDoc,
- const RetainPtr<IFX_RetainableWriteStream>& archive);
+ RetainPtr<IFX_RetainableWriteStream> archive);
~CPDF_Creator();
void RemoveSecurity();