Remove unused CXFA_FFWidgetHandler::CreateWidget().

It is not called.  In turn, this makes CreateWidgetFormItem() uncalled.
In turn, this makes Create*Node() methods uncalled. In turn, this makes
enum XFA_WIDGETTYPE unused.

Change-Id: I26fb72e8abbdc5efbc22205401d4b39e762ad41e
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/64911
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/xfa/fxfa/cxfa_ffwidgethandler.cpp b/xfa/fxfa/cxfa_ffwidgethandler.cpp
index aeb6a4a..3335a9e 100644
--- a/xfa/fxfa/cxfa_ffwidgethandler.cpp
+++ b/xfa/fxfa/cxfa_ffwidgethandler.cpp
@@ -258,312 +258,6 @@
                              gs_EventActivity[pParam->m_eType], pParam);
 }
 
-CXFA_FFWidget* CXFA_FFWidgetHandler::CreateWidget(CXFA_FFWidget* hParent,
-                                                  XFA_WIDGETTYPE eType,
-                                                  CXFA_FFWidget* hBefore) {
-  CXFA_Node* pParentFormItem = hParent ? hParent->GetNode() : nullptr;
-  CXFA_Node* pBeforeFormItem = hBefore ? hBefore->GetNode() : nullptr;
-  CXFA_Node* pNewFormItem =
-      CreateWidgetFormItem(eType, pParentFormItem, pBeforeFormItem);
-  if (!pNewFormItem)
-    return nullptr;
-
-  CXFA_Node* templateNode = pNewFormItem->GetTemplateNodeIfExists();
-  if (!templateNode)
-    return nullptr;
-
-  templateNode->SetFlagAndNotify(XFA_NodeFlag_Initialized);
-  pNewFormItem->SetFlagAndNotify(XFA_NodeFlag_Initialized);
-  m_pDocView->RunLayout();
-  CXFA_LayoutItem* pLayout =
-      m_pDocView->GetXFALayout()->GetLayoutItem(pNewFormItem);
-  return GetFFWidget(ToContentLayoutItem(pLayout));
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateWidgetFormItem(
-    XFA_WIDGETTYPE eType,
-    CXFA_Node* pParent,
-    CXFA_Node* pBefore) const {
-  switch (eType) {
-    case XFA_WIDGETTYPE_Barcode:
-      return nullptr;
-    case XFA_WIDGETTYPE_PushButton:
-      return CreatePushButton(pParent, pBefore);
-    case XFA_WIDGETTYPE_CheckButton:
-      return CreateCheckButton(pParent, pBefore);
-    case XFA_WIDGETTYPE_ExcludeGroup:
-      return CreateExclGroup(pParent, pBefore);
-    case XFA_WIDGETTYPE_RadioButton:
-      return CreateRadioButton(pParent, pBefore);
-    case XFA_WIDGETTYPE_Arc:
-      return CreateArc(pParent, pBefore);
-    case XFA_WIDGETTYPE_Rectangle:
-      return CreateRectangle(pParent, pBefore);
-    case XFA_WIDGETTYPE_Image:
-      return CreateImage(pParent, pBefore);
-    case XFA_WIDGETTYPE_Line:
-      return CreateLine(pParent, pBefore);
-    case XFA_WIDGETTYPE_Text:
-      return CreateText(pParent, pBefore);
-    case XFA_WIDGETTYPE_DatetimeEdit:
-      return CreateDatetimeEdit(pParent, pBefore);
-    case XFA_WIDGETTYPE_DecimalField:
-      return CreateDecimalField(pParent, pBefore);
-    case XFA_WIDGETTYPE_NumericField:
-      return CreateNumericField(pParent, pBefore);
-    case XFA_WIDGETTYPE_Signature:
-      return CreateSignature(pParent, pBefore);
-    case XFA_WIDGETTYPE_TextEdit:
-      return CreateTextEdit(pParent, pBefore);
-    case XFA_WIDGETTYPE_DropdownList:
-      return CreateDropdownList(pParent, pBefore);
-    case XFA_WIDGETTYPE_ListBox:
-      return CreateListBox(pParent, pBefore);
-    case XFA_WIDGETTYPE_ImageField:
-      return CreateImageField(pParent, pBefore);
-    case XFA_WIDGETTYPE_PasswordEdit:
-      return CreatePasswordEdit(pParent, pBefore);
-    case XFA_WIDGETTYPE_Subform:
-      return CreateSubform(pParent, pBefore);
-    default:
-      return nullptr;
-  }
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreatePushButton(CXFA_Node* pParent,
-                                                  CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateField(XFA_Element::Button, pParent, pBefore);
-  CXFA_Node* pCaption = CreateCopyNode(XFA_Element::Caption, pField, nullptr);
-  CXFA_Node* pValue = CreateCopyNode(XFA_Element::Value, pCaption, nullptr);
-  CXFA_Node* pText = CreateCopyNode(XFA_Element::Text, pValue, nullptr);
-  pText->JSObject()->SetContent(L"Button", L"Button", false, false, true);
-
-  CXFA_Node* pPara = CreateCopyNode(XFA_Element::Para, pCaption, nullptr);
-  pPara->JSObject()->SetEnum(XFA_Attribute::VAlign, XFA_AttributeValue::Middle,
-                             false);
-  pPara->JSObject()->SetEnum(XFA_Attribute::HAlign, XFA_AttributeValue::Center,
-                             false);
-  CreateFontNode(pCaption);
-
-  CXFA_Node* pBorder = CreateCopyNode(XFA_Element::Border, pField, nullptr);
-  pBorder->JSObject()->SetEnum(XFA_Attribute::Hand, XFA_AttributeValue::Right,
-                               false);
-
-  CXFA_Node* pEdge = CreateCopyNode(XFA_Element::Edge, pBorder, nullptr);
-  pEdge->JSObject()->SetEnum(XFA_Attribute::Stroke, XFA_AttributeValue::Raised,
-                             false);
-
-  CXFA_Node* pFill = CreateCopyNode(XFA_Element::Fill, pBorder, nullptr);
-  CXFA_Node* pColor = CreateCopyNode(XFA_Element::Color, pFill, nullptr);
-  pColor->JSObject()->SetCData(XFA_Attribute::Value, L"212, 208, 200", false,
-                               false);
-
-  CXFA_Node* pBind = CreateCopyNode(XFA_Element::Bind, pField, nullptr);
-  pBind->JSObject()->SetEnum(XFA_Attribute::Match, XFA_AttributeValue::None,
-                             false);
-
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateCheckButton(CXFA_Node* pParent,
-                                                   CXFA_Node* pBefore) const {
-  return CreateField(XFA_Element::CheckButton, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateExclGroup(CXFA_Node* pParent,
-                                                 CXFA_Node* pBefore) const {
-  return CreateFormItem(XFA_Element::ExclGroup, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateRadioButton(CXFA_Node* pParent,
-                                                   CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateField(XFA_Element::CheckButton, pParent, pBefore);
-  CXFA_Ui* pUi = pField->GetFirstChildByClass<CXFA_Ui>(XFA_Element::Ui);
-  if (!pUi)
-    return nullptr;
-
-  CXFA_CheckButton* pWidget =
-      pUi->GetFirstChildByClass<CXFA_CheckButton>(XFA_Element::CheckButton);
-  if (!pWidget)
-    return nullptr;
-
-  pWidget->JSObject()->SetEnum(XFA_Attribute::Shape, XFA_AttributeValue::Round,
-                               false);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateDatetimeEdit(CXFA_Node* pParent,
-                                                    CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateField(XFA_Element::DateTimeEdit, pParent, pBefore);
-  CreateValueNode(XFA_Element::Date, pField);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateDecimalField(CXFA_Node* pParent,
-                                                    CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateNumericField(pParent, pBefore);
-  CreateValueNode(XFA_Element::Decimal, pField);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateNumericField(CXFA_Node* pParent,
-                                                    CXFA_Node* pBefore) const {
-  return CreateField(XFA_Element::NumericEdit, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateSignature(CXFA_Node* pParent,
-                                                 CXFA_Node* pBefore) const {
-  return CreateField(XFA_Element::Signature, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateTextEdit(CXFA_Node* pParent,
-                                                CXFA_Node* pBefore) const {
-  return CreateField(XFA_Element::TextEdit, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateDropdownList(CXFA_Node* pParent,
-                                                    CXFA_Node* pBefore) const {
-  return CreateField(XFA_Element::ChoiceList, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateListBox(CXFA_Node* pParent,
-                                               CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateDropdownList(pParent, pBefore);
-  CXFA_Node* pUi = pField->GetFirstChild();
-  CXFA_Node* pListBox = pUi->GetFirstChild();
-  pListBox->JSObject()->SetEnum(XFA_Attribute::Open, XFA_AttributeValue::Always,
-                                false);
-  pListBox->JSObject()->SetEnum(XFA_Attribute::CommitOn,
-                                XFA_AttributeValue::Exit, false);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateImageField(CXFA_Node* pParent,
-                                                  CXFA_Node* pBefore) const {
-  return CreateField(XFA_Element::ImageEdit, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreatePasswordEdit(CXFA_Node* pParent,
-                                                    CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateField(XFA_Element::PasswordEdit, pParent, pBefore);
-  CXFA_Node* pBind = CreateCopyNode(XFA_Element::Bind, pField, nullptr);
-  pBind->JSObject()->SetEnum(XFA_Attribute::Match, XFA_AttributeValue::None,
-                             false);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateField(XFA_Element eElement,
-                                             CXFA_Node* pParent,
-                                             CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateFormItem(XFA_Element::Field, pParent, pBefore);
-  CreateCopyNode(eElement, CreateCopyNode(XFA_Element::Ui, pField, nullptr),
-                 nullptr);
-  CreateFontNode(pField);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateArc(CXFA_Node* pParent,
-                                           CXFA_Node* pBefore) const {
-  return CreateDraw(XFA_Element::Arc, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateRectangle(CXFA_Node* pParent,
-                                                 CXFA_Node* pBefore) const {
-  return CreateDraw(XFA_Element::Rectangle, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateImage(CXFA_Node* pParent,
-                                             CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateDraw(XFA_Element::Image, pParent, pBefore);
-  CreateCopyNode(XFA_Element::ImageEdit,
-                 CreateCopyNode(XFA_Element::Ui, pField, nullptr), nullptr);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateLine(CXFA_Node* pParent,
-                                            CXFA_Node* pBefore) const {
-  return CreateDraw(XFA_Element::Line, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateText(CXFA_Node* pParent,
-                                            CXFA_Node* pBefore) const {
-  CXFA_Node* pField = CreateDraw(XFA_Element::Text, pParent, pBefore);
-  CreateCopyNode(XFA_Element::TextEdit,
-                 CreateCopyNode(XFA_Element::Ui, pField, nullptr), nullptr);
-  CreateFontNode(pField);
-  return pField;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateDraw(XFA_Element eElement,
-                                            CXFA_Node* pParent,
-                                            CXFA_Node* pBefore) const {
-  CXFA_Node* pDraw = CreateFormItem(XFA_Element::Draw, pParent, pBefore);
-  CreateValueNode(eElement, pDraw);
-  return pDraw;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateSubform(CXFA_Node* pParent,
-                                               CXFA_Node* pBefore) const {
-  return CreateFormItem(XFA_Element::Subform, pParent, pBefore);
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateFormItem(XFA_Element eElement,
-                                                CXFA_Node* pParent,
-                                                CXFA_Node* pBefore) const {
-  if (!pParent)
-    return nullptr;
-
-  CXFA_Node* pTemplateParent = pParent->GetTemplateNodeIfExists();
-  if (!pTemplateParent)
-    return nullptr;
-
-  CXFA_Node* pNewFormItem = pTemplateParent->CloneTemplateToForm(false);
-  if (pParent)
-    pParent->InsertChildAndNotify(pNewFormItem, pBefore);
-  return pNewFormItem;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateCopyNode(XFA_Element eElement,
-                                                CXFA_Node* pParent,
-                                                CXFA_Node* pBefore) const {
-  if (!pParent)
-    return nullptr;
-
-  CXFA_Node* pTemplateParent = pParent->GetTemplateNodeIfExists();
-  CXFA_Node* pNewNode =
-      CreateTemplateNode(eElement, pTemplateParent,
-                         pBefore ? pBefore->GetTemplateNodeIfExists() : nullptr)
-          ->Clone(false);
-  if (pParent)
-    pParent->InsertChildAndNotify(pNewNode, pBefore);
-  return pNewNode;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateTemplateNode(XFA_Element eElement,
-                                                    CXFA_Node* pParent,
-                                                    CXFA_Node* pBefore) const {
-  CXFA_Document* pXFADoc = GetXFADoc();
-  CXFA_Node* pNewTemplateNode =
-      pXFADoc->CreateNode(XFA_PacketType::Template, eElement);
-  if (pParent)
-    pParent->InsertChildAndNotify(pNewTemplateNode, pBefore);
-  return pNewTemplateNode;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateFontNode(CXFA_Node* pParent) const {
-  CXFA_Node* pFont = CreateCopyNode(XFA_Element::Font, pParent, nullptr);
-  pFont->JSObject()->SetCData(XFA_Attribute::Typeface, L"Myriad Pro", false,
-                              false);
-  return pFont;
-}
-
-CXFA_Node* CXFA_FFWidgetHandler::CreateValueNode(XFA_Element eValue,
-                                                 CXFA_Node* pParent) const {
-  CXFA_Node* pValue = CreateCopyNode(XFA_Element::Value, pParent, nullptr);
-  CreateCopyNode(eValue, pValue, nullptr);
-  return pValue;
-}
-
 CXFA_Document* CXFA_FFWidgetHandler::GetObjFactory() const {
   return GetXFADoc();
 }
diff --git a/xfa/fxfa/cxfa_ffwidgethandler.h b/xfa/fxfa/cxfa_ffwidgethandler.h
index 93402f1..ab1cda1 100644
--- a/xfa/fxfa/cxfa_ffwidgethandler.h
+++ b/xfa/fxfa/cxfa_ffwidgethandler.h
@@ -21,10 +21,6 @@
   explicit CXFA_FFWidgetHandler(CXFA_FFDocView* pDocView);
   ~CXFA_FFWidgetHandler();
 
-  CXFA_FFWidget* CreateWidget(CXFA_FFWidget* hParent,
-                              XFA_WIDGETTYPE eType,
-                              CXFA_FFWidget* hBefore);
-
   bool OnMouseEnter(CXFA_FFWidget* hWidget);
   bool OnMouseExit(CXFA_FFWidget* hWidget);
   bool OnLButtonDown(CXFA_FFWidget* hWidget,
@@ -75,47 +71,6 @@
   XFA_EventError ProcessEvent(CXFA_Node* pNode, CXFA_EventParam* pParam);
 
  private:
-  CXFA_Node* CreateWidgetFormItem(XFA_WIDGETTYPE eType,
-                                  CXFA_Node* pParent,
-                                  CXFA_Node* pBefore) const;
-
-  CXFA_Node* CreatePushButton(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateCheckButton(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateExclGroup(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateRadioButton(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateDatetimeEdit(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateDecimalField(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateNumericField(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateSignature(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateTextEdit(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateDropdownList(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateListBox(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateImageField(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreatePasswordEdit(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateField(XFA_Element eElement,
-                         CXFA_Node* pParent,
-                         CXFA_Node* pBefore) const;
-  CXFA_Node* CreateArc(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateRectangle(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateImage(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateLine(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateText(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateDraw(XFA_Element eElement,
-                        CXFA_Node* pParent,
-                        CXFA_Node* pBefore) const;
-
-  CXFA_Node* CreateSubform(CXFA_Node* pParent, CXFA_Node* pBefore) const;
-  CXFA_Node* CreateFormItem(XFA_Element eElement,
-                            CXFA_Node* pParent,
-                            CXFA_Node* pBefore) const;
-  CXFA_Node* CreateCopyNode(XFA_Element eElement,
-                            CXFA_Node* pParent,
-                            CXFA_Node* pBefore) const;
-  CXFA_Node* CreateTemplateNode(XFA_Element eElement,
-                                CXFA_Node* pParent,
-                                CXFA_Node* pBefore) const;
-  CXFA_Node* CreateFontNode(CXFA_Node* pParent) const;
-  CXFA_Node* CreateValueNode(XFA_Element eValue, CXFA_Node* pParent) const;
   CXFA_Document* GetObjFactory() const;
   CXFA_Document* GetXFADoc() const;
 
diff --git a/xfa/fxfa/fxfa.h b/xfa/fxfa/fxfa.h
index 5c01da5..2028cd3 100644
--- a/xfa/fxfa/fxfa.h
+++ b/xfa/fxfa/fxfa.h
@@ -89,30 +89,6 @@
   XFA_WidgetStatus_Visible = 1 << 8
 };
 
-enum XFA_WIDGETTYPE {
-  XFA_WIDGETTYPE_Barcode,
-  XFA_WIDGETTYPE_PushButton,
-  XFA_WIDGETTYPE_CheckButton,
-  XFA_WIDGETTYPE_RadioButton,
-  XFA_WIDGETTYPE_DatetimeEdit,
-  XFA_WIDGETTYPE_DecimalField,
-  XFA_WIDGETTYPE_NumericField,
-  XFA_WIDGETTYPE_Signature,
-  XFA_WIDGETTYPE_TextEdit,
-  XFA_WIDGETTYPE_DropdownList,
-  XFA_WIDGETTYPE_ListBox,
-  XFA_WIDGETTYPE_ImageField,
-  XFA_WIDGETTYPE_PasswordEdit,
-  XFA_WIDGETTYPE_Arc,
-  XFA_WIDGETTYPE_Rectangle,
-  XFA_WIDGETTYPE_Image,
-  XFA_WIDGETTYPE_Line,
-  XFA_WIDGETTYPE_Text,
-  XFA_WIDGETTYPE_ExcludeGroup,
-  XFA_WIDGETTYPE_Subform,
-  XFA_WIDGETTYPE_Unknown,
-};
-
 // Probably should be called IXFA_AppDelegate.
 class IXFA_AppProvider {
  public: