From 71a452f8ce12e31cc4e0d8c7878567b0c7fc63c2 Mon Sep 17 00:00:00 2001 From: tsepez Date: Fri, 13 May 2016 17:51:27 -0700 Subject: Make CFX_ByteString(const CFX_ByteStringC&) explicit. Add missing helper function to CFX_ByteTextBuf to avoid the anti-pattern CFX_ByteString(sBuf.AsStringC()), using the name "Make" to indicate there's an allocation going on in this case. Change some method arguments to take pre-existing ByteStrings where possible. Review-Url: https://codereview.chromium.org/1977093002 --- core/fxcrt/include/fx_basic.h | 9 +++++++-- core/fxcrt/include/fx_string.h | 3 +-- core/fxcrt/include/fx_xml.h | 14 +++++++------- 3 files changed, 15 insertions(+), 11 deletions(-) (limited to 'core/fxcrt/include') diff --git a/core/fxcrt/include/fx_basic.h b/core/fxcrt/include/fx_basic.h index 48999c4f19..7121ffcd0b 100644 --- a/core/fxcrt/include/fx_basic.h +++ b/core/fxcrt/include/fx_basic.h @@ -56,10 +56,15 @@ class CFX_BinaryBuf { class CFX_ByteTextBuf : public CFX_BinaryBuf { public: - void AppendChar(int ch) { AppendByte((uint8_t)ch); } FX_STRSIZE GetLength() const { return m_DataSize; } - CFX_ByteStringC AsStringC() const; + CFX_ByteString MakeString() const { + return CFX_ByteString(m_pBuffer.get(), m_DataSize); + } + CFX_ByteStringC AsStringC() const { + return CFX_ByteStringC(m_pBuffer.get(), m_DataSize); + } + void AppendChar(int ch) { AppendByte(static_cast(ch)); } CFX_ByteTextBuf& operator<<(int i); CFX_ByteTextBuf& operator<<(uint32_t i); CFX_ByteTextBuf& operator<<(double f); diff --git a/core/fxcrt/include/fx_string.h b/core/fxcrt/include/fx_string.h index df8afb386f..142f9372d0 100644 --- a/core/fxcrt/include/fx_string.h +++ b/core/fxcrt/include/fx_string.h @@ -46,8 +46,7 @@ class CFX_ByteString { CFX_ByteString(const FX_CHAR* ptr, FX_STRSIZE len); CFX_ByteString(const uint8_t* ptr, FX_STRSIZE len); - // TODO(tsepez): mark constructor as explicit. - CFX_ByteString(const CFX_ByteStringC& bstrc); + explicit CFX_ByteString(const CFX_ByteStringC& bstrc); CFX_ByteString(const CFX_ByteStringC& bstrc1, const CFX_ByteStringC& bstrc2); ~CFX_ByteString(); diff --git a/core/fxcrt/include/fx_xml.h b/core/fxcrt/include/fx_xml.h index 3e22883c7f..8816e2eae1 100644 --- a/core/fxcrt/include/fx_xml.h +++ b/core/fxcrt/include/fx_xml.h @@ -14,7 +14,7 @@ class CXML_AttrItem { public: - bool Matches(const CFX_ByteStringC& space, const CFX_ByteStringC& name) const; + bool Matches(const CFX_ByteString& space, const CFX_ByteString& name) const; CFX_ByteString m_QSpaceName; CFX_ByteString m_AttrName; @@ -23,11 +23,11 @@ class CXML_AttrItem { class CXML_AttrMap { public: - const CFX_WideString* Lookup(const CFX_ByteStringC& space, - const CFX_ByteStringC& name) const; - void SetAt(const CFX_ByteStringC& space, - const CFX_ByteStringC& name, - const CFX_WideStringC& value); + const CFX_WideString* Lookup(const CFX_ByteString& space, + const CFX_ByteString& name) const; + void SetAt(const CFX_ByteString& space, + const CFX_ByteString& name, + const CFX_WideString& value); int GetSize() const; CXML_AttrItem& GetAt(int index) const; @@ -69,7 +69,7 @@ class CXML_Element { void Empty(); CFX_ByteString GetTagName(FX_BOOL bQualified = FALSE) const; CFX_ByteString GetNamespace(FX_BOOL bQualified = FALSE) const; - CFX_ByteString GetNamespaceURI(const CFX_ByteStringC& qName) const; + CFX_ByteString GetNamespaceURI(const CFX_ByteString& qName) const; CXML_Element* GetParent() const { return m_pParent; } uint32_t CountAttrs() const { return m_AttrMap.GetSize(); } void GetAttrByIndex(int index, -- cgit v1.2.3