Move CXFA_CSSTagProvider to inner class of CXFA_TextParser

The TagProvider is only used in CXFA_TextParser. This CL moves the code
to a private inner class and renames to TagProvider.

Change-Id: Idd1926250fc59592cc923fde9ec6f8750cb10abf
Reviewed-on: https://pdfium-review.googlesource.com/9231
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
diff --git a/BUILD.gn b/BUILD.gn
index 9f8c52a..057e84f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1614,8 +1614,6 @@
       "xfa/fwl/theme/cfwl_utils.h",
       "xfa/fwl/theme/cfwl_widgettp.cpp",
       "xfa/fwl/theme/cfwl_widgettp.h",
-      "xfa/fxfa/cxfa_csstagprovider.cpp",
-      "xfa/fxfa/cxfa_csstagprovider.h",
       "xfa/fxfa/cxfa_deffontmgr.cpp",
       "xfa/fxfa/cxfa_deffontmgr.h",
       "xfa/fxfa/cxfa_eventparam.cpp",
diff --git a/xfa/fde/css/cfde_cssstyleselector.cpp b/xfa/fde/css/cfde_cssstyleselector.cpp
index 2213feb..51e60bc 100644
--- a/xfa/fde/css/cfde_cssstyleselector.cpp
+++ b/xfa/fde/css/cfde_cssstyleselector.cpp
@@ -21,7 +21,6 @@
 #include "xfa/fde/css/cfde_cssstylesheet.h"
 #include "xfa/fde/css/cfde_csssyntaxparser.h"
 #include "xfa/fde/css/cfde_cssvaluelist.h"
-#include "xfa/fxfa/cxfa_csstagprovider.h"
 
 CFDE_CSSStyleSelector::CFDE_CSSStyleSelector(CFGAS_FontMgr* pFontMgr)
     : m_pFontMgr(pFontMgr), m_fDefFontSize(12.0f) {}
diff --git a/xfa/fxfa/cxfa_csstagprovider.cpp b/xfa/fxfa/cxfa_csstagprovider.cpp
deleted file mode 100644
index 98d00d4..0000000
--- a/xfa/fxfa/cxfa_csstagprovider.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2017 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "xfa/fxfa/cxfa_csstagprovider.h"
-
-CXFA_CSSTagProvider::CXFA_CSSTagProvider()
-    : m_bTagAvailable(false), m_bContent(false) {}
-
-CXFA_CSSTagProvider::~CXFA_CSSTagProvider() {}
diff --git a/xfa/fxfa/cxfa_csstagprovider.h b/xfa/fxfa/cxfa_csstagprovider.h
deleted file mode 100644
index 058740b..0000000
--- a/xfa/fxfa/cxfa_csstagprovider.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2017 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef XFA_FXFA_CXFA_CSSTAGPROVIDER_H_
-#define XFA_FXFA_CXFA_CSSTAGPROVIDER_H_
-
-#include <map>
-
-#include "core/fxcrt/fx_string.h"
-
-class CXFA_CSSTagProvider {
- public:
-  CXFA_CSSTagProvider();
-  ~CXFA_CSSTagProvider();
-
-  CFX_WideString GetTagName() { return m_wsTagName; }
-
-  void SetTagName(const CFX_WideString& wsName) { m_wsTagName = wsName; }
-  void SetAttribute(const CFX_WideString& wsAttr,
-                    const CFX_WideString& wsValue) {
-    m_Attributes.insert({wsAttr, wsValue});
-  }
-
-  CFX_WideString GetAttribute(const CFX_WideString& wsAttr) {
-    return m_Attributes[wsAttr];
-  }
-
-  bool m_bTagAvailable;
-  bool m_bContent;
-
- private:
-  CFX_WideString m_wsTagName;
-  std::map<CFX_WideString, CFX_WideString> m_Attributes;
-};
-
-#endif  // XFA_FXFA_CXFA_CSSTAGPROVIDER_H_
diff --git a/xfa/fxfa/cxfa_textparser.cpp b/xfa/fxfa/cxfa_textparser.cpp
index 2bc0096..c74cf50 100644
--- a/xfa/fxfa/cxfa_textparser.cpp
+++ b/xfa/fxfa/cxfa_textparser.cpp
@@ -19,7 +19,6 @@
 #include "xfa/fde/css/cfde_cssstylesheet.h"
 #include "xfa/fde/css/fde_css.h"
 #include "xfa/fgas/font/cfgas_fontmgr.h"
-#include "xfa/fxfa/cxfa_csstagprovider.h"
 #include "xfa/fxfa/cxfa_ffapp.h"
 #include "xfa/fxfa/cxfa_ffdoc.h"
 #include "xfa/fxfa/cxfa_fontmgr.h"
@@ -269,9 +268,9 @@
                             FX_HashCode_GetW(wsName.AsStringC(), true));
 }
 
-std::unique_ptr<CXFA_CSSTagProvider> CXFA_TextParser::ParseTagInfo(
+std::unique_ptr<CXFA_TextParser::TagProvider> CXFA_TextParser::ParseTagInfo(
     CFX_XMLNode* pXMLNode) {
-  auto tagProvider = pdfium::MakeUnique<CXFA_CSSTagProvider>();
+  auto tagProvider = pdfium::MakeUnique<TagProvider>();
 
   CFX_WideString wsName;
   if (pXMLNode->GetType() == FX_XMLNODE_Element) {
@@ -623,3 +622,8 @@
   }
   return true;
 }
+
+CXFA_TextParser::TagProvider::TagProvider()
+    : m_bTagAvailable(false), m_bContent(false) {}
+
+CXFA_TextParser::TagProvider::~TagProvider() {}
diff --git a/xfa/fxfa/cxfa_textparser.h b/xfa/fxfa/cxfa_textparser.h
index 3c1b603..303b10c 100644
--- a/xfa/fxfa/cxfa_textparser.h
+++ b/xfa/fxfa/cxfa_textparser.h
@@ -20,7 +20,6 @@
 class CFDE_CSSStyleSelector;
 class CFDE_CSSStyleSheet;
 class CFX_XMLNode;
-class CXFA_CSSTagProvider;
 class CXFA_TextParseContext;
 class CXFA_TextProvider;
 class CXFA_TextTabstopsContext;
@@ -86,10 +85,35 @@
   bool TagValidate(const CFX_WideString& str) const;
 
  private:
+  class TagProvider {
+   public:
+    TagProvider();
+    ~TagProvider();
+
+    CFX_WideString GetTagName() { return m_wsTagName; }
+
+    void SetTagName(const CFX_WideString& wsName) { m_wsTagName = wsName; }
+    void SetAttribute(const CFX_WideString& wsAttr,
+                      const CFX_WideString& wsValue) {
+      m_Attributes.insert({wsAttr, wsValue});
+    }
+
+    CFX_WideString GetAttribute(const CFX_WideString& wsAttr) {
+      return m_Attributes[wsAttr];
+    }
+
+    bool m_bTagAvailable;
+    bool m_bContent;
+
+   private:
+    CFX_WideString m_wsTagName;
+    std::map<CFX_WideString, CFX_WideString> m_Attributes;
+  };
+
   void InitCSSData(CXFA_TextProvider* pTextProvider);
   void ParseRichText(CFX_XMLNode* pXMLNode,
                      CFDE_CSSComputedStyle* pParentStyle);
-  std::unique_ptr<CXFA_CSSTagProvider> ParseTagInfo(CFX_XMLNode* pXMLNode);
+  std::unique_ptr<TagProvider> ParseTagInfo(CFX_XMLNode* pXMLNode);
   std::unique_ptr<CFDE_CSSStyleSheet> LoadDefaultSheetStyle();
   CFX_RetainPtr<CFDE_CSSComputedStyle> CreateStyle(
       CFDE_CSSComputedStyle* pParentStyle);