summaryrefslogtreecommitdiff
path: root/include/xmloff/xmlimp.hxx
AgeCommit message (Collapse)Author
2020-02-27tdf#130908 Chapter Numbering can't load custom styleNoel Grandin
regression from commit 83e97fef3fa4de900eda35d02168fcae01c85eed convert ImportStoredChapterNumberingRules to XFastParser and add some more debugging trace Change-Id: I224b9c442369a4c6a7746d7ff419f069d3430513 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89633 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 5320fccc290f338d344c5d3c75101c98057788cd) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89583 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2019-11-01loplugin:finalclasses in xmloffNoel Grandin
Change-Id: I664aa4dce822bcf14368fd8d08f678e2cd41fd12 Reviewed-on: https://gerrit.libreoffice.org/81852 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-31tdf#125688, cache token names as OUStringNoel Grandin
to avoid construction cost, shaves 2% off load time Change-Id: I37a70a6e989f53d67911a6cb217d07e2db55cb44 Reviewed-on: https://gerrit.libreoffice.org/81841 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-09-14tdf#39593 use isUnoTunnelId in xmloffArkadiy Illarionov
Add getUnoTunnelId methods. Change-Id: I80d3568e65ac66ee65ad589755a20270a27e62a7 Reviewed-on: https://gerrit.libreoffice.org/78744 Tested-by: Jenkins Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com>
2019-09-03loplugin:constmethod in xmloffNoel Grandin
Change-Id: I79ff1001a3ac8fde10de1ab391772e2bfeb6a314 Reviewed-on: https://gerrit.libreoffice.org/78546 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-23loplugin:returnconstval in xmloffNoel Grandin
Change-Id: I200080ff1c44544fdb8211e58228fd62465f3732 Reviewed-on: https://gerrit.libreoffice.org/78020 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-13warn on load when a document binds an event to a macroCaolán McNamara
a) treat shared/Scripts equivalently to document scripts This doesn't automatically warn/block running those scripts when used in a freshly loaded document on its own however because DocumentMacroMode::checkMacrosOnLoading will see at... if ( m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() ) that the document contains no macros and flip the allow macros flag to true so that potentially new uses of macros added by the user during the edit are allowed to run b) so, add an additional flag to indicate existence of use of macros in a document c) for odf import, set it when a script:event-listener tag is encountered d) for html import when registerScriptEvents or SwFormatINetFormat::SetMacroTable is called e) for doc import when Read_F_Macro or StoreMacroCmds is called as well for good measure f) for xls import when registerScriptEvent or ScMacroInfo::SetMacro is called g) for oox import when VbaProject::attachMacros is called Change-Id: Ic1203d8ec7dfc217aa217135033ae9db2888e19b Reviewed-on: https://gerrit.libreoffice.org/77131 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-03-14loplugin:unusedfields in xmloffNoel Grandin
Change-Id: I96de7fa324e3d2e3f0f133c93cf73776f4615ed3 Reviewed-on: https://gerrit.libreoffice.org/68134 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-06no need to use OUStringHash here anymoreNoel Grandin
Change-Id: I2faa8c971dc7f4642353dceafa25b9022a0dfd2a Reviewed-on: https://gerrit.libreoffice.org/67436 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-22tdf#42949 Fix IWYU warnings in include/xmloff/*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Id20e0bc42e39f868a7c5d49d756f2ad5e14a86c0 Reviewed-on: https://gerrit.libreoffice.org/66637 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-09-13loplugin:constfields in xmloffNoel Grandin
Change-Id: I9623e6b483b28f5b50a2c76016bcc319b375a35a Reviewed-on: https://gerrit.libreoffice.org/60394 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-17crashtesting: assert on fdo62508-1.odtCaolán McNamara
document, with meta:generator of "opxml2odf - Version KO 0.1" has a styles.xml xmlns of... xmlns:ofo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" instead of the usual xmlns:fo=... use the importer namespace map to get the importers namespace prefix for the fastparser namespace uri for the token Change-Id: Ib633009f6c2b7dae5a3ceb1c921adfff84e21150 Reviewed-on: https://gerrit.libreoffice.org/52720 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-04-26[API CHANGE] deprecate XGraphicObjectResolverTomaž Vajngerl
XGraphicObjectResolver was used to get the GraphicObject URL from an storage (package) URL. This isn't possible anymore in LO 6.1 since creating GraphicObject from uniqueID was removed for its lifecycle issues. XGraphicObjectResolver is now deprecated and when the "resolveGraphicObjectURL" is called, it throws a RuntimeExeption. In places where XGraphicObjectResolver was used, we now use the XGraphicStorageHandler as the alternative. Both share a common implementation so previously we could cast one to the other at any time. Now only XGraphicStorageHandler is used. GraphicObjectResolver was removed and replaced by the alternative GraphicStorageHandler for instance creation - where needed. Change-Id: I5d3f759c6f95b7dbe2d93688d99c8aa4899ffa84 Reviewed-on: https://gerrit.libreoffice.org/53279 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2018-03-14Moving XSAXDocumentBuilder2 to use XFastDocumentHandler:Mohammed Abdul Azeem
This is used in parsing of meta Contexts across different modules. This also involved moving to XFastParser for parsing xml filters in sw, sd, starmath. Change-Id: Ic663aaac6cb20ee8ce5b97cae87c93220f5a2929 Reviewed-on: https://gerrit.libreoffice.org/42989 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-03-14loplugin:unusedmethodsNoel Grandin
Change-Id: I7c780be3e2740fd9b03c39ebe16935d61caf4f7e Reviewed-on: https://gerrit.libreoffice.org/51257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-11xmloff: convert replacement image loading to use "Graphic" prop.Tomaž Vajngerl
With this change ResolveGraphicObjectURLFromBase64 and ResolveGraphicObjectURL became unused and are also removed with this commit. Change-Id: I45428a4e47f0e8800f18c1fdba007293dfcb53f4 Reviewed-on: https://gerrit.libreoffice.org/51043 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-03-10loplugin:unusedfieldsNoel Grandin
Change-Id: Idd0cdd38718c3822db4d4b94ca2315a416bc27bb Reviewed-on: https://gerrit.libreoffice.org/50997 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-08loplugin:unusedmethodsNoel Grandin
Change-Id: Id6b4edd265cb6bef31c72e2a0a440211d51c7c33 Reviewed-on: https://gerrit.libreoffice.org/50900 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-14shapes: don't use "GraphicURL" property, always use "Graphic"Tomaž Vajngerl
With GraphicURL property on shapes (XShape) we transported the external or internal URL to the model, which also included the GraphicObject uniqueID style URLs. This changes that - now we always use "Graphic" property and transfer XGraphic to and from graphic filters. "Graphic" property is already present for XShape so it wasn't needed to add it. Filters changed are: OOXML (oox), ODF (xmloff), RTF and binary MS (esherex). Also start using originURL on Graphic which now transports the URL of the external (linked) graphic/image if it was created that way. Change-Id: Ic338c60b7cfaaae354cf1e1ca3ae7a6373220230 Reviewed-on: https://gerrit.libreoffice.org/49648 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-02-01Change bitmap table to store XBitmap instead of GraphicObject URLTomaž Vajngerl
As we want to get rid of GraphicObject URLs for the more robust image life-cycle handling, it was necessary to change the way bitmap table stores and handles images, so that they always store a Graphic object (wrapped in UNO object that provides the XGraphic and XBitmap interface). In addition this changes loading and saving from ODF (xmloff) and OOXML (oox) filters so they don't depend on GraphicObject URL anymore, but load or save directly to / from XGraphic or XBitmap. Change-Id: I2b88e10056e7d6c920249d59188f86b1a5a32d21 Reviewed-on: https://gerrit.libreoffice.org/49074 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-01-04Modifying the impl. of startUnknownElement of FastParser:Mohammed Abdul Azeem
Modifying it to emit the namespace URI instead of prefix and qualified name instead of local name. This will be useful for handling arbitrary elements in the fast contexts. Change-Id: I0f150b862574612e97491f6c335f3f4c9966da0a Reviewed-on: https://gerrit.libreoffice.org/47055 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-12-27loplugin:passstuffbyref improved return in xmloff,sfx2Noel Grandin
Change-Id: I7161dfca77f944027bd20614616e22d6acfa27cd Reviewed-on: https://gerrit.libreoffice.org/47081 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-30xmloff: turn SvXMLImportContext into a no-op base classMichael Stahl
Fix the non-obvious and potentially dangerous recursion that is implicit in xmloff's context code. SvXMLImportContext::CreateChildContext() now always creates a SvXMLImportContext, does not delegate to SvXMLImport. Rename CreateContext to CreateDocumentContext, to make its purpose of creating only the top-level context more obvious. With the previous changes to CreateContext overrides in sw, reportdesign and dbaccess, this hopefully shouldn't break anything. Change-Id: I9e147bf6297bbac9e8470454881da73f6e39db0a
2017-09-21ScXMLImport dtor deleted pSolarMutex before SvXMLImport dtor is calledCaolán McNamara
so if there are still ScXMLDatabaseRangesContext on the import stack, i.e. exception thrown during ScXMLDatabaseRanges import, then stuff crashes ================================================================= ==23249==ERROR: AddressSanitizer: heap-use-after-free READ of size 8 at 0x6020001c3190 thread T0 SolarMutexGuard::~SolarMutexGuard() /src/libreoffice/include/vcl/svapp.hxx:1420:9 ScXMLImport::UnlockSolarMutex() /src/libreoffice/sc/source/filter/xml/xmlimprt.cxx:1916:13 ScXMLDatabaseRangesContext::~ScXMLDatabaseRangesContext() /src/libreoffice/sc/source/filter/xml/xmldrani.cxx:64:19 ScXMLDatabaseRangesContext::~ScXMLDatabaseRangesContext() /src/libreoffice/sc/source/filter/xml/xmldrani.cxx:63:1 destroy /usr/local/bin/../include/c++/v1/memory:1838:64 __destroy<rtl::Reference<SvXMLImportContext> > /usr/local/bin/../include/c++/v1/memory:1706 destroy<rtl::Reference<SvXMLImportContext> > /usr/local/bin/../include/c++/v1/memory:1574 std::__1::deque<rtl::Reference<SvXMLImportContext>, std::__1::allocator<rtl::Reference<SvXMLImportContext> > >::pop_back() /usr/local/bin/../include/c++/v1/deque:2604 pop /usr/local/bin/../include/c++/v1/stack:212:19 SvXMLImport::~SvXMLImport() /src/libreoffice/xmloff/source/core/xmlimp.cxx:418 ScXMLImport::~ScXMLImport() /src/libreoffice/sc/source/filter/xml/xmlimprt.cxx:769:1 freed by thread T0 here: #0 0x6164a0 in operator delete(void*) /src/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:126 #1 0x6254e3 in ScXMLImport::~ScXMLImport() /src/libreoffice/sc/source/filter/xml/xmlimprt.cxx:787:5 #2 0x6259cc in ScXMLImport::~ScXMLImport() /src/libreoffice/sc/source/filter/xml/xmlimprt.cxx:769:1 Change-Id: Ia72284f99e2e2efe4f1f9e57b1483c0f1333274d Reviewed-on: https://gerrit.libreoffice.org/42502 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-31inline some use-once typedefsNoel Grandin
and remove some dead ones Change-Id: I6946d717d3c15dc5207489ed3d56d985dd953d59 Reviewed-on: https://gerrit.libreoffice.org/41746 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-25loplugin:unusedmethodsNoel Grandin
Change-Id: Ia874baf21257e5fe41e104211068a2bcc50446eb Reviewed-on: https://gerrit.libreoffice.org/40391 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-20loplugin:constparams in xmloffNoel Grandin
Change-Id: Iec9535b106c85e47ddb14eec4ef3db5b1c8d8fd7 Reviewed-on: https://gerrit.libreoffice.org/40219 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-19tdf#108824 Honor ODF default for "Mouse pointer visible" propertySamuel Mehrbrodt
Change-Id: I6b4c431d66835b6affe834a23b900fa61830d87f Reviewed-on: https://gerrit.libreoffice.org/40159 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-06-27Using fast tokens directly:Mohammed Abdul Azeem
Replacing integer-to-integer mapped tokens with fast Tokens direcly for branching. Adding a macro XML_ELEMENT that combines namespace and element tokens. Change-Id: I8701c8af9607392843460fe726bffb6556cf9b33 Reviewed-on: https://gerrit.libreoffice.org/39275 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-06-13Reverse mapping fastToken to NamespaceURI:Mohammed Abdul Azeem
Made those methods static, so that it is easy to use them outside the module. Also updated the Namespace-constants list. Change-Id: Id0bf501457c53d1420a00ce58c9bcedfcba17908 Reviewed-on: https://gerrit.libreoffice.org/38708 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-05-22Optimizations:Mohammed Abdul Azeem
This avoids a lot of repeated allocation and freeing of memory for AttributeList. Change-Id: I97e44e633ed9880f37665f71e4dec3e74085cb09 Reviewed-on: https://gerrit.libreoffice.org/34134 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-03-29loplugin:unusedmethodsNoel Grandin
Change-Id: Ib008613fb06c82791c63d5b074a3e2ff1c3607a0 Reviewed-on: https://gerrit.libreoffice.org/35834 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-21Old-to-new mapping of attributes is moved into a Module:Mohammed Abdul Azeem
This should make it easy to reuse the mapping code wherever necessary and restores the loading of writerperfect documents. Change-Id: I505bffa47fe37270b0430d9ae5afec5072762b4c Reviewed-on: https://gerrit.libreoffice.org/35263 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2017-03-03Remove redundant 'inline' keywordStephan Bergmann
...from function definitions occurring within class definitions. Done with a rewriting Clang plugin (to be pushed later). Change-Id: I9c6f2818a57ccdb361548895a7743107cbacdff8 Reviewed-on: https://gerrit.libreoffice.org/34874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-25ScXMLTableRowCellContext implements fast interfaces:Mohammed Abdul Azeem
Implementation of fast interfaces for contexts in path from ScXMLImport::CreateFastContext to ScXMLTableRowCellContext. FastParser is enabled and duplicates are avoided at all possible places. OOoXML filters still need those legacy paths we removed, so I had to temporarily map them to fast elements, which would increase their load time, but hopefully it should help us in the long run. Change-Id: Ie997a9a8b72787da2356abc99ea2cd57c2e5b670 Reviewed-on: https://gerrit.libreoffice.org/28648 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-12-06tdf#88206 replace cppu::WeakImplHelper* in sax and xml*Jochen Nitschke
Change-Id: I75f4000a17155fbdff96fe0733dc0225b20cd4d2 Reviewed-on: https://gerrit.libreoffice.org/31678 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-17loplugin:datamembershadow in xmloffNoel Grandin
Change-Id: Ibea23b1757be1ec007f48261130aad74ce750cfc Reviewed-on: https://gerrit.libreoffice.org/30925 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-24loplugin:expandablemethods in xmloffNoel Grandin
Change-Id: I995a4167ac4df5ca35d963dcf68ae802a997e1e1
2016-10-18loplugin:inlineablemethods in xmloffNoel Grandin
Change-Id: I22202f85c65a862ccdafe1d521e2945e3d99252a
2016-10-07might as well go back to a std::stack nowCaolán McNamara
after... commit 8daf6707ef203b26a744140f74d7cd231a25f0dd Author: Michael Stahl <mstahl@redhat.com> Date: Thu Oct 6 23:37:51 2016 +0200 xmloff: fix crash in ~XMLParaContext on fdo72541-1.fodt Change-Id: I57f10e60a2f76dde048a594d8391bb5b246dfc63
2016-10-04crashtesting: use a stack with the expected dtor order for its elementsCaolán McNamara
contains test document which crashes if it doesn't Change-Id: Ieeee6cc7007a90d37225fffd636c9648289f04d7
2016-10-04this is used as a stack, so convert to std::stackCaolán McNamara
Change-Id: I248617ccbb985615f936ecd607ab7c8246ff8e71
2016-09-25tdf#101935 and tdf#102201:Mohammed Abdul Azeem
This fixes both the bugs. Change-Id: I7a64abc0cb12b5195a3b955549ce4f72f3530d57 Reviewed-on: https://gerrit.libreoffice.org/29263 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-16coverity#1372990 xmloff: use unique_ptr for RewindMapsMichael Stahl
Change-Id: I51e67607d94a465ce39e822f01a0c60efbf1a0f0
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-13coverity#1372877 I'm guessing this is what might have been the intentCaolán McNamara
warning is 'Constant' variable guards dead code Change-Id: I06e65f576180d7ff62417828c26f969982788b55
2016-09-09remove direct memory managementDavid Tardon
Change-Id: Ie5103347fc30095778d96d46ce702bf4f0da00a6
2016-09-06use std::unique_ptrDavid Tardon
Change-Id: I0cc84cc6b18849118a2b7824a8e4b37ca063cd50
2016-09-06drop unneeded dynamic allocationDavid Tardon
Change-Id: I9e19c33998137ee0065f92ccb980d1ff5a82115b