download.lst | 4 external/liborcus/inc/pch/precompiled_orcus.hxx | 109 ++++++++++++++ external/pdfium/Library_pdfium.mk | 56 ++++--- external/pdfium/UnpackedTarball_pdfium.mk | 4 external/pdfium/build.patch.1 | 25 +-- external/pdfium/configs/build_config.h | 6 external/pdfium/inc/pch/precompiled_pdfium.hxx | 50 ++++-- external/pdfium/ubsan.patch | 20 +- include/vcl/filter/PDFiumLibrary.hxx | 2 solenv/flatpak-manifest.in | 6 xmlsecurity/qa/unit/pdfsigning/data/bad-cert-p3-stamp.pdf |binary xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx | 16 ++ xmlsecurity/source/pdfio/pdfdocument.cxx | 63 +++++++- 13 files changed, 289 insertions(+), 72 deletions(-)
New commits: commit 337658c2f9ecfe66fdcdafe43c9066d1395780ad Author: Miklos Vajna <[email protected]> AuthorDate: Wed Nov 4 21:39:04 2020 +0100 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 14:36:15 2020 +0300 xmlsecurity: reject a few dangerous annotation types during pdf sig verify (cherry picked from commit f231dacde9df1c4aa5f4e0970535c4f4093364a7) Conflicts: xmlsecurity/source/helper/pdfsignaturehelper.cxx Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105926 Tested-by: Jenkins Reviewed-by: Caolán McNamara <[email protected]> (cherry picked from commit fcab45e0e22f4cf46e71856dba7ae5abd6f99bc5) Change-Id: I950b49a6e7181639daf27348ddfa0f36586baa65 Conflicts: xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx (cherry-picked from 363997c76749219b900f47043d1b17ba8ec9bccd) Change-Id: I7096222bc2547046d988e0ba28df725859270790 diff --git a/external/liborcus/inc/pch/precompiled_orcus.hxx b/external/liborcus/inc/pch/precompiled_orcus.hxx new file mode 100644 index 000000000000..28e1bc8119d8 --- /dev/null +++ b/external/liborcus/inc/pch/precompiled_orcus.hxx @@ -0,0 +1,109 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +/* + This file has been autogenerated by update_pch.sh. It is possible to edit it + manually (such as when an include file has been moved/renamed/removed). All such + manual changes will be rewritten by the next run of update_pch.sh (which presumably + also fixes all possible problems, so it's usually better to use it). + + Generated on 2020-02-01 12:22:35 using: + ./bin/update_pch external/liborcus orcus --cutoff=1 --exclude:system --include:module --include:local + + If after updating build fails, use the following command to locate conflicting headers: + ./bin/update_pch_bisect ./external/liborcus/inc/pch/precompiled_orcus.hxx "make external/liborcus.build" --find-conflicts +*/ + +#if PCH_LEVEL >= 1 +#include <algorithm> +#include <cassert> +#include <codecvt> +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <deque> +#include <fstream> +#include <functional> +#include <iostream> +#include <iterator> +#include <limits> +#include <locale> +#include <map> +#include <memory> +#include <ostream> +#include <sstream> +#include <string> +#include <unordered_map> +#include <unordered_set> +#include <vector> +#include <boost/current_function.hpp> +#include <boost/filesystem.hpp> +#include <boost/iostreams/filter/gzip.hpp> +#include <boost/iostreams/filtering_stream.hpp> +#include <boost/optional.hpp> +#include <boost/pool/object_pool.hpp> +#endif // PCH_LEVEL >= 1 +#if PCH_LEVEL >= 2 +#endif // PCH_LEVEL >= 2 +#if PCH_LEVEL >= 3 +#include <mdds/global.hpp> +#include <mdds/sorted_string_map.hpp> +#include <orcus/config.hpp> +#include <orcus/css_document_tree.hpp> +#include <orcus/css_parser.hpp> +#include <orcus/css_selector.hpp> +#include <orcus/csv_parser.hpp> +#include <orcus/dom_tree.hpp> +#include <orcus/exception.hpp> +#include <orcus/format_detection.hpp> +#include <orcus/global.hpp> +#include <orcus/info.hpp> +#include <orcus/interface.hpp> +#include <orcus/json_document_tree.hpp> +#include <orcus/json_global.hpp> +#include <orcus/json_parser.hpp> +#include <orcus/json_structure_tree.hpp> +#include <orcus/measurement.hpp> +#include <orcus/orcus_csv.hpp> +#include <orcus/orcus_gnumeric.hpp> +#include <orcus/orcus_import_ods.hpp> +#include <orcus/orcus_import_xlsx.hpp> +#include <orcus/orcus_json.hpp> +#include <orcus/orcus_ods.hpp> +#include <orcus/orcus_xls_xml.hpp> +#include <orcus/orcus_xlsx.hpp> +#include <orcus/orcus_xml.hpp> +#include <orcus/parser_base.hpp> +#include <orcus/parser_global.hpp> +#include <orcus/pstring.hpp> +#include <orcus/sax_ns_parser.hpp> +#include <orcus/sax_parser.hpp> +#include <orcus/sax_parser_base.hpp> +#include <orcus/sax_token_parser.hpp> +#include <orcus/spreadsheet/export_interface.hpp> +#include <orcus/spreadsheet/import_interface.hpp> +#include <orcus/spreadsheet/import_interface_pivot.hpp> +#include <orcus/spreadsheet/import_interface_view.hpp> +#include <orcus/spreadsheet/styles.hpp> +#include <orcus/spreadsheet/types.hpp> +#include <orcus/stream.hpp> +#include <orcus/string_pool.hpp> +#include <orcus/threaded_sax_token_parser.hpp> +#include <orcus/tokens.hpp> +#include <orcus/xml_namespace.hpp> +#include <orcus/xml_structure_tree.hpp> +#include <orcus/yaml_document_tree.hpp> +#include <orcus/yaml_parser.hpp> +#include <orcus/zip_archive.hpp> +#include <orcus/zip_archive_stream.hpp> +#endif // PCH_LEVEL >= 3 +#if PCH_LEVEL >= 4 +#endif // PCH_LEVEL >= 4 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index 2497306fa06b..cc82c4555e3a 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-05-06 11:57:12 using: + Generated on 2020-09-21 15:21:21 using: ./bin/update_pch external/pdfium pdfium --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -267,6 +267,7 @@ #include <core/fxcodec/jpx/cjpx_decoder.h> #include <core/fxcodec/jpx/jpx_decode_utils.h> #include <core/fxcodec/scanlinedecoder.h> +#include <core/fxcrt/autonuller.h> #include <core/fxcrt/autorestorer.h> #include <core/fxcrt/bytestring.h> #include <core/fxcrt/cfx_binarybuf.h> @@ -368,7 +369,6 @@ #include <core/fxge/fontdata/chromefontdata/chromefontdata.h> #include <core/fxge/fx_font.h> #include <core/fxge/fx_freetype.h> -#include <core/fxge/render_defines.h> #include <core/fxge/renderdevicedriver_iface.h> #include <core/fxge/scoped_font_transform.h> #include <core/fxge/systemfontinfo_iface.h> diff --git a/include/vcl/filter/PDFiumLibrary.hxx b/include/vcl/filter/PDFiumLibrary.hxx index 783b9a6da8b4..027e4939fab1 100644 --- a/include/vcl/filter/PDFiumLibrary.hxx +++ b/include/vcl/filter/PDFiumLibrary.hxx @@ -59,6 +59,8 @@ public: FPDF_ClosePage(mpPage); } + FPDF_PAGE getPointer() { return mpPage; } + /// Get bitmap checksum of the page, without annotations/commenting. BitmapChecksum getChecksum(int nMDPPerm); }; diff --git a/xmlsecurity/qa/unit/pdfsigning/data/bad-cert-p3-stamp.pdf b/xmlsecurity/qa/unit/pdfsigning/data/bad-cert-p3-stamp.pdf new file mode 100644 index 000000000000..b30f5b03867c Binary files /dev/null and b/xmlsecurity/qa/unit/pdfsigning/data/bad-cert-p3-stamp.pdf differ diff --git a/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx b/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx index aaca2c5acc63..20241f016d52 100644 --- a/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx +++ b/xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx @@ -427,6 +427,22 @@ CPPUNIT_TEST_FIXTURE(PDFSigningTest, testBadCertP1) rInformation.nStatus); } +CPPUNIT_TEST_FIXTURE(PDFSigningTest, testBadCertP3Stamp) +{ + std::vector<SignatureInformation> aInfos + = verify(m_directories.getURLFromSrc(DATA_DIRECTORY) + "bad-cert-p3-stamp.pdf", 1, + /*rExpectedSubFilter=*/OString()); + CPPUNIT_ASSERT(!aInfos.empty()); + SignatureInformation& rInformation = aInfos[0]; + + // Without the accompanying fix in place, this test would have failed with: + // - Expected: 0 (SecurityOperationStatus_UNKNOWN) + // - Actual : 1 (SecurityOperationStatus_OPERATION_SUCCEEDED) + // i.e. adding a stamp annotation was not considered as a bad modification. + CPPUNIT_ASSERT_EQUAL(xml::crypto::SecurityOperationStatus::SecurityOperationStatus_UNKNOWN, + rInformation.nStatus); +} + /// Test writing a PAdES signature. CPPUNIT_TEST_FIXTURE(PDFSigningTest, testSigningCertificateAttribute) { diff --git a/xmlsecurity/source/pdfio/pdfdocument.cxx b/xmlsecurity/source/pdfio/pdfdocument.cxx index 9d056de0a15c..51eac91495a7 100644 --- a/xmlsecurity/source/pdfio/pdfdocument.cxx +++ b/xmlsecurity/source/pdfio/pdfdocument.cxx @@ -24,6 +24,11 @@ #include <svl/cryptosign.hxx> #include <vcl/filter/pdfdocument.hxx> #include <vcl/bitmap.hxx> +#include <basegfx/range/b2drectangle.hxx> + +#if HAVE_FEATURE_PDFIUM +#include <fpdf_annot.h> +#endif using namespace com::sun::star; @@ -138,8 +143,29 @@ bool IsCompleteSignature(SvStream& rStream, vcl::filter::PDFDocument& rDocument, return std::find(rAllEOFs.begin(), rAllEOFs.end(), nFileEnd) != rAllEOFs.end(); } +/** + * Contains checksums of a PDF page, which is rendered without annotations. It also contains + * the geometry of a few dangerous annotation types. + */ +struct PageChecksum +{ + BitmapChecksum m_nPageContent; + std::vector<basegfx::B2DRectangle> m_aAnnotations; + bool operator==(const PageChecksum& rChecksum) const; +}; + +bool PageChecksum::operator==(const PageChecksum& rChecksum) const +{ + if (m_nPageContent != rChecksum.m_nPageContent) + { + return false; + } + + return m_aAnnotations == rChecksum.m_aAnnotations; +} + /// Collects the checksum of each page of one version of the PDF. -void AnalyizeSignatureStream(SvMemoryStream& rStream, std::vector<BitmapChecksum>& rPageChecksums, +void AnalyizeSignatureStream(SvMemoryStream& rStream, std::vector<PageChecksum>& rPageChecksums, int nMDPPerm) { #if HAVE_FEATURE_PDFIUM @@ -156,8 +182,35 @@ void AnalyizeSignatureStream(SvMemoryStream& rStream, std::vector<BitmapChecksum return; } - BitmapChecksum nPageChecksum = pPdfPage->getChecksum(nMDPPerm); - rPageChecksums.push_back(nPageChecksum); + PageChecksum aPageChecksum; + aPageChecksum.m_nPageContent = pPdfPage->getChecksum(nMDPPerm); + for (int i = 0; i < FPDFPage_GetAnnotCount(pPdfPage->getPointer()); ++i) + { + FPDF_ANNOTATION pAnnotation = FPDFPage_GetAnnot(pPdfPage->getPointer(), i); + int nType = FPDFAnnot_GetSubtype(pAnnotation); + switch (nType) + { + case FPDF_ANNOT_UNKNOWN: + case FPDF_ANNOT_FREETEXT: + case FPDF_ANNOT_STAMP: + case FPDF_ANNOT_REDACT: + { + basegfx::B2DRectangle aB2DRectangle; + FS_RECTF aRect; + if (FPDFAnnot_GetRect(pAnnotation, &aRect)) + { + aB2DRectangle = basegfx::B2DRectangle(aRect.left, aRect.top, aRect.right, + aRect.bottom); + } + aPageChecksum.m_aAnnotations.push_back(aB2DRectangle); + break; + } + default: + break; + } + FPDFPage_CloseAnnot(pAnnotation); + } + rPageChecksums.push_back(aPageChecksum); } #else (void)rStream; @@ -182,7 +235,7 @@ bool IsValidSignature(SvStream& rStream, vcl::filter::PDFObjectElement* pSignatu aSignatureStream.WriteStream(rStream, nSignatureEOF); rStream.Seek(nPos); aSignatureStream.Seek(0); - std::vector<BitmapChecksum> aSignedPages; + std::vector<PageChecksum> aSignedPages; AnalyizeSignatureStream(aSignatureStream, aSignedPages, nMDPPerm); SvMemoryStream aFullStream; @@ -191,7 +244,7 @@ bool IsValidSignature(SvStream& rStream, vcl::filter::PDFObjectElement* pSignatu aFullStream.WriteStream(rStream); rStream.Seek(nPos); aFullStream.Seek(0); - std::vector<BitmapChecksum> aAllPages; + std::vector<PageChecksum> aAllPages; AnalyizeSignatureStream(aFullStream, aAllPages, nMDPPerm); // Fail if any page looks different after signing and at the end. Annotations/commenting doesn't commit 4c44b692e426089f3e5d64c7b2572de73b21d9d0 Author: Miklos Vajna <[email protected]> AuthorDate: Tue Nov 3 21:02:00 2020 +0100 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:11:19 2020 +0300 external: update pdfium to 4306 Change-Id: Ic10cf99fa412f8f0b3475e82d0a1839a7f04bd08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105272 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> Conflicts: include/vcl/pdf/PDFAnnotationSubType.hxx (cherry-picked from fe531957e3dcd42927cf15ab31d04473433d81f9) Change-Id: Ieed661b1beb5a3f4cb4494bcd8d3a4ebfe006212 diff --git a/download.lst b/download.lst index 8fce97dfdbad..49d7ebec08e1 100644 --- a/download.lst +++ b/download.lst @@ -200,8 +200,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz -export PDFIUM_SHA256SUM := cc5e4d8bffa679af181b54c05a63404becfc7d40cc69117b053248f8fe4e485c -export PDFIUM_TARBALL := pdfium-4260.tar.bz2 +export PDFIUM_SHA256SUM := eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8 +export PDFIUM_TARBALL := pdfium-4306.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index fd6afba30afe..82e38c21b76a 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -98,6 +98,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_textfield \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_button \ UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_textobject \ + UnpackedTarball/pdfium/fpdfsdk/formfiller/cffl_privatedata \ )) # fpdfapi @@ -430,7 +431,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/dib/cfx_imagetransformer \ UnpackedTarball/pdfium/core/fxge/dib/cfx_scanlinecompositor \ UnpackedTarball/pdfium/core/fxge/dib/cstretchengine \ - UnpackedTarball/pdfium/core/fxge/dib/fx_dib_main \ + UnpackedTarball/pdfium/core/fxge/dib/fx_dib \ UnpackedTarball/pdfium/core/fxge/fontdata/chromefontdata/FoxitDingbats \ UnpackedTarball/pdfium/core/fxge/fontdata/chromefontdata/FoxitFixed \ UnpackedTarball/pdfium/core/fxge/fontdata/chromefontdata/FoxitFixedBold \ @@ -493,7 +494,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_edit_impl \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_icon \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_list_box \ - UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_list_impl \ + UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_cbbutton \ + UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_cblistbox \ + UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_list_ctrl \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_scroll_bar \ UnpackedTarball/pdfium/fpdfsdk/pwl/cpwl_special_button \ UnpackedTarball/pdfium/core/fxcrt/cfx_timer \ @@ -631,10 +634,14 @@ ifeq ($(OS),WNT) $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/win32/cfx_psrenderer \ UnpackedTarball/pdfium/core/fxge/win32/cpsoutput \ - UnpackedTarball/pdfium/core/fxge/win32/fx_win32_device \ - UnpackedTarball/pdfium/core/fxge/win32/fx_win32_dib \ - UnpackedTarball/pdfium/core/fxge/win32/fx_win32_gdipext \ - UnpackedTarball/pdfium/core/fxge/win32/fx_win32_print \ + UnpackedTarball/pdfium/core/fxge/win32/cgdi_device_driver \ + UnpackedTarball/pdfium/core/fxge/win32/cgdi_display_driver \ + UnpackedTarball/pdfium/core/fxge/win32/cgdi_plus_ext \ + UnpackedTarball/pdfium/core/fxge/win32/cgdi_printer_driver \ + UnpackedTarball/pdfium/core/fxge/win32/cps_printer_driver \ + UnpackedTarball/pdfium/core/fxge/win32/ctext_only_printer_driver \ + UnpackedTarball/pdfium/core/fxge/win32/cwin32_platform \ + UnpackedTarball/pdfium/core/fxge/cfx_windowsrenderdevice \ UnpackedTarball/pdfium/core/fxcrt/cfx_fileaccess_windows \ UnpackedTarball/pdfium/third_party/base/win/win_util \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_windowsrenderdevice \ diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index a80d901040cb..2497306fa06b 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -363,9 +363,9 @@ #include <core/fxge/dib/cfx_imagetransformer.h> #include <core/fxge/dib/cfx_scanlinecompositor.h> #include <core/fxge/dib/cstretchengine.h> +#include <core/fxge/dib/fx_dib.h> #include <core/fxge/dib/scanlinecomposer_iface.h> #include <core/fxge/fontdata/chromefontdata/chromefontdata.h> -#include <core/fxge/fx_dib.h> #include <core/fxge/fx_font.h> #include <core/fxge/fx_freetype.h> #include <core/fxge/render_defines.h> @@ -399,6 +399,7 @@ #include <fpdfsdk/formfiller/cffl_formfiller.h> #include <fpdfsdk/formfiller/cffl_interactiveformfiller.h> #include <fpdfsdk/formfiller/cffl_listbox.h> +#include <fpdfsdk/formfiller/cffl_privatedata.h> #include <fpdfsdk/formfiller/cffl_pushbutton.h> #include <fpdfsdk/formfiller/cffl_radiobutton.h> #include <fpdfsdk/formfiller/cffl_textfield.h> @@ -406,16 +407,19 @@ #include <fpdfsdk/ipdfsdk_annothandler.h> #include <fpdfsdk/pwl/cpwl_button.h> #include <fpdfsdk/pwl/cpwl_caret.h> +#include <fpdfsdk/pwl/cpwl_cbbutton.h> +#include <fpdfsdk/pwl/cpwl_cblistbox.h> #include <fpdfsdk/pwl/cpwl_combo_box.h> #include <fpdfsdk/pwl/cpwl_edit.h> #include <fpdfsdk/pwl/cpwl_edit_ctrl.h> #include <fpdfsdk/pwl/cpwl_edit_impl.h> #include <fpdfsdk/pwl/cpwl_icon.h> #include <fpdfsdk/pwl/cpwl_list_box.h> -#include <fpdfsdk/pwl/cpwl_list_impl.h> +#include <fpdfsdk/pwl/cpwl_list_ctrl.h> #include <fpdfsdk/pwl/cpwl_scroll_bar.h> #include <fpdfsdk/pwl/cpwl_special_button.h> #include <fpdfsdk/pwl/cpwl_wnd.h> +#include <fpdfsdk/pwl/ipwl_fillernotify.h> #include <fpdfsdk/pwl/ipwl_systemhandler.h> #include <fxjs/cjs_event_context_stub.h> #include <fxjs/cjs_runtimestub.h> @@ -440,6 +444,7 @@ #include <public/fpdf_text.h> #include <public/fpdf_transformpage.h> #include <public/fpdfview.h> +#include <third_party/agg23/agg_clip_liang_barsky.h> #include <third_party/agg23/agg_conv_dash.h> #include <third_party/agg23/agg_conv_stroke.h> #include <third_party/agg23/agg_curves.h> @@ -454,6 +459,7 @@ #include <third_party/base/allocator/partition_allocator/page_allocator.h> #include <third_party/base/allocator/partition_allocator/page_allocator_internal.h> #include <third_party/base/allocator/partition_allocator/partition_alloc.h> +#include <third_party/base/allocator/partition_allocator/partition_alloc_check.h> #include <third_party/base/allocator/partition_allocator/partition_alloc_constants.h> #include <third_party/base/allocator/partition_allocator/partition_bucket.h> #include <third_party/base/allocator/partition_allocator/partition_direct_map_extent.h> @@ -463,12 +469,14 @@ #include <third_party/base/allocator/partition_allocator/random.h> #include <third_party/base/allocator/partition_allocator/spin_lock.h> #include <third_party/base/bits.h> +#include <third_party/base/check.h> +#include <third_party/base/check_op.h> #include <third_party/base/compiler_specific.h> #include <third_party/base/containers/adapters.h> #include <third_party/base/debug/alias.h> -#include <third_party/base/logging.h> #include <third_party/base/memory/aligned_memory.h> #include <third_party/base/no_destructor.h> +#include <third_party/base/notreached.h> #include <third_party/base/numerics/safe_conversions.h> #include <third_party/base/numerics/safe_math.h> #include <third_party/base/optional.h> diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 0f68bcf900cd..c20398ce10f7 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -69,10 +69,10 @@ "type": "shell" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4260.tar.bz2", - "sha256": "cc5e4d8bffa679af181b54c05a63404becfc7d40cc69117b053248f8fe4e485c", + "url": "https://dev-www.libreoffice.org/src/pdfium-4306.tar.bz2", + "sha256": "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8", "type": "file", - "dest-filename": "external/tarballs/pdfium-4260.tar.bz2" + "dest-filename": "external/tarballs/pdfium-4306.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz", commit 40beda12dea191ba46d0db3ccee3716ed7e3313a Author: Miklos Vajna <[email protected]> AuthorDate: Tue Sep 15 21:02:48 2020 +0200 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:07:01 2020 +0300 external: update pdfium to 4260 Change-Id: I1b6c7e9991b2e35921f7f849380d940c6662b174 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102787 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/download.lst b/download.lst index 35abe3587b88..8fce97dfdbad 100644 --- a/download.lst +++ b/download.lst @@ -200,8 +200,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz -export PDFIUM_SHA256SUM := 7a0dede6f4113aaa9d5395fd851caab9cf9691470f2d4abdc018773fb5f70e94 -export PDFIUM_TARBALL := pdfium-4203.tar.bz2 +export PDFIUM_SHA256SUM := cc5e4d8bffa679af181b54c05a63404becfc7d40cc69117b053248f8fe4e485c +export PDFIUM_TARBALL := pdfium-4260.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index c74061b3acbb..fd6afba30afe 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -465,7 +465,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/cfx_renderdevice \ UnpackedTarball/pdfium/core/fxge/cfx_substfont \ UnpackedTarball/pdfium/core/fxge/cfx_unicodeencoding \ - UnpackedTarball/pdfium/core/fxge/fx_ge_fontmap \ UnpackedTarball/pdfium/core/fxge/cfx_glyphbitmap \ UnpackedTarball/pdfium/core/fxge/scoped_font_transform \ UnpackedTarball/pdfium/core/fxge/text_glyph_pos \ @@ -474,8 +473,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/dib/cfx_cmyk_to_srgb \ UnpackedTarball/pdfium/core/fxge/text_char_pos \ UnpackedTarball/pdfium/core/fxge/cfx_face \ - UnpackedTarball/pdfium/core/fxge/cfx_fillrenderoptions \ - UnpackedTarball/pdfium/core/fxge/cfx_textrenderoptions \ )) # javascript, build with pdf_enable_v8 disabled. diff --git a/external/pdfium/configs/build_config.h b/external/pdfium/configs/build_config.h index edd70af53034..ec93c278767c 100644 --- a/external/pdfium/configs/build_config.h +++ b/external/pdfium/configs/build_config.h @@ -6,7 +6,7 @@ // This file adds defines about the platform we're currently building on. // Operating System: -// OS_WIN / OS_MACOSX / OS_LINUX / OS_POSIX (MACOSX or LINUX) +// OS_WIN / OS_APPLE / OS_LINUX / OS_POSIX (MACOSX or LINUX) // Compiler: // COMPILER_MSVC / COMPILER_GCC // Processor: @@ -21,7 +21,7 @@ #define OS_ANDROID 1 #define OS_LINUX 1 #elif defined(__APPLE__) -#define OS_MACOSX 1 +#define OS_APPLE 1 #elif defined(__linux__) #define OS_LINUX 1 #elif defined(__DragonFly__) @@ -48,7 +48,7 @@ // For access to standard POSIX features, use OS_POSIX instead of a more // specific macro. -#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS) +#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS) #define OS_POSIX 1 #endif diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index a0ba31d7b29f..0f68bcf900cd 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -69,10 +69,10 @@ "type": "shell" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4203.tar.bz2", - "sha256": "7a0dede6f4113aaa9d5395fd851caab9cf9691470f2d4abdc018773fb5f70e94", + "url": "https://dev-www.libreoffice.org/src/pdfium-4260.tar.bz2", + "sha256": "cc5e4d8bffa679af181b54c05a63404becfc7d40cc69117b053248f8fe4e485c", "type": "file", - "dest-filename": "external/tarballs/pdfium-4203.tar.bz2" + "dest-filename": "external/tarballs/pdfium-4260.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz", commit e97bd2fbf6c6d433617f9406bbaccbb7dad5efbe Author: Stephan Bergmann <[email protected]> AuthorDate: Thu Sep 10 08:32:04 2020 +0200 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:06:48 2020 +0300 Update one mention of pdfium-4137.tar.bz2 ...left behind by 4488be8a9279be0bd0aebd476589a49d2b95da6e "external: update pdfium to 4203" Change-Id: I5e092f6351281c99a5a3f8b6865d5166805a5c46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102351 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <[email protected]> diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 56cb287186ec..a0ba31d7b29f 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -72,7 +72,7 @@ "url": "https://dev-www.libreoffice.org/src/pdfium-4203.tar.bz2", "sha256": "7a0dede6f4113aaa9d5395fd851caab9cf9691470f2d4abdc018773fb5f70e94", "type": "file", - "dest-filename": "external/tarballs/pdfium-4137.tar.bz2" + "dest-filename": "external/tarballs/pdfium-4203.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz", commit 12f8b1e52f3cb83625b1eb026cb3501700d1f763 Author: Miklos Vajna <[email protected]> AuthorDate: Tue Jul 21 21:25:26 2020 +0200 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:06:34 2020 +0300 external: update pdfium to 4203 Change-Id: Ib712fa5494e5461ef59252a0e832d43eabccbee0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99157 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/download.lst b/download.lst index df2711e6105b..35abe3587b88 100644 --- a/download.lst +++ b/download.lst @@ -200,8 +200,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz -export PDFIUM_SHA256SUM := 9a2f9bddca935a263f06c81003483473a525ccd0f4e517bc75fceb914d4c54b6 -export PDFIUM_TARBALL := pdfium-4137.tar.bz2 +export PDFIUM_SHA256SUM := 7a0dede6f4113aaa9d5395fd851caab9cf9691470f2d4abdc018773fb5f70e94 +export PDFIUM_TARBALL := pdfium-4203.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index a740c2064039..c74061b3acbb 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -76,6 +76,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_pauseadapter \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_interactiveform \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_renderpage \ + UnpackedTarball/pdfium/fpdfsdk/fpdf_signature \ )) # fdrm @@ -244,6 +245,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_type3cache \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_type3glyphmap \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_rendershading \ + UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_rendertiling \ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_creator \ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_encryptor \ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_flateencoder \ @@ -346,20 +348,19 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict \ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_TrdProc \ UnpackedTarball/pdfium/core/fxcodec/gif/cfx_gif \ - UnpackedTarball/pdfium/core/fxcodec/gif/cfx_gifcontext \ UnpackedTarball/pdfium/core/fxcodec/gif/cfx_lzwdecompressor \ UnpackedTarball/pdfium/core/fxcodec/cfx_codec_memory \ UnpackedTarball/pdfium/core/fxcodec/fax/faxmodule \ UnpackedTarball/pdfium/core/fxcodec/scanlinedecoder \ - UnpackedTarball/pdfium/core/fxcodec/jbig2/jbig2module \ UnpackedTarball/pdfium/core/fxcodec/jpeg/jpegmodule \ UnpackedTarball/pdfium/core/fxcodec/jpx/cjpx_decoder \ UnpackedTarball/pdfium/core/fxcodec/jpx/jpx_decode_utils \ UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_DocumentContext \ UnpackedTarball/pdfium/core/fxcodec/basic/basicmodule \ - UnpackedTarball/pdfium/core/fxcodec/jpx/jpxmodule \ UnpackedTarball/pdfium/core/fxcodec/flate/flatemodule \ UnpackedTarball/pdfium/core/fxcodec/icc/iccmodule \ + UnpackedTarball/pdfium/core/fxcodec/jbig2/jbig2_decoder \ + UnpackedTarball/pdfium/core/fxcodec/jpeg/jpeg_common \ )) # fxcrt @@ -465,7 +466,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/cfx_substfont \ UnpackedTarball/pdfium/core/fxge/cfx_unicodeencoding \ UnpackedTarball/pdfium/core/fxge/fx_ge_fontmap \ - UnpackedTarball/pdfium/core/fxge/fx_ge_linux \ UnpackedTarball/pdfium/core/fxge/cfx_glyphbitmap \ UnpackedTarball/pdfium/core/fxge/scoped_font_transform \ UnpackedTarball/pdfium/core/fxge/text_glyph_pos \ @@ -474,6 +474,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/dib/cfx_cmyk_to_srgb \ UnpackedTarball/pdfium/core/fxge/text_char_pos \ UnpackedTarball/pdfium/core/fxge/cfx_face \ + UnpackedTarball/pdfium/core/fxge/cfx_fillrenderoptions \ + UnpackedTarball/pdfium/core/fxge/cfx_textrenderoptions \ )) # javascript, build with pdf_enable_v8 disabled. @@ -542,6 +544,10 @@ $(eval $(call gb_Library_add_generated_cobjects,pdfium,\ UnpackedTarball/pdfium/third_party/libopenjpeg20/sparse_array \ )) +$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ + UnpackedTarball/pdfium/third_party/libopenjpeg20/opj_malloc \ +)) + # pdfium_base $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/address_space_randomization \ @@ -555,6 +561,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/partition_page \ UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/partition_root_base \ UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/random \ + UnpackedTarball/pdfium/third_party/base/memory/aligned_memory \ )) # skia_shared @@ -671,4 +678,11 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ )) endif +ifeq ($(OS),LINUX) +# fxge +$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ + UnpackedTarball/pdfium/core/fxge/fx_ge_linux \ +)) +endif + # vim: set noet sw=4 ts=4: diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk index 93d3fede6e3c..f4643376cee0 100644 --- a/external/pdfium/UnpackedTarball_pdfium.mk +++ b/external/pdfium/UnpackedTarball_pdfium.mk @@ -45,7 +45,9 @@ $(eval $(call gb_UnpackedTarball_set_post_action,pdfium,\ mv third_party/base/allocator/partition_allocator/partition_page.cc third_party/base/allocator/partition_allocator/partition_page.cpp && \ mv third_party/base/allocator/partition_allocator/partition_root_base.cc third_party/base/allocator/partition_allocator/partition_root_base.cpp && \ mv third_party/base/allocator/partition_allocator/random.cc third_party/base/allocator/partition_allocator/random.cpp && \ - mv third_party/base/win/win_util.cc third_party/base/win/win_util.cpp \ + mv third_party/base/memory/aligned_memory.cc third_party/base/memory/aligned_memory.cpp && \ + mv third_party/base/win/win_util.cc third_party/base/win/win_util.cpp && \ + mv third_party/libopenjpeg20/opj_malloc.cc third_party/libopenjpeg20/opj_malloc.cpp \ )) # vim: set noet sw=4 ts=4: diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 16544f0c7c81..9d48b022fae2 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -37,3 +37,16 @@ index 0fb627ba8..dda1fc8bc 100644 : span(container.data(), container.size()) {} template < typename Container, +diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp +index dbc1b1045..36b72461d 100644 +--- a/core/fxcodec/jpx/cjpx_decoder.cpp ++++ b/core/fxcodec/jpx/cjpx_decoder.cpp +@@ -70,7 +70,7 @@ Optional<OpjImageRgbData> alloc_rgb(size_t size) { + if (!data.b) + return {}; + +- return data; ++ return std::move(data); + } + + void sycc_to_rgb(int offset, diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index f1bb32ea8331..a80d901040cb 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -191,6 +191,7 @@ #include <core/fpdfapi/render/cpdf_renderoptions.h> #include <core/fpdfapi/render/cpdf_rendershading.h> #include <core/fpdfapi/render/cpdf_renderstatus.h> +#include <core/fpdfapi/render/cpdf_rendertiling.h> #include <core/fpdfapi/render/cpdf_scaledrenderbuffer.h> #include <core/fpdfapi/render/cpdf_textrenderer.h> #include <core/fpdfapi/render/cpdf_type3cache.h> @@ -240,9 +241,7 @@ #include <core/fxcodec/flate/flatemodule.h> #include <core/fxcodec/fx_codec.h> #include <core/fxcodec/gif/cfx_gif.h> -#include <core/fxcodec/gif/cfx_gifcontext.h> #include <core/fxcodec/gif/cfx_lzwdecompressor.h> -#include <core/fxcodec/gif/gifmodule.h> #include <core/fxcodec/icc/iccmodule.h> #include <core/fxcodec/jbig2/JBig2_ArithDecoder.h> #include <core/fxcodec/jbig2/JBig2_ArithIntDecoder.h> @@ -262,11 +261,11 @@ #include <core/fxcodec/jbig2/JBig2_Segment.h> #include <core/fxcodec/jbig2/JBig2_SymbolDict.h> #include <core/fxcodec/jbig2/JBig2_TrdProc.h> -#include <core/fxcodec/jbig2/jbig2module.h> +#include <core/fxcodec/jbig2/jbig2_decoder.h> +#include <core/fxcodec/jpeg/jpeg_common.h> #include <core/fxcodec/jpeg/jpegmodule.h> #include <core/fxcodec/jpx/cjpx_decoder.h> #include <core/fxcodec/jpx/jpx_decode_utils.h> -#include <core/fxcodec/jpx/jpxmodule.h> #include <core/fxcodec/scanlinedecoder.h> #include <core/fxcrt/autorestorer.h> #include <core/fxcrt/bytestring.h> @@ -337,6 +336,7 @@ #include <core/fxge/cfx_defaultrenderdevice.h> #include <core/fxge/cfx_drawutils.h> #include <core/fxge/cfx_face.h> +#include <core/fxge/cfx_fillrenderoptions.h> #include <core/fxge/cfx_folderfontinfo.h> #include <core/fxge/cfx_font.h> #include <core/fxge/cfx_fontcache.h> @@ -350,6 +350,7 @@ #include <core/fxge/cfx_pathdata.h> #include <core/fxge/cfx_renderdevice.h> #include <core/fxge/cfx_substfont.h> +#include <core/fxge/cfx_textrenderoptions.h> #include <core/fxge/cfx_unicodeencoding.h> #include <core/fxge/dib/cfx_bitmapcomposer.h> #include <core/fxge/dib/cfx_bitmapstorer.h> @@ -433,6 +434,7 @@ #include <public/fpdf_progressive.h> #include <public/fpdf_save.h> #include <public/fpdf_searchex.h> +#include <public/fpdf_signature.h> #include <public/fpdf_structtree.h> #include <public/fpdf_sysfontinfo.h> #include <public/fpdf_text.h> @@ -462,8 +464,10 @@ #include <third_party/base/allocator/partition_allocator/spin_lock.h> #include <third_party/base/bits.h> #include <third_party/base/compiler_specific.h> +#include <third_party/base/containers/adapters.h> #include <third_party/base/debug/alias.h> #include <third_party/base/logging.h> +#include <third_party/base/memory/aligned_memory.h> #include <third_party/base/no_destructor.h> #include <third_party/base/numerics/safe_conversions.h> #include <third_party/base/numerics/safe_math.h> diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index aa05affd2f2c..56cb287186ec 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -69,8 +69,8 @@ "type": "shell" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4137.tar.bz2", - "sha256": "9a2f9bddca935a263f06c81003483473a525ccd0f4e517bc75fceb914d4c54b6", + "url": "https://dev-www.libreoffice.org/src/pdfium-4203.tar.bz2", + "sha256": "7a0dede6f4113aaa9d5395fd851caab9cf9691470f2d4abdc018773fb5f70e94", "type": "file", "dest-filename": "external/tarballs/pdfium-4137.tar.bz2" }, commit 7a5aeb2b62d8b654fdaf9754186e00463535eaf9 Author: Miklos Vajna <[email protected]> AuthorDate: Tue May 12 21:24:48 2020 +0200 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:04:44 2020 +0300 external: update pdfium to 4137 Change-Id: Ib7c12461e04fa97bf55ee967e8d6c9bcf92fdf4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94078 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/download.lst b/download.lst index e485c413a0a5..df2711e6105b 100644 --- a/download.lst +++ b/download.lst @@ -200,8 +200,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz -export PDFIUM_SHA256SUM := 98e3a4ddcd522fb4cebf18a7dfd0e47877e9d33e957ff47b65cb952edc89618f -export PDFIUM_TARBALL := pdfium-4083.tar.bz2 +export PDFIUM_SHA256SUM := 9a2f9bddca935a263f06c81003483473a525ccd0f4e517bc75fceb914d4c54b6 +export PDFIUM_TARBALL := pdfium-4137.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index c77222bb0c7c..a740c2064039 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -228,7 +228,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfapi/parser/fpdf_parser_utility \ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_object_walker \ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_read_validator \ - UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_charposlist \ + UnpackedTarball/pdfium/core/fpdfapi/render/charposlist \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_devicebuffer \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_docrenderdata \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_imagecacheentry \ @@ -414,6 +414,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/cfx_utf8encoder \ UnpackedTarball/pdfium/core/fxcrt/cfx_readonlymemorystream \ UnpackedTarball/pdfium/core/fxcrt/observed_ptr \ + UnpackedTarball/pdfium/core/fxcrt/string_data_template \ )) # fxge diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 729d87f5ee8e..16544f0c7c81 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -37,17 +37,3 @@ index 0fb627ba8..dda1fc8bc 100644 : span(container.data(), container.size()) {} template < typename Container, ---- a/core/fxcrt/fx_memory_wrappers.h.orig 2020-01-15 11:16:03.848760100 +0100 -+++ b/core/fxcrt/fx_memory_wrappers.h 2020-01-15 11:16:44.050531200 +0100 -@@ -23,8 +23,11 @@ - template <class T> - struct FxAllocAllocator { - public: -+#ifndef _WIN32 -+ // MSVC thinks uint8_t is not an arithmetic type. - static_assert(std::is_arithmetic<T>::value, - "Only numeric types allowed in this partition"); -+#endif - - using value_type = T; - using pointer = T*; diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index ae5041e88044..f1bb32ea8331 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-03-11 14:44:55 using: + Generated on 2020-05-06 11:57:12 using: ./bin/update_pch external/pdfium pdfium --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -178,7 +178,7 @@ #include <core/fpdfapi/parser/cpdf_syntax_parser.h> #include <core/fpdfapi/parser/fpdf_parser_decode.h> #include <core/fpdfapi/parser/fpdf_parser_utility.h> -#include <core/fpdfapi/render/cpdf_charposlist.h> +#include <core/fpdfapi/render/charposlist.h> #include <core/fpdfapi/render/cpdf_devicebuffer.h> #include <core/fpdfapi/render/cpdf_docrenderdata.h> #include <core/fpdfapi/render/cpdf_imagecacheentry.h> @@ -320,6 +320,7 @@ #include <core/fxcrt/observed_ptr.h> #include <core/fxcrt/pauseindicator_iface.h> #include <core/fxcrt/retain_ptr.h> +#include <core/fxcrt/string_data_template.h> #include <core/fxcrt/string_pool_template.h> #include <core/fxcrt/unowned_ptr.h> #include <core/fxcrt/widestring.h> diff --git a/external/pdfium/ubsan.patch b/external/pdfium/ubsan.patch index 1d03c28a4d15..8610e24f2828 100644 --- a/external/pdfium/ubsan.patch +++ b/external/pdfium/ubsan.patch @@ -1,14 +1,14 @@ ---- core/fxcrt/string_data_template.h -+++ core/fxcrt/string_data_template.h -@@ -76,7 +76,8 @@ class StringDataTemplate { - ASSERT(nLen >= 0); - ASSERT(offset + nLen <= m_nAllocLength); +--- core/fxcrt/string_data_template.cpp ++++ core/fxcrt/string_data_template.cpp +@@ -82,7 +82,8 @@ void StringDataTemplate<CharType>::CopyContentsAt(size_t offset, + ASSERT(nLen >= 0); + ASSERT(offset + nLen <= m_nAllocLength); -- memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); -+ if (nLen != 0) -+ memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); - m_String[offset + nLen] = 0; - } +- memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); ++ if (nLen != 0) ++ memcpy(m_String + offset, pStr, nLen * sizeof(CharType)); + m_String[offset + nLen] = 0; + } --- core/fxge/cfx_glyphcache.cpp +++ core/fxge/cfx_glyphcache.cpp diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 4ff946f434b4..aa05affd2f2c 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -69,10 +69,10 @@ "type": "shell" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4083.tar.bz2", - "sha256": "98e3a4ddcd522fb4cebf18a7dfd0e47877e9d33e957ff47b65cb952edc89618f", + "url": "https://dev-www.libreoffice.org/src/pdfium-4137.tar.bz2", + "sha256": "9a2f9bddca935a263f06c81003483473a525ccd0f4e517bc75fceb914d4c54b6", "type": "file", - "dest-filename": "external/tarballs/pdfium-4083.tar.bz2" + "dest-filename": "external/tarballs/pdfium-4137.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz", commit ff6c2c7e01eec327b264f66849f4efc2f8cfdde7 Author: Miklos Vajna <[email protected]> AuthorDate: Tue Mar 17 21:05:44 2020 +0100 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:04:31 2020 +0300 external: update pdfium to 4083 Change-Id: Iab30effaae86a54852196d6e29d39118e0a2f70c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90667 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/download.lst b/download.lst index f414414a8261..e485c413a0a5 100644 --- a/download.lst +++ b/download.lst @@ -200,8 +200,8 @@ export OWNCLOUD_ANDROID_LIB_SHA256SUM := b18b3e3ef7fae6a79b62f2bb43cc47a5346b633 export OWNCLOUD_ANDROID_LIB_TARBALL := owncloud-android-library-0.9.4-no-binary-deps.tar.gz export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz -export PDFIUM_SHA256SUM := 55d642468718c45fc8409537a3e8badd7e7e7be18c6e1c4be90eb278d1f1e04a -export PDFIUM_TARBALL := pdfium-4021.tar.bz2 +export PDFIUM_SHA256SUM := 98e3a4ddcd522fb4cebf18a7dfd0e47877e9d33e957ff47b65cb952edc89618f +export PDFIUM_TARBALL := pdfium-4083.tar.bz2 export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 8607fde503eb..c77222bb0c7c 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -75,6 +75,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/fpdf_view \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_pauseadapter \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_interactiveform \ + UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_renderpage \ )) # fdrm @@ -268,7 +269,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_cross_ref_avail \ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_pagecontentmanager \ UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_transparency \ - UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_dibbase \ + UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_dib \ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_object_stream \ UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_cross_ref_table \ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_stringarchivestream \ @@ -276,7 +277,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_contentstream_write_utils \ UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_annotcontext \ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_pagerendercontext \ - UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_dibtransferfunc \ + UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_transferfuncdib \ UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_transferfunc \ )) @@ -285,7 +286,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfdoc/cline \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_aaction \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_action \ - UnpackedTarball/pdfium/core/fpdfdoc/cpdf_actionfields \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_annot \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_annotlist \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_apsettings \ @@ -293,7 +293,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_bookmarktree \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_defaultappearance \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_dest \ - UnpackedTarball/pdfium/core/fpdfdoc/cpdf_docjsactions \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_filespec \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_formcontrol \ UnpackedTarball/pdfium/core/fpdfdoc/cpdf_formfield \ @@ -423,7 +422,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/dib/cfx_bitmapstorer \ UnpackedTarball/pdfium/core/fxge/dib/cfx_dibextractor \ UnpackedTarball/pdfium/core/fxge/dib/cfx_dibitmap \ - UnpackedTarball/pdfium/core/fxge/dib/cfx_filtereddib \ + UnpackedTarball/pdfium/core/fxge/cfx_drawutils \ UnpackedTarball/pdfium/core/fxge/dib/cfx_imagerenderer \ UnpackedTarball/pdfium/core/fxge/dib/cfx_imagestretcher \ UnpackedTarball/pdfium/core/fxge/dib/cfx_imagetransformer \ @@ -649,7 +648,7 @@ ifeq ($(OS),MACOSX) # fxge $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/apple/fx_apple_platform \ - UnpackedTarball/pdfium/core/fxge/apple/fx_mac_imp \ + UnpackedTarball/pdfium/core/fxge/apple/fx_mac_impl \ UnpackedTarball/pdfium/core/fxge/apple/fx_quartz_device \ )) @@ -666,7 +665,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/android/cfpf_skiafont \ UnpackedTarball/pdfium/core/fxge/android/cfpf_skiafontmgr \ UnpackedTarball/pdfium/core/fxge/android/cfx_androidfontinfo \ - UnpackedTarball/pdfium/core/fxge/android/fx_android_imp \ + UnpackedTarball/pdfium/core/fxge/android/fx_android_impl \ UnpackedTarball/pdfium/core/fxge/android/cfpf_skiapathfont \ )) endif diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index 0e96588c668a..ae5041e88044 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2020-02-01 12:22:35 using: + Generated on 2020-03-11 14:44:55 using: ./bin/update_pch external/pdfium pdfium --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -65,6 +65,7 @@ #endif // PCH_LEVEL >= 2 #if PCH_LEVEL >= 3 #include <build/build_config.h> +#include <constants/access_permissions.h> #include <constants/annotation_common.h> #include <constants/annotation_flags.h> #include <constants/form_fields.h> @@ -77,7 +78,7 @@ #include <core/fpdfapi/cmaps/GB1/cmaps_gb1.h> #include <core/fpdfapi/cmaps/Japan1/cmaps_japan1.h> #include <core/fpdfapi/cmaps/Korea1/cmaps_korea1.h> -#include <core/fpdfapi/cmaps/cmap_int.h> +#include <core/fpdfapi/cmaps/fpdf_cmaps.h> #include <core/fpdfapi/edit/cpdf_contentstream_write_utils.h> #include <core/fpdfapi/edit/cpdf_creator.h> #include <core/fpdfapi/edit/cpdf_pagecontentgenerator.h> @@ -109,8 +110,7 @@ #include <core/fpdfapi/page/cpdf_contentmarks.h> #include <core/fpdfapi/page/cpdf_contentparser.h> #include <core/fpdfapi/page/cpdf_devicecs.h> -#include <core/fpdfapi/page/cpdf_dibbase.h> -#include <core/fpdfapi/page/cpdf_dibtransferfunc.h> +#include <core/fpdfapi/page/cpdf_dib.h> #include <core/fpdfapi/page/cpdf_docpagedata.h> #include <core/fpdfapi/page/cpdf_expintfunc.h> #include <core/fpdfapi/page/cpdf_form.h> @@ -143,6 +143,7 @@ #include <core/fpdfapi/page/cpdf_textstate.h> #include <core/fpdfapi/page/cpdf_tilingpattern.h> #include <core/fpdfapi/page/cpdf_transferfunc.h> +#include <core/fpdfapi/page/cpdf_transferfuncdib.h> #include <core/fpdfapi/page/cpdf_transparency.h> #include <core/fpdfapi/parser/cfdf_document.h> #include <core/fpdfapi/parser/cpdf_array.h> @@ -198,7 +199,6 @@ #include <core/fpdfdoc/cline.h> #include <core/fpdfdoc/cpdf_aaction.h> #include <core/fpdfdoc/cpdf_action.h> -#include <core/fpdfdoc/cpdf_actionfields.h> #include <core/fpdfdoc/cpdf_annot.h> #include <core/fpdfdoc/cpdf_annotlist.h> #include <core/fpdfdoc/cpdf_apsettings.h> @@ -207,7 +207,6 @@ #include <core/fpdfdoc/cpdf_color_utils.h> #include <core/fpdfdoc/cpdf_defaultappearance.h> #include <core/fpdfdoc/cpdf_dest.h> -#include <core/fpdfdoc/cpdf_docjsactions.h> #include <core/fpdfdoc/cpdf_filespec.h> #include <core/fpdfdoc/cpdf_formcontrol.h> #include <core/fpdfdoc/cpdf_formfield.h> @@ -335,6 +334,7 @@ #include <core/fxge/cfx_cliprgn.h> #include <core/fxge/cfx_color.h> #include <core/fxge/cfx_defaultrenderdevice.h> +#include <core/fxge/cfx_drawutils.h> #include <core/fxge/cfx_face.h> #include <core/fxge/cfx_folderfontinfo.h> #include <core/fxge/cfx_font.h> @@ -356,7 +356,6 @@ #include <core/fxge/dib/cfx_dibbase.h> #include <core/fxge/dib/cfx_dibextractor.h> #include <core/fxge/dib/cfx_dibitmap.h> -#include <core/fxge/dib/cfx_filtereddib.h> #include <core/fxge/dib/cfx_imagerenderer.h> #include <core/fxge/dib/cfx_imagestretcher.h> #include <core/fxge/dib/cfx_imagetransformer.h> @@ -389,6 +388,7 @@ #include <fpdfsdk/cpdfsdk_interactiveform.h> #include <fpdfsdk/cpdfsdk_pageview.h> #include <fpdfsdk/cpdfsdk_pauseadapter.h> +#include <fpdfsdk/cpdfsdk_renderpage.h> #include <fpdfsdk/cpdfsdk_widget.h> #include <fpdfsdk/cpdfsdk_widgethandler.h> #include <fpdfsdk/formfiller/cffl_button.h> diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index e7f79af800cf..4ff946f434b4 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -69,10 +69,10 @@ "type": "shell" }, { - "url": "https://dev-www.libreoffice.org/src/pdfium-4021.tar.bz2", - "sha256": "55d642468718c45fc8409537a3e8badd7e7e7be18c6e1c4be90eb278d1f1e04a", + "url": "https://dev-www.libreoffice.org/src/pdfium-4083.tar.bz2", + "sha256": "98e3a4ddcd522fb4cebf18a7dfd0e47877e9d33e957ff47b65cb952edc89618f", "type": "file", - "dest-filename": "external/tarballs/pdfium-4021.tar.bz2" + "dest-filename": "external/tarballs/pdfium-4083.tar.bz2" }, { "url": "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz", commit 308b6ee1b6c0d2050516f262999fa4fdf8268db4 Author: Vasily Melenchuk <[email protected]> AuthorDate: Wed Dec 23 10:01:41 2020 +0300 Commit: Vasily Melenchuk <[email protected]> CommitDate: Wed Dec 23 10:01:41 2020 +0300 make update_pch also consider files in <module>/src/**/inc With --enable-pch=full there's not much difference between a "public" header in <module>/inc and a private one in <module>/src/somewhere/inc . And since the script searches recursively, this apparently helps to find even more headers for lower pch levels. Change-Id: I8483d0aa5b4fea5a59107c20a8aa5f1ef694af0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87799 Tested-by: Jenkins Reviewed-by: Luboš Luňák <[email protected]> (cherry-picked from 69e0d871ec1de2260f9213d3113464155eac173c) (cherry-picked only pdfium part) Change-Id: Icda873a59902aa77d7dcfeed6bc62d37f7d96726 diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index d4d3b2f462a3..0e96588c668a 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2019-05-21 17:15:06 using: + Generated on 2020-02-01 12:22:35 using: ./bin/update_pch external/pdfium pdfium --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -188,6 +188,7 @@ #include <core/fpdfapi/render/cpdf_progressiverenderer.h> #include <core/fpdfapi/render/cpdf_rendercontext.h> #include <core/fpdfapi/render/cpdf_renderoptions.h> +#include <core/fpdfapi/render/cpdf_rendershading.h> #include <core/fpdfapi/render/cpdf_renderstatus.h> #include <core/fpdfapi/render/cpdf_scaledrenderbuffer.h> #include <core/fpdfapi/render/cpdf_textrenderer.h> @@ -210,6 +211,7 @@ #include <core/fpdfdoc/cpdf_filespec.h> #include <core/fpdfdoc/cpdf_formcontrol.h> #include <core/fpdfdoc/cpdf_formfield.h> +#include <core/fpdfdoc/cpdf_icon.h> #include <core/fpdfdoc/cpdf_iconfit.h> #include <core/fpdfdoc/cpdf_interactiveform.h> #include <core/fpdfdoc/cpdf_link.h> @@ -307,6 +309,7 @@ #include <core/fxcrt/fx_coordinates.h> #include <core/fxcrt/fx_extension.h> #include <core/fxcrt/fx_memory.h> +#include <core/fxcrt/fx_memory_wrappers.h> #include <core/fxcrt/fx_number.h> #include <core/fxcrt/fx_random.h> #include <core/fxcrt/fx_safe_types.h> @@ -454,11 +457,13 @@ #include <third_party/base/allocator/partition_allocator/partition_oom.h> #include <third_party/base/allocator/partition_allocator/partition_page.h> #include <third_party/base/allocator/partition_allocator/partition_root_base.h> +#include <third_party/base/allocator/partition_allocator/random.h> #include <third_party/base/allocator/partition_allocator/spin_lock.h> #include <third_party/base/bits.h> #include <third_party/base/compiler_specific.h> #include <third_party/base/debug/alias.h> #include <third_party/base/logging.h> +#include <third_party/base/no_destructor.h> #include <third_party/base/numerics/safe_conversions.h> #include <third_party/base/numerics/safe_math.h> #include <third_party/base/optional.h> _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
