summaryrefslogtreecommitdiff
path: root/xfa/fxfa/cxfa_textparser.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-07-27 11:23:48 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-07-27 16:00:12 +0000
commit0f25f014b3bff4229cb93a1ca850babc5dd382da (patch)
tree3dcc98af117703e4af87401582ba948eb0bdd840 /xfa/fxfa/cxfa_textparser.h
parentf63e8133d7a767c6f162e700056ae8ba8512820d (diff)
downloadpdfium-0f25f014b3bff4229cb93a1ca850babc5dd382da.tar.xz
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>
Diffstat (limited to 'xfa/fxfa/cxfa_textparser.h')
-rw-r--r--xfa/fxfa/cxfa_textparser.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/xfa/fxfa/cxfa_textparser.h b/xfa/fxfa/cxfa_textparser.h
index 3c1b6039d0..303b10ce07 100644
--- a/xfa/fxfa/cxfa_textparser.h
+++ b/xfa/fxfa/cxfa_textparser.h
@@ -20,7 +20,6 @@ class CFDE_CSSComputedStyle;
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 @@ class CXFA_TextParser {
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);