Chromium Code Reviews| Index: core/fpdfapi/parser/cpdf_dictionary.h |
| diff --git a/core/fpdfapi/parser/cpdf_dictionary.h b/core/fpdfapi/parser/cpdf_dictionary.h |
| index 9cf575ddd49f8a9c8026d21769ab547bbe834159..3d562f5e252081bcea4c3505ae0e0d36247948f3 100644 |
| --- a/core/fpdfapi/parser/cpdf_dictionary.h |
| +++ b/core/fpdfapi/parser/cpdf_dictionary.h |
| @@ -15,6 +15,7 @@ |
| #include "core/fxcrt/cfx_weak_ptr.h" |
| #include "core/fxcrt/fx_coordinates.h" |
| #include "core/fxcrt/fx_string.h" |
| +#include "third_party/base/ptr_util.h" |
| class CPDF_IndirectObjectHolder; |
| @@ -98,6 +99,9 @@ class CPDF_Dictionary : public CPDF_Object { |
| std::map<CFX_ByteString, CPDF_Object*> m_Map; |
| }; |
| +using UniqueDictionary = |
| + std::unique_ptr<CPDF_Dictionary, ReleaseDeleter<CPDF_Object>>; |
| + |
| inline CPDF_Dictionary* ToDictionary(CPDF_Object* obj) { |
| return obj ? obj->AsDictionary() : nullptr; |
| } |
| @@ -106,4 +110,8 @@ inline const CPDF_Dictionary* ToDictionary(const CPDF_Object* obj) { |
| return obj ? obj->AsDictionary() : nullptr; |
| } |
| +inline UniqueDictionary ToDictionary(UniqueObject obj) { |
| + return UniqueDictionary(ToDictionary(obj.release())); |
|
Lei Zhang
2016/10/13 22:35:01
If |obj| is not a dictionary, then doesn't the rel
Tom Sepez
2016/10/13 22:46:30
right. Fixing all these.
|
| +} |
| + |
| #endif // CORE_FPDFAPI_PARSER_CPDF_DICTIONARY_H_ |