Make FPDF_GetDocPermissions() consistent for XFA vs. non-XFA

The API should consistently return the same value on failure.

Bug: pdfium:499
Change-Id: I9568c0cc0da3d7257a05aeccaefb88d208544fed
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/111250
Reviewed-by: Nigi <nigi@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_document.cpp b/core/fpdfapi/parser/cpdf_document.cpp
index ee9dfcd..143933b 100644
--- a/core/fpdfapi/parser/cpdf_document.cpp
+++ b/core/fpdfapi/parser/cpdf_document.cpp
@@ -397,10 +397,7 @@
 }
 
 uint32_t CPDF_Document::GetUserPermissions() const {
-  if (m_pParser)
-    return m_pParser->GetPermissions();
-
-  return m_pExtension ? m_pExtension->GetUserPermissions() : 0;
+  return m_pParser ? m_pParser->GetPermissions() : 0;
 }
 
 RetainPtr<CPDF_StreamAcc> CPDF_Document::GetFontFileStreamAcc(
diff --git a/core/fpdfapi/parser/cpdf_document.h b/core/fpdfapi/parser/cpdf_document.h
index 9ceff30..fcde3eb 100644
--- a/core/fpdfapi/parser/cpdf_document.h
+++ b/core/fpdfapi/parser/cpdf_document.h
@@ -33,7 +33,6 @@
     virtual ~Extension() = default;
     virtual int GetPageCount() const = 0;
     virtual void DeletePage(int page_index) = 0;
-    virtual uint32_t GetUserPermissions() const = 0;
     virtual bool ContainsExtensionForm() const = 0;
     virtual bool ContainsExtensionFullForm() const = 0;
     virtual bool ContainsExtensionForegroundForm() const = 0;
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index 06b337e..6d0a824 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -543,14 +543,7 @@
     EXPECT_FALSE(FPDF_GetFileVersion(document(), &version));
     EXPECT_EQ(0, version);
   }
-  {
-#ifdef PDF_ENABLE_XFA
-    const unsigned long kExpected = static_cast<uint32_t>(-1);
-#else   // PDF_ENABLE_XFA
-    const unsigned long kExpected = 0;
-#endif  // PDF_ENABLE_XFA
-    EXPECT_EQ(kExpected, FPDF_GetDocPermissions(document()));
-  }
+  EXPECT_EQ(0U, FPDF_GetDocPermissions(document()));
   EXPECT_EQ(-1, FPDF_GetSecurityHandlerRevision(document()));
   EXPECT_EQ(0, FPDF_GetPageCount(document()));
   EXPECT_TRUE(FPDF_VIEWERREF_GetPrintScaling(document()));
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
index 7318cee..4450f8a 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.cpp
@@ -266,11 +266,6 @@
     m_XFAPageList[page_index].Reset();
 }
 
-uint32_t CPDFXFA_Context::GetUserPermissions() const {
-  // See https://bugs.chromium.org/p/pdfium/issues/detail?id=499
-  return 0xFFFFFFFF;
-}
-
 bool CPDFXFA_Context::ContainsExtensionForm() const {
   return m_FormType == FormType::kXFAFull ||
          m_FormType == FormType::kXFAForeground;
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.h b/fpdfsdk/fpdfxfa/cpdfxfa_context.h
index 4188438..a8b563e 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_context.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.h
@@ -70,7 +70,6 @@
   // CPDF_Document::Extension:
   int GetPageCount() const override;
   void DeletePage(int page_index) override;
-  uint32_t GetUserPermissions() const override;
   bool ContainsExtensionForm() const override;
   bool ContainsExtensionFullForm() const override;
   bool ContainsExtensionForegroundForm() const override;