From 0f25f014b3bff4229cb93a1ca850babc5dd382da Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Thu, 27 Jul 2017 11:23:48 -0400 Subject: 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 Commit-Queue: dsinclair --- xfa/fxfa/cxfa_textparser.h | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'xfa/fxfa/cxfa_textparser.h') 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 m_Attributes; + }; + void InitCSSData(CXFA_TextProvider* pTextProvider); void ParseRichText(CFX_XMLNode* pXMLNode, CFDE_CSSComputedStyle* pParentStyle); - std::unique_ptr ParseTagInfo(CFX_XMLNode* pXMLNode); + std::unique_ptr ParseTagInfo(CFX_XMLNode* pXMLNode); std::unique_ptr LoadDefaultSheetStyle(); CFX_RetainPtr CreateStyle( CFDE_CSSComputedStyle* pParentStyle); -- cgit v1.2.3