summaryrefslogtreecommitdiff
path: root/core/fpdfapi
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi')
-rw-r--r--core/fpdfapi/parser/cpdf_document.cpp13
-rw-r--r--core/fpdfapi/parser/cpdf_document.h1
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);