summaryrefslogtreecommitdiff
path: root/fpdfsdk
AgeCommit message (Collapse)Author
2016-01-29Another round of cleanup in CPDF_Parser and friends.Lei Zhang
- Remove dead code. - Add more public methods and remove friends. R=weili@chromium.org Review URL: https://codereview.chromium.org/1566133002 .
2016-01-29Fix botched "CC:" parameter passing in JS_DocmailForm().Tom Sepez
Moved onto JS_ExpandKeywordParams(), and added a test which showed the failure to pass all the data back to the embedder. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1645413002 .
2016-01-29Add tests for CBA_AnnotIterator.Tom Sepez
I'm about to replace the sort() that underlies this class, so I first want to be sure I don't disrupt the order. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1652533002 .
2016-01-29Fix behaviour of app.alert() with a single object argument.Tom Sepez
Centralize the "arguments in an object" logic. See the section "Method Arguments" in the js_api_reference.pdf. Add some tests to hit the ambiguous cases this section implies, and test that all parameters are passed end-to-end to our callbacks. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1641693003 .
2016-01-28Member function name refactoringWei Li
This is needed by Cl 1634373003 as the name collision with virtual functions will be shown as warnings on Linux. Also, it is better to use different names for different cases. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1644633003 .
2016-01-26Merge to Master: War on #defines - part 2Tom Sepez
Original Review URL: https://codereview.chromium.org/1634123004 . (cherry picked from commit f10ae634e7b198b18942baaf9f111f07cc8ce818) R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1640473002 .
2016-01-26War on #defines, part 1.Tom Sepez
Make the two fundamental "object" types be enums. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1632143002 .
2016-01-25Fix a bunch of pointless returns.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1637693002 .
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 .