diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-22 10:46:35 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-22 11:57:57 +0100 |
commit | da38bffa324a11441c1b8e3cd935d142141ae9ac (patch) | |
tree | c0adfbcf0ba64de37cb1bb865f80ace50e6369ed /sw/source/filter/xml/xmlimp.cxx | |
parent | d768757872ad25219fa291acd623ab98924acaaa (diff) |
use fastparser in SwXMLBodyContext_Impl
Change-Id: I0745fb6eb0a46b1c564cd0f1c596aed5206549b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87181
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw/source/filter/xml/xmlimp.cxx')
-rw-r--r-- | sw/source/filter/xml/xmlimp.cxx | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx index 743eb5ef1325..416dba1b12bc 100644 --- a/sw/source/filter/xml/xmlimp.cxx +++ b/sw/source/filter/xml/xmlimp.cxx @@ -129,19 +129,16 @@ class SwXMLBodyContext_Impl : public SvXMLImportContext public: - SwXMLBodyContext_Impl( SwXMLImport& rImport, sal_uInt16 nPrfx, - const OUString& rLName ); + SwXMLBodyContext_Impl( SwXMLImport& rImport ); - virtual SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, - const OUString& rLocalName, - const Reference< xml::sax::XAttributeList > & xAttrList ) 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; }; } -SwXMLBodyContext_Impl::SwXMLBodyContext_Impl( SwXMLImport& rImport, - sal_uInt16 nPrfx, const OUString& rLName) : - SvXMLImportContext( rImport, nPrfx, rLName ) +SwXMLBodyContext_Impl::SwXMLBodyContext_Impl( SwXMLImport& rImport ) : + SvXMLImportContext( rImport ) { // tdf#107211: if at this point we don't have a defined char style "Default" // or "Default Style", add a mapping for it as it is not written @@ -169,12 +166,11 @@ SwXMLBodyContext_Impl::SwXMLBodyContext_Impl( SwXMLImport& rImport, } } -SvXMLImportContextRef SwXMLBodyContext_Impl::CreateChildContext( - sal_uInt16 /*nPrefix*/, - const OUString& rLocalName, - const Reference< xml::sax::XAttributeList > & /*xAttrList*/ ) +css::uno::Reference< css::xml::sax::XFastContextHandler > SwXMLBodyContext_Impl::createFastChildContext( + sal_Int32 /*nElement*/, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) { - return GetSwImport().CreateBodyContentContext( rLocalName ); + return GetSwImport().CreateBodyContentContext(); } namespace { @@ -238,6 +234,13 @@ uno::Reference< xml::sax::XFastContextHandler > SAL_CALL SwXMLDocContext_Impl::c case XML_ELEMENT(OFFICE, XML_FONT_FACE_DECLS): return GetSwImport().CreateFontDeclsContext(); break; + case XML_ELEMENT(OFFICE, XML_META): + OSL_FAIL(" XML_ELEMENT(OFFICE, XML_META): should not have come here, maybe document is invalid?"); + break; + case XML_ELEMENT(OFFICE, XML_BODY): + GetSwImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); + return new SwXMLBodyContext_Impl( GetSwImport() ); + break; } return nullptr; } @@ -252,14 +255,6 @@ SvXMLImportContextRef SwXMLDocContext_Impl::CreateChildContext( const SvXMLTokenMap& rTokenMap = GetSwImport().GetDocElemTokenMap(); switch( rTokenMap.Get( nPrefix, rLocalName ) ) { - case XML_TOK_DOC_META: - OSL_FAIL("XML_TOK_DOC_META: should not have come here, maybe document is invalid?"); - break; - case XML_TOK_DOC_BODY: - GetSwImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); - pContext = new SwXMLBodyContext_Impl( GetSwImport(), nPrefix, - rLocalName ); - break; case XML_TOK_DOC_XFORMS: pContext = createXFormsModelContext(GetImport(), nPrefix, rLocalName); break; |