diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-05-25 22:58:39 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-05-25 22:58:39 +0000 |
commit | df93cd35530e7b8dd67abde8d199c36c3fae76be (patch) | |
tree | cc760bdcc560f0ad448db5a2d01de01d6ba8d1c7 /core/fpdfapi | |
parent | 2aa4b2f3928ccd8393f60db8f7b740c75f4e8a8d (diff) | |
download | pdfium-df93cd35530e7b8dd67abde8d199c36c3fae76be.tar.xz |
Replace some #ifdef PDF_ENABLE_XFA with runtime checks.
Abstract GetUserPermissions() differences via new virtual method.
Abstract GetPageCount() differences via existing virtual method.
Remove unused ReadHeader() form for non-xfa.
Remove unused FindSubstFontByUnicode() for xfa.
Remove unused FXFONT_EXACTMATCH
Change-Id: I0a3de01a9841db86fcbc96991d3fa2682393b9ad
Reviewed-on: https://pdfium-review.googlesource.com/32831
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fpdfapi')
-rw-r--r-- | core/fpdfapi/parser/cpdf_document.cpp | 13 | ||||
-rw-r--r-- | core/fpdfapi/parser/cpdf_document.h | 1 |
2 files changed, 5 insertions, 9 deletions
diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp index 5479a06174..7968d1b019 100644 --- a/core/fpdfapi/parser/cpdf_document.cpp +++ b/core/fpdfapi/parser/cpdf_document.cpp @@ -464,15 +464,10 @@ int CPDF_Document::RetrievePageCount() { } uint32_t CPDF_Document::GetUserPermissions() const { - // https://bugs.chromium.org/p/pdfium/issues/detail?id=499 - if (!m_pParser) { -#ifndef PDF_ENABLE_XFA - return 0; -#else // PDF_ENABLE_XFA - return 0xFFFFFFFF; -#endif - } - return m_pParser->GetPermissions(); + if (m_pParser) + return m_pParser->GetPermissions(); + + return m_pExtension ? m_pExtension->GetUserPermissions() : 0; } CPDF_Font* CPDF_Document::LoadFont(CPDF_Dictionary* pFontDict) { diff --git a/core/fpdfapi/parser/cpdf_document.h b/core/fpdfapi/parser/cpdf_document.h index 013eded765..c2774b163a 100644 --- a/core/fpdfapi/parser/cpdf_document.h +++ b/core/fpdfapi/parser/cpdf_document.h @@ -49,6 +49,7 @@ class CPDF_Document : public CPDF_IndirectObjectHolder { virtual CPDF_Document* GetPDFDoc() const = 0; virtual int GetPageCount() const = 0; virtual void DeletePage(int page_index) = 0; + virtual uint32_t GetUserPermissions() const = 0; }; explicit CPDF_Document(std::unique_ptr<CPDF_Parser> pParser); |