Releases: bblanchon/pdfium-binaries
PDFium 148.0.7734.0
This version was built with branch chromium/7734 of PDFium
Changes
Commits between chromium/7725 and chromium/7734:
- Roll third_party/libjpeg_turbo/ 6bb85251a..d1f5f2393 (2 commits)
- Consolidate more font loading code.
- Roll tools/win/ baacfc6d5..bfff5550e (1 commit)
- Roll third_party/libunwind/src/ ba19d93d6..db838d918 (3 commits)
- Roll v8/ b3995dff9..b210c794d (681 commits)
- Roll third_party/brotli/ ac16a36bc..8e1083278 (1 commit)
- Roll base/allocator/partition_allocator/ baaa6670c..2157c84d9 (22 commits)
- Update gn_version to 129ce6b9af1a93143acd8f8dea6fb8c6cb65abc9
- Remove CFX_Face::desc_ member.
- Roll third_party/abseil-cpp/ 675d3d37e..2a7d49fc3 (9 commits)
- Store CFX_ReadOnlyFixedSizeDataVectorStream in FontCacheEntry.
- Unify CFX_Face::New and NewFromSpanStream.
- Roll build, clang, rust, siso, etc
- Add architectural documentation for core/ and core/fpdfapi
- Add regression test for yet another issue with zero width spaces
- Remove CFX_{Face,Font}::HasFaceRec().
- Make CFX_Face consistently use global CFX_FontMgr.
- Move skia font manager from CFX_GlyphCache to CFX_FontMgr.
- Move SkTypeface from CFX_GlyphCache to CFX_Face.
- Simplify logic in CXFA_FFNotify::OnValueChanged()
- Add regression test for another issue with zero width spaces
- Switch from std::pair to a struct inside CPDF_Document
- Remove OUTLINE_PARAM::coord_unit_
- Revert "Reland "Remove character width check from cpdf_textpage.cpp""
- Roll goldctl from 8f3583f82450 to aa16da01ee4b
- Fix null de-ref in CXFA_FFNotify::OnValueChanged().
- Reland "Remove character width check from cpdf_textpage.cpp"
- Fix issue with extra tall FPDFText_GetLooseCharBox() results
- Add FPDFTextEmbedderTest for FPDFText_GetLooseCharBox() height issue
PDFium 147.0.7725.0
This version was built with branch chromium/7725 of PDFium
Changes
Commits between chromium/7713 and chromium/7725:
PDFium 147.0.7713.0
This version was built with branch chromium/7713 of PDFium
Changes
Commits between chromium/7699 and chromium/7713:
- Polish CPDF_FontSubsetter and its embedder tests
- Rename CPDF_Font's GetCharWidthF() to GetCharWidth()
- Subset the /W array during font subsetting
- Move and update CreateWidthsArray()
- Subset /ToUnicode streams during font subsetting
- Move and update LoadUnicode()
- Add text extraction tests for font subsetting
- Modernize CFGAS_FontDescriptor::Rank comparisons.
- Always create CFX_DIBitmaps before CFX_GlyphBitmaps.
- Use fxcrt::to_underlying() for FontAntiAliasingMode conversion
- Nest CFGAS_FontDescriptorInfo as CFGAS_FontDescriptor::Rank
- Remove FXFT_ prefix from actual freetype types.
- Avoid crash in FPDFViewEmbedderTest.Bug2087.
- Rework CFX_UnicodeEncoding and CFX_UnicodeEncodingEx.
- Update PDF objects correctly when subsetting OpenType CFF fonts
- Use ToStream() and ToDictionary() in cpdf_fontsubsetter_embeddertest.cpp
- Create a fontations font mgr from Skia when pdf_enable_fontations.
- Add option to initialize PDFium with a font backend library
- Add Length1 entry check to StreamSizeIsWithinRange matcher
- Clean up cpdf_fontsubsetter_embeddertest.cpp
- Add a CPDFFontSubsetter test for standard fonts
- Roll third_party/skia/ 39aa2a702..9a983f6c2 (1 commit)
- Fix build when pdf_enable_fontations=false and pdf_enable_rust_png=true
- Consistently use
CPDF_Font::kInvalidCharCodein CPDF_TextPage - Add fxcrt::to_underlying to emulate C++23 utility
- Use variadic template for Mask constructor
- Use canonical PA buildflags
- Fix CFX_GlyphBitmap::GetBitmap() const correctness
- Simplify CFX_Barcode
- Remove one CBC_OneDimWriter::CalcTextInfo() out-param
- Rename CFX_Font methods to highlight font/face distinction.
- Use better IV in PDF_CryptoHandler::EncryptContent().
- Remove CFX_EncodingEx::CharCodeFromUnicode().
- Add a prefix to font subset name
- Move and reuse MaybeRemoveSubsettedFontPrefix()
- Introduce pdf_use_agg GN build argument.
- Remove CFX_AggClipRgn arguments from non-agg code.
- Remove CFX_AggClipRgn::type_.
- Roll third_party/skia/ 356c7267f..39aa2a702 (108 commits; 15 trivial rolls)
- Roll third_party/skia/ c497e689b..356c7267f (1 commit)
- Null out CFX_AggClipRgn::mask_ when converting to "type I".
- Roll Zlib from 980253c1cc83 to 7eda07b1e067 (1 revision)
- Add a regression test for FPDFTextObj_GetText() and space characters
- Remove CFX_AggClipRgn from CFX_DIBBase.
- Abstract AGG behind RenderDeviceDriverIface::Continuation.
- Refactor RemoveSubsettedFontPrefix() and IsStrUpper()
- Modernize FX_Random further
- Remove MTContext
- Replace FX_Random_MT_.* functions with FX_Random class
- Rename FX_Random_MT_GenerateMT()
- Update pixel test for rendering that depends on /ToUnicode
- Introduce CPDF_FontSubsetter to subset new fonts on PDF save
- Refactor FPDFSaveWithFontSubsetEmbedderTest helper methods
- Privatize OpenSavedDocument() family of methods
- Assume a value of 0 to prevent float-cast-overflow.
- Revert "Remove character width check from cpdf_textpage.cpp"
PDFium 147.0.7699.0
This version was built with branch chromium/7699 of PDFium
Changes
Commits between chromium/7690 and chromium/7699:
- Remove CFX_DIBitmap::TakeOver().
- Rename GetDeviceCache() to GetSkTypeface().
- Remove charposlist.{cpp,h}
- Make two charposlist.cpp functions into class methods.
- Add FPDF_StructElement_GetExpansion()
- Add embeddertest for bug 457855936
- Add script to set up android test files up to new PathService.
- Remove unneccessary UNSAFE_BUFFERS() in cfx_face.cpp.
- Fix Skia-enabled pdfium_embeddertests builds in Chromium
- [skia] Delete reference to empty file
- Remove less-obviously-redundant SetPixelSize() call.
- Redo PathService's Chromium checkout detection method
- Roll third_party/freetype/src/ b91f75bd0..e3a0652b6 (12 commits)
- Remove redundant SetPixelSize() calls.
- Allow pdfium_unittests to execute to completion when misconfigured.
- Roll Memory Tools from 16429092be4b to b635f27e9323 (3 revisions)
- Roll Code Coverage from fc75c61d3a98 to 9cb285b91bea (1 revision)
- Roll Catapult from 8ce759d4b71f to e83a9c8a09df (5 revisions)
PDFium 147.0.7690.0
This version was built with branch chromium/7690 of PDFium
Changes
Commits between chromium/7678 and chromium/7690:
- Clean up fpdf_catalog_unittest.cpp
- Change FPDFCatalog_SetLanguage() to take a FPDF_WIDESTRING
- Fix FPDFSaveWithFontSubsetEmbedderTest rendering tests
- Add OpenScopedSavedDocumentWithPassword() method
- Update Load/Open SavedPage() calls to use Load/Open ScopedSavedPage()
- Add FPDFCatalog_GetLanguage()
- Roll third_party/catapult/ 7b4ef239f..8ce759d4b (17 commits)
- Shorten the names for EmbedderTest::CompareBitmapToPng() and friends
- Remove EmbedderTest::CompareBitmap() and friends
- Replace remaining checksums with images in fpdf_annot_embeddertest.cpp
- Allow MappedDataBytesTest to pass on platforms without /tmp.
- Replace remaining checksums with images in fpdf_edit_embeddertest.cpp
- [android] Remove file-path FT_Open_Face calls.
- Suppress compilation warning on write() syscall
- Add third_party/harfbuzz-ng dependency
- Update CPDF_Creator's public methods
- Update CPDF_Creator::Create() flags to match FPDF_SaveAsCopy() flags
- Add FPDF_SUBSET_NEW_FONTS flag to FPDF_SaveAsCopy()
- Avoid hard CHECK() in CFX_CTTGSUBTable.
- Create CFX_ReadOnlyContainerStream from MappedDataBytes.
- Rename and expose CFX_CRTFileStream to CFX_FileAccessStream.
- Replace more checksums with images in fpdf_edit_embeddertest.cpp
- Improve pdfium_diff to show the number of pixels different
- Implement MappedDataBytes - Scoped Memory-mapped file for Posix.
- Deprecate existing FPDF_REMOVE_SECURITY entry
- Replace checksums with images in fpdf_formfill_embeddertest.cpp
- Allow fuzzy embedder test comparisons on macOS ARM as well
- Roll simdutf from 93b35aec2925 to f7356eed293f (1 revision)
- Consolidate several streams into CFX_ReadOnlyContainerStream<>.
- Roll goldctl from 912157b9c9ed to f809b7407f82
- Roll corpus tests again
- Add pixel test for missing round joins
- Rename FontDesc to FontCacheEntry.
- Fold CFX_FontCache into CFX_FontMgr.
PDFium 146.0.7678.0
This version was built with branch of PDFium
Changes
Commits between chromium/7665 and chromium/7678:
- Remove CFX_FontMgr::NewFixedFace().
- Roll third_party/skia/ 2e253c215..c497e689b (203 commits; 30 trivial rolls)
- Add expectation images for fpdf_progressive_render_embeddertest.cpp
- Add images for CFWLEditEmbedderTest.FillWithNewLineWithMultiline
- Ensure GetDC() succeeded in EnumGdiFonts()
- Fix some UNSAFE_TODO usage inside cfgas_fontmgr.cpp
- Remove character width check from cpdf_textpage.cpp
- Clean up EnumGdiFonts() parameters
- Fix indexing in opj_j2k_read_sod()
- Make VerifyUnicodeForFontDescriptor() a CFGAS_FontDescriptor method.
- Add support for macOS x86 embedder test PNG expectations
- Roll abseil, build, buildtools, clang and rust
- Roll third_party/llvm-libc/src/ 4d1d71696..603c24211 (76 commits)
- Update gn_version to bd3356ac13f411b521b16b11da12cec5150e917c
- Roll third_party/libunwind/src/ a726f5347..ba19d93d6 (2 commits)
- Update siso_version to ed57223a0bd19f8f2767a01b24311e8843ea2890
- Make VerifyUnicode a method of CFGAS_GEFont.
- Rename variables in fpdf_save.{cpp, h}
- Roll base/allocator/partition_allocator/ 9cce6259a..baaa6670c (24 commits)
- Remove most direct CFX_Face usage from xfa/
- Roll tools/win/ 24494b071..baacfc6d5 (2 commits)
- Roll v8/ ce8c1a51c..b3995dff9 (493 commits)
- Add new CFX_Font APIs wrapping CFX_Face.
- Use existing CFX_Font API instead of CFX_Face in fpdf_edittext.cpp.
- Use Zip() in CJBig2_Image
- Reduce number of span accesses in CJBig2_Image
- Add text extraction tests for zero-width characters
- Roll Instrumented Libraries from 69015643b3f6 to e8cb570a9a2e (1 revision)
- Roll Catapult from 530794d005fb to 7b4ef239fd89 (22 revisions)
- Roll Depot Tools from a4318057fe1f to 6235028c6b18 (60 revisions)
PDFium 146.0.7665.0
This version was built with branch of PDFium
Changes
Commits between chromium/7651 and chromium/7665:
- Use more unsigned values inside CJBig2_Image
- Remove CFX_FontCache::GetDeviceCache().
- CFX_FontCache only ever maps one external cache.
- Replace some checksums with images in fpdf_edit_embeddertest.cpp
- Replace BitIndexToAlignedByte() with BitIndexToAlignedUint32()
- Remove CFX_GlyphCache::GetFace().
- In CJBig2_Image::SubImageSlow(), access data in uint32_t increments
- In CJBig2_Image::ComposeToInternal(), access data in uint32_t increments
- Replace checksums with images in cpdf_security_handler_embeddertest.cpp
- Replace HelloWorldRemovedChecksum and TextFormChecksum with PNGs
- Remove CFX_TypeFace abstraction.
- Remove some UNSAFE_TODO() usage in core/fxge/win32
- Fix botched refactoring in CJBig2_Image::ComposeToInternal()
- Combine android-specific code in CFX_Face
- Avoid callback-based face loading when data already resident.
- Fix typo for GetStrokeColorRef() in CPDF_RenderStatus.
- Use Zip() in CJBig2_GRDProc::DecodeArithOpt3()
- Replace all crbug.com/pdfium/bug IDs with crbug.com/ids.
- Re-enable CFWLEditEmbedderTest.FillWithNewLineWithMultiline
- Replaces checksums with images in fpdf_flatten_embeddertest.cpp
- Replaces checksums with images in fpdf_thumbnail_embeddertest.cpp
- Consolidate CJBig2_GRDProc code for per-line bytes/bits calculations
- Remove ToPng from all method names in fpdf_view_embeddertest.cpp
- Use images instead of checksums for cfwl_edit_embeddertest.cpp
- Add brotli dependency
- Fix tools/roll_pdfium_deps_test.py expected output
- Add fuzzy matching support to all bitmap formats
- [Skia] Fix rendering text with the wrong x scale
- Make ScopedFontTransform private to cfx_face.cpp
- Replace Checksums with Images in fpdf_view_embeddertest.cpp
- Fix comment for CJBig2_Image::{Get,Set}Pixel()
- Remove some knowledge of FT_Library from CFX_Font and CFGAS_FontMgr.
- Remove span::take_first_elem() usage in CJBig2_GrdProc
- Reduce CJBig2_Image::GetLine() calls in CJBig2_GrdProc
- Change CJBig2_Image::CopyLine() to take spans instead of line numbers
- Roll libpng from f63f5ef0e0ef to 172f83835c98 (1 revision)
- Roll Zlib from e00f7038713f to 980253c1cc83 (3 revisions)
- Replace some checksums with images in fpdf_annot_embeddertest.cpp
- Add fuzzy pixel matching to CompareBGRxBitmapToPng()
- Move MaxPixelPerChannelDelta() to testing util file
- In CJBig2_GRDProc, only check
LTPvalue if its value changes - Combine nearly identical code in CJBig2_GRDProc
- Roll simdutf from 75bea7342fda to 93b35aec2925 (1 revision)
- Remove UNSAFE_BUFFERS around atoi() and atof()
- Remove UNSAFE_TODO() around strlen() and wcslen().
- Handle line 1/2 first in loops in CJBig2_GRDProc
- Remove UNSAFE_TODO() usage in CJBig2_GRRDProc::DecodeTemplate1Opt()
- Refactor CJBig2_GRRDProc::DecodeTemplate1Opt()
- Use std::iota() in CPDF_TrueTypeFont::SetGlyphIndicesFromFirstChar()
- Remove UNSAFE_TODO() usage in CJBig2_GRRDProc::DecodeTemplate0Opt()
- Refactor CJBig2_GRRDProc::DecodeTemplate0Opt()
- Remove height-based CJBig2_Image::GetPixel() overload
- Remove height-based CJBig2_Image::SetPixel() overload
- Merge duplicate code in CJBig2_GRRDProc::DecodeTemplate1Unopt()
- Use line-based JBig2_Image pixel methods in JBig2_GrrdProc
- Remove some conditionals that never evaluate to true
PDFium 146.0.7651.0
This version was built with branch of PDFium
Changes
Commits between chromium/7643 and chromium/7651:
- Use std::ranges::fill() everywhere instead of std::fill()
- Fix shared form XObjects mutating matrix values
- Output PNGs as data: URLs in embedder tests
- Consolidate PNG encoding code
- Use SkPathBuilder with FillPathWithPaint.
- Replace AnnotationStampWithApChecksum() with images
- Remove some UNSAFE_TODO() usage in JBig2_GrrdProc.cpp
- Remove misc UNSAFE_TODO() usage in JBIG2 code
- Remove V8_ENABLE_SANDBOX macro usage from PDFium.
- Remove check for pointer that is never null
- Make XFA font enumeration lazy
- Add WriteBitmapToPng() calls in CompareBitmapToPng() util functions
- Run optipng in testing/resources/pixel/
- Run optipng in testing/resources/embedder_tests/
- Roll Memory Tools from d50025066836 to 16429092be4b (3 revisions)
- Remove UNSAFE_TODO usage in cpdf_type3cache.cpp
- Remove UNSAFE_TODO usage in cpdf_sampledfunc.cpp
PDFium 146.0.7643.0
This version was built with branch of PDFium
Changes
Commits between chromium/7630 and chromium/7643:
- Replaces checksums with images in fpdf_ppo_embeddertest.cpp
- Add embedder test for shared Form XObject matrix state leakage
- Update fpdf_transformpage_embeddertest.cpp to use images instead of checksums
- Replace md5 checksums with images for bug_896366
- Replace checksums with images in fpdf_editpage_embeddertest.cpp
- Add Images to replace rectangles_and_triangle checksums
- Update checksums to images for rectangles_multi_page
- Update fpdf_editimg_embeddertest.cpp to use PNGs instead of Checksums
- Fix botched refactoring in CJBig2_GRDProc::DecodeArithTemplate3Opt3()
- Check bitmap format is the same before/after progressive rendering
- [Skia] Track premul state in fpdf_progressive.cpp
- [Skia] Pixel test with alpha in the final image
- Add roll_pdfium_deps.py
- Limit bitmap memory usage in PDFiumFuzzerHelper in 32-bit builds
- Create common helper functions for fx_coordinates_unittest.cpp
- Remove JBig2_Image::data()
- Remove more UNSAFE_TODO() usage from CJBig2_GRDProc
- Store raw_spans in CJBig2_GRDProc
- Remove UNSAFE_TODO() in CJBig2_GRDProc::DecodeArithOpt3()
- Remove unneeded fx_memcpy_wrappers.h includes
- Remove UNSAFE_TODO() in CJBig2_GRDProc::DecodeArithTemplate3Opt3()
PDFium 145.0.7630.0
This version was built with branch of PDFium
Changes
Commits between chromium/7616 and chromium/7630:
- Use
continuein CJBig2_GRDProc::DecodeArithTemplate3Unopt() - Rename line variables in JBig2_GrdProc.cpp
- Simplify SKIP logic in JBig2_GrdProc.cpp
- Use std::array and pdfium::span more in JBig2_GrrdProc
- Use line-based JBig2_Image pixel methods in JBig2_GrdProc
- Roll abseil, buildtools, and libc++
- Reduce work in inner loops in CJBig2_HTRDProc
- Add and use line-based JBig2_Image::Get/SetPixel() overloads
- Roll build, clang, and tools/rust
- Roll third_party/rust/ 8b4e75b57..c45037002 (34 commits)
- Remove remaining UNSAFE_TODO() usage in CJBig2_Image
- Update siso_version to 1624786919608fb2140226f6468cd8d0b52fe3b5
- Update gn_version to 5550ba0f4053c3cbb0bff3d60ded9d867b6fa371
- Get rid of some UNSAFE_TODO() usage in CJBig2_Image::ComposeToInternal()
- Use switch statement in CJBig2_Image::ComposeToInternal()
- Roll third_party/freetype/src/ 30e45abe9..b91f75bd0 (8 commits)
- Roll third_party/dragonbox/src/ 6c7c925b5..beeeef91c (29 commits)
- Roll v8/ 5c1077b24..ce8c1a51c (293 commits)
- Roll third_party/llvm-libc/src/ 03f822d2a..4d1d71696 (36 commits)
- Roll third_party/skia/ 5a8d48036..2e253c215 (65 commits; 13 trivial rolls)
- Roll third_party/libunwind/src/ ef486348f..a726f5347 (7 commits)
- Roll third_party/libc++abi/src/ 83a852080..8f11bb1d4 (3 commits)
- Roll third_party/libjpeg_turbo/ 6383cf609..6bb85251a (2 commits)
- Roll base/allocator/partition_allocator/ e711e98fa..9cce6259a (5 commits)
- Reduce scope of UNSAFE_TODO() in CJBig2_Image::ComposeToInternal()
- Start using spans in CJBig2_Image::ComposeToInternal()
- Get rid of some CJBig2_Image::GetLineUnsafe() usage
- Delete CJBig2_Image::GetLinePtr()
- [PDFium] Prevent infinite loop in AGG with degenerate dash patterns
- Use span API for gradients
- Update jbig2_embeddertest.cpp to use PNGs Instead of Checksums
- Use Comparison with PNGs for bug_890322
- Replace checksums with PNG image expectations for rectangles
- Use PNG-based comparison for 612x792 blank page
- Roll third_party/skia/ 279bb3648..5a8d48036 (106 commits; 15 trivial rolls)
- Simplify JBig2IntDecoderState ownership model, remove TRDProc::SBSYMCODELEN
- Use tighter bound for IDI in REFAGGNINST == 1 huffman case
- Consistently read JBIG2 combination operator
- Roll corpus tests again
- Stop setting SBSYMCODELEN in REFAGGNINST > 1 arith case
- Fix reading refine-several symbols in huffman symbol dictionaries using refinement
- Roll corpus tests again
- Roll Catapult from 0e07ae47d5e6 to 530794d005fb (10 revisions)
- Roll Depot Tools from f8cc59a94be9 to a4318057fe1f (39 revisions)
- Roll goldctl from f1d8bd5336c2 to f09b414fc9a5
- Roll Zlib from 63d7e16739d8 to e00f7038713f (2 revisions)
- Roll Memory Tools from 27e942fcc0c4 to d50025066836 (2 revisions)
- Roll libpng from a79803bfd168 to f63f5ef0e0ef (1 revision)