diff options
Diffstat (limited to 'external/pdfium')
-rw-r--r-- | external/pdfium/Library_pdfium.mk | 62 | ||||
-rw-r--r-- | external/pdfium/UnpackedTarball_pdfium.mk | 2 | ||||
-rw-r--r-- | external/pdfium/build.patch.1 | 103 | ||||
-rw-r--r-- | external/pdfium/freetype.patch.1 | 18 | ||||
-rw-r--r-- | external/pdfium/icu.patch.1 | 13 | ||||
-rw-r--r-- | external/pdfium/ubsan.patch | 19 |
6 files changed, 67 insertions, 150 deletions
diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 0019535857a6..f42f19927637 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -40,6 +40,7 @@ $(eval $(call gb_Library_set_generated_cxx_suffix,pdfium,cpp)) # pdfium $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ + UnpackedTarball/pdfium/fpdfsdk/cba_annotiterator \ UnpackedTarball/pdfium/fpdfsdk/cfx_systemhandler \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_annot \ UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_annothandlermgr \ @@ -60,27 +61,22 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fpdfsdk/fpdf_structtree \ UnpackedTarball/pdfium/fpdfsdk/fpdf_sysfontinfo \ UnpackedTarball/pdfium/fpdfsdk/fpdf_transformpage \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_actionhandler \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_annotiterator \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_customaccess \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_fieldaction \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_filewriteadapter \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_helpers \ - UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_memoryaccess \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_annot \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_attachment \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_catalog \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_doc \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_editimg \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_editpage \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_editpath \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_edittext \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_formfill \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_save \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_text \ - UnpackedTarball/pdfium/fpdfsdk/fpdf_view \ - UnpackedTarball/pdfium/fpdfsdk/ipdfsdk_pauseadapter \ - UnpackedTarball/pdfium/fpdfsdk/cpdf_annotcontext \ + UnpackedTarball/pdfium/fpdfsdk/fpdfdoc \ + UnpackedTarball/pdfium/fpdfsdk/fpdfeditimg \ + UnpackedTarball/pdfium/fpdfsdk/fpdfeditpage \ + UnpackedTarball/pdfium/fpdfsdk/fpdfeditpath \ + UnpackedTarball/pdfium/fpdfsdk/fpdfedittext \ + UnpackedTarball/pdfium/fpdfsdk/fpdfformfill \ + UnpackedTarball/pdfium/fpdfsdk/fpdfsave \ + UnpackedTarball/pdfium/fpdfsdk/fpdftext \ + UnpackedTarball/pdfium/fpdfsdk/fpdfview \ + UnpackedTarball/pdfium/fpdfsdk/fsdk_actionhandler \ + UnpackedTarball/pdfium/fpdfsdk/fsdk_pauseadapter \ + UnpackedTarball/pdfium/fpdfsdk/pdfsdk_fieldaction \ + UnpackedTarball/pdfium/fpdfsdk/fsdk_filewriteadapter \ + UnpackedTarball/pdfium/fpdfsdk/fpdfannot \ + UnpackedTarball/pdfium/fpdfsdk/fpdfattachment \ + UnpackedTarball/pdfium/fpdfsdk/fpdfcatalog \ )) # fdrm @@ -360,6 +356,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ # fxcrt $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ + UnpackedTarball/pdfium/core/fxcrt/cfx_blockbuffer \ UnpackedTarball/pdfium/core/fxcrt/cfx_memorystream \ UnpackedTarball/pdfium/core/fxcrt/cfx_seekablestreamproxy \ UnpackedTarball/pdfium/core/fxcrt/fx_bidi \ @@ -370,13 +367,13 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/fx_system \ UnpackedTarball/pdfium/core/fxcrt/fx_ucddata \ UnpackedTarball/pdfium/core/fxcrt/fx_unicode \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmldocument \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmlelement \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmlparser \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmlnode \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmlinstruction \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmltext \ - UnpackedTarball/pdfium/core/fxcrt/xml/cfx_xmlchardata \ + UnpackedTarball/pdfium/core/fxcrt/xml/cxml_attritem \ + UnpackedTarball/pdfium/core/fxcrt/xml/cxml_databufacc \ + UnpackedTarball/pdfium/core/fxcrt/xml/cxml_element \ + UnpackedTarball/pdfium/core/fxcrt/xml/cxml_parser \ + UnpackedTarball/pdfium/core/fxcrt/xml/cxml_content \ + UnpackedTarball/pdfium/core/fxcrt/xml/cxml_object \ + UnpackedTarball/pdfium/core/fxcrt/xml/cfx_saxcontext \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscolorvalue \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscomputedstyle \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_csscustomproperty \ @@ -409,7 +406,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/widestring \ UnpackedTarball/pdfium/core/fxcrt/cfx_seekablemultistream \ UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssdata \ - UnpackedTarball/pdfium/core/fxcrt/fx_codepage \ )) # fxge @@ -443,7 +439,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxge/fontdata/chromefontdata/FoxitSerifMM \ UnpackedTarball/pdfium/core/fxge/fontdata/chromefontdata/FoxitSymbol \ UnpackedTarball/pdfium/core/fxge/freetype/fx_freetype \ - UnpackedTarball/pdfium/core/fxge/renderdevicedriver_iface \ + UnpackedTarball/pdfium/core/fxge/ifx_renderdevicedriver \ UnpackedTarball/pdfium/core/fxge/agg/fx_agg_driver \ UnpackedTarball/pdfium/core/fxge/cfx_cliprgn \ UnpackedTarball/pdfium/core/fxge/cfx_color \ @@ -470,7 +466,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/fxjs/cjs_event_context_stub \ UnpackedTarball/pdfium/fxjs/cjs_runtimestub \ - UnpackedTarball/pdfium/fxjs/ijs_runtime \ )) # pwl @@ -551,8 +546,6 @@ $(eval $(call gb_Library_use_externals,pdfium,\ libjpeg \ lcms2 \ zlib \ - icu_headers \ - icuuc \ )) ifneq (,$(filter LINUX ANDROID,$(OS))) @@ -586,8 +579,10 @@ $(eval $(call gb_Library_add_generated_cobjects,pdfium,\ UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftbitmap \ UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftglyph \ UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftinit \ + UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftlcdfil \ UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftmm \ UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftsystem \ + UnpackedTarball/pdfium/third_party/freetype/src/src/base/ftfntfmt \ UnpackedTarball/pdfium/third_party/freetype/src/src/cff/cff \ UnpackedTarball/pdfium/third_party/freetype/src/src/cid/type1cid \ UnpackedTarball/pdfium/third_party/freetype/src/src/psaux/psaux \ @@ -608,6 +603,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ 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_dwrite \ UnpackedTarball/pdfium/core/fxge/win32/fx_win32_gdipext \ UnpackedTarball/pdfium/core/fxge/win32/fx_win32_print \ )) diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk index 2ac8404e3164..333d06bb8e35 100644 --- a/external/pdfium/UnpackedTarball_pdfium.mk +++ b/external/pdfium/UnpackedTarball_pdfium.mk @@ -10,7 +10,7 @@ pdfium_patches := pdfium_patches += visibility.patch.1 pdfium_patches += ubsan.patch -pdfium_patches += icu.patch.1 +pdfium_patches += freetype.patch.1 # Fixes build on our baseline. pdfium_patches += build.patch.1 diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 89d8e5e7d8d0..b852383ff84b 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -19,106 +19,3 @@ 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 -+++ b/core/fpdfdoc/cpdf_metadata.cpp -@@ -74,7 +74,7 @@ std::vector<UnsupportedFeature> CPDF_Metadata::CheckForSharedForm() const { - CFX_XMLParser parser(stream); - std::unique_ptr<CFX_XMLDocument> doc = parser.Parse(); - if (!doc) -- return {}; -+ return std::vector<UnsupportedFeature>(); - - std::vector<UnsupportedFeature> unsupported; - CheckForSharedFormInternal(doc->GetRoot(), &unsupported); -diff --git a/fpdfsdk/cpdf_annotcontext.cpp b/fpdfsdk/cpdf_annotcontext.cpp -index 20c5fc343..a40cd1eae 100644 ---- a/fpdfsdk/cpdf_annotcontext.cpp -+++ b/fpdfsdk/cpdf_annotcontext.cpp -@@ -16,12 +16,12 @@ CPDF_AnnotContext::CPDF_AnnotContext(CPDF_Dictionary* pAnnotDict, - CPDF_Page* pPage, - CPDF_Stream* pStream) - : m_pAnnotDict(pAnnotDict), m_pPage(pPage) { -- SetForm(pStream); -+ SetForm_(pStream); - } - - CPDF_AnnotContext::~CPDF_AnnotContext() = default; - --void CPDF_AnnotContext::SetForm(CPDF_Stream* pStream) { -+void CPDF_AnnotContext::SetForm_(CPDF_Stream* pStream) { - if (!pStream) - return; - -diff --git a/fpdfsdk/cpdf_annotcontext.h b/fpdfsdk/cpdf_annotcontext.h -index 38cc91e03..7904ae044 100644 ---- a/fpdfsdk/cpdf_annotcontext.h -+++ b/fpdfsdk/cpdf_annotcontext.h -@@ -23,7 +23,7 @@ class CPDF_AnnotContext { - CPDF_Stream* pStream); - ~CPDF_AnnotContext(); - -- void SetForm(CPDF_Stream* pStream); -+ void SetForm_(CPDF_Stream* pStream); - bool HasForm() const { return !!m_pAnnotForm; } - CPDF_Form* GetForm() const { return m_pAnnotForm.get(); } - CPDF_Dictionary* GetAnnotDict() const { return m_pAnnotDict.Get(); } -diff --git a/third_party/base/span.h b/third_party/base/span.h -index 0fb627ba8..f71c362e2 100644 ---- a/third_party/base/span.h -+++ b/third_party/base/span.h -@@ -214,7 +214,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_) { -diff --git a/fpdfsdk/fpdf_annot.cpp b/fpdfsdk/fpdf_annot.cpp -index d3bf38d31..e8aea9707 100644 ---- a/fpdfsdk/fpdf_annot.cpp -+++ b/fpdfsdk/fpdf_annot.cpp -@@ -389,7 +389,7 @@ FPDFAnnot_AppendObject(FPDF_ANNOTATION annot, FPDF_PAGEOBJECT obj) { - - // Get the annotation's corresponding form object for parsing its AP stream. - if (!pAnnot->HasForm()) -- pAnnot->SetForm(pStream); -+ pAnnot->SetForm_(pStream); - - // Check that the object did not come from the same annotation. If this check - // succeeds, then it is assumed that the object came from -@@ -425,7 +425,7 @@ FPDF_EXPORT int FPDF_CALLCONV FPDFAnnot_GetObjectCount(FPDF_ANNOTATION annot) { - if (!pStream) - return 0; - -- pAnnot->SetForm(pStream); -+ pAnnot->SetForm_(pStream); - } - return pdfium::CollectionSize<int>(*pAnnot->GetForm()->GetPageObjectList()); - } -@@ -442,7 +442,7 @@ FPDFAnnot_GetObject(FPDF_ANNOTATION annot, int index) { - if (!pStream) - return nullptr; - -- pAnnot->SetForm(pStream); -+ pAnnot->SetForm_(pStream); - } - - return FPDFPageObjectFromCPDFPageObject( diff --git a/external/pdfium/freetype.patch.1 b/external/pdfium/freetype.patch.1 new file mode 100644 index 000000000000..90f230c54e69 --- /dev/null +++ b/external/pdfium/freetype.patch.1 @@ -0,0 +1,18 @@ +Upstream provides this define from the commandline, but while this define is +needed for fxge, it breaks the build for the bundled freetype. gbuild doesn't +support having different defines within the same Library, so just patch the +single translation unit that actually needs the define. + +Long-term perhaps the solution is to enable freetype on all platforms inside +LO, then we don't have to build freetype as part of pdfium, so we can let +gbuild define this from the commandline. + +diff --git a/core/fxge/freetype/fx_freetype.cpp b/core/fxge/freetype/fx_freetype.cpp +index 0ae207b02..879bf5ab9 100644 +--- a/core/fxge/freetype/fx_freetype.cpp ++++ b/core/fxge/freetype/fx_freetype.cpp +@@ -1,3 +1,4 @@ ++#define DEFINE_PS_TABLES + // Copyright 2014 PDFium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. 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) - diff --git a/external/pdfium/ubsan.patch b/external/pdfium/ubsan.patch index 91428326fc5d..af39e3d95db3 100644 --- a/external/pdfium/ubsan.patch +++ b/external/pdfium/ubsan.patch @@ -22,3 +22,22 @@ int rowbytes = std::min(abs(src_pitch), dest_pitch); for (int row = 0; row < bmheight; row++) memcpy(pDestBuf + row * dest_pitch, pSrcBuf + row * src_pitch, rowbytes); +--- third_party/agg23/agg_rasterizer_scanline_aa.h ++++ third_party/agg23/agg_rasterizer_scanline_aa.h +@@ -349,14 +349,14 @@ public: + cover += cur_cell->cover; + } + if(area) { +- alpha = calculate_alpha((cover << (poly_base_shift + 1)) - area, no_smooth); ++ alpha = calculate_alpha(int(unsigned(cover) << (poly_base_shift + 1)) - area, no_smooth); + if(alpha) { + sl.add_cell(x, alpha); + } + x++; + } + if(num_cells && cur_cell->x > x) { +- alpha = calculate_alpha(cover << (poly_base_shift + 1), no_smooth); ++ alpha = calculate_alpha(unsigned(cover) << (poly_base_shift + 1), no_smooth); + if(alpha) { + sl.add_span(x, cur_cell->x - x, alpha); + } |