summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-20Fix nits in JSEmbedderTest.Lei Zhang
Change-Id: Ib03ee28f7a52cd5aa53c315402141b3b6cff5e7d Reviewed-on: https://pdfium-review.googlesource.com/21892 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-20IWYU in testing/range_set.h.Lei Zhang
Change-Id: I8d5ae99b22520c3695e026c0ab79b570d1965d52 Reviewed-on: https://pdfium-review.googlesource.com/21810 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-20Combine operator< and ByteString::Compare().Lei Zhang
Fix or optimize some ByteString::Compare() callers. Change-Id: I0fde91afc3d17fe160b46d00a441ad05e56377e7 Reviewed-on: https://pdfium-review.googlesource.com/20851 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-20Add comments for CPDF_AAction types.Lei Zhang
Change-Id: I7beca1aec8fe2dcd07a7bff7d173d2a5b39fa7b9 Reviewed-on: https://pdfium-review.googlesource.com/21830 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-20Roll DEPS for third_party/android_ndk to d5752321.Lei Zhang
Routine roll. https://chromium.googlesource.com/android_ndk/+log/26d93ec0..d5752321 TBR=jbudorick@chromium.org Change-Id: Icd89e4ede887b8908bf25ad0f83de5ea8eb62ac8 Reviewed-on: https://pdfium-review.googlesource.com/21870 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-20Roll DEPS for clang to 8427dae2.Lei Zhang
AKA roll Clang 315613:317263. https://chromium.googlesource.com/chromium/src/tools/clang/+log/e7b39c73..8427dae2 TBR=dsinclair@chromium.org Change-Id: Ifffd284f6767495506f762c0122c75d951cd007c Reviewed-on: https://pdfium-review.googlesource.com/21350 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-12-19Fix use_system_freetype=true build when third_party/freetype is missingTom Anderson
BUG=pdfium:733 R=thestig@chromium.org Change-Id: I6beab792c0b8cb0d0e4f5ea8c6e6c3138ccade5f Reviewed-on: https://pdfium-review.googlesource.com/21470 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-12-19Add parameter validation to CPDF_ShadingPattern.Henrique Nakashima
Check if the ColorSpace and the Function params are valid for the shading type. Bug: chromium:794990 Change-Id: I022e976e5489a6b325d95ad16eab056235a8944d Reviewed-on: https://pdfium-review.googlesource.com/21450 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-12-19Remove some dead code.Lei Zhang
Change-Id: I8edb14c024860c66b5e6c014136393e71e38387d Reviewed-on: https://pdfium-review.googlesource.com/21570 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-19Add missing fpdfview_c_api_test.c entries.Lei Zhang
Add a presubmit check to prevent future missing entries. Also fix an erroneous header entry. Change-Id: I8aeafd820de984f5af90b3e4ea428f582e82f254 Reviewed-on: https://pdfium-review.googlesource.com/21571 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-19Require valid color space for shading pattern.Henrique Nakashima
Bug: chromium:795889 Change-Id: If29a0f6f7d95bedf014464239da1f8b56e55c9b6 Reviewed-on: https://pdfium-review.googlesource.com/21750 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-12-19Change pattern creation checks in CPDF_DocPageData::GetPattern().Lei Zhang
Do them in the right places, instead of having a catch-all at the end. Change-Id: Ie26f06dbd1c50d5b5bf57aa1f9993d5d19f74c02 Reviewed-on: https://pdfium-review.googlesource.com/21670 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-19Fix some nits in build configs.Lei Zhang
Mostly to sort build rules. Change-Id: I2ee4d24089f9e51b0a61b1f30b424f5f7aab7d0a Reviewed-on: https://pdfium-review.googlesource.com/21730 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-19Configure CQ to use Windows MSVC bots.Lei Zhang
BUG=pdfium:871 TBR=dsinclair@chromium.org Change-Id: I84c257e50827b3913f900c14eac5283a4563c53a Reviewed-on: https://pdfium-review.googlesource.com/21710 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-18Roll DEPS for clang to e7b39c73.chromium/3299Lei Zhang
AKA roll Clang 315613:317263. https://chromium.googlesource.com/chromium/src/tools/clang/+log/0235fed9..e7b39c73 Roll build to match. https://chromium.googlesource.com/chromium/src/build/+log/159ee37d..92d3b8cf TBR=dsinclair@chromium.org Change-Id: I0254937285bca59e6bff59e64fbc69b80ff3f3a8 Reviewed-on: https://pdfium-review.googlesource.com/21330 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-12-16Fix null-dereference in CPDF_ShadingPattern::Load().chromium/3298chromium/3297Lei Zhang
BUG=chromium:795490 TBR=hnakashima@chromium.org Change-Id: Ic9f12c1c709c148f7294ab2aaf65fcc695960835 Reviewed-on: https://pdfium-review.googlesource.com/21530 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-16Configure CQ to use Windows ASAN bots.Lei Zhang
BUG=pdfium:749 TBR=dsinclair@chromium.org Change-Id: I3a761090720752d3fe4ca3714ffa7947250be79f Reviewed-on: https://pdfium-review.googlesource.com/21510 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-15Validate base color space of Indexed color spaces.chromium/3296Henrique Nakashima
Change-Id: I2c1dbf4fe08396130d2fcecd70e175233316579b Reviewed-on: https://pdfium-review.googlesource.com/21430 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2017-12-15Validate shading pattern's ColorSpace. It cannot be a Pattern CS.Henrique Nakashima
Bug: chromium:795251 Change-Id: I6c4fd75a5afd16ced499d031f9b535f8c6828854 Reviewed-on: https://pdfium-review.googlesource.com/21410 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2017-12-14Add restrictions to alternate color spaces.chromium/3295Henrique Nakashima
- ICC color spaces cannot have a Pattern color space as Alternate - Separation and DeviceN color spaces cannot have a special color space as Alternate. Special color spaces are {Separation, DeviceN, Indexed and Pattern}. Bug: chromium:794492 Change-Id: Ia2199382c759d8d1d13c605c22d6495e935265ad Reviewed-on: https://pdfium-review.googlesource.com/21310 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-14Fold CXFA_ParaData into CXFA_ParaDan Sinclair
This CL removes the CXFA_ParaData wrapper and folds the code into CXFA_Para. Change-Id: I86d139f1df48dcc80d28c7516b1bda95a59e94bd Reviewed-on: https://pdfium-review.googlesource.com/21270 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-14Add type information to CJX_Object::GetPropertyDan Sinclair
This CL adds a type template to the CJX_Object::GetProperty method so we can have the correct types returned. Change-Id: Ieda8ec4bd31d26a1e71af30f08b48eb826f5993d Reviewed-on: https://pdfium-review.googlesource.com/21250 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-14Add types to the CXFA_Node::Get*{Child|Sibling}* methodsDan Sinclair
This CL templates the various Get methods in CXFA_Node in order to return the correct node type. Change-Id: I4f50df6dd9213873deb8f8f262eaf579c6c4ca7d Reviewed-on: https://pdfium-review.googlesource.com/21230 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-14Change CXFA_Node::GetChild to return proper typesDan Sinclair
Currently CXFA_Node::GetChild always returns a CXFA_Node* object. We know the type we want when we call GetChild, so this CL changes the code to add a template parameter to GetChild and return the correct CXFA_Node subtype for the desired element. Change-Id: I5aecf2e840504235dc246483abee48e0564841fe Reviewed-on: https://pdfium-review.googlesource.com/21210 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-14Reduce XFA image fuzzer size limit to 64MBRyan Harrison
BUG=chromium:794351 Change-Id: Ieb876560674dfa0728d66f2ad3411f3f569d0ffa Reviewed-on: https://pdfium-review.googlesource.com/21290 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2017-12-14Fold CXFA_ScriptData into CXFA_ScriptDan Sinclair
This CL removes the CXFA_ScriptData wrapper and uses CXFA_Script directly. Change-Id: I1f1932ef96ee4a24407de7eb1d68b8631a5a67ea Reviewed-on: https://pdfium-review.googlesource.com/21173 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-14Fold CXFA_SubmitData into CXFA_SubmitDan Sinclair
CXFA_SubmitData is a thin wrapper around CXFA_Submit. This CL folds the two classes together. Change-Id: I867b6db067786d232df2a25c1ba7b29d6d454f8e Reviewed-on: https://pdfium-review.googlesource.com/21190 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-14Fold CXFA_TextData into CXFA_TextDan Sinclair
This CL folds the CXFA_TextData back into CXFA_Text. CXFA_TextData is a thin wrapper around the CXFA_Text object. Change-Id: I4edc37f2ac66fc9b662942d3351fce6b697f27c7 Reviewed-on: https://pdfium-review.googlesource.com/21172 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-14Fold CXFA_ValueData into CXFA_ValueDan Sinclair
The CXFA_ValueData class is a thin wrapper around the CXFA_Value, this CL moves the methods from CXFA_ValueData into CXFA_Value. Change-Id: I2c57e93e5c4675b82af71cf75f2dfc0fb12e4b20 Reviewed-on: https://pdfium-review.googlesource.com/21170 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-14Fold CXFA_ValidateData into CXFA_ValidateDan Sinclair
The ValidateData class is a thin wrapper around the Validate class. Now that the Validate class exists we can fold the methods from ValidateData into Validate. Change-Id: I1e72f4b7bddeb22a311f4fe9a5940204221b6d2a Reviewed-on: https://pdfium-review.googlesource.com/21150 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-14Create classes for XFA JS objectsDan Sinclair
This CL creates classes for the various XFA JS objects. The method calls from xfa_basic_data_element_script have been modified to call these methods instead of methods in CJX_Object. Change-Id: Idb2de38656f7e8edc559d44921eba25073e6c806 Reviewed-on: https://pdfium-review.googlesource.com/21110 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-13Refactor CFXA_*List constructorschromium/3294Ryan Harrison
This removes the double adding to the cache list in the engine that is occuring for TreeList. It also sets the correct TreeList specific values at the Object level. BUG=pdfium:665 Change-Id: Ie972daee4c638f34ad207f6502dc6d34cbebf1b6 Reviewed-on: https://pdfium-review.googlesource.com/21171 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2017-12-13Methods are on CJX_Object not CJX_Node nowDan Sinclair
This CL converts all of the JSNode() to JSObject() calls as all of the original CJX_Node methods have been moved to CJX_Object. This fixes potential bad casts from things like CJX_Content which do not inhert from CJX_Node. Bug: pdfium:793372 Change-Id: I6c7f63a78f3d47bb6bad74faed3fd8c535bf095e Reviewed-on: https://pdfium-review.googlesource.com/21090 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-13Get rid of CXML_AttrMap.Lei Zhang
BUG=pdfium:541 Change-Id: Id401af00e4cffebb49e187bf3a445439ce8c1082 Reviewed-on: https://pdfium-review.googlesource.com/21074 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-13Fix some nits in CXML_Element.Lei Zhang
Move FX_XML_SplitQualifiedName() out of CXML_Parser, and add CXML_Element::MatchesElement(). Change-Id: I34adc6f3b19e745ae33db0edf65184346cc1c13f Reviewed-on: https://pdfium-review.googlesource.com/21073 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-13Use size_t in CXML_Element and callers.Lei Zhang
Change-Id: I9ebacd18252a837f1f5f13ccaec19b196bacc3ae Reviewed-on: https://pdfium-review.googlesource.com/21072 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-13Simplify CXML_Element::GetTagName().Lei Zhang
It has an unused parameter. Change-Id: Iae92b8f84bc560055cb0cd730a0fe52c8bd9dd79 Reviewed-on: https://pdfium-review.googlesource.com/21071 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-13Inline CXML_Element private methods.Lei Zhang
Bug: 541 Change-Id: I43bb09312b0d7312207e5c235ba80a2593877d07 Reviewed-on: https://pdfium-review.googlesource.com/21070 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-13Remove dead CXML_Element code.Lei Zhang
Move non-trivial implementations into the .cpp file as well. Change-Id: Iebe7d7284e453c6405cddfe880e2c85aa0c804ab Reviewed-on: https://pdfium-review.googlesource.com/21050 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-12-13Update build instructions on WindowsWei Li
Since we share the build tool with Chromium, and get their updates regularly, we would share the Windows Visual Studio requirements document as well. This can keep the doc more update to date. BUG= Change-Id: I2f667a8d96a1017abedf6c4d238d0528f0d97de3 Reviewed-on: https://pdfium-review.googlesource.com/21030 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-13Move remaining Script_ methods to CJX_ObjectDan Sinclair
The CJX_Node isn't the root of the CJX hierarchy. This causes issues now that CJX_Object has child objects which don't inherit from CJX_Node. This CL moves Script_* from CJX_Node to CJX_Object. Change-Id: I9f063c9d796896ba34be802a8ef8f108911ed56c Reviewed-on: https://pdfium-review.googlesource.com/20972 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-13Move Script_Som_* methods to CJX_ObjectDan Sinclair
The CJX_Node isn't the root of the CJX hierarchy. This causes issues now that CJX_Object has child objects which don't inherit from CJX_Node. This CL moves Script_Som_* from CJX_Node to CJX_Object. Change-Id: Iacb21758d9bf83f148044af225c710ad7d8521d2 Reviewed-on: https://pdfium-review.googlesource.com/20993 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-12Roll pdfium/third_party/freetype/src/ bec14f688..2c048a8a6 (25 commits)chromium/3293Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/bec14f688925..2c048a8a622e $ git log bec14f688..2c048a8a6 --date=short --no-merges --format='%ad %ae %s' 2017-12-11 wl Fix compiler warning (#52640). 2017-12-09 azzuro * builds/windows/vc2010/freetype.vcxproj: Adjust output directory. 2017-12-09 wl Fix `make setup dos', second try (#52622). 2017-12-08 wl Documentation fixes for the last few commits. 2017-12-08 wl [docmaker] Fix code section parsing. 2017-12-08 wl New `ftdriver.h' file, covering all driver modules. 2017-12-08 wl Move `ftdriver.h' to `ftdrv.h'. 2017-12-08 wl Fix access to uninitalized memory (#52613). 2017-12-08 wl Fix `make setup dos' (#52622). 2017-12-07 wl .mailmap: Add Ewald. 2017-12-07 wl Use ASCII only in public header files (#50858). 2017-12-07 wl Fix C++ compilation. 2017-12-07 wl Fix `make multi'. 2017-12-07 wl * include/freetype/config/ftheader.h: Some clean-up. 2017-12-06 wl * builds/symbian/bld.inf: Updated. 2017-12-06 wl New header file `ftparams.h' that collects all parameter tags. 2017-12-05 wl Improve tracing messages by using singular and plural forms. 2017-12-04 wl Update or fix links to use the https protocol instead of http. 2017-12-04 wl [truetype] Allow shared points in `cvar' table (#52532). 2017-11-28 wl [truetype] Improving tracing of composite glyphs. 2017-11-27 wl Allow (again) encoding vectors with more than 256 elements (#52464). 2017-11-27 jan.steffens Fix last commit (#52522). 2017-11-24 wl [unix] Install a massaged `ftoption.h' file (#51780). 2017-11-23 wl Minor. 2017-11-23 tor.andersson Silence unused function warnings. Created with: roll-dep pdfium/third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:961 Change-Id: I6ada047f9a06a755c85544fca4e3b0d6c56d3bbc Reviewed-on: https://pdfium-review.googlesource.com/21010 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-12-12Move Script_Som_*Message methods to CJX_ObjectDan Sinclair
The CJX_Node isn't the root of the CJX hierarchy. This causes issues now that CJX_Object has child objects which don't inherit from CJX_Node. This CL moves Script_Som_*Message from CJX_Node to CJX_Object. Change-Id: I04b7e03aa78d14d7d5dba1926a808cef852d5218 Reviewed-on: https://pdfium-review.googlesource.com/20992 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-12Move Script_Som_{Fill|Font}Color to CJX_ObjectDan Sinclair
The CJX_Node isn't the root of the CJX hierarchy. This causes issues now that CJX_Object has child objects which don't inherit from CJX_Node. This CL moves Script_Som_{Fill|Font}Color from CJX_Node to CJX_Object. Change-Id: I681d2c09a7560eb96967bbbbcb050246f4b879c0 Reviewed-on: https://pdfium-review.googlesource.com/20991 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-12Move Script_Som_Border{Width|Color} to CJX_ObjectDan Sinclair
The CJX_Node isn't the root of the CJX hierarchy. This causes issues now that CJX_Object has child objects which don't inherit from CJX_Node. This CL moves Script_Som_Border{Width|Color} from CJX_Node to CJX_Object. Change-Id: I07ba9ef2af675993c9f4d14cb74f48252a907569 Reviewed-on: https://pdfium-review.googlesource.com/20990 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-12Roll DEPS for Skia to 40ca2087.Lei Zhang
Routine roll, with update for a removed API call. https://chromium.googlesource.com/skia/+log/d6c04d9a..40ca2087 Change-Id: I938b214fbb79cea6fed99edb5ca7d90a779bb8e8 Reviewed-on: https://pdfium-review.googlesource.com/20930 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-12Combine WideString::operator< and Compare().Lei Zhang
Change-Id: I3ea13ace6290e8fab41a3f65c9ac047407a74e4d Reviewed-on: https://pdfium-review.googlesource.com/20852 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-12Move Script_Attribute_Integer to CJX_ObjectDan Sinclair
The CJX_Node isn't the root of the CJX hierarchy. This causes issues now that CJX_Object has child objects which don't inherit from CJX_Node. This CL moves Script_Attribute_Integer from CJX_Node to CJX_Object. Change-Id: Iec9d38440756827fa52561cb5938af4041738ad5 Reviewed-on: https://pdfium-review.googlesource.com/20951 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-12Use early returns in pdf_parser_decode.cpp.Lei Zhang
Also add a GetUnicodeFromBytes() helper function and use FX_INVALID_OFFSET more often. Change-Id: I3b0954e0cad31a600b0a990360ab370186c792d6 Reviewed-on: https://pdfium-review.googlesource.com/20850 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>