sw/source/filter/html/css1atr.cxx | 29 +++++++++++------------- sw/source/filter/html/css1kywd.hxx | 44 ++++++++++++++++++------------------- sw/source/filter/html/htmlcss1.cxx | 6 +---- 3 files changed, 38 insertions(+), 41 deletions(-)
New commits: commit 1a05155f51bb8891d98d936cc7b4e9160e36cc4d Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Sat Jul 27 17:11:13 2024 +0500 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Sat Jul 27 16:35:21 2024 +0200 Change some string types to avoid unnecessary allocations Change-Id: I45a12adb0d04ea2e048816203a6439692c2372b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171093 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx index 20706f93d690..a0191f4e50ef 100644 --- a/sw/source/filter/html/css1atr.cxx +++ b/sw/source/filter/html/css1atr.cxx @@ -847,14 +847,14 @@ sal_uInt16 SwHTMLWriter::GetCSS1Selector( const SwFormat *pFormat, OString& rTok if( pPseudo ) { rToken = OOO_STRING_SVTOOLS_HTML_anchor ""_ostr; - *pPseudo = OStringToOUString( sCSS1_link, RTL_TEXTENCODING_ASCII_US ); + *pPseudo = sCSS1_link; } break; case RES_POOLCHR_INET_VISIT: if( pPseudo ) { rToken = OOO_STRING_SVTOOLS_HTML_anchor ""_ostr; - *pPseudo = OStringToOUString( sCSS1_visited, RTL_TEXTENCODING_ASCII_US ); + *pPseudo = sCSS1_visited; } break; } @@ -1590,8 +1590,7 @@ static SwHTMLWriter& OutCSS1_SwFormat( SwHTMLWriter& rWrt, const SwFormat& rForm // export Drop-Caps if( const SwFormatDrop *pDrop = aItemSet.GetItemIfSet( RES_PARATR_DROP, false ) ) { - OUString sOut = aSelector + - ":" + OStringToOUString( sCSS1_first_letter, RTL_TEXTENCODING_ASCII_US ); + OUString sOut = aSelector + ":" + sCSS1_first_letter; OutCSS1DropCapRule( rWrt, sOut, *pDrop, CSS1_FMT_ISTAG != nDeep, bHasScriptDependencies ); } @@ -1609,11 +1608,11 @@ static SwHTMLWriter& OutCSS1_SwPageDesc( SwHTMLWriter& rWrt, const SwPageDesc& r else if( pTemplate ) pRefPageDesc = pTemplate->getIDocumentStylePoolAccess().GetPageDescFromPool( nRefPoolId, false ); - OUString aSelector = "@" + OStringToOUString( sCSS1_page, RTL_TEXTENCODING_ASCII_US ); + OUString aSelector = OUString::Concat("@") + sCSS1_page; if( bPseudo ) { - std::string_view pPseudo; + std::u16string_view pPseudo; switch( rPageDesc.GetPoolFormatId() ) { case RES_POOLPAGE_FIRST: pPseudo = sCSS1_first; break; @@ -1621,7 +1620,7 @@ static SwHTMLWriter& OutCSS1_SwPageDesc( SwHTMLWriter& rWrt, const SwPageDesc& r case RES_POOLPAGE_RIGHT: pPseudo = sCSS1_right; break; } if( !pPseudo.empty() ) - aSelector += ":" + OStringToOUString( pPseudo, RTL_TEXTENCODING_ASCII_US ); + aSelector += OUString::Concat(":") + pPseudo; } SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_RULE_ON|CSS1_OUTMODE_TEMPLATE, @@ -3098,7 +3097,8 @@ static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rH return rWrt; // if necessary, add the orientation of the Graphic - std::string_view pRepeat, pHori, pVert; + std::u16string_view pRepeat, pHori; + std::string_view pVert; if( pGrf || !aLink.isEmpty() ) { if( GPOS_TILED==ePos ) @@ -3166,7 +3166,7 @@ static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rH { // no color and no Link, but a transparent Brush if( bTransparent && sw::Css1Background::Fly != nMode ) - sOut += OStringToOUString(sCSS1_PV_transparent, RTL_TEXTENCODING_ASCII_US); + sOut += sCSS1_PV_transparent; } else { @@ -3183,30 +3183,29 @@ static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rH if(pGrf) { - sOut += OStringToOUString(sCSS1_url, RTL_TEXTENCODING_ASCII_US) + + sOut += OUString::Concat(sCSS1_url) + "(\'" OOO_STRING_SVTOOLS_HTML_O_data ":" + aGraphicInBase64 + "\')"; } else { - sOut += OStringToOUString(sCSS1_url, RTL_TEXTENCODING_ASCII_US)+ - "(" + rWrt.normalizeURL(aLink, bOwn) + ")"; + sOut += OUString::Concat(sCSS1_url) + "(" + rWrt.normalizeURL(aLink, bOwn) + ")"; } if( !pRepeat.empty() ) { - sOut += " " + OStringToOUString(pRepeat, RTL_TEXTENCODING_ASCII_US); + sOut += OUString::Concat(" ") + pRepeat; } if( !pHori.empty() ) { - sOut += " " + OStringToOUString(pHori, RTL_TEXTENCODING_ASCII_US); + sOut += OUString::Concat(" ") + pHori; } if( !pVert.empty() ) { sOut += " " + OStringToOUString(pVert, RTL_TEXTENCODING_ASCII_US); } - sOut += " " + OStringToOUString(sCSS1_PV_scroll, RTL_TEXTENCODING_ASCII_US) + " "; + sOut += OUString::Concat(" ") + sCSS1_PV_scroll + " "; } } diff --git a/sw/source/filter/html/css1kywd.hxx b/sw/source/filter/html/css1kywd.hxx index 42ad28da9259..74c21bd88f62 100644 --- a/sw/source/filter/html/css1kywd.hxx +++ b/sw/source/filter/html/css1kywd.hxx @@ -24,20 +24,20 @@ #include <string_view> -constexpr inline std::string_view sCSS_mimetype = "text/css"; +constexpr inline std::u16string_view sCSS_mimetype = u"text/css"; -constexpr inline std::string_view sCSS1_page = "page"; -//constexpr inline std::string_view sCSS1_media = "media"; +constexpr inline std::u16string_view sCSS1_page = u"page"; +//constexpr inline std::u16string_view sCSS1_media = u"media"; -constexpr inline std::string_view sCSS1_link = "link"; -constexpr inline std::string_view sCSS1_visited = "visited"; -constexpr inline std::string_view sCSS1_first_letter = "first-letter"; +constexpr inline OUString sCSS1_link = u"link"_ustr; +constexpr inline OUString sCSS1_visited = u"visited"_ustr; +constexpr inline std::u16string_view sCSS1_first_letter = u"first-letter"; -constexpr inline std::string_view sCSS1_left = "left"; -constexpr inline std::string_view sCSS1_right = "right"; -constexpr inline std::string_view sCSS1_first = "first"; +constexpr inline std::u16string_view sCSS1_left = u"left"; +constexpr inline std::u16string_view sCSS1_right = u"right"; +constexpr inline std::u16string_view sCSS1_first = u"first"; -constexpr inline std::string_view sCSS1_url = "url"; +constexpr inline std::u16string_view sCSS1_url = u"url"; constexpr inline std::string_view sCSS1_UNIT_pt = "pt"; constexpr inline std::string_view sCSS1_UNIT_mm = "mm"; @@ -50,11 +50,11 @@ constexpr inline std::string_view sCSS1_UNIT_px = "px"; constexpr inline std::string_view sCSS1_P_font_family = "font-family"; -constexpr inline std::string_view sCSS1_PV_serif = "serif"; -constexpr inline std::string_view sCSS1_PV_sans_serif = "sans-serif"; -constexpr inline std::string_view sCSS1_PV_cursive = "cursive"; -constexpr inline std::string_view sCSS1_PV_fantasy = "fantasy"; -constexpr inline std::string_view sCSS1_PV_monospace = "monospace"; +constexpr inline OString sCSS1_PV_serif = "serif"_ostr; +constexpr inline OString sCSS1_PV_sans_serif = "sans-serif"_ostr; +constexpr inline OString sCSS1_PV_cursive = "cursive"_ostr; +constexpr inline OString sCSS1_PV_fantasy = "fantasy"_ostr; +constexpr inline OString sCSS1_PV_monospace = "monospace"_ostr; constexpr inline std::string_view sCSS1_P_font_style = "font-style"; @@ -94,16 +94,16 @@ constexpr inline std::string_view sCSS1_P_color = "color"; constexpr inline std::string_view sCSS1_P_background = "background"; constexpr inline std::string_view sCSS1_P_background_color = "background-color"; -constexpr inline std::string_view sCSS1_PV_transparent = "transparent"; +constexpr inline std::u16string_view sCSS1_PV_transparent = u"transparent"; -constexpr inline std::string_view sCSS1_PV_repeat = "repeat"; -constexpr inline std::string_view sCSS1_PV_no_repeat = "no-repeat"; +constexpr inline std::u16string_view sCSS1_PV_repeat = u"repeat"; +constexpr inline std::u16string_view sCSS1_PV_no_repeat = u"no-repeat"; -constexpr inline std::string_view sCSS1_PV_top = "top"; -constexpr inline std::string_view sCSS1_PV_middle = "middle"; -constexpr inline std::string_view sCSS1_PV_bottom = "bottom"; +constexpr inline std::u16string_view sCSS1_PV_top = u"top"; +constexpr inline std::u16string_view sCSS1_PV_middle = u"middle"; +constexpr inline std::u16string_view sCSS1_PV_bottom = u"bottom"; -constexpr inline std::string_view sCSS1_PV_scroll = "scroll"; +constexpr inline std::u16string_view sCSS1_PV_scroll = u"scroll"; // Strings for text properties diff --git a/sw/source/filter/html/htmlcss1.cxx b/sw/source/filter/html/htmlcss1.cxx index c484233fbe5d..752e75e273fd 100644 --- a/sw/source/filter/html/htmlcss1.cxx +++ b/sw/source/filter/html/htmlcss1.cxx @@ -1674,8 +1674,7 @@ void SwHTMLParser::NewStyle() sType = rOption.GetString(); } - m_bIgnoreRawData = sType.getLength() && - !o3tl::equalsAscii(o3tl::getToken(sType, 0,';'), sCSS_mimetype); + m_bIgnoreRawData = sType.getLength() && o3tl::getToken(sType, 0,';') != sCSS_mimetype; } void SwHTMLParser::EndStyle() @@ -1760,8 +1759,7 @@ void SwHTMLParser::InsertLink() } if( !sHRef.isEmpty() && sRel.equalsIgnoreAsciiCase( "STYLESHEET" ) && - ( sType.isEmpty() || - o3tl::equalsAscii(o3tl::getToken(sType, 0,';'), sCSS_mimetype) ) ) + ( sType.isEmpty() || o3tl::getToken(sType, 0,';') == sCSS_mimetype ) ) { if( GetMedium() ) {