diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2020-11-15 11:51:57 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-11-15 15:45:45 +0100 |
commit | 0c14e5154c8931d96b2dfe1c1ab00c97d993f094 (patch) | |
tree | 763b7ac4595b16c4a893fd4b1e404c1c6316d497 /xmloff | |
parent | 706aff509857a79cbd93a76410e63931747369f5 (diff) |
fastparser in XMLReplacementImageContext
Change-Id: I206782ce50249ac29f511f10ca39a9bcf075cdd4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105891
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/inc/XMLReplacementImageContext.hxx | 6 | ||||
-rw-r--r-- | xmloff/source/draw/XMLReplacementImageContext.cxx | 20 |
2 files changed, 12 insertions, 14 deletions
diff --git a/xmloff/inc/XMLReplacementImageContext.hxx b/xmloff/inc/XMLReplacementImageContext.hxx index 357c2c38f821..14a1e58355ee 100644 --- a/xmloff/inc/XMLReplacementImageContext.hxx +++ b/xmloff/inc/XMLReplacementImageContext.hxx @@ -47,9 +47,9 @@ public: virtual void SAL_CALL endFastElement(sal_Int32 nElement) override; - SvXMLImportContextRef CreateChildContext( sal_uInt16 nPrefix, - const OUString& rLocalName, - const css::uno::Reference< css::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; }; diff --git a/xmloff/source/draw/XMLReplacementImageContext.cxx b/xmloff/source/draw/XMLReplacementImageContext.cxx index 6752875113cc..a096a4823d38 100644 --- a/xmloff/source/draw/XMLReplacementImageContext.cxx +++ b/xmloff/source/draw/XMLReplacementImageContext.cxx @@ -26,12 +26,14 @@ #include <xmloff/namespacemap.hxx> #include <xmloff/XMLBase64ImportContext.hxx> #include <XMLReplacementImageContext.hxx> +#include <sal/log.hxx> using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::makeAny; using namespace ::com::sun::star::xml::sax; using namespace ::com::sun::star::beans; using namespace css; +using namespace ::xmloff::token; XMLReplacementImageContext::XMLReplacementImageContext( SvXMLImport& rImport, @@ -98,25 +100,21 @@ void XMLReplacementImageContext::endFastElement(sal_Int32 ) } } -SvXMLImportContextRef XMLReplacementImageContext::CreateChildContext( - sal_uInt16 nPrefix, - const OUString& rLocalName, - const Reference< XAttributeList > & xAttrList ) +css::uno::Reference< css::xml::sax::XFastContextHandler > XMLReplacementImageContext::createFastChildContext( + sal_Int32 nElement, + const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) { - SvXMLImportContext *pContext = nullptr; - - if( XML_NAMESPACE_OFFICE == nPrefix && - IsXMLToken( rLocalName, ::xmloff::token::XML_BINARY_DATA ) && + if( nElement == XML_ELEMENT(OFFICE, XML_BINARY_DATA) && !m_xBase64Stream.is() ) { m_xBase64Stream = GetImport().GetStreamForGraphicObjectURLFromBase64(); if( m_xBase64Stream.is() ) - pContext = new XMLBase64ImportContext( GetImport(), nPrefix, - rLocalName, xAttrList, + return new XMLBase64ImportContext( GetImport(), m_xBase64Stream ); } - return pContext; + XMLOFF_WARN_UNKNOWN_ELEMENT("xmloff", nElement); + return nullptr; } |