summaryrefslogtreecommitdiff
path: root/external/pdfium
AgeCommit message (Collapse)Author
2022-11-10Update pdfium to 5408Miklos Vajna
- drop cg-instead-of-carbon.patch.1, no longer needed after https://pdfium-review.googlesource.com/c/pdfium/+/99753 - drop AndroidNDK19.patch.1, no longer needed after https://pdfium-review.googlesource.com/c/pdfium/+/96530 - drop gcc-c++20-comparison.patch, no longer needed after <https://pdfium.googlesource.com/pdfium/+/065698acf82962a3168a0d56bb1d5964bc593d00> "Fix interaction between RetainPtr<T> and transparent comparisons" since chromium/5321 Change-Id: I1f861dd8a3d490400bb39c108bd4e767a2f45d30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142474 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-10-25external/pdfium: Address a constexpr template point of instantiation issueStephan Bergmann
...that hits at least when building with Clang and --with-latest-c++ against recent libc++ or MSVC standard library (where C++20 and esp. C++23 made more and more class template member functions constexpr). My understanding is that there is some leeway at what point a compiler should instantiate such function specializations, and Clang decides to instantiate constexpr ones early (cf. <https://github.com/llvm/llvm-project/commit/242ad89a15d5466d166d47978bfff983d40ab511> "C++11 half of r147023: In C++11, additionally eagerly instantiate:" and its "Do not defer instantiations of constexpr functions" comment, and the discussion at <https://discourse.llvm.org/t/point-of-instantiation-of-constexpr-function-template/65129>). > In file included from workdir/UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict.cpp:7: > In file included from workdir/UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict.h:10: > In file included from ~/llvm/inst/bin/../include/c++/v1/memory:881: > In file included from ~/llvm/inst/bin/../include/c++/v1/__memory/shared_ptr.h:30: > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:47:19: error: invalid application of 'sizeof' to an incomplete type 'CJBig2_Image' > static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type"); > ^~~~~~~~~~~ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<CJBig2_Image>::operator()' requested here > __ptr_.second()(__tmp); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<CJBig2_Image>::reset' requested here > _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); } > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/construct_at.h:64:13: note: in instantiation of member function 'std::unique_ptr<CJBig2_Image>::~unique_ptr' requested here > __loc->~_Tp(); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/construct_at.h:89:12: note: in instantiation of function template specialization 'std::__destroy_at<std::unique_ptr<CJBig2_Image>, 0>' requested here > _VSTD::__destroy_at(__loc); > ^ > ~/llvm/inst/bin/../include/c++/v1/__memory/allocator_traits.h:317:16: note: in instantiation of function template specialization 'std::destroy_at<std::unique_ptr<CJBig2_Image>, 0>' requested here > _VSTD::destroy_at(__p); > ^ > ~/llvm/inst/bin/../include/c++/v1/__split_buffer:304:25: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<std::unique_ptr<CJBig2_Image>>>::destroy<std::unique_ptr<CJBig2_Image>, void, void>' requested here > __alloc_traits::destroy(__alloc(), _VSTD::__to_address(--__end_)); > ^ > ~/llvm/inst/bin/../include/c++/v1/__split_buffer:145:10: note: in instantiation of member function 'std::__split_buffer<std::unique_ptr<CJBig2_Image>, std::allocator<std::unique_ptr<CJBig2_Image>> &>::__destruct_at_end' requested here > {__destruct_at_end(__new_last, false_type());} > ^ > ~/llvm/inst/bin/../include/c++/v1/__split_buffer:103:10: note: in instantiation of member function 'std::__split_buffer<std::unique_ptr<CJBig2_Image>, std::allocator<std::unique_ptr<CJBig2_Image>> &>::__destruct_at_end' requested here > {__destruct_at_end(__begin_);} > ^ > ~/llvm/inst/bin/../include/c++/v1/__split_buffer:361:5: note: in instantiation of member function 'std::__split_buffer<std::unique_ptr<CJBig2_Image>, std::allocator<std::unique_ptr<CJBig2_Image>> &>::clear' requested here > clear(); > ^ > ~/llvm/inst/bin/../include/c++/v1/vector:1536:49: note: in instantiation of member function 'std::__split_buffer<std::unique_ptr<CJBig2_Image>, std::allocator<std::unique_ptr<CJBig2_Image>> &>::~__split_buffer' requested here > __split_buffer<value_type, allocator_type&> __v(__recommend(size() + 1), size(), __a); > ^ > ~/llvm/inst/bin/../include/c++/v1/vector:1568:9: note: in instantiation of function template specialization 'std::vector<std::unique_ptr<CJBig2_Image>>::__push_back_slow_path<std::unique_ptr<CJBig2_Image>>' requested here > __push_back_slow_path(std::move(__x)); > ^ > workdir/UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict.h:26:16: note: in instantiation of member function 'std::vector<std::unique_ptr<CJBig2_Image>>::push_back' requested here > m_SDEXSYMS.push_back(std::move(image)); > ^ > workdir/UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_SymbolDict.h:16:7: note: forward declaration of 'CJBig2_Image' > class CJBig2_Image; > ^ Change-Id: Ibaeb72eefdd58ca39ffa6bb8f6c5d7088ce51ab7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141812 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-13pdfium: replace annot-alternate-name.patch.1 with upstreamed versionMiklos Vajna
Also backport an other patch that will allow testing date form widgets. Change-Id: I622c847a6139c69ec36a6d40e05b272d11f0119d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141270 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-10-11Avoid UBSan invalid-null-argumentStephan Bergmann
...as seen at least with --without-latest-c++ after d0b2f5f65e80a4262425bb87d5716d7b4341dfea "pdfium: drop not needed annot.patch.1" during CppunitTest_sw_core_text, > workdir/UnpackedTarball/pdfium/core/fxcrt/string_data_template.cpp:76:20: runtime error: null pointer passed as argument 2, which is declared to never be null > /usr/include/string.h:44:28: note: nonnull attribute specified here > #0 in fxcrt::StringDataTemplate<char>::CopyContents(char const*, unsigned long) at workdir/UnpackedTarball/pdfium/core/fxcrt/string_data_template.cpp:76:3 > #1 in fxcrt::ByteString::ByteString(fxcrt::StringViewTemplate<char>, fxcrt::StringViewTemplate<char>) at workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.cpp:160:12 > #2 in fxcrt::operator+(fxcrt::ByteString const&, fxcrt::ByteString const&) at workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:265:10 > #3 in CPDFSDK_AppStream::SetAsTextField(absl::optional<fxcrt::WideString>) at workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_appstream.cpp:1805:34 > #4 in CPDFSDK_Widget::ResetAppearance(absl::optional<fxcrt::WideString>, CPDFSDK_Widget::ValueChanged) at workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_widget.cpp:655:17 > #5 in CPDFSDK_PageView::NewAnnot(CPDF_Annot*) at workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_pageview.cpp:108:12 > #6 in CPDFSDK_PageView::LoadFXAnnots() at workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_pageview.cpp:566:45 > #7 in CPDFSDK_FormFillEnvironment::GetOrCreatePageView(IPDF_Page*) at workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_formfillenvironment.cpp:625:14 > #8 in (anonymous namespace)::FormHandleToPageView(fpdf_form_handle_t__*, fpdf_page_t__*) at workdir/UnpackedTarball/pdfium/fpdfsdk/fpdf_formfill.cpp:169:39 > #9 in FORM_OnAfterLoadPage at workdir/UnpackedTarball/pdfium/fpdfsdk/fpdf_formfill.cpp:730:37 > #10 in vcl::pdf::(anonymous namespace)::PDFiumPageImpl::onAfterLoadPage(vcl::pdf::PDFiumDocument*) at vcl/source/pdf/PDFiumLibrary.cxx:764:5 > #11 in testContentControlPDFFont::TestBody() at sw/qa/core/text/text.cxx:746:12 Change-Id: Iba73a9401eb10a8c03843dba038cd3a6eeeb0c4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141210 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-10Adapt external/pdfium/gcc-c++20-comparison.patch to P2468R2Stephan Bergmann
(<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2468r2.html> "The Equality Operator You Are Looking For"), as now implemented by Clang 16 trunk since <https://github.com/llvm/llvm-project/commit/38b9d313e6945804fffc654f849cfa05ba2c713d> "[C++20][Clang] P2468R2 The Equality Operator You Are Looking For", and which started to make my --with-latest-c++ build fail with > workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_interactiveform.cpp:189:22: error: invalid operands to binary expression ('const CPDF_Dictionary *' and 'RetainPtr<const CPDF_Object>') > if (pAnnotDict == pDict) > ~~~~~~~~~~ ^ ~~~~~ > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:227:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'const char *' for 1st argument > inline bool operator==(const char* lhs, const ByteString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:227:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const ByteString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:230:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'ByteStringView' (aka 'StringViewTemplate<char>') for 1st argument > inline bool operator==(ByteStringView lhs, const ByteString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:230:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const ByteString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:285:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'const wchar_t *' for 1st argument > inline bool operator==(const wchar_t* lhs, const WideString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:285:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const WideString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:288:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'WideStringView' (aka 'StringViewTemplate<wchar_t>') for 1st argument > inline bool operator==(WideStringView lhs, const WideString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:288:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const WideString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxge/cfx_color.h:61:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'const CFX_Color' for 1st argument > inline bool operator==(const CFX_Color& c1, const CFX_Color& c2) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/string_view_template.h:277:13: note: candidate template ignored: could not match 'StringViewTemplate' against 'RetainPtr' > inline bool operator==(const T* lhs, const StringViewTemplate<T>& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/string_view_template.h:277:13: note: candidate template ignored: could not match 'const T *' against 'RetainPtr<const CPDF_Object>' > workdir/UnpackedTarball/pdfium/core/fxcrt/observed_ptr.h:98:13: note: candidate template ignored: could not match 'ObservedPtr' against 'RetainPtr' > inline bool operator==(const U* lhs, const ObservedPtr<T>& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/observed_ptr.h:98:13: note: candidate template ignored: could not match 'const U *' against 'RetainPtr<const CPDF_Object>' Change-Id: Ibef9e5515dc466431741220adebec9c6e20850e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141154 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-06pdfium: drop not needed annot.patch.1Miklos Vajna
If FORM_OnAfterLoadPage() is called, then FPDFAnnot_GetFontSize() can do what we need. Change-Id: I8aa3acbbda5c040f30b28db36f8b3332115b50e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140997 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-09-20sw content controls: add a11y description for PDF exportMiklos Vajna
Acrobat Reader shows these descriptions on mouse hovering on a form widget. Change-Id: I8614222e46c992baca8a57b13a948f88973e8911 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140215 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-09-16sw content controls: add PDF export of font propertiesMiklos Vajna
Like font name or size. Change-Id: Ie7b0d38be0ef69faf364b7c801d0bd3fdd60777a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140038 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-09-14external: update pdfium to 5298Miklos Vajna
pdfium_arm64.patch.1 is now upstreamed as <https://pdfium-review.googlesource.com/c/pdfium/+/96010>. Change-Id: Iafb1ba480161429094db5446ab50314068ae4cfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139876 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-08-16pdfium: replace windows arm64 patch with a backport from upstreamMiklos Vajna
No functional changes intended, just this way the patch can be dropped trivially the next time we update pdfium. Change-Id: I3259e98ddd20a51e109e860e1a3ab4c138597436 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138323 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-07-28pdfium: fix build on windows aarch64 - no __popcntChristian Lohmaier
see https://docs.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics Change-Id: I291f727c1aa6e00d02d2339fcb338159ae49d0c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137568 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2022-07-20external: update pdfium to 5187Miklos Vajna
build.patch.1 is extended to avoid: > C:/lo/master/workdir/UnpackedTarball/pdfium/third_party/libopenjpeg/openjpeg.c(438): error C2491: 'opj_decoder_set_strict_mode': definition of dllimport function not allowed and also is extended to avoid: > /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/stl_tree.h:2028:5: note: no known conversion for argument 1 from ‘std::pair<fxcrt::RetainPtr<CPDF_Object>, std::unique_ptr<CPDF_PageObjectAvail> >::first_type {aka fxcrt::RetainPtr<CPDF_Object>}’ to ‘const CPDF_Object* const&’ Change-Id: Icacc05627a8612b33d6445685d26470e7c757b8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137238 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-06-23external/pdfium: Adapt bundled abseil-cpp to Clang 15 trunk changeStephan Bergmann
...<https://github.com/llvm/llvm-project/commit/5ea341d7c4f9cc4933adc04ff74d59e26ad2f306> "[clang] Fix trivially copyable for copy constructor and copy assignment operator", which caused my build on Windows with clang-cl against the MSVC standard library to fail with > In file included from workdir/UnpackedTarball/pdfium/core/fxge/win32/cgdi_plus_ext.cpp:19: > In file included from workdir/UnpackedTarball/pdfium\core/fxcrt/fx_string.h:14: > In file included from workdir/UnpackedTarball/pdfium\core/fxcrt/bytestring.h:23: > In file included from workdir/UnpackedTarball/pdfium\core/fxcrt/string_view_template.h:18: > In file included from workdir/UnpackedTarball/pdfium\third_party/abseil-cpp/absl/types/optional.h:39: > In file included from workdir/UnpackedTarball/pdfium/third_party/abseil-cpp\absl/utility/utility.h:51: > workdir/UnpackedTarball/pdfium/third_party/abseil-cpp\absl/meta/type_traits.h(501,3): error: static_assert failed due to requirement 'compliant || std::is_trivially_copy_assignable<std::pair<unsigned long long, unsigned long long>>::value' "Not compliant with std::is_trivially_copy_assignable; Standard: false, Implementation: true" > static_assert(compliant || std::is_trivially_copy_assignable<T>::value, > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > workdir/UnpackedTarball/pdfium/third_party/abseil-cpp\absl/types/internal/optional.h(175,21): note: in instantiation of template class 'absl::is_trivially_copy_assignable<std::pair<unsigned long long, unsigned long long>>' requested here > absl::is_trivially_copy_assignable<typename std::remove_cv< > ^ > workdir/UnpackedTarball/pdfium\third_party/abseil-cpp/absl/types/optional.h(119,45): note: in instantiation of default argument for 'optional_data<std::pair<unsigned long long, unsigned long long>>' required here > class optional : private optional_internal::optional_data<T>, > ^~~~~~~~~~~~~~~~ > workdir/UnpackedTarball/pdfium/core/fxge/win32/cgdi_plus_ext.cpp(384,43): note: in instantiation of template class 'absl::optional<std::pair<unsigned long long, unsigned long long>>' requested here > absl::optional<std::pair<size_t, size_t>> IsSmallTriangle( > ^ because the behavior of Clang's built-in __has_trivial_assign no longer matches the behavior of std::is_trivially_copy_assignable for std::pair, which in MSVC happens to be implemented with a deleted copy assignment op > pair& operator=(const volatile pair&) = delete; in c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/include/utility. (See the comments starting at <https://reviews.llvm.org/D127593#3596601> "[clang] Fix trivially copyable for copy constructor and copy assignment operator" for further details.) The easiest workaround appears to be to switch the implementation of absl::is_trivially_copy_assignable from __has_trivial_assign to std::is_trivially_copy_assignable, which should always be available in our C++17-based toolchain baselines. Change-Id: I5d9c3c4fd95852e57d93b56752b7e64d6d71d153 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136335 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-23Missing #include <stdint.h> in various external codeStephan Bergmann
...which is a problem presumably since GCC 13 trunk <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=6f038efd93593da6e661b829d1bd3877e75550f1> "libstdc++: Avoid including <cstdint> for std::char_traits". (All the broken C++ code used unqualified uintptr_t etc. rather than std::uintptr_t etc., so I deemed it more appropriate to include <stdint.h> rather than <cstdint>.) Change-Id: Id9dfc383c5986126a425971c4557b90ac45ac963 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134760 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-20external: update pdfium to 5058Miklos Vajna
Which started to use require __builtin_is_constant_evaluated(), which our baseline doesn't have, so patch that out for now. Change-Id: Idd1923291a933209d18bb677d011c9353c8f8c4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134648 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-03-17external: update pdfium to 4933Miklos Vajna
Stop tracking build_config.h in our repo, it can be now part of the release tarball. It was a mistake in the past to think that this is generated code, it's just external code. Change-Id: Ife2fed362e28c53859399244e2f1247efb1efe86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131695 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-01-13external: update pdfium to 4818Miklos Vajna
Change-Id: I68751a7b6ca2c8c86a412a0fd401e0d0f172297b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128353 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-11-19add with-system-abseil/with-system-openjpeg for pdfiumRene Engelhard
Change-Id: I270cbb75cde2a44416b61978b8eefdf267720031 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125559 Tested-by: Jenkins Reviewed-by: René Engelhard <rene@debian.org>
2021-11-12Include <cstdint> in fxcodec/fx_codec.hTor Lillqvist
Fixes the build of Pdfium on Fedora 34 for me. No idea why it wasn't needed on other platforms. Change-Id: Id0d6172383970b289b6b3b7f6b5c0da998167796 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125084 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-11-12external: update pdfium to 4699Miklos Vajna
Change-Id: I545adce0491e48fad2bfc4003695bd96cc911f22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125068 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-09-23external: update pdfium to 4643Miklos Vajna
Change-Id: I4e86b163a9abef88f26c6c0ae91ae0a4008658f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122485 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-14external: update pdfium to 4568Miklos Vajna
Change-Id: I2bfd5f806281e747702d423b7e59b5f88a7bea9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118868 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-06-09external/pdfium: Latest MSVC now needs the GCC workaround, tooStephan Bergmann
...or else a build with MS VS 2019 16.10.0 and --with-latest-c++ would cause a stack overflow during CppunitTest_xmlsecurity_pdfsigning in the same way as described at 6391e3c4dcd4d61c2f95f996e797e49b5586dbd1 "external/pdfium: Work around GCC C++20 recursive comparison issue". Interestingly, builds with recent Clang (on various platforms) and --with-latest-c++ do not run into that stack overflow issue, so it appears that Clang implements subtly different rules for C++20 and beyond here than do GCC and MSVC. (The GCC issue <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94141> "c++20 rewritten operator== recursive call mixing friend and external operators for template class" mentioned in external/pdfium/UnpackedTarball_pdfium.mk may not be the most accurate description of the precise issue at hand here, but lets keep it at that for now. Its comments do mention "that some people are going to try and change the rules to avoid breaking code like this.") But regardless of what the exact rules are for C++20 and beyond, these problematic overloads are only needed for C++17 and earlier anyway, as C++20 can cover them with automatic rewrites of other operators. So lets generally disable them for C++20 and beyond. Change-Id: I99033d6f09f069f00a6916ef40fd03dd4962a5c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116882 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-14Change one more <Carbon/Carbon.h> to <CoreGraphics/CoreGraphics.h>Tor Lillqvist
Change-Id: Ib8ed1e4270b18de4761155f9aa7d536faaf7bd38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115581 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-05-12external: update pdfium to 4500Miklos Vajna
Change-Id: I38c85fb3e30ffd1f7fc0a11948fc01338f7bb205 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115444 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-05-06pdfium build fix with Android NDK 19Andras Timar
Change-Id: I618095efab0a7ed7babdabc36db6a473b1af78da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115161 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 01765acee6b4931b6c69252b8357f81fd26e33bd) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115090 Tested-by: Jenkins
2021-03-25external: update pdfium to 4450Miklos Vajna
Change-Id: I93b9a32a82098a7b45e899ef29349c48276aa724 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113067 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-03-16Do build Pdfium for iOS, tooTor Lillqvist
For it to compile, the inclusion of <Carbon/Carbon.h> had to be replaced with <CoreGraphics/CoreGraphics.h>. That doesn't harm the macOS build either. This fixes the crash in https://github.com/CollaboraOnline/online/issues/1710 . I am not entirely sure yet whether the actual PDF import functionality now then works in the iOS app, though. Change-Id: Ie25e7c58632c0fdddb569d58217f23b26d1e5937 Signed-off-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112571 Tested-by: Jenkins
2021-02-03don't build third_party/bigint for pdfiumRene Engelhard
since it's apparently not needed. builds fine even after removing it Change-Id: I5626c8f9920c3e33d91afd51610b815ffae4ed86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110131 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-01-13external: update pdfium to 4380Miklos Vajna
Allows dropping 5 upstreamed patches. Change-Id: I5f77502c5a2d11288b060956e69fd7767f52ab97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109195 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-12-22pdfium: replace 3 patches with backportsMiklos Vajna
So that vcl/ already uses the upstreamed API and the patches can be just dropped on the next pdfium upgrade. Change-Id: I58f6a4cca37677788d9a2e4e31c2e89d074ad5ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108140 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-12-17pdfium: backport GetTrailerEnds whitespace fixMiklos Vajna
Fixes the problem that sometimes a valid sig is detected as a partial one. Change-Id: I68107569bf8c331170902b1918a70ea4b9b659a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107856 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-12xmlsecurity: prepare to verify signatures using pdfiumMiklos Vajna
All the needed API is already in the version we bundle, except one. And also we'll need direct access to the underling pdfium document, for now. Change-Id: Ib5c87c95072401b1a6ca0151177d70b4bcd8c46d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105610 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-11-04external: update pdfium to 4306Miklos Vajna
Change-Id: Ic10cf99fa412f8f0b3475e82d0a1839a7f04bd08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105272 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-10-18pdfium: add reading of line points to the wrapperTomaž Vajngerl
Change-Id: I3e596254b2e4ecc9f56ff09eeb63b66195ea6a2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104376 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-15pdfium: add support for border property of PDF annotationsTomaž Vajngerl
This extends PDFium with readon of "Border" property from the PDF annotations and adds the API to PDFium wrapper. Border is mostly used for border (line) width and the radius of rounding of the border (for drawing a rounded rectangle for example). Change-Id: I03f189eee03155ec699b2f56ceed23e6839a3f03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104361 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-10-04pdfium: Support for InkStrokes and VerticesTomaž Vajngerl
This extends PDFium with getting InkStrokes and Vertices for annotations, which wasn't implemented before, and adds support to PDFium wrapper in LibreOffice. Change-Id: I570d53038a59ab830fcd5639583c75cf8adda86c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103885 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-09-21update pchesCaolán McNamara
Change-Id: I41a204fbc5e2c9b819fb948c5288f8d7b4195489 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103117 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-17pdfium: fix Windows Arm64 buildJan-Marek Glogowski
Change-Id: Ie8698bd51b897ba8d07c278cbbd9ad2d3caa4bb3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102856 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-09-16external: update pdfium to 4260Miklos Vajna
Change-Id: I1b6c7e9991b2e35921f7f849380d940c6662b174 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102787 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-09-09external/pdfium: Work around GCC C++20 recursive comparison issueStephan Bergmann
...that caused CppunitTest_xmlsecurity_pdfsigning to crash with recent GCC and --with-latest-c++ due to an infinite recursion at [...] > #260048 0x00007fe0dbf91a4f in fxcrt::operator==<CPDF_Array const, CPDF_Object>(CPDF_Object const*, fxcrt::RetainPtr<CPDF_Array const> const&) (lhs=0x2342870, rhs=...) at workdir/UnpackedTarball/pdfium/core/fxcrt/retain_ptr.h:140 > #260049 0x00007fe0dbf91a4f in fxcrt::operator==<CPDF_Array const, CPDF_Object>(CPDF_Object const*, fxcrt::RetainPtr<CPDF_Array const> const&) (lhs=0x2342870, rhs=...) at workdir/UnpackedTarball/pdfium/core/fxcrt/retain_ptr.h:140 > #260050 0x00007fe0dbf8e30d in (anonymous namespace)::CPDF_DeviceNCS::v_Load(CPDF_Document*, CPDF_Array const*, std::__debug::set<CPDF_Object const*, std::less<CPDF_Object const*>, std::allocator<CPDF_Object const*> >*) (this=0x1956e30, pDoc=0x172a770, pArray=0x2343320, pVisited=0x7ffcf2f2dd50) at workdir/UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_colorspace.cpp:1299 > #260051 0x00007fe0dbf8a73f in CPDF_ColorSpace::Load(CPDF_Document*, CPDF_Object const*, std::__debug::set<CPDF_Object const*, std::less<CPDF_Object const*>, std::allocator<CPDF_Object const*> >*) (pDoc=0x172a770, pObj=0x2343320, pVisited=0x7ffcf2f2dd50) at workdir/UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_colorspace.cpp:545 > #260052 0x00007fe0dbfa4c01 in CPDF_DocPageData::GetColorSpaceInternal(CPDF_Object const*, CPDF_Dictionary const*, std::__debug::set<CPDF_Object const*, std::less<CPDF_Object const*>, std::allocator<CPDF_Object const*> >*, std::__debug::set<CPDF_Object const*, std::less<CPDF_Object const*>, std::allocator<CPDF_Object const*> >*) (this=0x1737a70, pCSObj=0x2343320, pResources=0x0, pVisited=0x7ffcf2f2dd50, pVisitedInternal=0x7ffcf2f2dcc0) at workdir/UnpackedTarball/pdfium/core/fpdfapi/page/cpdf_docpagedata.cpp:317 [...] (See the linked GCC bug report for further details.) Change-Id: I8cc1ff0b6e5693b987e6c6c9b2efed7990d0869f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102330 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-22external: update pdfium to 4203Miklos Vajna
Change-Id: Ib712fa5494e5461ef59252a0e832d43eabccbee0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99157 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-05-13external: update pdfium to 4137Miklos Vajna
Change-Id: Ib7c12461e04fa97bf55ee967e8d6c9bcf92fdf4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94078 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-03-18external: update pdfium to 4083Miklos Vajna
Change-Id: Iab30effaae86a54852196d6e29d39118e0a2f70c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90667 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-02-01make update_pch also consider files in <module>/src/**/incLuboš Luňák
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 <l.lunak@collabora.com>
2020-01-23pdfium: don't patch out the COMPONENT_BUILD check, define itMiklos Vajna
So next time we update, no need to adapt a failing patch. Change-Id: I785f16047d1decbf922177fdde4bc6aad7cfebfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87215 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-01-18external/pdfium: C++20 comparison operator fixStephan Bergmann
Missing const leads to overload resolution ambiguity when a synthesized candidate of operator == for a reversed-argument rewrite conflicts with the actual operator ==, due to the asymmetric const-ness of the implicit object parameter and the RHS parameter: > In file included from workdir/UnpackedTarball/pdfium/core/fxge/cfx_font.cpp:7: > In file included from workdir/UnpackedTarball/pdfium/core/fxge/cfx_font.h:11: > llvm/inst/include/c++/v1/vector:1369:27: error: use of overloaded operator '!=' is ambiguous (with operand types 'std::__1::__vector_base<unsigned char, FxAllocAllocator<unsigned char> >::allocator_type' (aka 'FxAllocAllocator<unsigned char>') and 'std::__1::__vector_base<unsigned char, FxAllocAllocator<unsigned char> >::allocator_type') > if (__base::__alloc() != __c.__alloc()) > ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ > llvm/inst/include/c++/v1/vector:1359:5: note: in instantiation of member function 'std::__1::vector<unsigned char, FxAllocAllocator<unsigned char> >::__move_assign' requested here > __move_assign(__x, integral_constant<bool, > ^ > workdir/UnpackedTarball/pdfium/core/fxge/cfx_font.cpp:384:24: note: in instantiation of member function 'std::__1::vector<unsigned char, FxAllocAllocator<unsigned char> >::operator=' requested here > m_FontDataAllocation = std::vector<uint8_t, FxAllocAllocator<uint8_t>>( > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/fx_memory_wrappers.h:74:8: note: candidate function > bool operator!=(const FxAllocAllocator& that) { return false; } > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/fx_memory_wrappers.h:73:8: note: candidate function > bool operator==(const FxAllocAllocator& that) { return true; } > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/fx_memory_wrappers.h:73:8: note: candidate function (with reversed parameter order) Change-Id: I48cfc8ce37287d9d3c0dec8c4d8b14b53de895d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86993 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-15external: update pdfium to 4021Miklos Vajna
Change-Id: I1c3280e811bf65641bf559e3f01bc62e609548f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86811 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2019-11-13external: update pdfium to 3963Miklos Vajna
Also simplify visibility.patch.1. Change-Id: I8b4ed78b314a1a1f7d31467f782877f056429cc2 Reviewed-on: https://gerrit.libreoffice.org/82548 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-09-23do not require $(SRCDIR) in every gb_Library_set_precompiled_headerLuboš Luňák
Change-Id: I7b3a22584bb2e4d501f509ffcd80929feed23a4c Reviewed-on: https://gerrit.libreoffice.org/79360 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>