summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--download.lst4
-rw-r--r--external/pdfium/Library_pdfium.mk7
-rw-r--r--external/pdfium/README1
-rw-r--r--external/pdfium/UnpackedTarball_pdfium.mk3
-rw-r--r--external/pdfium/build.patch.171
-rw-r--r--external/pdfium/inc/pch/precompiled_pdfium.hxx3
-rw-r--r--vcl/source/pdf/PDFiumLibrary.cxx3
7 files changed, 19 insertions, 73 deletions
diff --git a/download.lst b/download.lst
index b00208e6344e..ac1d72e090d2 100644
--- a/download.lst
+++ b/download.lst
@@ -208,8 +208,8 @@ export ORCUS_SHA256SUM := 2ef9d2b5ee374c683cf631b78356b110510ab895788a68d778e225
export ORCUS_TARBALL := liborcus-0.17.0.tar.bz2
export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d
export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz
-export PDFIUM_SHA256SUM := eb98a77eaaab9e9e8de541cfd18b9438dd3c538bd5ef163820353179727f5dc9
-export PDFIUM_TARBALL := pdfium-4643.tar.bz2
+export PDFIUM_SHA256SUM := ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf
+export PDFIUM_TARBALL := pdfium-4699.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 8b55628fd30f..ee2917fbfd5d 100644
--- a/external/pdfium/Library_pdfium.mk
+++ b/external/pdfium/Library_pdfium.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_Library_set_include,pdfium,\
-I$(call gb_UnpackedTarball_get_dir,pdfium) \
-I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party \
-I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party/agg23 \
+ -I$(call gb_UnpackedTarball_get_dir,pdfium)/third_party/abseil-cpp \
$$(INCLUDE) \
))
@@ -72,6 +73,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/fpdfsdk/fpdf_save \
UnpackedTarball/pdfium/fpdfsdk/fpdf_text \
UnpackedTarball/pdfium/fpdfsdk/fpdf_view \
+ UnpackedTarball/pdfium/fpdfsdk/ipdfsdk_annothandler \
UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_pauseadapter \
UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_interactiveform \
UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_renderpage \
@@ -516,6 +518,11 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/third_party/agg23/agg_vcgen_stroke \
))
+# third_party/abseil-cpp
+$(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
+ UnpackedTarball/pdfium/third_party/abseil-cpp/absl/types/bad_optional_access \
+))
+
# third_party/fx_libopenjpeg
$(eval $(call gb_Library_add_generated_cobjects,pdfium,\
UnpackedTarball/pdfium/third_party/libopenjpeg20/bio \
diff --git a/external/pdfium/README b/external/pdfium/README
index 0a146d2e74de..fdcc91a0a45c 100644
--- a/external/pdfium/README
+++ b/external/pdfium/README
@@ -12,4 +12,5 @@ git checkout --track origin/chromium/$version
gclient sync
git archive --prefix=pdfium/ --format=tar origin/chromium/${version} > pdfium-${version}.tar
(cd ..; tar --append --file pdfium/pdfium-${version}.tar pdfium/third_party/freetype/src/include/ pdfium/third_party/freetype/src/src/)
+(cd ..; tar --append --file pdfium/pdfium-${version}.tar pdfium/third_party/abseil-cpp/absl/)
bzip2 pdfium-${version}.tar
diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk
index 4e7d5c1ad6b4..3a19feed8ea2 100644
--- a/external/pdfium/UnpackedTarball_pdfium.mk
+++ b/external/pdfium/UnpackedTarball_pdfium.mk
@@ -56,7 +56,8 @@ $(eval $(call gb_UnpackedTarball_set_post_action,pdfium,\
mv third_party/base/allocator/partition_allocator/random.cc third_party/base/allocator/partition_allocator/random.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 \
+ mv third_party/libopenjpeg20/opj_malloc.cc third_party/libopenjpeg20/opj_malloc.cpp && \
+ mv third_party/abseil-cpp/absl/types/bad_optional_access.cc third_party/abseil-cpp/absl/types/bad_optional_access.cpp \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index fce8874af8bd..ec29803246ed 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -38,80 +38,15 @@ index 0fb627ba8..dda1fc8bc 100644
template <
typename Container,
diff --git a/core/fxcodec/jpx/cjpx_decoder.cpp b/core/fxcodec/jpx/cjpx_decoder.cpp
-index c66985a7f..817f81dfa 100644
+index d8875786c..bc019ebe1 100644
--- a/core/fxcodec/jpx/cjpx_decoder.cpp
+++ b/core/fxcodec/jpx/cjpx_decoder.cpp
-@@ -71,7 +71,7 @@ Optional<OpjImageRgbData> alloc_rgb(size_t size) {
+@@ -73,7 +73,7 @@ absl::optional<OpjImageRgbData> alloc_rgb(size_t size) {
if (!data.b)
- return pdfium::nullopt;
+ return absl::nullopt;
- return data;
+ return std::move(data);
}
void sycc_to_rgb(int offset,
-diff --git a/core/fdrm/fx_crypt_aes.cpp b/core/fdrm/fx_crypt_aes.cpp
-index f2170220b..ede18f581 100644
---- a/core/fdrm/fx_crypt_aes.cpp
-+++ b/core/fdrm/fx_crypt_aes.cpp
-@@ -437,7 +437,7 @@ const unsigned int D3[256] = {
- (block[0] ^= *keysched++, block[1] ^= *keysched++, block[2] ^= *keysched++, \
- block[3] ^= *keysched++)
- #define MOVEWORD(i) (block[i] = newstate[i])
--#define MAKEWORD(i) \
-+#define FMAKEWORD(i) \
- (newstate[i] = (E0[(block[i] >> 24) & 0xFF] ^ \
- E1[(block[(i + C1) % Nb] >> 16) & 0xFF] ^ \
- E2[(block[(i + C2) % Nb] >> 8) & 0xFF] ^ \
-@@ -458,10 +458,10 @@ void aes_encrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) {
- unsigned int newstate[4];
- for (i = 0; i < ctx->Nr - 1; i++) {
- ADD_ROUND_KEY_4();
-- MAKEWORD(0);
-- MAKEWORD(1);
-- MAKEWORD(2);
-- MAKEWORD(3);
-+ FMAKEWORD(0);
-+ FMAKEWORD(1);
-+ FMAKEWORD(2);
-+ FMAKEWORD(3);
- MOVEWORD(0);
- MOVEWORD(1);
- MOVEWORD(2);
-@@ -478,10 +478,10 @@ void aes_encrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) {
- MOVEWORD(3);
- ADD_ROUND_KEY_4();
- }
--#undef MAKEWORD
-+#undef FMAKEWORD
- #undef LASTWORD
-
--#define MAKEWORD(i) \
-+#define FMAKEWORD(i) \
- (newstate[i] = (D0[(block[i] >> 24) & 0xFF] ^ \
- D1[(block[(i + C1) % Nb] >> 16) & 0xFF] ^ \
- D2[(block[(i + C2) % Nb] >> 8) & 0xFF] ^ \
-@@ -502,10 +502,10 @@ void aes_decrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) {
- unsigned int newstate[4];
- for (i = 0; i < ctx->Nr - 1; i++) {
- ADD_ROUND_KEY_4();
-- MAKEWORD(0);
-- MAKEWORD(1);
-- MAKEWORD(2);
-- MAKEWORD(3);
-+ FMAKEWORD(0);
-+ FMAKEWORD(1);
-+ FMAKEWORD(2);
-+ FMAKEWORD(3);
- MOVEWORD(0);
- MOVEWORD(1);
- MOVEWORD(2);
-@@ -522,7 +522,7 @@ void aes_decrypt_nb_4(CRYPT_aes_context* ctx, unsigned int* block) {
- MOVEWORD(3);
- ADD_ROUND_KEY_4();
- }
--#undef MAKEWORD
-+#undef FMAKEWORD
- #undef LASTWORD
-
- void aes_setup(CRYPT_aes_context* ctx, const unsigned char* key, int keylen) {
diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx
index 83e1ff915b2f..1296e6634653 100644
--- a/external/pdfium/inc/pch/precompiled_pdfium.hxx
+++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx
@@ -66,6 +66,7 @@
#if PCH_LEVEL >= 2
#endif // PCH_LEVEL >= 2
#if PCH_LEVEL >= 3
+#include <absl/types/bad_optional_access.h>
#include <build/build_config.h>
#include <constants/access_permissions.h>
#include <constants/annotation_common.h>
@@ -450,6 +451,7 @@
#include <public/fpdf_text.h>
#include <public/fpdf_transformpage.h>
#include <public/fpdfview.h>
+#include <third_party/abseil-cpp/absl/types/optional.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>
@@ -487,7 +489,6 @@
#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>
#include <third_party/base/ptr_util.h>
#include <third_party/base/span.h>
#include <third_party/skia_shared/SkFloatToDecimal.h>
diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx
index 3766330b9481..e6abb40ccb89 100644
--- a/vcl/source/pdf/PDFiumLibrary.cxx
+++ b/vcl/source/pdf/PDFiumLibrary.cxx
@@ -816,7 +816,8 @@ OUString PDFiumPageObjectImpl::getFontName()
OUString sFontName;
const int nFontName = 80 + 1;
std::unique_ptr<char[]> pFontName(new char[nFontName]); // + terminating null
- int nFontNameChars = FPDFTextObj_GetFontName(mpPageObject, pFontName.get(), nFontName);
+ FPDF_FONT pFontObject = FPDFTextObj_GetFont(mpPageObject);
+ int nFontNameChars = FPDFFont_GetFontName(pFontObject, pFontName.get(), nFontName);
if (nFontName >= nFontNameChars)
{
sFontName = OUString::createFromAscii(pFontName.get());