diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-07-27 11:23:48 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-07-27 16:00:12 +0000 |
commit | 0f25f014b3bff4229cb93a1ca850babc5dd382da (patch) | |
tree | 3dcc98af117703e4af87401582ba948eb0bdd840 /xfa/fxfa/cxfa_textparser.h | |
parent | f63e8133d7a767c6f162e700056ae8ba8512820d (diff) | |
download | pdfium-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.h | 28 |
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); |