diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-20 16:47:01 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-21 08:21:48 +0100 |
commit | faa0d7b3405eaab610ada004b9053dcd8bc25e4a (patch) | |
tree | 6a8d148fe057f8f28f676bec4241762db1229db2 /xmloff | |
parent | 5a73d3908c30c898a0f21208810332d36657adee (diff) |
use FastParser in SdXMLMasterStylesContext
Change-Id: I9fb57f4bf97e3aa67bcdd55f5e98ebcddaaf9e4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87082
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/draw/sdxmlimp.cxx | 23 | ||||
-rw-r--r-- | xmloff/source/draw/sdxmlimp_impl.hxx | 3 | ||||
-rw-r--r-- | xmloff/source/draw/ximpstyl.cxx | 12 | ||||
-rw-r--r-- | xmloff/source/draw/ximpstyl.hxx | 10 |
4 files changed, 28 insertions, 20 deletions
diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx index 98a4ebccbbd3..dfb4bf267ea8 100644 --- a/xmloff/source/draw/sdxmlimp.cxx +++ b/xmloff/source/draw/sdxmlimp.cxx @@ -159,15 +159,6 @@ SvXMLImportContextRef SdXMLDocContext_Impl::CreateChildContext( } break; } - case XML_TOK_DOC_MASTERSTYLES: - { - if( GetImport().getImportFlags() & SvXMLImportFlags::MASTERSTYLES ) - { - // office:master-styles inside office:document - xContext = GetSdImport().CreateMasterStylesContext(rLocalName, xAttrList); - } - break; - } case XML_TOK_DOC_META: { SAL_INFO("xmloff.draw", "XML_TOK_DOC_META: should not have come here, maybe document is invalid?"); @@ -202,6 +193,15 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SdXMLDocContext_Impl::c } break; } + case XML_ELEMENT(OFFICE, XML_MASTER_STYLES): + { + if( GetImport().getImportFlags() & SvXMLImportFlags::MASTERSTYLES ) + { + // office:master-styles inside office:document + return GetSdImport().CreateMasterStylesContext(); + } + break; + } } return nullptr; } @@ -731,11 +731,10 @@ SvXMLStylesContext *SdXMLImport::CreateAutoStylesContext(const OUString& rLocalN return GetShapeImport()->GetAutoStylesContext(); } -SvXMLImportContext* SdXMLImport::CreateMasterStylesContext(const OUString& rLocalName, - const uno::Reference<xml::sax::XAttributeList>&) +SvXMLImportContext* SdXMLImport::CreateMasterStylesContext() { if (!mxMasterStylesContext.is()) - mxMasterStylesContext.set(new SdXMLMasterStylesContext(*this, rLocalName)); + mxMasterStylesContext.set(new SdXMLMasterStylesContext(*this)); return mxMasterStylesContext.get(); } diff --git a/xmloff/source/draw/sdxmlimp_impl.hxx b/xmloff/source/draw/sdxmlimp_impl.hxx index 7205d4867ec8..32f9690634f3 100644 --- a/xmloff/source/draw/sdxmlimp_impl.hxx +++ b/xmloff/source/draw/sdxmlimp_impl.hxx @@ -206,8 +206,7 @@ public: const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList); SvXMLStylesContext* CreateAutoStylesContext(const OUString& rLocalName, const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList); - SvXMLImportContext* CreateMasterStylesContext(const OUString& rLocalName, - const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList); + SvXMLImportContext* CreateMasterStylesContext(); SvXMLImportContext *CreateFontDeclsContext(const OUString& rLocalName, const css::uno::Reference< css::xml::sax::XAttributeList > & xAttrList ); diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx index 1d05a80fbfad..4d0084bb9412 100644 --- a/xmloff/source/draw/ximpstyl.cxx +++ b/xmloff/source/draw/ximpstyl.cxx @@ -1380,10 +1380,16 @@ uno::Reference< container::XNameAccess > SdXMLStylesContext::getPageLayouts() co SdXMLMasterStylesContext::SdXMLMasterStylesContext( - SdXMLImport& rImport, - const OUString& rLName) -: SvXMLImportContext( rImport, XML_NAMESPACE_OFFICE, rLName) + SdXMLImport& rImport) +: SvXMLImportContext( rImport ) +{ +} + +css::uno::Reference< css::xml::sax::XFastContextHandler > SdXMLMasterStylesContext::createFastChildContext( + sal_Int32 /*nElement*/, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) { + return nullptr; } SvXMLImportContextRef SdXMLMasterStylesContext::CreateChildContext( diff --git a/xmloff/source/draw/ximpstyl.hxx b/xmloff/source/draw/ximpstyl.hxx index bc0a2b09aa23..b9038609715f 100644 --- a/xmloff/source/draw/ximpstyl.hxx +++ b/xmloff/source/draw/ximpstyl.hxx @@ -228,9 +228,13 @@ class SdXMLMasterStylesContext : public SvXMLImportContext public: - SdXMLMasterStylesContext( - SdXMLImport& rImport, - const OUString& rLName); + SdXMLMasterStylesContext(SdXMLImport& rImport); + + virtual void SAL_CALL startFastElement( sal_Int32 /*nElement*/, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) override {} + + virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( + sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList ) override; virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, |