| Index: core/fpdfapi/parser/cpdf_stream.h
|
| diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h
|
| index f0ba31924e4147c82dce91e88d1d42b9c80ce9a3..73484d83359a06262a7afbc5242298078f03af97 100644
|
| --- a/core/fpdfapi/parser/cpdf_stream.h
|
| +++ b/core/fpdfapi/parser/cpdf_stream.h
|
| @@ -20,7 +20,6 @@
|
|
|
| // Takes ownership of |pData| and |pDict|.
|
| CPDF_Stream(uint8_t* pData, uint32_t size, CPDF_Dictionary* pDict);
|
| - ~CPDF_Stream() override;
|
|
|
| // CPDF_Object.
|
| Type GetType() const override;
|
| @@ -48,16 +47,19 @@
|
| bool IsMemoryBased() const { return m_bMemoryBased; }
|
|
|
| protected:
|
| + ~CPDF_Stream() override;
|
| CPDF_Object* CloneNonCyclic(
|
| bool bDirect,
|
| std::set<const CPDF_Object*>* pVisited) const override;
|
|
|
| + std::unique_ptr<CPDF_Dictionary, ReleaseDeleter<CPDF_Dictionary>> m_pDict;
|
| bool m_bMemoryBased = true;
|
| uint32_t m_dwSize = 0;
|
| - std::unique_ptr<CPDF_Dictionary> m_pDict;
|
| std::unique_ptr<uint8_t, FxFreeDeleter> m_pDataBuf;
|
| IFX_SeekableReadStream* m_pFile = nullptr;
|
| };
|
| +
|
| +using UniqueStream = std::unique_ptr<CPDF_Stream, ReleaseDeleter<CPDF_Object>>;
|
|
|
| inline CPDF_Stream* ToStream(CPDF_Object* obj) {
|
| return obj ? obj->AsStream() : nullptr;
|
| @@ -67,12 +69,12 @@
|
| return obj ? obj->AsStream() : nullptr;
|
| }
|
|
|
| -inline std::unique_ptr<CPDF_Stream> ToStream(std::unique_ptr<CPDF_Object> obj) {
|
| +inline UniqueStream ToStream(UniqueObject obj) {
|
| CPDF_Stream* pStream = ToStream(obj.get());
|
| if (!pStream)
|
| return nullptr;
|
| obj.release();
|
| - return std::unique_ptr<CPDF_Stream>(pStream);
|
| + return UniqueStream(pStream);
|
| }
|
|
|
| #endif // CORE_FPDFAPI_PARSER_CPDF_STREAM_H_
|
|
|