summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--download.lst4
-rw-r--r--external/pdfium/Library_pdfium.mk11
-rw-r--r--external/pdfium/UnpackedTarball_pdfium.mk5
-rw-r--r--external/pdfium/abseil-trivial.patch6
-rw-r--r--external/pdfium/build.patch.110
-rw-r--r--external/pdfium/c++20-comparison.patch2
-rw-r--r--external/pdfium/inc/pch/precompiled_pdfium.hxx13
-rw-r--r--external/pdfium/pdfium_arm64.patch.132
8 files changed, 30 insertions, 53 deletions
diff --git a/download.lst b/download.lst
index aa8550fbd2ff..1bb6fb4b80bd 100644
--- a/download.lst
+++ b/download.lst
@@ -202,8 +202,8 @@ export ORCUS_SHA256SUM := 2a86c405a5929f749b27637509596421d46805753364ab258b035f
export ORCUS_TARBALL := liborcus-0.17.2.tar.bz2
export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d
export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz
-export PDFIUM_SHA256SUM := 04e0e3f90589250c1fa97cec543af6f5e6c8c2daa377d614ec1f04b061b86651
-export PDFIUM_TARBALL := pdfium-5187.tar.bz2
+export PDFIUM_SHA256SUM := ecb9c2a0d777196949994946e3f24ed251ae5d3db8a9fa1e2827ef857151db13
+export PDFIUM_TARBALL := pdfium-5298.tar.bz2
export PIXMAN_SHA256SUM := 6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc
export PIXMAN_TARBALL := pixman-0.40.0.tar.gz
export LIBPNG_SHA256SUM := 505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca
diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk
index 9ae166889b2c..c00a5f8f89e3 100644
--- a/external/pdfium/Library_pdfium.mk
+++ b/external/pdfium/Library_pdfium.mk
@@ -244,7 +244,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
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 \
UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_imageloader \
UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_imagerenderer \
UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_pagerendercache \
@@ -413,10 +412,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssoutputtextbuf \
UnpackedTarball/pdfium/core/fxcrt/cfx_datetime \
UnpackedTarball/pdfium/core/fxcrt/bytestring \
- UnpackedTarball/pdfium/core/fxcrt/cfx_binarybuf \
UnpackedTarball/pdfium/core/fxcrt/cfx_bitstream \
UnpackedTarball/pdfium/core/fxcrt/cfx_utf8decoder \
- UnpackedTarball/pdfium/core/fxcrt/cfx_widetextbuf \
UnpackedTarball/pdfium/core/fxcrt/fx_random \
UnpackedTarball/pdfium/core/fxcrt/fx_string \
UnpackedTarball/pdfium/core/fxcrt/widestring \
@@ -424,9 +421,14 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/core/fxcrt/fx_codepage \
UnpackedTarball/pdfium/core/fxcrt/fx_number \
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 \
+ UnpackedTarball/pdfium/core/fxcrt/binary_buffer \
+ UnpackedTarball/pdfium/core/fxcrt/cfx_read_only_span_stream \
+ UnpackedTarball/pdfium/core/fxcrt/cfx_read_only_string_stream \
+ UnpackedTarball/pdfium/core/fxcrt/cfx_read_only_vector_stream \
+ UnpackedTarball/pdfium/core/fxcrt/fx_memory_malloc \
+ UnpackedTarball/pdfium/core/fxcrt/widetext_buffer \
))
# fxge
@@ -527,6 +529,7 @@ ifneq ($(SYSTEM_ABSEIL),TRUE)
# third_party/abseil-cpp
$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/third_party/abseil-cpp/absl/types/bad_optional_access \
+ UnpackedTarball/pdfium/third_party/abseil-cpp/absl/types/bad_variant_access \
))
endif
diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk
index e3b88adb5ab4..c1791ed8e823 100644
--- a/external/pdfium/UnpackedTarball_pdfium.mk
+++ b/external/pdfium/UnpackedTarball_pdfium.mk
@@ -14,8 +14,6 @@ pdfium_patches += build.patch.1
# Avoids Windows 8 build dependency.
pdfium_patches += windows7.patch.1
pdfium_patches += c++20-comparison.patch
-# __popcnt not available on arm64
-pdfium_patches += pdfium_arm64.patch.1
# Use CoreGraphics.h instead of Carbon.h
pdfium_patches += cg-instead-of-carbon.patch.1
# Android NDK 19 - that is known to work well - does not have 2 defines
@@ -59,7 +57,8 @@ $(eval $(call gb_UnpackedTarball_set_post_action,pdfium,\
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/libopenjpeg/opj_malloc.cc third_party/libopenjpeg/opj_malloc.cpp && \
- mv third_party/abseil-cpp/absl/types/bad_optional_access.cc third_party/abseil-cpp/absl/types/bad_optional_access.cpp \
+ mv third_party/abseil-cpp/absl/types/bad_optional_access.cc third_party/abseil-cpp/absl/types/bad_optional_access.cpp && \
+ mv third_party/abseil-cpp/absl/types/bad_variant_access.cc third_party/abseil-cpp/absl/types/bad_variant_access.cpp \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/pdfium/abseil-trivial.patch b/external/pdfium/abseil-trivial.patch
index f3e929a5843a..fa91fa6bbba9 100644
--- a/external/pdfium/abseil-trivial.patch
+++ b/external/pdfium/abseil-trivial.patch
@@ -1,13 +1,17 @@
--- third_party/abseil-cpp/absl/meta/type_traits.h
+++ third_party/abseil-cpp/absl/meta/type_traits.h
-@@ -489,23 +489,7 @@
+@@ -501,27 +501,7 @@ struct is_trivially_move_assignable
// operation that is not trivial. `is_trivially_copy_assignable<T>` is simply
// `is_trivially_assignable<T&, const T&>`.
template <typename T>
-struct is_trivially_copy_assignable
+-#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE
+- : std::is_trivially_copy_assignable<T> {
+-#else
- : std::integral_constant<
- bool, __has_trivial_assign(typename std::remove_reference<T>::type) &&
- absl::is_copy_assignable<T>::value> {
+-#endif
-#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE
- private:
- static constexpr bool compliant =
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index 7e783a07fdb1..35073e2c94d3 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -13,18 +13,18 @@ index 323de4ffc..f11a0b0ad 100644
std::vector<UnsupportedFeature> unsupported;
CheckForSharedFormInternal(doc->GetRoot(), &unsupported);
diff --git a/third_party/base/span.h b/third_party/base/span.h
-index 0fb627ba8..f71c362e2 100644
+index ec9f9903f..1c17ad091 100644
--- a/third_party/base/span.h
+++ b/third_party/base/span.h
-@@ -214,7 +214,7 @@ class span {
+@@ -208,7 +208,7 @@ class span {
// Conversions from spans of compatible types: this allows a span<T> to be
// seamlessly used as a span<const T>, but not the other way around.
template <typename U, typename = internal::EnableIfLegalSpanConversion<U, T>>
- constexpr span(const span<U>& other) : span(other.data(), other.size()) {}
+ span(const span<U>& other) : span(other.data(), other.size()) {}
- span& operator=(const span& other) noexcept = default;
- ~span() noexcept {
- if (!size_) {
+ span& operator=(const span& other) noexcept {
+ if (this != &other) {
+ ReleaseEmptySpan();
diff --git a/third_party/base/span.h b/third_party/base/span.h
index 0fb627ba8..dda1fc8bc 100644
--- a/third_party/base/span.h
diff --git a/external/pdfium/c++20-comparison.patch b/external/pdfium/c++20-comparison.patch
index 638497f6aee4..d26fe66ad8b7 100644
--- a/external/pdfium/c++20-comparison.patch
+++ b/external/pdfium/c++20-comparison.patch
@@ -10,4 +10,4 @@
+ bool operator!=(const FxPartitionAllocAllocator& that) const { return false; }
};
- // Used to put backing store for std::vector<> and such
+ // Used to put backing store for std::vector<> and such into the
diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx
index eaa6090cf6c6..21bc61f05fb3 100644
--- a/external/pdfium/inc/pch/precompiled_pdfium.hxx
+++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx
@@ -54,6 +54,7 @@
#include <stack>
#include <stdarg.h>
#include <stddef.h>
+#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <string>
@@ -188,7 +189,6 @@
#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>
#include <core/fpdfapi/render/cpdf_imageloader.h>
#include <core/fpdfapi/render/cpdf_imagerenderer.h>
#include <core/fpdfapi/render/cpdf_pagerendercache.h>
@@ -274,18 +274,18 @@
#include <core/fxcodec/scanlinedecoder.h>
#include <core/fxcrt/autonuller.h>
#include <core/fxcrt/autorestorer.h>
+#include <core/fxcrt/binary_buffer.h>
#include <core/fxcrt/bytestring.h>
-#include <core/fxcrt/cfx_binarybuf.h>
#include <core/fxcrt/cfx_bitstream.h>
#include <core/fxcrt/cfx_datetime.h>
-#include <core/fxcrt/cfx_fixedbufgrow.h>
#include <core/fxcrt/cfx_memorystream.h>
-#include <core/fxcrt/cfx_readonlymemorystream.h>
+#include <core/fxcrt/cfx_read_only_span_stream.h>
+#include <core/fxcrt/cfx_read_only_string_stream.h>
+#include <core/fxcrt/cfx_read_only_vector_stream.h>
#include <core/fxcrt/cfx_seekablestreamproxy.h>
#include <core/fxcrt/cfx_timer.h>
#include <core/fxcrt/cfx_utf8decoder.h>
#include <core/fxcrt/cfx_utf8encoder.h>
-#include <core/fxcrt/cfx_widetextbuf.h>
#include <core/fxcrt/css/cfx_css.h>
#include <core/fxcrt/css/cfx_csscolorvalue.h>
#include <core/fxcrt/css/cfx_csscomputedstyle.h>
@@ -307,6 +307,7 @@
#include <core/fxcrt/css/cfx_cssvalue.h>
#include <core/fxcrt/css/cfx_cssvaluelist.h>
#include <core/fxcrt/css/cfx_cssvaluelistparser.h>
+#include <core/fxcrt/data_vector.h>
#include <core/fxcrt/fileaccess_iface.h>
#include <core/fxcrt/fx_bidi.h>
#include <core/fxcrt/fx_codepage.h>
@@ -328,12 +329,14 @@
#include <core/fxcrt/pauseindicator_iface.h>
#include <core/fxcrt/retain_ptr.h>
#include <core/fxcrt/scoped_set_insertion.h>
+#include <core/fxcrt/small_buffer.h>
#include <core/fxcrt/span_util.h>
#include <core/fxcrt/stl_util.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>
+#include <core/fxcrt/widetext_buffer.h>
#include <core/fxcrt/xml/cfx_xmlchardata.h>
#include <core/fxcrt/xml/cfx_xmldocument.h>
#include <core/fxcrt/xml/cfx_xmlelement.h>
diff --git a/external/pdfium/pdfium_arm64.patch.1 b/external/pdfium/pdfium_arm64.patch.1
deleted file mode 100644
index 14b6e94d8950..000000000000
--- a/external/pdfium/pdfium_arm64.patch.1
+++ /dev/null
@@ -1,32 +0,0 @@
-From 51115e5055ff32bfb4447ad15f68f536480429df Mon Sep 17 00:00:00 2001
-From: Miklos Vajna <miklos.vajna@collabora.com>
-Subject: [PATCH] libopenjpeg: fix Windows arm64 build
-
-Windows 64bit arm has no __popcnt(), see
-<https://docs.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics>.
-Falling back to the generic code seems to be good enough for our
-purposes.
-
-Change-Id: I61510569793a3df24734c58ffaa3ffc0c2451477
-Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/96010
-Reviewed-by: Lei Zhang <thestig@chromium.org>
-Commit-Queue: Lei Zhang <thestig@chromium.org>
----
- third_party/libopenjpeg/ht_dec.c | 2 +-
-
-diff --git a/third_party/libopenjpeg/ht_dec.c b/third_party/libopenjpeg/ht_dec.c
-index 1eb4d525f..e2f3afd6a 100644
---- a/third_party/libopenjpeg/ht_dec.c
-+++ b/third_party/libopenjpeg/ht_dec.c
-@@ -69,7 +69,7 @@ static OPJ_BOOL only_cleanup_pass_is_decoded = OPJ_FALSE;
- static INLINE
- OPJ_UINT32 population_count(OPJ_UINT32 val)
- {
--#ifdef OPJ_COMPILER_MSVC
-+#if defined(OPJ_COMPILER_MSVC) && (defined(_M_IX86) || defined(_M_AMD64))
- return (OPJ_UINT32)__popcnt(val);
- #elif (defined OPJ_COMPILER_GNUC)
- return (OPJ_UINT32)__builtin_popcount(val);
---
-2.35.3
-