summaryrefslogtreecommitdiff
path: root/include/sax
AgeCommit message (Collapse)Author
2019-10-09shave 10% off load time of large docx fileNoel Grandin
Change-Id: I5aacde7b6886bf47e79d055639e1b911da3be168 Reviewed-on: https://gerrit.libreoffice.org/78900 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 096b91ee15e2686d4eb7118fdb9688ba9dbc44b2) Reviewed-on: https://gerrit.libreoffice.org/78901 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 4659671f3c696a27139a4df98dc0894548169ace) Reviewed-on: https://gerrit.libreoffice.org/80504 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-11-11Avoid using O[U]StringConcat lvalues containing dangling refs to temporariesStephan Bergmann
...in code accidentally using auto like > auto const aURL = uri->getUriReference() + "/" > + INetURLObject::encode( > m_sEmbeddedName, INetURLObject::PART_FPATH, > INetURLObject::EncodeMechanism::All); > > uno::Reference<uno::XInterface> xDataSource(xDatabaseContext->getByName(aURL), uno::UNO_QUERY); in <https://gerrit.libreoffice.org/#/c/44569/1> "Properly construct vnd.sun.star.pkg URL" did (causing hard to debug test failures there). So make functions taking O[U]StringConcat take those by rvalue reference. Unfortunately, that also needed adaption of various functions that just forward their arguments. And some code in sc/qa/unit/ucalc_formula.cxx used CPPUNIT_ASSERT_EQUAL on OUStringConcat arguments in cases where that happened to actually compile (because the structure of the two OUStringConcats was identical), which needed adaption too (but which would arguably better use CPPUNIT_ASSERT_EQUAL_MESSAGE, anyway). Change-Id: I8994d932aaedb2a491c7c81c167e93379d4fb6e3 Reviewed-on: https://gerrit.libreoffice.org/44608 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-31loplugin:constantparam in sal,saxNoel Grandin
Change-Id: I7ca2fd05d1cf61f9038c529a853e72fedb1c9ed0 Reviewed-on: https://gerrit.libreoffice.org/44087 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-26loplugin:constmethods in unotoolsNoel Grandin
Change-Id: I13df4e184a826682f34a1d9e974b601397ba4a3d Reviewed-on: https://gerrit.libreoffice.org/43865 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-25loplugin:constmethod in tools,sax,UnoControlsNoel Grandin
Change-Id: Ie05e44e2a4019e2549843961ebfa04fef7b7aeb4 Reviewed-on: https://gerrit.libreoffice.org/43767 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-04loplugin:unnecessaryparen include c++ castsNoel Grandin
Change-Id: I132d3c66f0562e2c37a02eaf4c168d06c2b473eb Reviewed-on: https://gerrit.libreoffice.org/41874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-12Avoiding unnecessary OUString allocation:Mohammed Abdul Azeem
Using direct strcmp instead of mapping. This is one of the hotspots and will help improve performance. Change-Id: I97a452984d53a6746f477ffe4be2806d9e89eee4 Reviewed-on: https://gerrit.libreoffice.org/40928 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-08-08Avoiding unnecessary memory allocation:Mohammed Abdul Azeem
Added a method to directly convert fast attribute values to double. Change-Id: Ia0c415530d6d7c7f767a2e0c88983429bc966210 Reviewed-on: https://gerrit.libreoffice.org/40846 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
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-17loplugin:constparams in basegfx,sax,shellNoel Grandin
Change-Id: I90a9d105a6db146ae64cff56983def94b9472a95 Reviewed-on: https://gerrit.libreoffice.org/40043 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-11Helper function to cast to FastAttributeList:Mohammed Abdul Azeem
Refactoring codes that cast XFastAttributeList reference to FastAttributeList pointer using the helper function. Change-Id: Iecf4b815d6556b0992d638b633260fbd459c0dc4 Reviewed-on: https://gerrit.libreoffice.org/39723 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-06-29Added find function to FastAttributeList:Mohammed Abdul Azeem
It returns a FastAttributeIter, which can be used to obtain value in different formats directly. Also, avoids one unnecessary iteration. Change-Id: Ic28e0177100738bbd71a3a89634cae9f1f7ee996 Reviewed-on: https://gerrit.libreoffice.org/39380 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-06-29Using range-for instead of iterator loop:Mohammed Abdul Azeem
It's much easier to write and looks cleaner. And this doesn't affect performance, I think. Change-Id: Ia946b068979b9cef04ac2479c9179a70b6775dea Reviewed-on: https://gerrit.libreoffice.org/39370 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mohammed Abdul Azeem <azeemmysore@gmail.com>
2017-06-01convert SAX_ARGS_ARG macros to varargs template methodsNoel Grandin
Leave the macros in place for now, because there is still more of this stuff in sc/../xestream.hxx Change-Id: I633e12ee572010823e0a223b529a07b00e707b78 Reviewed-on: https://gerrit.libreoffice.org/38295 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
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-02-10Further modifications to FastAttributeIter:Mohammed Abdul Azeem
attempt to further reduce unnecessary allocation and freeing of OUString. Change-Id: I85169cfcd2311a5e6a96dc0292ce0686d1b0e43d Reviewed-on: https://gerrit.libreoffice.org/34092 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-02-08Adding an iterator for fastattributes:Mohammed Abdul Azeem
This helps to avoid the expensive allocation and freeing of OUString at some places. Change-Id: I7d49974ce13799fcf62b989ce5d3c61b01316190 Reviewed-on: https://gerrit.libreoffice.org/34011 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-02-02expand out ::sax::Converter::convertNumber to OUString::numberNoel Grandin
which results in much simpler code overall, there is no need to go via an OUStringBuffer all the time Change-Id: I69eba92c93f471fa9a45f97c29c56dcf3cd1ebf8 Reviewed-on: https://gerrit.libreoffice.org/33773 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
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>
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-30loplugin:countusersofdefaultparams in include/oox..saxNoel Grandin
Change-Id: Ifb24c0f536d9c00bc9eb8c782d6854052f2d37b9 Reviewed-on: https://gerrit.libreoffice.org/31408 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-18sax: these are for XMLSchema-2 duration/date/dateTime, not "ISO"Michael Stahl
ISO 8601 is a little more lenient in its lexical representation. Change-Id: I92834a2a1d3c0c37203c13d17e8ae42a1cfe9e1c
2016-10-28tdf#103544: DOCX exp.: Image loss when have a frame anchored to the same para.Tamás Zolnai
Regression from: 83d51e5e52688c4c9bc0ad70a511458bb06a242d Partly revert the commit causes this regression. I checked the related bugs (tdf#78590,tdf#80748) intended to be fixed by this commit and reverting this part does not bring back the corruption. I guess something changed in frames' and text boxes' import in the meantime, because this MergeMarks::IGNORE is useless now. Change-Id: If17776e8628561961c7ce2a2994e3fc609f75639 Reviewed-on: https://gerrit.libreoffice.org/30351 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
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-07-19GSOC - Handling namespace declaration missing case:Mohammed Abdul Azeem
initialization parameter to FastParser will turn off the namespace declaration missing exception. Test cases have also been given to verify the same. Change-Id: I4c3e02c7ad92d50e279f895ced53c78fc8f49b91 Reviewed-on: https://gerrit.libreoffice.org/27278 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-07-09GSOC: Adapt XLegacyFastParser to function like XParser.Mohammed Abdul Azeem
Made XFastParser to pass namespace prefix instead of URI for Unknown attributes and elements, Namespace handler is provided to resolve those. Test for XFastParser unknown elements is removed, since testing XLegacyFastParser indirectly tests that also. Change-Id: Ia41ff5d3d4c07cef0ca23ba858bfb2a94b91b1f5 Reviewed-on: https://gerrit.libreoffice.org/26982 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-07-07loplugin:passstuffbyref also for {css::uno,rtl}::ReferenceStephan Bergmann
Change-Id: If18f0a749c1e474c302fd797c2a2abc2b33a0730
2016-05-18update unusedmethods plugin to deal with constructorsNoel Grandin
and fix the operator< implementations in some of the other plugins too. Change-Id: Ie5631e0cdc8d2a994ad2af2533cdb558a6cfc035 Reviewed-on: https://gerrit.libreoffice.org/25057 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-13loplugin:passstuffbyref in saxNoel Grandin
Change-Id: I95f0a17b9b8bab592a60f6b5223b4668c5355275
2016-04-11clang-tidy performance-unnecessary-value-param in saxNoel Grandin
Change-Id: I46aad7b0a96210e5f3f278c3f6f3a945825b7cae
2016-02-09Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-20loplugin:unusedmethodsNoel Grandin
Change-Id: Ib2dc804f55d1a96ae01f2cf31b7d55956040a72e Reviewed-on: https://gerrit.libreoffice.org/21603 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-18use unique_ptr for pImpl in sax/Noel Grandin
Change-Id: I0bef03451437cbdc5b0fed6b67690ac1d547291d
2015-11-17loplugin:unnecessaryvirtualNoel Grandin
update the plugin with lessons learned from the mergeclasses plugin and re-run it Change-Id: I9d622eb3d05fceaf8fa764c533c8fa5dfb4c7711 Reviewed-on: https://gerrit.libreoffice.org/20015 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I54bf272b404d2302cafbde73ec5061ea2cd966ab
2015-10-23com::sun::star->css in include/linguistic to include/sfx2Noel Grandin
Change-Id: Id69e293fda98ee6cf2cc3d3296a0cd2e06bd847e Reviewed-on: https://gerrit.libreoffice.org/19527 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-09xmloff: fix ODF import of gradient draw:angle attribute a bitMichael Stahl
ODF 1.2 part 3, 18.3.1 angle, says "An angle, as defined in §4.1 of [SVG]" and "If no unit identifier is specified, the value is assumed to be in degrees." Unfortunately OOo could only read and write 10th of degree here. See also https://issues.oasis-open.org/browse/OFFICE-3774 As the first step towards fixing that, implement the import for draw:angle values with an angle unit identifier, but leave the import as-is if the angle identifier is missing. Change-Id: Ib88d417c03998ebcfc569b01492f0e1f851bbc85
2015-07-18sax: convert MergeMarksEnum to enum classMichael Stahl
This should detect if a MergeMarks value is erroneously passed as tag. Change-Id: I7b855a661f182136824cf25f2174a9bcce8ff3d1
2015-07-18sax, sw: try to make that maMarkStack easier to understandMichael Stahl
In DocxAttributeOutput it's not at all obvious which mark() is supposed to be ended by which mergeTopMarks(), so add an extra parameter to the FastSaxSerializer functions and verify with an assertion that a LIFO order is maintained. Change-Id: I5a421e2fb11f15343147417fe0b9b23642c70721
2015-06-16Fix typosAndrea Gelmini
Change-Id: I549635318f46718042e50c8f89ce3c620cade990 Reviewed-on: https://gerrit.libreoffice.org/16281 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-04-15remove unnecessary use of void in function declarationsNoel Grandin
ie. void f(void); becomes void f(); I used the following command to make the changes: git grep -lP '\(\s*void\s*\)' -- *.cxx \ | xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;' and ran it for both .cxx and .hxx files. Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
2015-03-27loplugin:staticfunctionNoel Grandin
Change-Id: I10c30ef28e7321882a720d1e7869a75a89febfc5
2015-03-09V801: Decreased performanceCaolán McNamara
Change-Id: I9e9a00acf9503980f0c6c7cd0a20378e5ca7390d
2015-02-16boost::foo_ptr->std::foo_ptrCaolán McNamara
Change-Id: I9219619b538b6530a89f5932ac51eb3b62eb396a
2014-11-12make FastAttributeList's unknown attribute value be passed as OStringLuboš Luňák
Since that's how it's internally stored anyway, and I have a use case where it's useful to limit the length by passing it to OString ctor. Change-Id: I5903ea4f1b2cdb48c1bbceac6b8e21eb5882d377
2014-11-12allow inserting attributes that have zero lengthLuboš Luňák
Otherwise the strlen() might give an incorrect length if the attribute value is just a part of a longer string. Change-Id: I67eb7baecfa928fdee26c5ea9003bd7fc9b96d59
2014-11-12typo: represant->representAndras Timar
Change-Id: If783e9338644a97206d99864ed19807e5fb3882d
2014-10-23Remove few pointless OUString::number() and one methodMatúš Kukan
Change-Id: I3e9a302a7513eebfeff07402f71fc3dde22e4cc2
2014-10-23FastSerializer: Use faster TokenValue struct when possibleMatúš Kukan
Saves another ~100m pcycles for 650k calls in startElementInternal() Change-Id: I190326edc7feffb900e91fa7e5c3530b5b267f59