summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-02-19Revert "Revert "Use safe arithmentic in CFX_BinaryBuf::ExpandBuf.""Tom Sepez
This relands the CL at https://codereview.chromium.org/1710403002 Tests passed locally. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1717603003 .
2016-02-19Revert "Use safe arithmentic in CFX_BinaryBuf::ExpandBuf."Tom Sepez
This reverts commit 78353d5dbc0b0c9b2d6946005439a51efa7d108c. Reason for revert Failed tests. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1719493002 .
2016-02-19Get rid of CFX_CharMap instantiations.Lei Zhang
The only thing left are a couple of static methods. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1711273002 .
2016-02-19Hook up FFI_PageEvent.Lei Zhang
BUG=pdfium:401 R=jun_fang@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/1712763003 .
2016-02-19Use safe arithmentic in CFX_BinaryBuf::ExpandBuf.Tom Sepez
Always call ExpandBuf(), and if it returns, we know the subsequent calculations won't overflow. Also use std::unique_ptr, and fix unintentional copies thus detected by its suppressed copy ctor in fsdk_baseform.cpp Also Remove unused CFX_BinaryBuf::TakeOver(), AppendFill(), CopyData(). Also remove operator= in favor of using <<, for similarity with std::ostream and friends. Also move ByteStringC methods to CFX_ByteTextBuf sub-class. Also re-order members, may pack tighter on 64-bits. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1710403002 .
2016-02-19Move m_rgPendingNodes off of CFX_PtrList.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1712913002 .
2016-02-19Remove PageObject's m_Type and add As<Type> functionsWei Li
For CPDF_PageObject and its subclasses, remove m_Type and use GetType() instead. Also, add As<Type> functions to avoid casting all over the places. BUG=pdfium:397 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1709393002 .
2016-02-19Remove CFX_{Byte,Wide}String::ConvertFrom().Lei Zhang
Use/add CFX_{Byte,Wide}String::FromFoo() instead. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1711893003 .
2016-02-19Remove XFA_DATAMERGE_UPDATEBINDINGRELATIONS_DFSTom Sepez
Doing so removes another CFX_PtrList usage. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1716633002 .
2016-02-19fix crashed in FXJSE_Value_Setjinming_wang
BUG=pdfium:394 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1704813002 .
2016-02-19Fix a crasher in CXFA_Node::Script_Form_Recalculate()Jun Fang
BUG=pdfium:398 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1704343002 .
2016-02-19Fix a crasher in CFDE_TxtEdtDoRecord_Insert::CFDE_TxtEdtDoRecord_Insert()Jun Fang
If a widget is barcode, we should set the data length of barcode as the max length of input string. BUG=pdfium:372 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1703963003 .
2016-02-19Fix an assertion failure in CXFA_FWLTheme::Initialize()Jun Fang
The face names from font file stream may be different with the ones from chromium. Pdfium should save face names from chromium for font mapping when it works in sandbox environment. BUG=pdfium:392 BUG=pdfium:393 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1710753002 .
2016-02-18Remove useless CPDF_FontCharMap.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1715583002 .
2016-02-18Remove gotos in CJBig2_TRDProc.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1708413002 .
2016-02-18Clean up CPDF_FileSpec and add unit testsWei Li
Change implicit conversion to accessor function, remove unused function and unused parameter, add a couple checks for null pointers, and some cleanup. BUG=pdfium:247 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1703183002 .
2016-02-18Remove m_pDownloadCallback.Tom Sepez
Not only unused, but ugly-looking. Fix lint along the way. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1709313002 .
2016-02-18Fixup incorrect include guards.Dan Sinclair
This CL updates include guards throughout the code base to be in the chromium style. BUG=pdfium:65 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1707893004 .
2016-02-18Name the states for fpdf_parser_parser.Dan Sinclair
Currently the states are numbers, use names instead to make the code clearer where things are transitioning too. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1715483002 .
2016-02-18Sort headers in non-xfa directories.Dan Sinclair
This CL runs the chromium sort-headers.py script over the non-xfa code. XFA will be done after the includes have been updated to full paths. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1711793002 .
2016-02-17Banish CFX_ObjectArray to the XFA side.Tom Sepez
Tidy whitespace, add missing consts in a few places. Remove a few pointless typedefs. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1707953002 .
2016-02-17Fix some issues with CXFA_FMParse/CXFA_FMLexer infinite looping.chromium/2657chromium/2656chromium/2655Oliver Chang
The parser did not expect an invalid token in some places, leading to an infinite loop. In the lexer, if an invalid string was found, the underlying pointer was never advanced. Also cleans some minor stuff along the way: - Remove nonsensical/useless destructors - Use unique_ptrs for owned members - Remove unused members - Other minor style changes BUG=587620 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1701363003 .
2016-02-17Remove CFX_PtrList from renderer main loop.Tom Sepez
Exposes an iterator over the object list, but not the object holder, since pages and forms inherit from object holder, and we don't want to imply that there's only one thing that might be iterated over for those classes. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1700183002 .
2016-02-17Expand all paths to be based off pdfium/ directoryDan Sinclair
This CL runs a script over the source and updates the include files to be a full path from the pdfium/ directory. BUG=pdfium:65 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1707923002 .
2016-02-17Fix windows build at ab27768d2359.Tom Sepez
TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1703193002 .
2016-02-17Banish CFX_ByteArray and CFX_WideArray to the XFA side.Tom Sepez
Fix IWYU and include paths as we go. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1701883004 .
2016-02-16Split CPDF_PageObjectHolder off from CPDF_PageObjectListTom Sepez
Eventually, we're going to expose an iterator over CPDF_PageObjectList that we don't want to be inherited by the CPDF_PageObjectHolder sub-classes: page and form. Also, the operations that the object holder performs dealing with inquiring about masks and such seem beyond the scope of what a list would provide. Hence the "Holder" name. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1701073002 .
2016-02-16Fix name change after rebase 970c11eWei Li
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1705553002 .
2016-02-16Refactor CPDF_SimpleParser and add unit tests.Wei Li
Remove unused member functions and simplify calls to find tag parameters. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1681403007 .
2016-02-16Simplify string function test macroWei Li
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1701123002 .
2016-02-16Fix GYP for nonxfa builds from last commit.chromium/2654chromium/2653Oliver Chang
Also disables mac build. libfuzzers are only built on Linux. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1703623002 .
2016-02-16Add initial libfuzzers for fm2js transpiling and XML parsing.Oliver Chang
GN source_sets are added so that the fuzzers can be built from //testing/libfuzzer in a Chromium checkout. GYP targets are also added to make sure these always build properly on our waterfall. These don't actually build the proper libfuzzers, but build the target fuzz function with a driver main() since the actual build process is quite complicated. R=tsepez@chromium.org, thestig@chromium.org BUG=587126 Review URL: https://codereview.chromium.org/1701103002 .
2016-02-16IFWL_App::Create() always passed adapter, "fuel" adapter unusedTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1707433002 .
2016-02-16Rework progressive render loop.Tom Sepez
Migrating this off of CFX_PrtList depends on first making this saner. The tricky part is checking whether new objects have been added to a partially-parsed layer. The old code used to do this by keeping track of the last element in the list, and seeing if it changes. It's far simpler to keep track of the last element processed, and just keep looking for more objects after it with each pass. Fold together some duplicated blocks along the way. Remove unused EstimateProgress() method. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1699443002 .
2016-02-12Fix the way to access marked content.Wei Li
When there is no dictionary for marked content, it potientially may cause crash. But it is not happening now since 1) we now check for the returned dict parameter 2) the alloc function in pdfium does zero initialization. BUG=pdfium:67 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1695633004 .
2016-02-12Add a class to better represent PS operations.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1686153004 .
2016-02-12One less PI.Tom Sepez
One less Bezier. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1692413002 .
2016-02-12Remove the FX_MIN macro.Tom Sepez
Bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min, bin the min. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1693913003 .
2016-02-12Make fx_bidi sane.Tom Sepez
Replace array of heterogenous ints with array of struct. Create a class for traversing a string. Flip array when R2L and process with forward iterator always. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1682983002 .
2016-02-11Remove unused NormalizeString()Tom Sepez
- NormalizeString() has 1 caller: - CTextBaseLine::WriteOutput(), which has only 1 caller: - CTextPage::WriteOutput(), which has only 1 caller: - PDF_GetPageText_Unicode(), which has only 1 caller: - PDF_GetPageText(), which has no callers. Removing this also makes CheckRotate(), NormalizeCompositeChar(), and CTextPage unused. Removing those makes CTextBaseline() unused. Removing that makes txtproc.h unused. PDF_GetTextStream_Unicode also unused. ... and so on until entire files can be removed. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1689843002 .
2016-02-10Banish CFX_PtryArray to XFA side only.Tom Sepez
The m_Operators array represents a heterogeneous instruction stream, so leave it as a void* for now. R=thestig@chromium.org, thestig@chromimum.org Review URL: https://codereview.chromium.org/1676413002 .
2016-02-09Add unit tests for ascii85 and hex decoders.chromium/2652chromium/2651chromium/2650chromium/2649chromium/2648chromium/2647chromium/2646Wei Li
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1666663004 .
2016-02-09Several pure virtual IFWL_Adapter* classes not implemented.Tom Sepez
The routines that would return them always return NULL. Some path, however, didn't previously check for NULL. Those must have been bugs; treat such cases as unreachable. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1679103002 .
2016-02-09Banish CFX_WordArray to XFA-land.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1676913004 .
2016-02-08Fix for-loop which results in no-opLei Zhang
The existing code (added in https://codereview.chromium.org/1650793002/) changes the state of a copy of the object. Original CL: https://codereview.chromium.org/1679783002/ Original Author: hashimoto@chromium.org R=hashimoto@chromium.org Review URL: https://codereview.chromium.org/1681863002 .
2016-02-08Fix typo in standalone.gypi.Oliver Chang
TBR=thakis@chromium.org BUG=585261 Review URL: https://codereview.chromium.org/1683523002 .
2016-02-08Speculative fix for mac build failure.Oliver Chang
R=thakis@chromium.org BUG=585261 Review URL: https://codereview.chromium.org/1679843003 .
2016-02-08Convert NULLs to nullptrs in fpdf_parser_decode.cppOliver Chang
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1680923002 .
2016-02-08Tidy fpdfsave.cppTom Sepez
Remove CFX_PtrArray filelist. Promote ScopedFileStream to .h file and use it. Fix _CAPS names, bool returns, and put in anonymous namespace. FX_CreateMemoryStream() can't return null, so remove checks. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1672153002 .
2016-02-08CPDF_TextStream::m_pObjArray is always NULLTom Sepez
Also, use full path to include "text_int.h", as there are two of them; I suspect that fpdf_text_search was including the wrong one as the compiler didn't complain about a signature mismatch I had overlooked. In fact, rename the fxge file to avoid collision completely. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1679743003 .