Make XFA_TEXTPROVIDERTYPE a nested enum class

-- add const to one member
-- now that member is const, we can see it is never kDataSets
-- remove kDataSets and dead code.

Change-Id: I5125bea9c27fff3da77ff8cfb43dfd3d6f66044c
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/84490
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/xfa/fxfa/cxfa_ffpushbutton.cpp b/xfa/fxfa/cxfa_ffpushbutton.cpp
index 9e0ad1b..4cdc045 100644
--- a/xfa/fxfa/cxfa_ffpushbutton.cpp
+++ b/xfa/fxfa/cxfa_ffpushbutton.cpp
@@ -146,7 +146,7 @@
     if (!m_pRollProvider) {
       m_pRollProvider = cppgc::MakeGarbageCollected<CXFA_TextProvider>(
           GetDoc()->GetHeap()->GetAllocationHandle(), m_pNode.Get(),
-          XFA_TEXTPROVIDERTYPE_Rollover);
+          CXFA_TextProvider::Type::kRollover);
     }
     m_pRolloverTextLayout = cppgc::MakeGarbageCollected<CXFA_TextLayout>(
         GetDoc()->GetHeap()->GetAllocationHandle(), GetDoc(), m_pRollProvider);
@@ -155,7 +155,7 @@
     if (!m_pDownProvider) {
       m_pDownProvider = cppgc::MakeGarbageCollected<CXFA_TextProvider>(
           GetDoc()->GetHeap()->GetAllocationHandle(), m_pNode.Get(),
-          XFA_TEXTPROVIDERTYPE_Down);
+          CXFA_TextProvider::Type::kDown);
     }
     m_pDownTextLayout = cppgc::MakeGarbageCollected<CXFA_TextLayout>(
         GetDoc()->GetHeap()->GetAllocationHandle(), GetDoc(), m_pDownProvider);
diff --git a/xfa/fxfa/cxfa_textprovider.cpp b/xfa/fxfa/cxfa_textprovider.cpp
index a9e9cb8..58f8494 100644
--- a/xfa/fxfa/cxfa_textprovider.cpp
+++ b/xfa/fxfa/cxfa_textprovider.cpp
@@ -32,8 +32,7 @@
 #include "xfa/fxfa/parser/cxfa_value.h"
 #include "xfa/fxfa/parser/xfa_utils.h"
 
-CXFA_TextProvider::CXFA_TextProvider(CXFA_Node* pNode,
-                                     XFA_TEXTPROVIDERTYPE eType)
+CXFA_TextProvider::CXFA_TextProvider(CXFA_Node* pNode, Type eType)
     : m_pNode(pNode), m_eType(eType) {
   DCHECK(m_pNode);
 }
@@ -46,7 +45,7 @@
 
 CXFA_Node* CXFA_TextProvider::GetTextNode(bool* bRichText) {
   *bRichText = false;
-  if (m_eType == XFA_TEXTPROVIDERTYPE_Text) {
+  if (m_eType == Type::kText) {
     CXFA_Value* pValueNode =
         m_pNode->GetChild<CXFA_Value>(0, XFA_Element::Value, false);
     if (!pValueNode)
@@ -64,21 +63,7 @@
     return pChildNode;
   }
 
-  if (m_eType == XFA_TEXTPROVIDERTYPE_Datasets) {
-    CXFA_Node* pBind = m_pNode->GetBindData();
-    CFX_XMLNode* pXMLNode = pBind->GetXMLMappingNode();
-    for (CFX_XMLNode* pXMLChild = pXMLNode->GetFirstChild(); pXMLChild;
-         pXMLChild = pXMLChild->GetNextSibling()) {
-      CFX_XMLElement* pElement = ToXMLElement(pXMLChild);
-      if (pElement && XFA_RecognizeRichText(pElement)) {
-        *bRichText = true;
-        break;
-      }
-    }
-    return pBind;
-  }
-
-  if (m_eType == XFA_TEXTPROVIDERTYPE_Caption) {
+  if (m_eType == Type::kCaption) {
     CXFA_Caption* pCaptionNode =
         m_pNode->GetChild<CXFA_Caption>(0, XFA_Element::Caption, false);
     if (!pCaptionNode)
@@ -109,11 +94,10 @@
   CXFA_Node* pNode = pItemNode->GetFirstChild();
   while (pNode) {
     WideString wsName = pNode->JSObject()->GetCData(XFA_Attribute::Name);
-    if (m_eType == XFA_TEXTPROVIDERTYPE_Rollover &&
-        wsName.EqualsASCII("rollover")) {
+    if (m_eType == Type::kRollover && wsName.EqualsASCII("rollover")) {
       return pNode;
     }
-    if (m_eType == XFA_TEXTPROVIDERTYPE_Down && wsName.EqualsASCII("down"))
+    if (m_eType == Type::kDown && wsName.EqualsASCII("down"))
       return pNode;
 
     pNode = pNode->GetNextSibling();
@@ -122,7 +106,7 @@
 }
 
 CXFA_Para* CXFA_TextProvider::GetParaIfExists() {
-  if (m_eType == XFA_TEXTPROVIDERTYPE_Text)
+  if (m_eType == Type::kText)
     return m_pNode->GetParaIfExists();
 
   CXFA_Caption* pNode =
@@ -131,7 +115,7 @@
 }
 
 CXFA_Font* CXFA_TextProvider::GetFontIfExists() {
-  if (m_eType == XFA_TEXTPROVIDERTYPE_Text)
+  if (m_eType == Type::kText)
     return m_pNode->GetFontIfExists();
 
   CXFA_Caption* pNode =
@@ -148,7 +132,7 @@
 
 Optional<WideString> CXFA_TextProvider::GetEmbeddedObj(
     const WideString& wsAttr) const {
-  if (m_eType != XFA_TEXTPROVIDERTYPE_Text)
+  if (m_eType != Type::kText)
     return pdfium::nullopt;
 
   CXFA_Node* pParent = m_pNode->GetParent();
diff --git a/xfa/fxfa/cxfa_textprovider.h b/xfa/fxfa/cxfa_textprovider.h
index e0aae86..138e429 100644
--- a/xfa/fxfa/cxfa_textprovider.h
+++ b/xfa/fxfa/cxfa_textprovider.h
@@ -19,16 +19,15 @@
 class CXFA_Node;
 class CXFA_Para;
 
-enum XFA_TEXTPROVIDERTYPE {
-  XFA_TEXTPROVIDERTYPE_Text,
-  XFA_TEXTPROVIDERTYPE_Datasets,
-  XFA_TEXTPROVIDERTYPE_Caption,
-  XFA_TEXTPROVIDERTYPE_Rollover,
-  XFA_TEXTPROVIDERTYPE_Down,
-};
-
 class CXFA_TextProvider : public cppgc::GarbageCollected<CXFA_TextProvider> {
  public:
+  enum class Type : uint8_t {
+    kText,
+    kCaption,
+    kRollover,
+    kDown,
+  };
+
   CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED;
   ~CXFA_TextProvider();
 
@@ -41,10 +40,10 @@
   Optional<WideString> GetEmbeddedObj(const WideString& wsAttr) const;
 
  private:
-  CXFA_TextProvider(CXFA_Node* pNode, XFA_TEXTPROVIDERTYPE eType);
+  CXFA_TextProvider(CXFA_Node* pNode, Type eType);
 
   cppgc::Member<CXFA_Node> m_pNode;
-  XFA_TEXTPROVIDERTYPE m_eType;
+  const Type m_eType;
 };
 
 #endif  // XFA_FXFA_CXFA_TEXTPROVIDER_H_
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index 44f2e11..b3b4445 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -848,7 +848,7 @@
 
     m_pTextProvider = cppgc::MakeGarbageCollected<CXFA_TextProvider>(
         doc->GetHeap()->GetAllocationHandle(), pNode,
-        XFA_TEXTPROVIDERTYPE_Text);
+        CXFA_TextProvider::Type::kText);
     m_pTextLayout = cppgc::MakeGarbageCollected<CXFA_TextLayout>(
         doc->GetHeap()->GetAllocationHandle(), doc, m_pTextProvider);
   }
@@ -917,7 +917,7 @@
 
     m_pCapTextProvider = cppgc::MakeGarbageCollected<CXFA_TextProvider>(
         doc->GetHeap()->GetAllocationHandle(), pNode,
-        XFA_TEXTPROVIDERTYPE_Caption);
+        CXFA_TextProvider::Type::kCaption);
     m_pCapTextLayout = cppgc::MakeGarbageCollected<CXFA_TextLayout>(
         doc->GetHeap()->GetAllocationHandle(), doc, m_pCapTextProvider);
     return true;