summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-01Add XFA TIFF PackBits pixel testRyan Harrison
This adds a test case where a simple red square TIFF, using PackBits compression, image is embedded into an XFA document. This exercises that <image> tags work correctly and that end to end rendering of PackBits TIFFs is working. Change-Id: I01723a4ac8192b357b5a8480e7709ac6a0dce945 Reviewed-on: https://pdfium-review.googlesource.com/43270 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-10-01Add XFA TIFF LZW pixel testRyan Harrison
This adds a test case where a simple red square TIFF, using LZW compression, image is embedded into an XFA document. This exercises that <image> tags work correctly and that end to end rendering of LZW TIFFs is working. Change-Id: Iecaef68e7eb4b1e822737f3faf4837699261e28b Reviewed-on: https://pdfium-review.googlesource.com/43230 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-10-01Add XFA PNG pixel testRyan Harrison
This adds a test case where a simple red square PNG image is embedded into an XFA document. This exercises that <image> tags work correctly and that end to end rendering of PNGs is working. Change-Id: I8b04c5b0e85f7163e22dcf98593e6c88d5395ebb Reviewed-on: https://pdfium-review.googlesource.com/43130 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-10-01Add XFA TIFF pixel testRyan Harrison
This adds a test case where a simple red square TIFF image is embedded into an XFA document. This exercises that <image> tags work correctly and that end to end rendering of TIFFs is working. Change-Id: Ida61ed4bd49a58c432bde017832fa80187dc58d6 Reviewed-on: https://pdfium-review.googlesource.com/43134 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-10-01Remove checks for impossible situation in CPDFXFA_Context.Lei Zhang
CPDFXFA_Context should always have a valid doc. Change-Id: Ifb547281f1e4f2741e2d741438b9a3ece71f9e99 Reviewed-on: https://pdfium-review.googlesource.com/43212 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Update some third_party/base headers.Lei Zhang
- Sync bits.h and compiler_specific.h. - Delete macros.h. Change-Id: Idf586cd2ea61bc87ed86829d94ae0d4c5a04eae4 Reviewed-on: https://pdfium-review.googlesource.com/43170 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Make header guards consistent in third_party/base/*.h.Lei Zhang
Change-Id: I90898b292d081419d803df1aa1af1d15e23a6108 Reviewed-on: https://pdfium-review.googlesource.com/43150 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Fix #include ordering / formatting.Lei Zhang
Change-Id: I996c9b32d767960a5388e44e13180e1f6577ce38 Reviewed-on: https://pdfium-review.googlesource.com/43190 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Initialize more CXFA_Node members in the header.Lei Zhang
And remove some unnecessary casts. Change-Id: Ifbc78e7b399ce668c92122c8c45d5995b599c971 Reviewed-on: https://pdfium-review.googlesource.com/43193 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Remove some "exceptions" from reedsolomon code.Lei Zhang
Change-Id: If8c45af624ed6df7b6d7416bb4e195f4097b0574 Reviewed-on: https://pdfium-review.googlesource.com/43191 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Use size_t and FX_ArraySize() for some arrays.Lei Zhang
Change-Id: Ib8caef1f46478e9bf1c0e717997accb71000124a Reviewed-on: https://pdfium-review.googlesource.com/43192 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-10-01Add XFA JPG pixel testRyan Harrison
This adds a test case where a simple red square JPG image is embedded into an XFA document. This exercises that <image> tags work correctly and that end to end rendering of JPGs is working. Change-Id: Ife2f334c4c2a77a551d7c0b6f31c36f6cf42fcee Reviewed-on: https://pdfium-review.googlesource.com/43133 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-10-01Add XFA GIF pixel testRyan Harrison
This adds a test case where a simple red square GIF image is embedded into an XFA document. This exercises that <image> tags work correctly and that end to end rendering of GIFs is working. Displaying GIFs is currently broken, https://crbug.com/pdfium/1167, so this test is currently suppressed. BUG=pdfium:904 Change-Id: I400a2a287c24726bc811dacfabe30ddc77f38b9c Reviewed-on: https://pdfium-review.googlesource.com/43131 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-09-27Shading functions should take const matrix pointers.chromium/3568chromium/3567chromium/3566chromium/3565chromium/3564Lei Zhang
Change-Id: If13cc70d3d047f255f5d289f35a8533811523146 Reviewed-on: https://pdfium-review.googlesource.com/43110 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-25Optimize MaybeEmbedPositionAdjustmentPatterns().chromium/3563chromium/3562Lei Zhang
Change-Id: I547288c19c714a8222af89e0499d6786dad917c7 Reviewed-on: https://pdfium-review.googlesource.com/42457 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-09-25Get rid of "exceptions" in CBC_QRCoderMatrixUtil.Lei Zhang
Change-Id: I186e39c60a2e87983f05a3407b668e15160c2372 Reviewed-on: https://pdfium-review.googlesource.com/42456 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-09-25Roll third_party/freetype/src/ dfddc2d97..abd997aa7 (9 commits)Lei Zhang
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/dfddc2d97596..abd997aa7cf2 $ git log dfddc2d97..abd997aa7 --date=short --no-merges --format='%ad %ae %s' 2018-09-21 wl Improve documentation of `FT_LOAD_NO_RECURSE'. 2018-09-21 bungeman Improve auto-hinter handling of bitmap fonts (#54681). 2018-09-21 wl [raster] Fix disappearing vertical lines (#54589). 2018-09-21 wl [base] Some comments. 2018-09-20 apodtele * src/base/ftobjs.c (ft_glyphslot_reset_bimap): Tiny rounding tweak. 2018-09-20 apodtele [pcf] Replace charmap implementation. 2018-09-20 wl [base] Remove unused function `FT_GlyphLoader_CopyPoints'. 2018-09-19 apodtele [pcf] Prepare to replace charmap implementation. 2018-09-18 apodtele Remove unused fields. Created with: roll-dep third_party/freetype/src BUG=pdfium:1159 TBR=npm@chromium.org Change-Id: I535f75ac4a7fdeb3ba3266f57d5fbda39493a6aa Reviewed-on: https://pdfium-review.googlesource.com/43030 Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-25Revert "Remove unreachable code in CPDF_DIBBase."Lei Zhang
This reverts commit 214982c4d02a720c3b1b3de121cddc62189b8848. Reason for revert: Turns out it is reachable. Original change's description: > Remove unreachable code in CPDF_DIBBase. > > The colorspace is always available when creating image decoders that use > colorspaces. > > Change-Id: I20ac75edcd614ccc1e83de262c128776e9d03eed > Reviewed-on: https://pdfium-review.googlesource.com/42872 > Commit-Queue: Ryan Harrison <rharrison@chromium.org> > Reviewed-by: Ryan Harrison <rharrison@chromium.org> TBR=thestig@chromium.org,rharrison@chromium.org BUG=chromium:888743 # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I45903543f0e4bf2785660fb8c1e45c34febb6ecf Reviewed-on: https://pdfium-review.googlesource.com/43050 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-25Add FxAlignToBoundary<>() template helper function.Tom Sepez
Because I nearly botched this trivial calculation in the previous CL. Change-Id: I7438f9d3476d93b7899c2d7d761234769f53f9e3 Reviewed-on: https://pdfium-review.googlesource.com/43010 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-09-25Introduce CodecModuleIface for progressive decoder modules.Tom Sepez
Another step before trying to fix the memory issue. Forces common APIs on the bunch of decoders, though some methods are unused. Requires adding some arguments/return values to get to a common API which are not used in all cases (yet?). Required converting some args to spans. Required proxying a GetJumpMark() call through the public module API to the private context. Bug: pdfium:1082 Change-Id: I0c0b7415141ff2a6f4f44777ca3d05521f08130d Reviewed-on: https://pdfium-review.googlesource.com/41950 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-09-24Give CFX_GraphStateData a work-over.chromium/3561Tom Sepez
Use std::vector<float> for dash array. Use compiler-generated default operations. Squeeze some enums. Fix obvious logic botch in DashChanged(). Change-Id: If1d809cc46a3cf2db98a09a3f5a49d22138c0640 Reviewed-on: https://pdfium-review.googlesource.com/42613 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-09-24Revert "Make potentially dangerous Actions require a user click."Henrique Nakashima
This reverts commit 9d784c291714b703b16185e69860a3797de85b6c. Reason for revert: Roll into chromium is stuck, this is a potential culprit. Original change's description: > Make potentially dangerous Actions require a user click. > > URI and SubmitForm actions are only handled if the event was > ButtonUp or ButtonDown. > > Bug: 851821 > Change-Id: If6eb0ff44f6d62ac6df50b552c0bdc582885ab5d > Reviewed-on: https://pdfium-review.googlesource.com/42731 > Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> > Reviewed-by: Tom Sepez <tsepez@chromium.org> > Reviewed-by: Ryan Harrison <rharrison@chromium.org> TBR=tsepez@chromium.org,hnakashima@chromium.org,rharrison@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 851821 Change-Id: I6f1bc0a02f65a24fbd49d53526b985f8a4ea0b4f Reviewed-on: https://pdfium-review.googlesource.com/42990 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-09-22Remove useless charset data in CFGAS_FontMgr.Lei Zhang
Fix some nits too. Change-Id: I7d088f28b3b6898fcfbafb9c0e6eac6442ff1515 Reviewed-on: https://pdfium-review.googlesource.com/42910 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-09-22Roll build/ f53effa79..dfca77bb0 (53 commits)Lei Zhang
https://chromium.googlesource.com/chromium/src/build.git/+log/f53effa79190..dfca77bb0d1a Created with: roll-dep build TBR=hnakashima@chromium.org Change-Id: I5cfba813f404ab7a3ac69f8b66ba0f991e195cb0 Reviewed-on: https://pdfium-review.googlesource.com/42971 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-22Move some CFGAS_FontMgr methods into an anonymous namespace.Lei Zhang
They do not have to be part of the class. Fix nits and lint errors too. Change-Id: Ie8f745f378beeebf05841ff17a98141924999613 Reviewed-on: https://pdfium-review.googlesource.com/42890 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-22Change CBC_QRCoderMatrixUtil::BuildMatrix() to return a bool.Lei Zhang
Fix caller code and remove some impossible to reach code inside CBC_QRCoderMatrixUtil. Change-Id: I3b0cc0750784e806ba4050fb2487675dee4ee8c3 Reviewed-on: https://pdfium-review.googlesource.com/42455 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-09-22Encapsulate CBC_QRCoderMatrixUtil code.Lei Zhang
Change-Id: I82ae8d25f0af74724bffa8177300148afc2286e4 Reviewed-on: https://pdfium-review.googlesource.com/42470 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-09-22Remove CBC_CommonByteArray and CBC_QRCoderBlockPair.Lei Zhang
CBC_CommonByteArray is just a std::vector. CBC_QRCoderBlockPair is just a struct with two vectors. Change-Id: I9e5fdab18f07a1cff7ee486dfce619f9391c80dc Reviewed-on: https://pdfium-review.googlesource.com/42454 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Wei Li <weili@chromium.org>
2018-09-21Cleanup in CCodec_FaxModuleNicolas Pena
This CL moves FaxG4Decode to the class where it's implemented. It should remain there because it calls FaxG4GetRow, declared and used in the cpp file. Do some ++ cleanup while at it. This CL also makes CCodec_FaxModule own some methods that were namespaced since doing so allows removing a bunch of parameters. Change-Id: I24787f5668c7273b9bdb4009c3d0b29590c5552f Reviewed-on: https://pdfium-review.googlesource.com/42950 Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-09-21Replace CPDF_Color::Copy() with honest-to-goodness operator=().Tom Sepez
Change-Id: Ifcce7b1e513c8859752d5248ae686bbe5349e342 Reviewed-on: https://pdfium-review.googlesource.com/42614 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-09-21Make OutputIndex() a void methodNicolas Pena
The return value is never used, so OutputIndex() can be void. The if statement still helps to stop when the work has failed. Change-Id: I7e9c72db1d1e226bb0466ebb26fd07915e2396bf Reviewed-on: https://pdfium-review.googlesource.com/42930 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-09-21Fix destruction order with CPDF_StreamAcc.Lei Zhang
Commit d39389f6 changed CPDF_StreamAcc to use MaybeOwned, so now callers have to destroy it more carefully, so CPDF_StreamAcc does not end up with a dangling pointer. BUG=chromium:887626 Change-Id: Id5e7af96aad6270c444485c1574182da5dbd9ebf Reviewed-on: https://pdfium-review.googlesource.com/42893 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-21Remove unreachable code in CPDF_DIBBase.Lei Zhang
The colorspace is always available when creating image decoders that use colorspaces. Change-Id: I20ac75edcd614ccc1e83de262c128776e9d03eed Reviewed-on: https://pdfium-review.googlesource.com/42872 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-21Validate more image values in CPDF_DIBBase.Lei Zhang
Change-Id: Ia5f72e6397ee959d897a945c4069f47c494b5511 Reviewed-on: https://pdfium-review.googlesource.com/42870 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-20Make potentially dangerous Actions require a user click.Henrique Nakashima
URI and SubmitForm actions are only handled if the event was ButtonUp or ButtonDown. Bug: 851821 Change-Id: If6eb0ff44f6d62ac6df50b552c0bdc582885ab5d Reviewed-on: https://pdfium-review.googlesource.com/42731 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-20Make some methods const in XFAJSEmbedderTestchromium/3560chromium/3559chromium/3558Nicolas Pena
This CL addresses the published draft comment from https://pdfium-review.googlesource.com/c/pdfium/+/5691/ Change-Id: I7a2cd9aa5dbdde18cadb82cbef70f0e8820cc276 Reviewed-on: https://pdfium-review.googlesource.com/42871 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-09-20Roll testing/corpus/ 2ddedb263..19feefee4 (1 commit)Lei Zhang
https://pdfium.googlesource.com/pdfium_tests/+log/2ddedb263bd5..19feefee44bd Created with: roll-dep testing/corpus TBR=tsepez@chromium.org Change-Id: I053e08d6d9fa668daa4f0a71dd6e9dc6822fe7b0 Reviewed-on: https://pdfium-review.googlesource.com/42813 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-20Validate some image data in CPDF_Image::InitJPEG().Lei Zhang
Change-Id: I55e840667acfda831488d75efc97504355813dd1 Reviewed-on: https://pdfium-review.googlesource.com/42850 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-20Use pdfium::Optional with FPDF_Doc_Save().Lei Zhang
Also rename it to DoDocSave(), since it is not a public API. Change-Id: I88992d12d1b7826c621de0b88692ab33f6d83a06 Reviewed-on: https://pdfium-review.googlesource.com/42815 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-20Change CFX_FixedBufGrow to take a size_t.Lei Zhang
Thanks to Qihoo 360 Vulcan Team for pointing this out. Change-Id: Ib6dd77307b3759e54168127dc0e17aa42698d852 Reviewed-on: https://pdfium-review.googlesource.com/42830 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-20Remove extraneous 'extern "C"' entries.Lei Zhang
Also remove dead code found along the way, and fix lint errors. BUG=pdfium:410 Change-Id: I4cd0ede516483209cf49a6686d909953ab196106 Reviewed-on: https://pdfium-review.googlesource.com/42771 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-20Fix misc lint errors and other cleanups.Lei Zhang
Change-Id: I00ce0109251d1231858e87ffc3889abe6937fa26 Reviewed-on: https://pdfium-review.googlesource.com/42811 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-09-20Remove more unneeded STL #includes from headers.Lei Zhang
Remove some variables named "string" to avoid false positives from the linter. Change-Id: I00a53e6970451fd0cea8ab2f8178183650ca00d2 Reviewed-on: https://pdfium-review.googlesource.com/42810 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-20Remove many unneeded STL #includes from headers.Lei Zhang
Change-Id: I7010cedee8d17d05b2c37a94d767e6f3a9c48f7d Reviewed-on: https://pdfium-review.googlesource.com/42790 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-19Use MaybeOwned in CPDF_StreamAcc.chromium/3557Lei Zhang
Change-Id: Iba886e51cf34ea01ed0d93afc93c8ec0ffed4f52 Reviewed-on: https://pdfium-review.googlesource.com/42594 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-09-19Roll testing/corpus/ 6cd71979b..2ddedb263 (1 commit)Lei Zhang
https://pdfium.googlesource.com/pdfium_tests/+log/6cd71979b56e..2ddedb263bd5 $ git log 6cd71979b..2ddedb263 --date=short --no-merges --format='%ad %ae %s' 2018-09-19 thestig Add Skia xfermode test output to testing corpus. Created with: roll-dep testing/corpus TBR=hnakashima@chromium.org BUG=pdfium:1152 Change-Id: I492a1260455d4355469ffe9eaf90be367d2932c2 Reviewed-on: https://pdfium-review.googlesource.com/42770 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-19Consolidate raw data processing path in CPDF_StreamAcc.Lei Zhang
Add ProcessRawData() and ProcessFilteredData() helper methods for the consolidated branches. Change-Id: I88fb0ffb76e5d354bc311490a9d995e07fbc2174 Reviewed-on: https://pdfium-review.googlesource.com/42593 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-09-19Initialize CPDF_ImageRenderer in the header.Lei Zhang
Also add a GetRenderOptions() helper method. Change-Id: I47db7a21f55f396e08775575f6b2a48e440c2f91 Reviewed-on: https://pdfium-review.googlesource.com/42750 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-09-19Encapsulate CPDF_ImageLoader.Lei Zhang
Change-Id: Iee7ce04630fed86f651cd382a19e46b2f7ab6d61 Reviewed-on: https://pdfium-review.googlesource.com/42672 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-19Validate decoder pipelines.Lei Zhang
PDF decoders, AKA filters, can be chained together. There can be an arbitrary number of decoding / decompressing filters in the pipeline, but there should be at most 1 image decoder, and the image decoder should only be at the end of the chain. BUG=chromium:880675 Change-Id: Iffa27c70ec1ed7574e38e0de23413840ee900959 Reviewed-on: https://pdfium-review.googlesource.com/42711 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>