summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-04-28 12:38:01 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-04-29 08:31:21 +0200
commitb1e36f4d264f1d8d8df4558ba0c781ccb93a4244 (patch)
tree39b8e40a58c9d9d78c455ead6d0aef6c2aa7a0ea /xmloff
parent560a0f2fbe452d25fe78d6756919c11ec67f630f (diff)
tdf#63640 FILEOPEN/FILESAVE: particular .odt loads/saves very slow, part4
cache the XMLTokenMap data in static const vars, so we only need to initialise them once Change-Id: Ib63bedc5af5d5927fed189a6b1a86a5db6865c72 Reviewed-on: https://gerrit.libreoffice.org/71466 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/inc/txtfldi.hxx2
-rw-r--r--xmloff/source/chart/XMLSymbolImageContext.cxx2
-rw-r--r--xmloff/source/draw/XMLImageMapContext.cxx2
-rw-r--r--xmloff/source/style/DashStyle.cxx2
-rw-r--r--xmloff/source/style/GradientStyle.cxx2
-rw-r--r--xmloff/source/style/HatchStyle.cxx4
-rw-r--r--xmloff/source/style/ImageStyle.cxx2
-rw-r--r--xmloff/source/style/TransGradientStyle.cxx2
-rw-r--r--xmloff/source/style/XMLBackgroundImageContext.cxx28
-rw-r--r--xmloff/source/style/xmltabi.cxx2
-rw-r--r--xmloff/source/text/XMLFootnoteImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexSourceBaseContext.cxx2
-rw-r--r--xmloff/source/text/XMLLineNumberingImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLSectionImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLSectionSourceDDEImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLSectionSourceImportContext.cxx2
-rw-r--r--xmloff/source/text/txtdropi.cxx2
-rw-r--r--xmloff/source/text/txtfldi.cxx4
-rw-r--r--xmloff/source/xforms/xformsapi.cxx4
19 files changed, 32 insertions, 38 deletions
diff --git a/xmloff/inc/txtfldi.hxx b/xmloff/inc/txtfldi.hxx
index 44540e4df500..794ddef20ea5 100644
--- a/xmloff/inc/txtfldi.hxx
+++ b/xmloff/inc/txtfldi.hxx
@@ -945,8 +945,6 @@ protected:
/** import dde field declaration container (<text:dde-connection-decls>) */
class XMLDdeFieldDeclsImportContext : public SvXMLImportContext
{
- SvXMLTokenMap const aTokenMap;
-
public:
XMLDdeFieldDeclsImportContext(SvXMLImport& rImport,
diff --git a/xmloff/source/chart/XMLSymbolImageContext.cxx b/xmloff/source/chart/XMLSymbolImageContext.cxx
index 4e9fae4a9df5..5fce5f613f05 100644
--- a/xmloff/source/chart/XMLSymbolImageContext.cxx
+++ b/xmloff/source/chart/XMLSymbolImageContext.cxx
@@ -61,7 +61,7 @@ XMLSymbolImageContext::~XMLSymbolImageContext()
void XMLSymbolImageContext::StartElement( const uno::Reference< xml::sax::XAttributeList >& xAttrList )
{
- SvXMLTokenMap aTokenMap( aSymbolImageAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aSymbolImageAttrTokenMap );
OUString aLocalName;
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
diff --git a/xmloff/source/draw/XMLImageMapContext.cxx b/xmloff/source/draw/XMLImageMapContext.cxx
index b7386c24f0d7..c7126b055865 100644
--- a/xmloff/source/draw/XMLImageMapContext.cxx
+++ b/xmloff/source/draw/XMLImageMapContext.cxx
@@ -173,7 +173,7 @@ XMLImageMapObjectContext::XMLImageMapObjectContext(
void XMLImageMapObjectContext::StartElement(
const Reference<XAttributeList >& xAttrList )
{
- SvXMLTokenMap aMap(aImageMapObjectTokenMap);
+ static const SvXMLTokenMap aMap(aImageMapObjectTokenMap);
sal_Int16 nLength = xAttrList->getLength();
for(sal_Int16 nAttr = 0; nAttr < nLength; nAttr++)
diff --git a/xmloff/source/style/DashStyle.cxx b/xmloff/source/style/DashStyle.cxx
index d940a143dd65..353591ba963c 100644
--- a/xmloff/source/style/DashStyle.cxx
+++ b/xmloff/source/style/DashStyle.cxx
@@ -104,7 +104,7 @@ void XMLDashStyleImport::importXML(
SvXMLNamespaceMap& rNamespaceMap = rImport.GetNamespaceMap();
SvXMLUnitConverter& rUnitConverter = rImport.GetMM100UnitConverter();
- SvXMLTokenMap aTokenMap( aDashStyleAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aDashStyleAttrTokenMap );
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for( sal_Int16 i=0; i < nAttrCount; i++ )
diff --git a/xmloff/source/style/GradientStyle.cxx b/xmloff/source/style/GradientStyle.cxx
index 8feb95d56c8f..ed3d5dad1323 100644
--- a/xmloff/source/style/GradientStyle.cxx
+++ b/xmloff/source/style/GradientStyle.cxx
@@ -111,7 +111,7 @@ void XMLGradientStyleImport::importXML(
aGradient.Angle = 0;
aGradient.Border = 0;
- SvXMLTokenMap aTokenMap( aGradientAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aGradientAttrTokenMap );
SvXMLNamespaceMap& rNamespaceMap = rImport.GetNamespaceMap();
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
diff --git a/xmloff/source/style/HatchStyle.cxx b/xmloff/source/style/HatchStyle.cxx
index d394e26d01b1..c23ff4b719c8 100644
--- a/xmloff/source/style/HatchStyle.cxx
+++ b/xmloff/source/style/HatchStyle.cxx
@@ -95,8 +95,8 @@ void XMLHatchStyleImport::importXML(
aHatch.Distance = 0;
aHatch.Angle = 0;
- SvXMLTokenMap aTokenMap( aHatchAttrTokenMap );
- SvXMLNamespaceMap rNamespaceMap = rImport.GetNamespaceMap();
+ static const SvXMLTokenMap aTokenMap( aHatchAttrTokenMap );
+ const SvXMLNamespaceMap& rNamespaceMap = rImport.GetNamespaceMap();
SvXMLUnitConverter& rUnitConverter = rImport.GetMM100UnitConverter();
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
diff --git a/xmloff/source/style/ImageStyle.cxx b/xmloff/source/style/ImageStyle.cxx
index c70a23b4dbe9..04427771311a 100644
--- a/xmloff/source/style/ImageStyle.cxx
+++ b/xmloff/source/style/ImageStyle.cxx
@@ -106,7 +106,7 @@ bool XMLImageStyle::importXML(uno::Reference<xml::sax::XAttributeList> const & x
OUString aDisplayName;
uno::Reference<graphic::XGraphic> xGraphic;
- SvXMLTokenMap aTokenMap( aHatchAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aHatchAttrTokenMap );
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for( sal_Int16 i=0; i < nAttrCount; i++ )
diff --git a/xmloff/source/style/TransGradientStyle.cxx b/xmloff/source/style/TransGradientStyle.cxx
index 3de8ce2a4eee..52edc261c4cf 100644
--- a/xmloff/source/style/TransGradientStyle.cxx
+++ b/xmloff/source/style/TransGradientStyle.cxx
@@ -106,7 +106,7 @@ void XMLTransGradientStyleImport::importXML(
XML_TOKEN_MAP_END
};
- SvXMLTokenMap aTokenMap( aTrGradientAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aTrGradientAttrTokenMap );
SvXMLNamespaceMap& rNamespaceMap = rImport.GetNamespaceMap();
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
diff --git a/xmloff/source/style/XMLBackgroundImageContext.cxx b/xmloff/source/style/XMLBackgroundImageContext.cxx
index b1ad4d2c0b82..6bdafccff70e 100644
--- a/xmloff/source/style/XMLBackgroundImageContext.cxx
+++ b/xmloff/source/style/XMLBackgroundImageContext.cxx
@@ -54,22 +54,18 @@ enum SvXMLTokenMapAttrs
XML_TOK_BGIMG_FILTER,
XML_TOK_BGIMG_OPACITY
};
-static const SvXMLTokenMapEntry* lcl_getBGImgAttributesAttrTokenMap()
+static const SvXMLTokenMapEntry aBGImgAttributesAttrTokenMap[] =
{
- static const SvXMLTokenMapEntry aBGImgAttributesAttrTokenMap[] =
- {
- { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_BGIMG_HREF },
- { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_BGIMG_TYPE },
- { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_BGIMG_ACTUATE },
- { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_BGIMG_SHOW },
- { XML_NAMESPACE_STYLE, XML_POSITION, XML_TOK_BGIMG_POSITION },
- { XML_NAMESPACE_STYLE, XML_REPEAT, XML_TOK_BGIMG_REPEAT },
- { XML_NAMESPACE_STYLE, XML_FILTER_NAME, XML_TOK_BGIMG_FILTER },
- { XML_NAMESPACE_DRAW, XML_OPACITY, XML_TOK_BGIMG_OPACITY },
- XML_TOKEN_MAP_END
- };
- return aBGImgAttributesAttrTokenMap;
-}
+ { XML_NAMESPACE_XLINK, XML_HREF, XML_TOK_BGIMG_HREF },
+ { XML_NAMESPACE_XLINK, XML_TYPE, XML_TOK_BGIMG_TYPE },
+ { XML_NAMESPACE_XLINK, XML_ACTUATE, XML_TOK_BGIMG_ACTUATE },
+ { XML_NAMESPACE_XLINK, XML_SHOW, XML_TOK_BGIMG_SHOW },
+ { XML_NAMESPACE_STYLE, XML_POSITION, XML_TOK_BGIMG_POSITION },
+ { XML_NAMESPACE_STYLE, XML_REPEAT, XML_TOK_BGIMG_REPEAT },
+ { XML_NAMESPACE_STYLE, XML_FILTER_NAME, XML_TOK_BGIMG_FILTER },
+ { XML_NAMESPACE_DRAW, XML_OPACITY, XML_TOK_BGIMG_OPACITY },
+ XML_TOKEN_MAP_END
+};
static const SvXMLEnumMapEntry<GraphicLocation> psXML_BrushHoriPos[] =
@@ -170,7 +166,7 @@ static void lcl_xmlbic_MergeVertPos( GraphicLocation& ePos,
void XMLBackgroundImageContext::ProcessAttrs(
const Reference< xml::sax::XAttributeList >& xAttrList )
{
- SvXMLTokenMap aTokenMap( lcl_getBGImgAttributesAttrTokenMap() );
+ static const SvXMLTokenMap aTokenMap( aBGImgAttributesAttrTokenMap );
ePos = GraphicLocation_NONE;
diff --git a/xmloff/source/style/xmltabi.cxx b/xmloff/source/style/xmltabi.cxx
index 5dbfcf1087aa..f0653e3e8ec0 100644
--- a/xmloff/source/style/xmltabi.cxx
+++ b/xmloff/source/style/xmltabi.cxx
@@ -84,7 +84,7 @@ SvxXMLTabStopContext_Impl::SvxXMLTabStopContext_Impl(
aTabStop.FillChar = ' ';
sal_Unicode cTextFillChar = 0;
- SvXMLTokenMap aTokenMap( aTabsAttributesAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aTabsAttributesAttrTokenMap );
sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for( sal_Int16 i=0; i < nAttrCount; i++ )
diff --git a/xmloff/source/text/XMLFootnoteImportContext.cxx b/xmloff/source/text/XMLFootnoteImportContext.cxx
index dd4cfdd6f499..6cf42cd96a83 100644
--- a/xmloff/source/text/XMLFootnoteImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteImportContext.cxx
@@ -175,7 +175,7 @@ SvXMLImportContextRef XMLFootnoteImportContext::CreateChildContext(
{
SvXMLImportContextRef xContext;
- SvXMLTokenMap aTokenMap(aFootnoteChildTokenMap);
+ static const SvXMLTokenMap aTokenMap(aFootnoteChildTokenMap);
switch(aTokenMap.Get(p_nPrefix, rLocalName))
{
diff --git a/xmloff/source/text/XMLIndexSourceBaseContext.cxx b/xmloff/source/text/XMLIndexSourceBaseContext.cxx
index b8e2b0b4e7b8..058dc009bd8b 100644
--- a/xmloff/source/text/XMLIndexSourceBaseContext.cxx
+++ b/xmloff/source/text/XMLIndexSourceBaseContext.cxx
@@ -162,7 +162,7 @@ XMLIndexSourceBaseContext::~XMLIndexSourceBaseContext()
void XMLIndexSourceBaseContext::StartElement(
const Reference<XAttributeList> & xAttrList)
{
- SvXMLTokenMap aTokenMap(aIndexSourceTokenMap);
+ static const SvXMLTokenMap aTokenMap(aIndexSourceTokenMap);
// process attributes
sal_Int16 nLength = xAttrList->getLength();
diff --git a/xmloff/source/text/XMLLineNumberingImportContext.cxx b/xmloff/source/text/XMLLineNumberingImportContext.cxx
index dd3aa73951d4..57036d09054c 100644
--- a/xmloff/source/text/XMLLineNumberingImportContext.cxx
+++ b/xmloff/source/text/XMLLineNumberingImportContext.cxx
@@ -108,7 +108,7 @@ void XMLLineNumberingImportContext::StartElement(
XML_TOKEN_MAP_END
};
- SvXMLTokenMap aTokenMap(aLineNumberingTokenMap);
+ static const SvXMLTokenMap aTokenMap(aLineNumberingTokenMap);
// process attributes
sal_Int16 nLength = xAttrList->getLength();
diff --git a/xmloff/source/text/XMLSectionImportContext.cxx b/xmloff/source/text/XMLSectionImportContext.cxx
index a7e971e4dc14..42e93478dd5d 100644
--- a/xmloff/source/text/XMLSectionImportContext.cxx
+++ b/xmloff/source/text/XMLSectionImportContext.cxx
@@ -224,7 +224,7 @@ void XMLSectionImportContext::StartElement(
void XMLSectionImportContext::ProcessAttributes(
const Reference<XAttributeList> & xAttrList )
{
- SvXMLTokenMap aTokenMap(aSectionTokenMap);
+ static const SvXMLTokenMap aTokenMap(aSectionTokenMap);
sal_Int16 nLength = xAttrList->getLength();
for(sal_Int16 nAttr = 0; nAttr < nLength; nAttr++)
diff --git a/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx b/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
index 7c21b0749d0e..814135d947f2 100644
--- a/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
+++ b/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
@@ -78,7 +78,7 @@ static const SvXMLTokenMapEntry aSectionSourceDDETokenMap[] =
void XMLSectionSourceDDEImportContext::StartElement(
const Reference<XAttributeList> & xAttrList)
{
- SvXMLTokenMap aTokenMap(aSectionSourceDDETokenMap);
+ static const SvXMLTokenMap aTokenMap(aSectionSourceDDETokenMap);
OUString sApplication;
OUString sTopic;
OUString sItem;
diff --git a/xmloff/source/text/XMLSectionSourceImportContext.cxx b/xmloff/source/text/XMLSectionSourceImportContext.cxx
index 7a3048bb846f..e938ce871593 100644
--- a/xmloff/source/text/XMLSectionSourceImportContext.cxx
+++ b/xmloff/source/text/XMLSectionSourceImportContext.cxx
@@ -73,7 +73,7 @@ static const SvXMLTokenMapEntry aSectionSourceTokenMap[] =
void XMLSectionSourceImportContext::StartElement(
const Reference<XAttributeList> & xAttrList)
{
- SvXMLTokenMap aTokenMap(aSectionSourceTokenMap);
+ static const SvXMLTokenMap aTokenMap(aSectionSourceTokenMap);
OUString sURL;
OUString sFilterName;
OUString sSectionName;
diff --git a/xmloff/source/text/txtdropi.cxx b/xmloff/source/text/txtdropi.cxx
index 25b247880b14..8e7dc0e2100b 100644
--- a/xmloff/source/text/txtdropi.cxx
+++ b/xmloff/source/text/txtdropi.cxx
@@ -58,7 +58,7 @@ static const SvXMLTokenMapEntry aDropAttrTokenMap[] =
void XMLTextDropCapImportContext::ProcessAttrs(
const Reference< xml::sax::XAttributeList >& xAttrList )
{
- SvXMLTokenMap aTokenMap( aDropAttrTokenMap );
+ static const SvXMLTokenMap aTokenMap( aDropAttrTokenMap );
DropCapFormat aFormat;
bool bWholeWord = false;
diff --git a/xmloff/source/text/txtfldi.cxx b/xmloff/source/text/txtfldi.cxx
index f37f11561002..c1b1093a8ad3 100644
--- a/xmloff/source/text/txtfldi.cxx
+++ b/xmloff/source/text/txtfldi.cxx
@@ -2694,8 +2694,7 @@ static const SvXMLTokenMapEntry aDdeDeclAttrTokenMap[] =
XMLDdeFieldDeclsImportContext::XMLDdeFieldDeclsImportContext(
SvXMLImport& rImport, sal_uInt16 nPrfx, const OUString& sLocalName) :
- SvXMLImportContext(rImport, nPrfx, sLocalName),
- aTokenMap(aDdeDeclAttrTokenMap)
+ SvXMLImportContext(rImport, nPrfx, sLocalName)
{
}
@@ -2707,6 +2706,7 @@ SvXMLImportContextRef XMLDdeFieldDeclsImportContext::CreateChildContext(
if ( (XML_NAMESPACE_TEXT == nPrefix) &&
(IsXMLToken(rLocalName, XML_DDE_CONNECTION_DECL)) )
{
+ static const SvXMLTokenMap aTokenMap(aDdeDeclAttrTokenMap);
return new XMLDdeFieldDeclImportContext(GetImport(), nPrefix,
rLocalName, aTokenMap);
}
diff --git a/xmloff/source/xforms/xformsapi.cxx b/xmloff/source/xforms/xformsapi.cxx
index 7a5f9aacc0d9..f52aac6272b6 100644
--- a/xmloff/source/xforms/xformsapi.cxx
+++ b/xmloff/source/xforms/xformsapi.cxx
@@ -195,7 +195,7 @@ sal_uInt16 xforms_getTypeClass(
// translate name into token for local name
OUString sLocalName;
sal_uInt16 nPrefix = rNamespaceMap.GetKeyByAttrName(rXMLName, &sLocalName);
- SvXMLTokenMap aMap( aTypes );
+ static const SvXMLTokenMap aMap( aTypes );
sal_uInt16 nToken = aMap.Get( nPrefix, sLocalName );
sal_uInt16 nTypeClass = css::xsd::DataTypeClass::STRING;
@@ -265,7 +265,7 @@ OUString xforms_getTypeName(
{
OUString sLocalName;
sal_uInt16 nPrefix = rNamespaceMap.GetKeyByAttrName(rXMLName, &sLocalName);
- SvXMLTokenMap aMap( aTypes );
+ static const SvXMLTokenMap aMap( aTypes );
sal_uInt16 nToken = aMap.Get( nPrefix, sLocalName );
return ( nToken == XML_TOK_UNKNOWN )
? rXMLName