summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2018-07-17 21:23:40 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-07-18 09:13:06 +0200
commit1445d84cdc906fabf6cc7a59f3c94b4049477701 (patch)
tree14f90c00402a463990140c41754a75600609e349
parentdc0300eac3b755bc207cd1fe87217f4ebaeb9f58 (diff)
pdfium: update to 3471
Allows dropping 4 API patches + the one that allows building against system ICU. Change-Id: Ib5c63ba7daf51b320c07b24486f7398bf71bcfbf Reviewed-on: https://gerrit.libreoffice.org/57588 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--download.lst4
-rw-r--r--external/pdfium/0001-Add-FPDFText_GetMatrix-API.patch.1109
-rw-r--r--external/pdfium/0002-svx-more-accurate-PDF-text-importing.patch.28
-rw-r--r--external/pdfium/0005-svx-support-Paths-in-PDFs-while-importing.patch.162
-rw-r--r--external/pdfium/0006-Add-FPDFPath_GetDrawMode-API.patch.194
-rw-r--r--external/pdfium/0006-Add-FPDFPath_GetMatrix-and-FPDFPath_SetMatrix-APIs.patch.1143
-rw-r--r--external/pdfium/Library_pdfium.mk4
-rw-r--r--external/pdfium/UnpackedTarball_pdfium.mk9
-rw-r--r--external/pdfium/build.patch.153
-rw-r--r--external/pdfium/icu.patch.113
10 files changed, 48 insertions, 451 deletions
diff --git a/download.lst b/download.lst
index 0d4e974ed105..9b1f4324408a 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 := 80331b48166501a192d65476932f17044eeb5f10faa6ea50f4f175169475c957
-export PDFIUM_TARBALL := pdfium-3426.tar.bz2
+export PDFIUM_SHA256SUM := 4acbc905fee1743e96169ca155347a81fb2b0f381281109c1860aa4408ec6c4f
+export PDFIUM_TARBALL := pdfium-3471.tar.bz2
export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e
export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
export LIBPNG_SHA256SUM := 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6
diff --git a/external/pdfium/0001-Add-FPDFText_GetMatrix-API.patch.1 b/external/pdfium/0001-Add-FPDFText_GetMatrix-API.patch.1
deleted file mode 100644
index 40b19a235254..000000000000
--- a/external/pdfium/0001-Add-FPDFText_GetMatrix-API.patch.1
+++ /dev/null
@@ -1,109 +0,0 @@
-From 21ef03b50ef64d25a05d7ac047c0e382237c9b15 Mon Sep 17 00:00:00 2001
-From: Miklos Vajna <vmiklos@collabora.co.uk>
-Date: Tue, 19 Jun 2018 15:45:42 +0000
-Subject: [PATCH] Add FPDFText_GetMatrix() API
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is similar to FPDFPath_GetMatrix(), but works on text, not path
-objects.
-
-Change-Id: If268362b7fa4398124b953e0e2225074523f5f65
-Reviewed-on: https://pdfium-review.googlesource.com/35434
-Reviewed-by: dsinclair <dsinclair@chromium.org>
-Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
-Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
----
- fpdfsdk/fpdf_edit_embeddertest.cpp | 17 +++++++++++++++++
- fpdfsdk/fpdf_edittext.cpp | 30 ++++++++++++++++++++++++++++++
- public/fpdf_edit.h | 25 +++++++++++++++++++++++++
- 3 files changed, 72 insertions(+)
-
-diff --git a/fpdfsdk/fpdf_edittext.cpp b/fpdfsdk/fpdf_edittext.cpp
-index 2996a505e..c38873faa 100644
---- a/fpdfsdk/fpdf_edittext.cpp
-+++ b/fpdfsdk/fpdf_edittext.cpp
-@@ -398,6 +398,11 @@ CPDF_Font* LoadCompositeFont(CPDF_Document* pDoc,
- return pDoc->LoadFont(fontDict);
- }
-
-+CPDF_TextObject* CPDFTextObjectFromFPDFPageObject(FPDF_PAGEOBJECT page_object) {
-+ auto* obj = CPDFPageObjectFromFPDFPageObject(page_object);
-+ return obj ? obj->AsText() : nullptr;
-+}
-+
- } // namespace
-
- FPDF_EXPORT FPDF_PAGEOBJECT FPDF_CALLCONV
-@@ -475,6 +480,31 @@ FPDFText_SetFillColor(FPDF_PAGEOBJECT text_object,
- return FPDFPageObj_SetFillColor(text_object, R, G, B, A);
- }
-
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_GetMatrix(FPDF_PAGEOBJECT text,
-+ double* a,
-+ double* b,
-+ double* c,
-+ double* d,
-+ double* e,
-+ double* f) {
-+ if (!text || !a || !b || !c || !d || !e || !f)
-+ return false;
-+
-+ CPDF_TextObject* pTextObj = CPDFTextObjectFromFPDFPageObject(text);
-+ if (!pTextObj)
-+ return false;
-+
-+ CFX_Matrix text_matrix = pTextObj->GetTextMatrix();
-+ *a = text_matrix.a;
-+ *b = text_matrix.b;
-+ *c = text_matrix.c;
-+ *d = text_matrix.d;
-+ *e = text_matrix.e;
-+ *f = text_matrix.f;
-+
-+ return true;
-+}
-+
- FPDF_EXPORT void FPDF_CALLCONV FPDFFont_Close(FPDF_FONT font) {
- CPDF_Font* pFont = CPDFFontFromFPDFFont(font);
- if (!pFont)
-diff --git a/public/fpdf_edit.h b/public/fpdf_edit.h
-index c0766a33b..5a2eeb449 100644
---- a/public/fpdf_edit.h
-+++ b/public/fpdf_edit.h
-@@ -954,6 +954,31 @@ FPDFText_SetFillColor(FPDF_PAGEOBJECT text_object,
- unsigned int B,
- unsigned int A);
-
-+// Experimental API.
-+// Get the transform matrix of a text object.
-+//
-+// text - handle to a text.
-+// a - matrix value.
-+// b - matrix value.
-+// c - matrix value.
-+// d - matrix value.
-+// e - matrix value.
-+// f - matrix value.
-+//
-+// The matrix is composed as:
-+// |a c e|
-+// |b d f|
-+// and used to scale, rotate, shear and translate the text.
-+//
-+// Returns TRUE on success.
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_GetMatrix(FPDF_PAGEOBJECT text,
-+ double* a,
-+ double* b,
-+ double* c,
-+ double* d,
-+ double* e,
-+ double* f);
-+
- // Close a loaded PDF font.
- //
- // font - Handle to the loaded font.
---
-2.16.4
-
diff --git a/external/pdfium/0002-svx-more-accurate-PDF-text-importing.patch.2 b/external/pdfium/0002-svx-more-accurate-PDF-text-importing.patch.2
index dfbc092ee018..ef6649b5f4cb 100644
--- a/external/pdfium/0002-svx-more-accurate-PDF-text-importing.patch.2
+++ b/external/pdfium/0002-svx-more-accurate-PDF-text-importing.patch.2
@@ -12,15 +12,15 @@ diff --git a/pdfium/fpdfsdk/fpdf_editpage.cpp b/pdfium/fpdfsdk/fpdf_editpage.cpp
index 912df63..3244943 100644
--- a/pdfium/fpdfsdk/fpdf_editpage.cpp
+++ b/pdfium/fpdfsdk/fpdf_editpage.cpp
-@@ -12,6 +12,7 @@
- #include <vector>
+@@ -13,6 +13,7 @@
+ #include "constants/page_object.h"
#include "core/fpdfapi/edit/cpdf_pagecontentgenerator.h"
+#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fpdfapi/page/cpdf_form.h"
#include "core/fpdfapi/page/cpdf_formobject.h"
#include "core/fpdfapi/page/cpdf_imageobject.h"
-@@ -436,6 +437,26 @@ FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
+@@ -440,6 +441,26 @@ FPDFPageObj_Transform(FPDF_PAGEOBJECT page_object,
pPageObj->Transform(matrix);
}
@@ -50,7 +50,7 @@ index 912df63..3244943 100644
diff --git a/pdfium/public/fpdf_edit.h b/pdfium/public/fpdf_edit.h
--- a/pdfium/public/fpdf_edit.h
+++ b/pdfium/public/fpdf_edit.h
-@@ -996,6 +996,26 @@ FPDFPageObj_CreateTextObj(FPDF_DOCUMENT document,
+@@ -1107,6 +1107,26 @@ FPDFPageObj_CreateTextObj(FPDF_DOCUMENT document,
FPDF_FONT font,
float font_size);
diff --git a/external/pdfium/0005-svx-support-Paths-in-PDFs-while-importing.patch.1 b/external/pdfium/0005-svx-support-Paths-in-PDFs-while-importing.patch.1
deleted file mode 100644
index 792e3461b446..000000000000
--- a/external/pdfium/0005-svx-support-Paths-in-PDFs-while-importing.patch.1
+++ /dev/null
@@ -1,62 +0,0 @@
-From f912b5deb5e0db286d6d203b73c189d67cf7534f Mon Sep 17 00:00:00 2001
-From: Miklos Vajna <vmiklos@collabora.co.uk>
-Date: Tue, 22 May 2018 14:27:29 +0000
-Subject: [PATCH] Add FPDFPageObj_GetStrokeWidth() API
-
-It was already possible to set the stroke width of a page object, this
-is the other direction.
-
-Change-Id: I5c4681b232768fc928bc7a169f223877284d4812
-Reviewed-on: https://pdfium-review.googlesource.com/32770
-Reviewed-by: dsinclair <dsinclair@chromium.org>
-Commit-Queue: dsinclair <dsinclair@chromium.org>
----
- fpdfsdk/fpdf_editpage.cpp | 10 ++++++++++
- public/fpdf_edit.h | 10 ++++++++++
- 2 files changed, 20 insertions(+)
-
-diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp
-index 1a98f3d7c..83703c3e0 100644
---- a/fpdfsdk/fpdf_editpage.cpp
-+++ b/fpdfsdk/fpdf_editpage.cpp
-@@ -593,6 +593,16 @@ FPDFPageObj_SetStrokeWidth(FPDF_PAGEOBJECT page_object, float width) {
- return true;
- }
-
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
-+FPDFPageObj_GetStrokeWidth(FPDF_PAGEOBJECT page_object, float* width) {
-+ auto* pPageObj = CPDFPageObjectFromFPDFPageObject(page_object);
-+ if (!pPageObj || !width)
-+ return false;
-+
-+ *width = pPageObj->m_GraphState.GetLineWidth();
-+ return true;
-+}
-+
- FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
- FPDFPageObj_SetLineJoin(FPDF_PAGEOBJECT page_object, int line_join) {
- if (!page_object)
-diff --git a/public/fpdf_edit.h b/public/fpdf_edit.h
-index fa9902ee9..49018df05 100644
---- a/public/fpdf_edit.h
-+++ b/public/fpdf_edit.h
-@@ -678,6 +678,16 @@ FPDFPath_SetStrokeWidth(FPDF_PAGEOBJECT path, float width);
- FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
- FPDFPageObj_SetStrokeWidth(FPDF_PAGEOBJECT page_object, float width);
-
-+// Experimental API.
-+// Get the stroke width of a page object.
-+//
-+// path - the handle to the page object.
-+// width - the width of the stroke.
-+//
-+// Returns TRUE on success
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV
-+FPDFPageObj_GetStrokeWidth(FPDF_PAGEOBJECT page_object, float* width);
-+
- // Set the line join of |page_object|.
- //
- // page_object - handle to a page object.
---
-2.16.4
-
diff --git a/external/pdfium/0006-Add-FPDFPath_GetDrawMode-API.patch.1 b/external/pdfium/0006-Add-FPDFPath_GetDrawMode-API.patch.1
deleted file mode 100644
index b9c9326c5f07..000000000000
--- a/external/pdfium/0006-Add-FPDFPath_GetDrawMode-API.patch.1
+++ /dev/null
@@ -1,94 +0,0 @@
-From 3285732ee73e97feb3fed4da6abc41b1c705ed30 Mon Sep 17 00:00:00 2001
-Date: Wed, 30 May 2018 13:30:10 +0000
-Subject: [PATCH] Add FPDFPath_GetDrawMode() API
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It was already possible to set the draw mode of a path object, this is
-the other direction.
-
-Change-Id: Id0ee98dd8dfe433edd0e4715fc009ad4d1625981
-Reviewed-on: https://pdfium-review.googlesource.com/33010
-Reviewed-by: dsinclair <dsinclair@chromium.org>
-Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
-Commit-Queue: dsinclair <dsinclair@chromium.org>
----
- fpdfsdk/fpdf_edit_embeddertest.cpp | 7 +++++++
- fpdfsdk/fpdf_editpath.cpp | 18 ++++++++++++++++++
- public/fpdf_edit.h | 16 ++++++++++++++--
- 3 files changed, 39 insertions(+), 2 deletions(-)
-
-diff --git a/fpdfsdk/fpdf_editpath.cpp b/fpdfsdk/fpdf_editpath.cpp
-index aca2bebf8..558a8e3de 100644
---- a/fpdfsdk/fpdf_editpath.cpp
-+++ b/fpdfsdk/fpdf_editpath.cpp
-@@ -235,6 +235,24 @@ FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path,
- return true;
- }
-
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path,
-+ int* fillmode,
-+ FPDF_BOOL* stroke) {
-+ auto* pPathObj = CPDFPathObjectFromFPDFPageObject(path);
-+ if (!pPathObj || !fillmode || !stroke)
-+ return false;
-+
-+ if (pPathObj->m_FillType == FXFILL_ALTERNATE)
-+ *fillmode = FPDF_FILLMODE_ALTERNATE;
-+ else if (pPathObj->m_FillType == FXFILL_WINDING)
-+ *fillmode = FPDF_FILLMODE_WINDING;
-+ else
-+ *fillmode = FPDF_FILLMODE_NONE;
-+
-+ *stroke = pPathObj->m_bStroke;
-+ return true;
-+}
-+
- FPDF_EXPORT void FPDF_CALLCONV FPDFPath_SetLineJoin(FPDF_PAGEOBJECT path,
- int line_join) {
- if (!path)
-diff --git a/public/fpdf_edit.h b/public/fpdf_edit.h
-index 49018df05..2faa9ecba 100644
---- a/public/fpdf_edit.h
-+++ b/public/fpdf_edit.h
-@@ -48,6 +48,7 @@
- #define FPDF_SEGMENT_BEZIERTO 1
- #define FPDF_SEGMENT_MOVETO 2
-
-+#define FPDF_FILLMODE_NONE 0
- #define FPDF_FILLMODE_ALTERNATE 1
- #define FPDF_FILLMODE_WINDING 2
-
-@@ -899,8 +900,7 @@ FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_Close(FPDF_PAGEOBJECT path);
- // Set the drawing mode of a path.
- //
- // path - the handle to the path object.
--// fillmode - the filling mode to be set: 0 for no fill, 1 for alternate, 2 for
--// winding.
-+// fillmode - the filling mode to be set: one of the FPDF_FILLMODE_* flags.
- // stroke - a boolean specifying if the path should be stroked or not.
- //
- // Returns TRUE on success
-@@ -908,6 +908,18 @@ FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path,
- int fillmode,
- FPDF_BOOL stroke);
-
-+// Experimental API.
-+// Get the drawing mode of a path.
-+//
-+// path - the handle to the path object.
-+// fillmode - the filling mode of the path: one of the FPDF_FILLMODE_* flags.
-+// stroke - a boolean specifying if the path is stroked or not.
-+//
-+// Returns TRUE on success
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path,
-+ int* fillmode,
-+ FPDF_BOOL* stroke);
-+
- // Create a new text object using one of the standard PDF fonts.
- //
- // document - handle to the document.
---
-2.16.4
-
diff --git a/external/pdfium/0006-Add-FPDFPath_GetMatrix-and-FPDFPath_SetMatrix-APIs.patch.1 b/external/pdfium/0006-Add-FPDFPath_GetMatrix-and-FPDFPath_SetMatrix-APIs.patch.1
deleted file mode 100644
index 655d040f6888..000000000000
--- a/external/pdfium/0006-Add-FPDFPath_GetMatrix-and-FPDFPath_SetMatrix-APIs.patch.1
+++ /dev/null
@@ -1,143 +0,0 @@
-From 97f4d67fbf0707feea298afa2f6471013185e066 Mon Sep 17 00:00:00 2001
-Date: Mon, 4 Jun 2018 14:47:17 +0000
-Subject: [PATCH] Add FPDFPath_GetMatrix() and FPDFPath_SetMatrix() APIs
-
-This is similar to the existing FPDFImageObj_SetMatrix(), but this
-exposes the matrix of CPDF_PathObject and provides both a getter and a
-setter.
-
-Change-Id: Ib90a64929dae1b2be3889eca57e4af822d7823be
-Reviewed-on: https://pdfium-review.googlesource.com/33670
-Reviewed-by: dsinclair <dsinclair@chromium.org>
-Commit-Queue: dsinclair <dsinclair@chromium.org>
----
- fpdfsdk/fpdf_edit_embeddertest.cpp | 30 +++++++++++++++++++++++
- fpdfsdk/fpdf_editpath.cpp | 49 +++++++++++++++++++++++++++++++++++++
- fpdfsdk/fpdf_view_c_api_test.c | 2 ++
- public/fpdf_edit.h | 50 ++++++++++++++++++++++++++++++++++++++
- 4 files changed, 131 insertions(+)
-
-diff --git a/fpdfsdk/fpdf_editpath.cpp b/fpdfsdk/fpdf_editpath.cpp
-index 558a8e3de..368c37416 100644
---- a/fpdfsdk/fpdf_editpath.cpp
-+++ b/fpdfsdk/fpdf_editpath.cpp
-@@ -253,6 +253,55 @@ FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path,
- return true;
- }
-
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetMatrix(FPDF_PAGEOBJECT path,
-+ double* a,
-+ double* b,
-+ double* c,
-+ double* d,
-+ double* e,
-+ double* f) {
-+ if (!path || !a || !b || !c || !d || !e || !f)
-+ return false;
-+
-+ CPDF_PathObject* pPathObj = CPDFPathObjectFromFPDFPageObject(path);
-+ if (!pPathObj)
-+ return false;
-+
-+ *a = pPathObj->m_Matrix.a;
-+ *b = pPathObj->m_Matrix.b;
-+ *c = pPathObj->m_Matrix.c;
-+ *d = pPathObj->m_Matrix.d;
-+ *e = pPathObj->m_Matrix.e;
-+ *f = pPathObj->m_Matrix.f;
-+
-+ return true;
-+}
-+
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetMatrix(FPDF_PAGEOBJECT path,
-+ double a,
-+ double b,
-+ double c,
-+ double d,
-+ double e,
-+ double f) {
-+ if (!path)
-+ return false;
-+
-+ CPDF_PathObject* pPathObj = CPDFPathObjectFromFPDFPageObject(path);
-+ if (!pPathObj)
-+ return false;
-+
-+ pPathObj->m_Matrix.a = a;
-+ pPathObj->m_Matrix.b = b;
-+ pPathObj->m_Matrix.c = c;
-+ pPathObj->m_Matrix.d = d;
-+ pPathObj->m_Matrix.e = e;
-+ pPathObj->m_Matrix.f = f;
-+ pPathObj->SetDirty(true);
-+
-+ return true;
-+}
-+
- FPDF_EXPORT void FPDF_CALLCONV FPDFPath_SetLineJoin(FPDF_PAGEOBJECT path,
- int line_join) {
- if (!path)
-diff --git a/public/fpdf_edit.h b/public/fpdf_edit.h
-index 2faa9ecba..4c870149b 100644
---- a/public/fpdf_edit.h
-+++ b/public/fpdf_edit.h
-@@ -920,6 +920,56 @@ FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetDrawMode(FPDF_PAGEOBJECT path,
- int* fillmode,
- FPDF_BOOL* stroke);
-
-+// Experimental API.
-+// Get the transform matrix of a path.
-+//
-+// path - handle to a path.
-+// a - matrix value.
-+// b - matrix value.
-+// c - matrix value.
-+// d - matrix value.
-+// e - matrix value.
-+// f - matrix value.
-+//
-+// The matrix is composed as:
-+// |a c e|
-+// |b d f|
-+// and used to scale, rotate, shear and translate the path.
-+//
-+// Returns TRUE on success.
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_GetMatrix(FPDF_PAGEOBJECT path,
-+ double* a,
-+ double* b,
-+ double* c,
-+ double* d,
-+ double* e,
-+ double* f);
-+
-+// Experimental API.
-+// Set the transform matrix of a path.
-+//
-+// path - handle to a path.
-+// a - matrix value.
-+// b - matrix value.
-+// c - matrix value.
-+// d - matrix value.
-+// e - matrix value.
-+// f - matrix value.
-+//
-+// The matrix is composed as:
-+// |a c e|
-+// |b d f|
-+// and can be used to scale, rotate, shear and translate the path.
-+//
-+// Returns TRUE on success.
-+FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPath_SetMatrix(FPDF_PAGEOBJECT path,
-+ double a,
-+ double b,
-+ double c,
-+ double d,
-+ double e,
-+ double f);
-+
- // Create a new text object using one of the standard PDF fonts.
- //
- // document - handle to the document.
---
-2.16.4
-
diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk
index 0019535857a6..05d84c749a05 100644
--- a/external/pdfium/Library_pdfium.mk
+++ b/external/pdfium/Library_pdfium.mk
@@ -24,6 +24,7 @@ $(eval $(call gb_Library_add_defs,pdfium,\
-DUSE_SYSTEM_LCMS2 \
-DUSE_SYSTEM_LIBJPEG \
-DUSE_SYSTEM_ZLIB \
+ -DUSE_SYSTEM_ICUUC \
-DMEMORY_TOOL_REPLACES_ALLOCATOR \
-DUNICODE \
))
@@ -278,6 +279,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_object_avail \
UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_page_object_avail \
UnpackedTarball/pdfium/core/fpdfapi/parser/cpdf_cross_ref_avail \
+ UnpackedTarball/pdfium/core/fpdfapi/edit/cpdf_pagecontentmanager \
+ UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_transparency \
))
# fpdfdoc
@@ -343,7 +346,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_HtrdProc \
UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_HuffmanDecoder \
UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_HuffmanTable \
- UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_HuffmanTable_Standard \
UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_Image \
UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_PatternDict \
UnpackedTarball/pdfium/core/fxcodec/jbig2/JBig2_PddProc \
diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk
index 64d3a5adb946..dc1ad7b4e221 100644
--- a/external/pdfium/UnpackedTarball_pdfium.mk
+++ b/external/pdfium/UnpackedTarball_pdfium.mk
@@ -10,21 +10,12 @@
pdfium_patches :=
pdfium_patches += visibility.patch.1
pdfium_patches += ubsan.patch
-pdfium_patches += icu.patch.1
# Fixes build on our baseline.
pdfium_patches += build.patch.1
# Adds missing editing API
-# Backport of <https://pdfium-review.googlesource.com/35434>.
-pdfium_patches += 0001-Add-FPDFText_GetMatrix-API.patch.1
pdfium_patches += 0002-svx-more-accurate-PDF-text-importing.patch.2
pdfium_patches += 0003-svx-import-PDF-images-as-BGRA.patch.2
pdfium_patches += 0004-svx-support-PDF-text-color.patch.2
-# Backport of <https://pdfium-review.googlesource.com/32770>.
-pdfium_patches += 0005-svx-support-Paths-in-PDFs-while-importing.patch.1
-# Backport of <https://pdfium-review.googlesource.com/33010>.
-pdfium_patches += 0006-Add-FPDFPath_GetDrawMode-API.patch.1
-# Backport of <https://pdfium-review.googlesource.com/33670>.
-pdfium_patches += 0006-Add-FPDFPath_GetMatrix-and-FPDFPath_SetMatrix-APIs.patch.1
pdfium_patches += 0009-svx-support-color-text-for-imported-PDFs.patch.2
pdfium_patches += 0010-svx-support-importing-forms-from-PDFs.patch.2
pdfium_patches += 0011-svx-correctly-possition-form-objects-from-PDF.patch.2
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index 89d8e5e7d8d0..901edbbf4e56 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -19,20 +19,6 @@ index 8e01127b0..f4ce4d915 100644
if (m_Storer.GetBitmap()->IsAlphaMask()) {
CalcAlpha(cdata);
} else {
-diff --git a/core/fxcrt/string_view_template.h b/core/fxcrt/string_view_template.h
-index 05694cf24..101253814 100644
---- a/core/fxcrt/string_view_template.h
-+++ b/core/fxcrt/string_view_template.h
-@@ -231,9 +231,6 @@ inline bool operator<(const T* lhs, const StringViewTemplate<T>& rhs) {
- return rhs > lhs;
- }
-
--extern template class StringViewTemplate<char>;
--extern template class StringViewTemplate<wchar_t>;
--
- using ByteStringView = StringViewTemplate<char>;
- using WideStringView = StringViewTemplate<wchar_t>;
-
diff --git a/core/fpdfdoc/cpdf_metadata.cpp b/core/fpdfdoc/cpdf_metadata.cpp
index 323de4ffc..f11a0b0ad 100644
--- a/core/fpdfdoc/cpdf_metadata.cpp
@@ -122,3 +108,42 @@ index d3bf38d31..e8aea9707 100644
}
return FPDFPageObjectFromCPDFPageObject(
+diff --git a/third_party/base/span.h b/third_party/base/span.h
+index 0fb627ba8..dda1fc8bc 100644
+--- a/third_party/base/span.h
++++ b/third_party/base/span.h
+@@ -204,7 +204,7 @@ class span {
+ // size()|.
+ template <typename Container,
+ typename = internal::EnableIfSpanCompatibleContainer<Container, T>>
+- constexpr span(Container& container)
++ span(Container& container)
+ : span(container.data(), container.size()) {}
+ template <
+ typename Container,
+diff --git a/core/fpdfdoc/cpdf_dest.h b/core/fpdfdoc/cpdf_dest.h
+index 7f4eb86c0..5e227f86e 100644
+--- a/core/fpdfdoc/cpdf_dest.h
++++ b/core/fpdfdoc/cpdf_dest.h
+@@ -46,7 +46,7 @@ class CPDF_Dest {
+ float* pZoom) const;
+
+ private:
+- UnownedPtr<const CPDF_Array> const m_pObj;
++ UnownedPtr<const CPDF_Array> m_pObj;
+ };
+
+ #endif // CORE_FPDFDOC_CPDF_DEST_H_
+diff --git a/core/fpdfdoc/cpdf_filespec.h b/core/fpdfdoc/cpdf_filespec.h
+index 7050f695b..916afed8b 100644
+--- a/core/fpdfdoc/cpdf_filespec.h
++++ b/core/fpdfdoc/cpdf_filespec.h
+@@ -41,7 +41,7 @@ class CPDF_FileSpec {
+
+ private:
+ UnownedPtr<const CPDF_Object> const m_pObj;
+- UnownedPtr<CPDF_Object> const m_pWritableObj;
++ UnownedPtr<CPDF_Object> m_pWritableObj;
+ };
+
+ #endif // CORE_FPDFDOC_CPDF_FILESPEC_H_
diff --git a/external/pdfium/icu.patch.1 b/external/pdfium/icu.patch.1
deleted file mode 100644
index 85e837d9b99f..000000000000
--- a/external/pdfium/icu.patch.1
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/core/fxcrt/fx_extension.h b/core/fxcrt/fx_extension.h
-index ff96de0f7..0195bd06f 100644
---- a/core/fxcrt/fx_extension.h
-+++ b/core/fxcrt/fx_extension.h
-@@ -13,7 +13,7 @@
-
- #include "core/fxcrt/fx_string.h"
- #include "third_party/base/span.h"
--#include "third_party/icu/source/common/unicode/uchar.h"
-+#include <unicode/uchar.h>
-
- #define FX_INVALID_OFFSET static_cast<uint32_t>(-1)
-