summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-08Make CreateUIChild return the child typeDan Sinclair
This CL removes the out parameter and changes the method to return a std::pair. Change-Id: I3d1e83c387ae338e3f5d23eb8b91b28217235c33 Reviewed-on: https://pdfium-review.googlesource.com/22390 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-08Always enable hinting with versions of Freetype >= 2.8.1, which include ↵Andrew Weintraub
subpixel rendering unencumbered by patents. Bug: Change-Id: Idaff1bf21a1d17b6ea40b9fecec04c5f2d0c9392 Reviewed-on: https://pdfium-review.googlesource.com/22012 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-08Reland "[CFI] Enable type generalization for LCMS"Vlad Tsyrklevich
This relands commit 7829b7048d5cf13a4f1a806fed57f2440d1b5dec. This uses a new version of clang with a fix for the LSan issue that caused the previous revert. Original change's description: > [CFI] Enable type generalization for LCMS > > Control Flow Integrity [1] indirect call checking verifies that function > pointers only call valid functions with a matching type signature. This > condition can be too strict, a common form of 'abstraction' relies on > function pointers being cast to generalize argument pointer types to > void*. > > In LCMS these failures occur because of casts of function pointers called > as both _cmsInterpFn16 (cmsInterpFunction.Lerp16) and _cmsOPTeval16Fn (as > an argument to _cmsPipelineSetOptimizationParameters) types making it > difficult to refactor out easily. Instead, enabling the type > generalization build config weakens the type checking performed for > CFI-icall to accomodate this common type of casts. > > [1] https://www.chromium.org/developers/testing/control-flow-integrity > > Bug: 785442 > Change-Id: Ib42fb1b4e152d5042b170698c2707ebb9e0cc1ee > Reviewed-on: https://pdfium-review.googlesource.com/19250 > Commit-Queue: dsinclair <dsinclair@chromium.org> > Reviewed-by: dsinclair <dsinclair@chromium.org> Bug: 785442 Change-Id: Ice696e4f496fa380f8af053577bde7e46c049590 Reviewed-on: https://pdfium-review.googlesource.com/22265 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-08Make SharedCopyOnWrite use RetainablesDan Sinclair
This CL removes the CountedObject from SharedCopyOnWrite and instead converts the items being shared into Retainable subclasses. BUG: chromium:792372 Change-Id: I9570a521f2fc2434013c3ccb103273bdd2440bb8 Reviewed-on: https://pdfium-review.googlesource.com/22010 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-08Initialize V8 once in embedder testsDan Sinclair
This CL moves the initialization of the V8 platform to happen in the GTest environment so it's only run once. This takes the CFXJSE_FormCalcContextEmbedderTest Debug time from ~25s to ~19s on my local machine. Bug: pdfium:928 Change-Id: Ie8c27606721e7056de42e7d9474b0621f1e7212f Reviewed-on: https://pdfium-review.googlesource.com/22070 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-05Convert CXFA_Node::GetLocaleName out param to returnchromium/3315chromium/3314chromium/3313Ryan Harrison
Change-Id: Ia135db144c7037795fc1a1964b4f3eee57250caa Reviewed-on: https://pdfium-review.googlesource.com/22350 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-01-05Convert CFWL_Edit Cut & Copy out param to returnRyan Harrison
Change-Id: I99776deb809609f69275848ddb81706e2cc82c82 Reviewed-on: https://pdfium-review.googlesource.com/22370 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-05Remove unused code from CFX_BreakLineRyan Harrison
Change-Id: I5b1cdeb53fa791f557cde93074f75e8d18c49f17 Reviewed-on: https://pdfium-review.googlesource.com/22330 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-05Convert CXML_Parser::GetAttrValue out param to returnRyan Harrison
Change-Id: I92420cb9333ad79246a855b0af9a27348b27ceb0 Reviewed-on: https://pdfium-review.googlesource.com/22312 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-05Remove unused code from CPDF_InterFormRyan Harrison
Change-Id: I8be34dc4bc5ace65f5f56eb062b53faf4c1a6986 Reviewed-on: https://pdfium-review.googlesource.com/22311 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-05Convert ExtractSubString to return Optional<WideString>Ryan Harrison
Change-Id: I48f27026292917e6f6e6b636afd499336e41afea Reviewed-on: https://pdfium-review.googlesource.com/22310 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-05Convert CPDF_PageLabel::GetLabel to return Optional<WideString>Ryan Harrison
Change-Id: I53b91aa89c0fd1e7ab766f6d3c27a0fc7573c360 Reviewed-on: https://pdfium-review.googlesource.com/22290 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-01-05Convert GetSOMExpression methods to return WideStringRyan Harrison
Change-Id: I34eb40ff1c14e7b9362d4e52166243eacc6710da Reviewed-on: https://pdfium-review.googlesource.com/22270 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-05Convert CFWL_DateTimePicker::FormatDateString to return WideStringRyan Harrison
Change-Id: I2141cfb5d2bcb61b1a4f637fe30efc91776039b2 Reviewed-on: https://pdfium-review.googlesource.com/22263 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-01-05Convert CXFA_NodeHelper::GetNameExpression to return WideStringRyan Harrison
Change-Id: Id762e195632a691c392873113f01852686bbb55f Reviewed-on: https://pdfium-review.googlesource.com/22262 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-04Remove CXFA_WidgetData::{GetElementType|GetDatasets}Dan Sinclair
The GetElementType and GetDatasets methods have been removed from the CXFA_WidgetData class and we call the CXFA_Node methods directly. Change-Id: I5178be76c929ac3405eb6a65f9b8775b2f0283e2 Reviewed-on: https://pdfium-review.googlesource.com/22264 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Convert RecognizeXFAVersionNumber to us a retval instead of a out paramRyan Harrison
Change-Id: Iefca0b9cb00a7ba9f37fc4eae618831e4e209ac4 Reviewed-on: https://pdfium-review.googlesource.com/22261 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-04Remove CXFA_FFDocView from CXFA_WidgetAcc.Dan Sinclair
This CL removes the CXFA_FFDocView parameter from CXFA_WidgetAcc and passes in the document to the methods which require a document. Change-Id: I7b264caf0ed89d0453ae0b74c27f2ee0f31f61af Reviewed-on: https://pdfium-review.googlesource.com/22260 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Convert CXFA_Node::GetChild to take a size_t for the indexchromium/3312Ryan Harrison
Change-Id: I99ab62f03a42bb1dc5f4d228cd60c0e254a8c70b Reviewed-on: https://pdfium-review.googlesource.com/22259 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-01-04Remove unneeded vector implementations from cpwl_edit_implNicolas Pena
Change-Id: I98f3f1773b570dc525618ada997425000e1e4c58 Reviewed-on: https://pdfium-review.googlesource.com/22191 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-01-04Convert usages of pdfium::Optional to OptionalRyan Harrison
Change-Id: I29769f78eaad10c6a8b79e27524336c4f330377e Reviewed-on: https://pdfium-review.googlesource.com/22258 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-04Remove allocations from JS testDan Sinclair
This CL removes the millions of allocations from the test case for bug 765384. This takes the test execution from ~20s to ~400ms when run in Debug. Bug: chromium:765384 Change-Id: Ib1e9d3c6fb9853e541189e1a16f765d05202cdcc Reviewed-on: https://pdfium-review.googlesource.com/22011 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Make indices for CXFA_List be size_t instead of int32_tRyan Harrison
Change-Id: Id825e027a337636bb779f09bc0b1c6985a781fa1 Reviewed-on: https://pdfium-review.googlesource.com/22257 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-01-04Open FPDFDest_GetView API.Henrique Nakashima
FPDFDest_GetView returns the view fit type and the parameters of the view for a given destination. This is useful to have more precise internal links and bookmarks that are able to manipulate the viewport position and zoom level to focus on the part of the PDF that it links to. Bug: 55776, 535978, 748852 Change-Id: Ibf7df40a852030d75ec78cec7662380319569850 Reviewed-on: https://pdfium-review.googlesource.com/21790 Commit-Queue: Henrique Nakashima <hnakashima@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-01-04Make CXFA_List::GetLength return a size_tRyan Harrison
This requires a number of other minor cleanups to get sizes and signedness agreeing everywhere. Change-Id: Ie25318a23d458be5a8a2a91927c3b37eb198f5ce Reviewed-on: https://pdfium-review.googlesource.com/22256 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-01-04Pass the FFDocView into CXFA_WidgetAcc::UpdateUIDisplayDan Sinclair
This Cl changes UpdateUIDisplay to accept the FFDocView as a parameter and removes the default value from the pExcept parameter. Change-Id: I4fb42421b6011c93c6c2b19cdd32d94184bc3fe3 Reviewed-on: https://pdfium-review.googlesource.com/22255 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Change CXFA_WidgetAcc::GetNextWidget to not require the FFDocViewDan Sinclair
This CL changes GetNextWidget to assume that a valid parameter is passed to the method. For callers which passed nullptr, we change to get a vaild initial widget from the doc view directly. Change-Id: I50c06082831645f62339ade59d5026f546e07840 Reviewed-on: https://pdfium-review.googlesource.com/22254 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Move ProcessValueChanged from CXFA_WidgetAcc to CXFA_FFDocViewDan Sinclair
The ProcessValueChanged method works on the DocView data and uses the WidgetAcc as a parameter. This CL moves the code to docview and passes the WidgetAcc as a parameter. Change-Id: I2f9531263c8578931bb44ef247ff281f1f8b4cf7 Reviewed-on: https://pdfium-review.googlesource.com/22253 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Merge CXFA_WidgetData into CXFA_WidgetAccDan Sinclair
This CL merges the CXFA_WidgetData class into the only subclass, CXFA_WidgetAcc. Code has been updated as needed. Change-Id: I3f5bc83b1422bcbe065276b16bfb91e656f5c174 Reviewed-on: https://pdfium-review.googlesource.com/22252 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Make CXFA_WidgetData constructor protectedDan Sinclair
This CL removes all the direct creation of CXFA_WidgetData elements and makes the constructor protected. Change-Id: I2e9aa11cab8c1e26f7cfa9fd32329f0841fab010 Reviewed-on: https://pdfium-review.googlesource.com/22251 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Remove CXFA_DataDataDan Sinclair
This CL removes the CXFA_DataData base class and the functionality is moved to where it's needed. Change-Id: Ieba31aa924b9b513466144b31f0e1613923c50aa Reviewed-on: https://pdfium-review.googlesource.com/22250 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Fold CXFA_EventData into CXFA_EventDan Sinclair
This CL removes the CXFA_EventData wrapper and puts the code into CXFA_Event. Change-Id: I799a641c434ff926f3ddade1f47845b5666dbbec Reviewed-on: https://pdfium-review.googlesource.com/21991 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Fold CXFA_ExDataData into CXFA_ExDataDan Sinclair
This CL removes the CXFA_ExDataData wrapper and puts the code in CXFA_ExData directly. Change-Id: I9406d615a09fb431b5c620ed348f9976cf8dc72a Reviewed-on: https://pdfium-review.googlesource.com/22230 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Fold CXFA_FontData into CXFA_FontDan Sinclair
This CL removes the CXFA_FontData wrapper and puts the functionality into CXFA_Font. Change-Id: Id7e3a71106816a05843a62645f5955a70f7eaeaa Reviewed-on: https://pdfium-review.googlesource.com/22113 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_FillData into CXFA_FillDan Sinclair
This CL removes the CXFA_FillData wrapper and puts the code directly in CXFA_Fill. Change-Id: I44ae8b53978b659480a4bb32719d086c7b91b49b Reviewed-on: https://pdfium-review.googlesource.com/22210 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_ImageData into CXFA_ImageDan Sinclair
This CL folds the CXFA_ImageData wrapper into CXFA_Image. Change-Id: I36596abc4dff7d17dc6ee13a857a084f41164c7a Reviewed-on: https://pdfium-review.googlesource.com/22190 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_LineData into CXFA_LineDan Sinclair
This CL merges the CXFA_LineData wrapper into CXFA_Line. Change-Id: If5299797a615d2c0abb661e72a9e036e69f96385 Reviewed-on: https://pdfium-review.googlesource.com/22112 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Remove unused methods from CPDF_VariableTextNicolas Pena
Change-Id: Id8012a5769df68d29da5c58cc821c71ca93240e1 Reviewed-on: https://pdfium-review.googlesource.com/22111 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-01-03Fold CXFA_BindItemsData into CXFA_BindItemsDan Sinclair
This CL merges CXFA_BindItemsData into the CXFA_BindItems class. Change-Id: I424274fcd6a9a4376d78794b1014988c3649602f Reviewed-on: https://pdfium-review.googlesource.com/22170 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_BindData into CXFA_BindDan Sinclair
This CL merges the CXFA_BindData wrapper into CXFA_Bind. Change-Id: I621955be2673938bf08c7897779311b776d0bf8b Reviewed-on: https://pdfium-review.googlesource.com/22131 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Convert CXFA_StrokeData to CXFA_StrokeDan Sinclair
This CL changes CXFA_StrokeData to CXFA_Stroke and changes the inheritance form CXFA_DataData to CXFA_Node. The CXFA_EdgeData and CXFA_CornerData classes are removed and the node equivalents are changed to inherit from CXFA_Stroke. Change-Id: I8aa4365a8ed79c29c3a4c34879abe898a188b7de Reviewed-on: https://pdfium-review.googlesource.com/22151 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-01-03Fold CXFA_CaptionData into CXFA_CaptionDan Sinclair
This CL folds the CXFA_CaptionData wrapper class into CXFA_Caption. Change-Id: I65302656a89985dec4d0ec1f42b5eaa95d22aae2 Reviewed-on: https://pdfium-review.googlesource.com/22150 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Change CXFA_BoxData to CXFA_BoxDan Sinclair
This CL renames CXFA_BoxData to CXFA_Box and sets it to inhert from CXFA_Node instead of CXFA_DataData. The CXFA_BoxData subclasses, CXFA_RectangleData, CXFA_BorderData and CXFA_ArcData classes are removed and the nodes now inherit from CXFA_Box. Change-Id: Ia0df7d56535b5d90be29f040180a5d5fc55a64e0 Reviewed-on: https://pdfium-review.googlesource.com/22091 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_OccurData into CXFA_OccurDan Sinclair
This CL folds the CXFA_OccurData wrapper into CXFA_Occur. Change-Id: I52e237e4f6b76f6915c397e924037562fd9eda6a Reviewed-on: https://pdfium-review.googlesource.com/22130 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_MarginData into CXFA_Marginchromium/3311Dan Sinclair
This CL removes the CXFA_MarginData wrapper and moves the methods directly to CXFA_Margin. Change-Id: I7c9e979fb78d0d356605f1318489daabcb8c32cd Reviewed-on: https://pdfium-review.googlesource.com/22110 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-03Fold CXFA_CalculateData into CXFA_CalculateDan Sinclair
This CL folds CXFA_CalculateData into CXFA_Calculate as it is just a thin wrapper. Change-Id: I35efbee6c0244139a7ece19f3e8ee18bfb931dda Reviewed-on: https://pdfium-review.googlesource.com/22090 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-12-22Only set CPDF_ColorSpace component count on successful load.chromium/3310chromium/3309chromium/3308chromium/3307chromium/3306chromium/3305chromium/3304chromium/3303chromium/3302Lei Zhang
Make sure all CPDF_ColorSpace instances consistently call v_Load(). Change-Id: I15c1608c36781a03131884abceff1ecc4a9a1eb1 Reviewed-on: https://pdfium-review.googlesource.com/21911 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-12-21Clean up CPDF_Color.chromium/3301Lei Zhang
- Add IsPatternInternal(). - Mark some method parameters const. - Explain relationship between member variables. Change-Id: I650e18012341199985a4537e08c787e46cf8fef7 Reviewed-on: https://pdfium-review.googlesource.com/21912 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-21Fix various nits in color code.Lei Zhang
Change-Id: Idf2af2dd613d0e2bed5ef9bba4f8c50cd5bc1bc5 Reviewed-on: https://pdfium-review.googlesource.com/21851 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2017-12-21Roll DEPS for build, buildtools, and instrumented_lib.Lei Zhang
To update to recent revisions, this CL also does the following to DEPS: - Pulls in depot_tools to third_party/. - Update hooks for instrumented_libraries to download by default. - Add checkout_configuration variables so one can skip the download. The instrumented libraries are large downloads. https://crrev.com/507438 contains notes on how to avoid them. TBR=dpranke@chromium.org Change-Id: Ice0f9fcff0d2c8fba5fd3e1ef3e04e94b6bda710 Reviewed-on: https://pdfium-review.googlesource.com/21390 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>