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;
