summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-27Convert CPDF_TextObject to not use CollectionSizeDan Sinclair
This CL updates various methods in CPDF_TextObject to return or received size_t values. Callers have been updated as needed. Bug: pdfium:774 Change-Id: Id72511bc74637c6261add39f5414c9a4b8390b82 Reviewed-on: https://pdfium-review.googlesource.com/19430 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2017-11-27Convert CPDF_ClipPath::Get{Path|Text}Count to size_tDan Sinclair
This CL updates the various call sites to use size_t instead of other types. Bug: pdfium:774 Change-Id: Id8b75728b61c0ca1b15bc815831c885d33374f7b Reviewed-on: https://pdfium-review.googlesource.com/19410 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-11-27Add some helpers for attribute lookupDan Sinclair
This CL adds helpers to CXFA_Node to convert from strings to attributes and from attributes to their string names. A static_assert was added to make sure the list of attributes is the same size as the attribute data so the checks can be removed. Change-Id: Idebc65021d71f604bcf498e4cf42252af00d802b Reviewed-on: https://pdfium-review.googlesource.com/19270 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-27Remove use of CollectionSize from CPDF_CMapParserDan Sinclair
Bug: pdfium:774 Change-Id: Ie24d0741f8c8d7988166aeb4b9ce87491993d30c Reviewed-on: https://pdfium-review.googlesource.com/19390 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-11-27Generate XFA node classesDan Sinclair
This CL adds concrete classes for each of the XFA Node types. Change-Id: Ieac8e2fcd5d13c61daa27fc63e3d80abb7aa7a29 Reviewed-on: https://pdfium-review.googlesource.com/18271 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-23Roll pdfium/third_party/freetype/src/ 8f5568bfc..bec14f688 (5 commits)chromium/3278Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/8f5568bfc4fd..bec14f688925 $ git log 8f5568bfc..bec14f688 --date=short --no-merges --format='%ad %ae %s' 2017-11-22 ewaldhew * src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting. 2017-11-22 ewaldhew [psaux] Fix CFF advance widths. (#52466) 2017-11-15 vtsyrklevich * include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type. 2017-11-14 madigens Use Adobe hinting engine for `light' hinting of both CFF and Type 1. 2017-11-09 yuri_levchenko * CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option. Created with: roll-dep pdfium/third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:941 Change-Id: I00579a3e26d9cabce7032e0b538de95a1029bac7 Reviewed-on: https://pdfium-review.googlesource.com/19310 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-11-23Cleanup CXFA_WidgetDatachromium/3277Dan Sinclair
This CL cleans up return values, out-params and changes simple methods to boolean checks where possible in CXFA_WidgetData. Change-Id: I29daa67993730f3e9d61cb6fdf918a886cc9120e Reviewed-on: https://pdfium-review.googlesource.com/19230 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-22Rename CXFA_WidgetData::GetAccess to ::IsOpenAccessDan Sinclair
We never use ::GetAccess to get the value in general, just to see if it's set to Open or not. This CL makes the usage clearer. Change-Id: I0e978a8b8e642c7441ab2ceb8062f672ceea7d55 Reviewed-on: https://pdfium-review.googlesource.com/19210 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-11-22Cleanup CXFA_ValueDataDan Sinclair
This CL makes the methods const and uses return values instead of out-params. Change-Id: If760cd8c10d8f3a94dd3e13c46200cb6738a4d5a Reviewed-on: https://pdfium-review.googlesource.com/19150 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-11-22Cleanup CXFA_ValidateDataDan Sinclair
This CL removes out-params in favour of returns; Makes params const; Cleans up return types. Change-Id: I2b7c237130a99859b08af0486a95b4c6f6974f62 Reviewed-on: https://pdfium-review.googlesource.com/19130 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-22Call FreeLibrary() in CGdiplusExt.chromium/3276Lei Zhang
BUG=pdfium:939 Change-Id: I4204965bd8b81bea3c485fcb27adfa212cce4e69 Reviewed-on: https://pdfium-review.googlesource.com/19190 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-11-22Change CPDF_ContentMark to return size_t for counts.Lei Zhang
Change-Id: I45468fa7944290fbbe3d2e67f884164ae8d84160 Reviewed-on: https://pdfium-review.googlesource.com/19171 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-22Remove dead CPDF_ContentMark code.Lei Zhang
Change-Id: Ic552a652856ca231f3d2077c76a20d5916adb3c1 Reviewed-on: https://pdfium-review.googlesource.com/19170 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-22Remove some pointless assignments to "".Lei Zhang
Or change them to clear(). Change-Id: Ia9e3e1f0d74b948cec3f8df85d205f830ac9216c Reviewed-on: https://pdfium-review.googlesource.com/19172 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-21Cleanup CXFA_TextDatachromium/3275Dan Sinclair
This CL makes GetContent const. Change-Id: I0dc3f939d265f4605a1bfb14020ca938d47f5602 Reviewed-on: https://pdfium-review.googlesource.com/19112 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Avoid passing pointers by reference in core.Lei Zhang
This gets rid of most core/ non-const ref passing, either by passing by pointer-to-pointer instead, or by returning std::pair. Change-Id: Id7bdc355a1a725a05f9fa2f1e982ca8c975beef1 Reviewed-on: https://pdfium-review.googlesource.com/19030 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_SubmitDataDan Sinclair
This CL cleans up the CXFA_SubmitData methods by using returns instead of out-params, sets the correct return types and makes the methods const. Change-Id: I41fe8f59e450ca444b64c291ac4a0a199c7ad0cf Reviewed-on: https://pdfium-review.googlesource.com/19111 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_StrokeDataDan Sinclair
This CL fixes return types and makes methods consts. Change-Id: I97da09a491d10760d6adf4efcc0557130cf8b405 Reviewed-on: https://pdfium-review.googlesource.com/19110 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_ScriptDataDan Sinclair
This CL cleans removes out params, makes methods const and moves the XFA_ScriptDataType into CXFA_ScriptData. Change-Id: I5a51a0eddc3608577a387472911000daa479af0f Reviewed-on: https://pdfium-review.googlesource.com/19090 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_ParaDataDan Sinclair
This CL fixes the return types and makes the CXFA_ParaData methods const. Change-Id: Ifb63b46e826d9741682d992d7fc1ee37c772fb41 Reviewed-on: https://pdfium-review.googlesource.com/19070 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_OccurDataDan Sinclair
Make methods const, use return instead of out params. Change-Id: Idfdae8df5cd74ba0bce08c05a6fc34b168d25f79 Reviewed-on: https://pdfium-review.googlesource.com/19050 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_LineDataDan Sinclair
Make methods const and return the correct types. Change-Id: Icaa1c17d611a69227f67ea398e4b3cc17bc1004b Reviewed-on: https://pdfium-review.googlesource.com/19011 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_ImageDataDan Sinclair
This CL removes the second constructor parameter which is always true and removes all related conditionals. The methods have been changed to const and return instead of using out parameters. Change-Id: Id6d2aa533a212e961e3b8169eef57b7e868d503e Reviewed-on: https://pdfium-review.googlesource.com/19010 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-11-21Cleanup CXFA_FontDataDan Sinclair
This CL makes the various methods const and removes out params from CXFA_FontData. Change-Id: I85268906a2454c23b73d5724c2556758246791cb Reviewed-on: https://pdfium-review.googlesource.com/18970 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-11-21Cleanup CXFA_FillDataDan Sinclair
This CL makes the CXFA_FillData methods const and splits them into retrieving fill information and fill colour methods. Change-Id: Ie407be87c631ea68efa0934d9a98e412ed1eb922 Reviewed-on: https://pdfium-review.googlesource.com/18950 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Add {Byte/Wide}String::Trim().Lei Zhang
So callers no longer have to call str.TrimLeft(); str.TrimRight(); Change-Id: If931eaa8d891f487b9618ebbeee5ee294e807846 Reviewed-on: https://pdfium-review.googlesource.com/18990 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-21Clean up CJS_PublicMethods.Lei Zhang
Change-Id: I0f488814f4345661226cd4f2ce8dc68739d17bb2 Reviewed-on: https://pdfium-review.googlesource.com/18730 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-21Make CXFA_CaptionData methods constDan Sinclair
Change-Id: I132fc2e7a2f441ed0bdcfad16b32c65ad4433a1b Reviewed-on: https://pdfium-review.googlesource.com/18930 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Make CXFA_CalculateData methods constDan Sinclair
Change-Id: Ic939cd7dd49aab7db59244eed6e0513bf2ca7e69 Reviewed-on: https://pdfium-review.googlesource.com/18914 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Remove unused CXFA_BoxData methodsDan Sinclair
Unused, removed. Change-Id: I5e4fec6f5737546f5c022af594e137d1d86725fd Reviewed-on: https://pdfium-review.googlesource.com/18913 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_BindItemsData methodsDan Sinclair
This CL removes the unused SetConnection method and makes the Get methods const. Change-Id: Id65cf41b07491a6503be0dec00db8b9ac73bb953 Reviewed-on: https://pdfium-review.googlesource.com/18912 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Cleanup CXFA_EventData methodsDan Sinclair
This CL changes the GetRef method to return a WideString instead of taking an out param and removes the unused GetSignDataTarget method. Change-Id: If50c4243fa136000fda8e4411ada4cd9cd8b20d5 Reviewed-on: https://pdfium-review.googlesource.com/18911 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Rename CXFA_DataData::TryMeasureDan Sinclair
This CL renames CXFA_DataData::TryMeasure to TryMeasureAsFloat and changes to return an Optional instead of a bool with an out-param. Change-Id: I5adb75e3b8a2fb19330b33c90111f59f8c8cf722 Reviewed-on: https://pdfium-review.googlesource.com/18910 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Remove unused CXFA_DataData::SetMeasureDan Sinclair
Not called, removed. Change-Id: I83877ba786990869ece29d33bb06dd6954b249dc Reviewed-on: https://pdfium-review.googlesource.com/18893 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Convert CXFA_WidgetData methods to OptionalDan Sinclair
This CL converts the CXFA_WidgetData size methods to return Optionals instead of boolean with an out parameter. Change-Id: Ibf2fef5a58896abfea9865e086029377c051bdb6 Reviewed-on: https://pdfium-review.googlesource.com/18892 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Rename the CXFA_WidgetData size methods from Get to TryDan Sinclair
These methods all return a boolean so should be named Try instead of Get. Change-Id: Ic447bd400c0b4ddcb0d15893883d480ebc33e17d Reviewed-on: https://pdfium-review.googlesource.com/18891 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Make CXFA_MarginData::Try* methods return OptionalDan Sinclair
This CL converts the CXFA_MarginData::Try{Left|Right|Top|Bottom}Inset methods to return an Optional instead of a bool with an out param. Change-Id: Ib48384c1670db7255b2b6388ced41f2f10fe4385 Reviewed-on: https://pdfium-review.googlesource.com/18890 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-21Add CXFA_MarginData::Get*Inset helpersDan Sinclair
This CL adds Get*Inset helpers to CXFA_MarginData which just return a default value of 0 if the Try*Inset method fails. Change-Id: I03b00b7a371c39e521f95952e965b4a3ef71d517 Reviewed-on: https://pdfium-review.googlesource.com/18870 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Rename CXFA_MarginData methodschromium/3274Dan Sinclair
This CL renames the CXFA_MarginData::Get*Inset methods to CXFA_MarginData::Try*Inset to match the fact that they may fail. The default value has been removed and all the callers correctly set the default values. Change-Id: Ib0dc8dc35807b60a0ddc0e5724604cb39845fcea Reviewed-on: https://pdfium-review.googlesource.com/18771 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Remove CXFA_DataData operator bool overrideDan Sinclair
This CL removes CXFA_DataData::operator bool in favour of an explicit HasValidNode method. This makes the call sites a lot clearer. Change-Id: I6fae14fdeec4674ca7916e21b9e5703070fc3069 Reviewed-on: https://pdfium-review.googlesource.com/18830 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2017-11-20Convert CXFA_CalculateData::GetMessageText to return WideStringDan Sinclair
Change-Id: I2ae79c6e77fe2717519156af15cd6cbdd19b58f1 Reviewed-on: https://pdfium-review.googlesource.com/18813 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2017-11-20Cleanup return types in CXFA_BoxDataDan Sinclair
This CL cleans up the return types in CXFA_BoxData to use std::tuple and pdfium::Optional where appropriate. Change-Id: I0790fb43769185fa4cbdd7460411a3d1120e9fa1 Reviewed-on: https://pdfium-review.googlesource.com/18812 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2017-11-20Convert CXFA_BindItemsData::Get* to return stringsDan Sinclair
This CL changes the CXFA_BindItemsData to return the WideString values instead of taking out params. Change-Id: Ic756da02121c4ce40a123b887cc774045cbfaa8e Reviewed-on: https://pdfium-review.googlesource.com/18811 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Convert picture methods to return the stringDan Sinclair
This CL converts CXFA_BindData::GetPicture and CXFA_WidgetData::GetPictureContent to return the WideString instead of taking an out param. The original bool result was never checked. Change-Id: I4503d53ac7276edea811a28c34c7d8cc4cb50572 Reviewed-on: https://pdfium-review.googlesource.com/18810 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Cleanup CXFA_{ExData|Image}Data Setter returns.Dan Sinclair
This CL changes the Set methods from {ExData|Image}Data which return bool but the return value is never used to return void instead. Change-Id: I0b6aa40e27839ffca21fdbcd6635d5a6224377e9 Reviewed-on: https://pdfium-review.googlesource.com/18790 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Remove return value from SetAttributeValueDan Sinclair
The CJX_Node::SetAttributeValue method always returns |true| and we never check the value. This CL changes the method to return |void| instead. Change-Id: Ia3162627dee926d602e7ffe74f9dca2c1fd81ca8 Reviewed-on: https://pdfium-review.googlesource.com/18770 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Convert calc data and layout item to store in CJX_NodeDan Sinclair
This CL moves the XFA_CalcData and XFA_LayoutItem out of the map'd data for a CJX_Node and stores directly on the node. This makes the object a bit bigger but makes the code a lot more understandable. Change-Id: I8897a52d61d37595181960c23928984aa5d67efc Reviewed-on: https://pdfium-review.googlesource.com/18590 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-11-20Remove {Set|Get|Try}Object methodsDan Sinclair
The CJX_Node::{Set|Get|Try}Object methods are used to set CXFA_WidgetData and CXFA_Node objects into the CJX_Node. This is stored in the node as void* data and custom delete methods are passed when needed. Instead, this CL just stores the two types of things we need on the CJX_Node and returns the correct types. This uses a bit more space on the CJX_Node, but it makes the code a lot clearer and simpler. Change-Id: I8546ea6456a1c1f5f8b602a6a420a0e85f3fac29 Reviewed-on: https://pdfium-review.googlesource.com/18570 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-20Make some CJS_EventHandler methods const.Lei Zhang
Change-Id: Ie95b6a4c2613b5e110d2dd1244dd4a87375f624f Reviewed-on: https://pdfium-review.googlesource.com/18750 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-20Add regression tests for issues with correctly removing hyphensRyan Harrison
There was a regression due to a refactor, where the public API was no longer removing soft hyphens for line broken words. This was causing issues with find and copy/paste operations that depend on selecting a region of text. This change is covered by FPDFTextEmbeddertest.GetTextWithHyphen. FPDFTextEmbeddertest.bug_782596 is a regression test for a bug that was introduced by the original fix. It only fails when running the test under ASAN. BUG=pdfium:935 Change-Id: I26096583c35f9246a3662e702f89b742f1146780 Reviewed-on: https://pdfium-review.googlesource.com/18610 Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>