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() )
             {

Reply via email to