summaryrefslogtreecommitdiff
path: root/fpdfsdk
AgeCommit message (Collapse)Author
2016-01-22Change _PDF_RenderItem to CPDF_RenderContext::Layer.Tom Sepez
The _CAPS class naming convention violates reserved identifier rules. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1620523002 .
2016-01-21Rename CPDF_PageObjects to CPDF_PageObjectListTom Sepez
Prefer class names to be singular. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1612113003 .
2016-01-21Redo CPDF_PageObjects - part 1Tom Sepez
Remove default args. Remove unreachable code. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1601093009 .
2016-01-21Rename CPDF_PageContentGenerate to CPDF_PageContentGenerator.Tom Sepez
Classes should be named after nouns, not verbs. Also mark methods private, not protected. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1611193003 .
2016-01-20Use std::set to track visited dictionaries in fsdk_actionhandler.Tom Sepez
Find() in a list isn't the best idea. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1610303002 .
2016-01-20Bugs in CJS_PublicMethods::ParseNumber().Tom Sepez
Fix the bugs by removing ParseNumber() entirely. For PDFium's JavaScript bindings, we want to get out of the numeric conversion business and inflict that on V8 as possible, avoiding platform-specific issue in strtod(). For other uses, there is a FX_atof() which is similarly buggy, but we can consolidate the use. Add an overloaded FX_atof() to handle wide strings more simply. BUG=pdfium:361 R=jochen@chromium.org Review URL: https://codereview.chromium.org/1586203006 .
2016-01-19Fix infinite loops caused by calling circular indirect objectsWei Li
There are multiple functions in CPDF_Object class which can cause infinite loop due to recursively calling circular indirect objects. Fix them by deference indirect object first. BUG=pdfium:355 R=jun_fang@foxitsoftware.com, thestig@chromium.org Review URL: https://codereview.chromium.org/1585533002 .
2016-01-14Revert "Cleanup CJS_PublicMethods::ParseNumber"Tom Sepez
This reverts commit 4cd5b80e70e5fc50d8bd805cfa3c7b54878a0a35. Reason for revert: broke tests on windows TBR=tombergan@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1573243016 .
2016-01-14Cleanup CJS_PublicMethods::ParseNumberTom Sepez
Original patch by tombergan. The old version of this function was basically strtod with a few quirks: 1. It always interpreted ',' as '.' independent of locale. I kept this behavior, to be conservative. 2. It interpreted the first non-number character as a decimal point, unless there was a prior decimal point, in which case all characters up to that point are ignored. This would parse "123z4" as "123.4" and "123xy6" as "6". I did not keep this behavior -- in the new code, these examples all fail to parse. The new ParseNumber was inlined into ConvertStringToNumber, which returns true on success and (false, 0) on failure. BUG=pdfium:361 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1582013002 .
2016-01-14Loose checking for trailer's size fieldWei Li
Although trailer's size value is required by spec, other readers such as Acrobat or libpoppler can handle without it. Loose up the check to be more tolerant. BUG=pdfium:213 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1582193002 .
2016-01-14Correct the way to count pages and to avoid infinite loopWei Li
BUG=pdfium:360 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1585823003 .
2016-01-13Fix some iterator invalidation issues while traversing CPDF_Dictionary.Oliver Chang
Also fixes a potential issue in CPDF_Dictionary::ReplaceKey. R=thestig@chromium.org BUG=577030 Review URL: https://codereview.chromium.org/1582963003 .
2016-01-11Fix an infinite loop parsing in CPDF_SyntaxParser::GetObject()Wei Li
CPDF_SyntaxParser::GetObject() may enter into an infinite loop when a signature dictionary doesn't have 'Contents' field. Add a check to avoid that. BUG=pdfium:344 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1575833004 .
2016-01-11Fix an uninitalized read in FPDFText_GetFontSize().Lei Zhang
BUG=pdfium:346 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1578543002 .
2016-01-11Use std::map as CPDF_Dictionary's underlying store.Oliver Chang
Replaces CFX_CMapByteStringToPtr. XFA still uses CFX_CMapByteStringToPtr so it's not completely removed just yet. Adds begin()/end() to CPDF_Dictionary and removes the GetStartPos()/GetNextElement() functions to traverse the dictionary. Callers are changed accordingly. AddValue() is also removed. R=tsepez@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1541703003 .
2016-01-08Switch most min/max macros to std::min/max.Lei Zhang
Fix lint errors along the way. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1567343002 .
2016-01-08Remove a bunch of dead code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1567333003 .
2016-01-08Fix infinite loop caused by parsing same indirect objectsWei Li
BUG=pdfium:343 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1569343002 .
2016-01-08Clean up misc nits found while fixing bugs.Lei Zhang
Some bits regressed in commit 338805f. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1544963002 .
2016-01-07Disentangle fpdfsave_embeddertest's FPDF_FILEWRITE, use gmock matchers.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1561303002 .
2016-01-06Return const-ref object in a few CPWL_Wnd getters.Lei Zhang
Also remove a bunch of dead code. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1565803003 .
2016-01-06Invalidate IPWL_FocusHandler and IPWL_Provider on destruction.Lei Zhang
BUG=572871 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1564773003 .
2016-01-06Return unique_ptrs from test_support functionsTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1563513002 .
2016-01-06Add fpdf_edit basic creation embedder test.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1554133003 .
2016-01-05Document::DoAnnotDelay and m_DelayAnnotData member unused.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1565613002 .
2016-01-05Remove header files that only have includes.Lei Zhang
Also do some cleanups in affected files. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1552583002 .
2016-01-05Replace IconTree class with std::list.Tom Sepez
Remove some O(n^2) behaviour when iterating across the thing. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1566433003 .
2016-01-05Make more CPDF_Parser method const.Lei Zhang
R=weili@chromium.org Review URL: https://codereview.chromium.org/1549103002 .
2016-01-05Add embedder test for fpdfsave.cpp and bug 342Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1556033002 .
2016-01-05Exit infinite loops for cross reference loadingWei Li
When cross reference sections form a loop, our code will enter an infinite loop. Add detection and exit code for v4 cross reference loading. V5 loading was done previously. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1558093002 .
2016-01-05Make FPDF_WIDESTRING work regardless of endianness.Tom Sepez
Given the helper routines, use it in the find bookmark test instead of just trusting another bookmarks title. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1554363002 .
2016-01-04Cover FPDFBookmark_Find() with embedder tests.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1559043006 .
2016-01-04Add FPDFDoc_GetPageMode() embeddertestTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1557173002 .
2015-12-29Fix partial information printed with blank window covering the centerchromium/2612chromium/2611chromium/2610chromium/2609chromium/2608chromium/2607Jun Fang
BUG=482206 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1551563002 .
2015-12-28Take care fall-through cases of switch in pdfiumLei Zhang
Found with Clang's -Wimplicit-fallthrough option by tzik@chromium.org. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1549283002 .
2015-12-25Speculative IWYU fix for failing Chromium DEPS roll.chromium/2606chromium/2605chromium/2604chromium/2603Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1546133002 .
2015-12-24Fix a bad virtual keyword removal from commit 0f6b51c.Lei Zhang
BUG=546744 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1542373002 .
2015-12-24Switch from nonstd::unique_ptr to std::unique_ptr.Lei Zhang
R=thakis@chromium.org Review URL: https://codereview.chromium.org/1547833002 .
2015-12-22Cleanup: Remove some dead code in CPWL_Note.Lei Zhang
TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1544953002 .
2015-12-22Add ContainsKey() and ContainsValue() and use them where appropriate.Lei Zhang
R=ochang@chromium.org Review URL: https://codereview.chromium.org/1540263003 .
2015-12-21Cleanup CJS_PublicMethods:Lei Zhang
- Use FXSYS_iswdigit() instead of CJS_PublicMethods::IsDigit(). - Ditto for FXSYS_iswalpha() and FXSYS_iswalnum(). - Change CJS_PublicMethods::ParseNormalDate() and CJS_PublicMethods::MakeRegularDate() to take an out parameter by ptr. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1539113002 .
2015-12-21Fix JS seconds since epoch to date conversions.Lei Zhang
BUG=515137,564736 R=ochang@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1533233002 .
2015-12-18Get rid of a few CPDF_Object Create() methods and just use new instead.Lei Zhang
R=ochang@chromium.org Review URL: https://codereview.chromium.org/1540693002 .
2015-12-17Tidy CPDF_RenderContextTom Sepez
- Remove unused Clear() method. - Replace Create() with actual ctors. - Avoid const casts. - Protect members. - Add missing const in adjacent code. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1536623004 .
2015-12-14Get rid of most instance of 'foo == NULL'Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1520063002 .
2015-12-14Get rid of most instance of 'foo != NULL'Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1512763013 .
2015-12-14Remove FX_BSTRC.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1521563002 .
2015-12-10Remove CFX_AffineMatrix/CPDF_MatrixTom Sepez
These are synonyms for CFX_Matrix. Nothing but sed and manual deletion of 2 #defines in fpdf_parser.h and fx_coordinates.h R=thestig@chromium.org Review URL: https://codereview.chromium.org/1513363002 .
2015-12-09Prevent infinite looping in CPDF_Parser::LoadAllCrossRefV5().Lei Zhang
BUG=pdfium:298 R=weili@chromium.org Review URL: https://codereview.chromium.org/1496703005 .
2015-12-08Revert "Merge to master: Take Jun's UTF16LE patches."chromium/2587chromium/2586Oliver Chang
Broke chrome bindings. This reverts commit c3e4ae5fe5067723b58a2029a95c6411c92bed15. R=thestig@chromium.org, tsepez@chromium.org BUG=567485 Review URL: https://codereview.chromium.org/1511773002 .