summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi
AgeCommit message (Collapse)Author
2016-01-19Merge to XFA: Remove an extra "const" in fpdf_objects.Oliver Chang
TBR=weili@chromium.org Original Review URL: https://codereview.chromium.org/1602323002 . (cherry picked from commit b196c7bebad66c9938d2705ccf64961bcdd774e2) Review URL: https://codereview.chromium.org/1607473008 .
2016-01-19Merge to XFA: Keep all member functions of one class in a single file.Wei Li
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1581393011 . (cherry picked from commit a41312c3237c4262ffbc2fa4375e4cbf59008f9a) Review URL: https://codereview.chromium.org/1605163002 .
2016-01-19Merge to XFA: Fix 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 TBR=jun_fang@foxitsoftware.com, thestig@chromium.org Review URL: https://codereview.chromium.org/1585533002 . (cherry picked from commit 90853cb1dfd1bf3803ec21cfae3e93948137be61) Review URL: https://codereview.chromium.org/1602103004 .
2016-01-14Merge to XFA: Loose 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 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1582193002 . (cherry picked from commit 34291b900ad0472eef582215cfce0d942a40fd16) Review URL: https://codereview.chromium.org/1589783004 .
2016-01-14Merge to XFA: Correct the way to count pages and to avoid infinite loopWei Li
BUG=pdfium:360 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1585823003 . (cherry picked from commit 5d5d9fe7bd1c9566b9d6570015b7c60894d9fc0c) Review URL: https://codereview.chromium.org/1583073004 .
2016-01-13Merge to XFA: Fix some iterator invalidation issues while traversing ↵Oliver Chang
CPDF_Dictionary. Also fixes a potential issue in CPDF_Dictionary::ReplaceKey. TBR=thestig@chromium.org BUG=577030 Original Review URL: https://codereview.chromium.org/1582963003 . (cherry picked from commit cae57daaa0f7ed4c92e22c4e7ef30392393d1128) Review URL: https://codereview.chromium.org/1587703003 .
2016-01-13Merge to XFA: Do not use invalidated std::map::iterators in PDF_ReplaceAbbr().Lei Zhang
Avoid invalidating iterators by deferring the std::map operations. Also remove unused PDF_ReplaceFull(). BUG=577030 TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1581963004 . (cherry picked from commit 5d1070dc642800242ec2e9d9d74aa1e5715d2b62) Review URL: https://codereview.chromium.org/1585853002 .
2016-01-13Merge to XFA: Fix out of bound access in CPDF_Parser::ParseIndirectObject().Lei Zhang
This regressed in commit f6dafc9. BUG=576915 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1582763002 . (cherry picked from commit e02f30bb59b01c159b010fc5c6bb55e677aba8ce) Review URL: https://codereview.chromium.org/1584663003 .
2016-01-13Merge to XFA: Use the compiler to type check DocAvailStatus return values.Lei Zhang
TBR=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1575363007 . (cherry picked from commit 2fa5c7a8b6602bb2fe1df7cd09b12de666ca8a0a) Review URL: https://codereview.chromium.org/1585773002 .
2016-01-12Merget to XFA: Use std::map in CPDF_IndirectObjectsTom Sepez
Review URL: https://codereview.chromium.org/1576113003 . (cherry picked from commit fce548047a44c7015996874452f3e778bf64cad6) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1579693004 .
2016-01-11Merge to XFA: Fix 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 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1575833004 . (cherry picked from commit d3ab0f383f6736657480a8bb418c5e715a1aed3b) Review URL: https://codereview.chromium.org/1571333004 .
2016-01-11Merge to XFA: Switch most min/max macros to std::min/max.Lei Zhang
Fix lint errors along the way. R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1567343002 . (cherry picked from commit 9adfbb0920a258e916003b1ee9515e97879db82a) Review URL: https://codereview.chromium.org/1577503002 .
2016-01-11Merge to XFA: Tidy up shading patternsTom Sepez
Original Review URL: https://codereview.chromium.org/1570873005 . (cherry picked from commit a07804a3b16c10fa2011ef56d1dacefb7d21e4f6) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1577893002 .
2016-01-11Merge to XFA: Use 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. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1541703003 . (cherry picked from commit 14f39950451bb9c2a11fbc7173fd47367410f80f) Review URL: https://codereview.chromium.org/1576033002 .
2016-01-08Merge to XFA: Use unique_ptr in fpdf_page/.Tom Sepez
Original Review URL: https://codereview.chromium.org/1568373003 . (cherry picked from commit a893a05a5c8e1f666cbf7cf9043f5687bd06d084)e5ae7226fc3f Includes the fix from e5ae7226fc3f. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1565143004 .
2016-01-08Merge to XFA: Fix infinite loop caused by parsing same indirect objectsWei Li
BUG=pdfium:343 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1569343002 . (cherry picked from commit 149f1db8bba85bdf2b40d330c38f2478695ca0d5) Review URL: https://codereview.chromium.org/1575663002 .
2016-01-08Merge to XFA: Clean up misc nits found while fixing bugs.Lei Zhang
Some bits regressed in commit 338805f. Also merge: IWYU fix after commit c5a8933. R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1544963002 . Review URL: https://codereview.chromium.org/1570973002 . (cherry picked from commit c5a8933f260ca1034fde902058442984e55c0f7a) (cherry picked from commit e6bd31873c3dba3f79c5ebbbefed636948629cc9) Review URL: https://codereview.chromium.org/1577453002 .
2016-01-08Merge to XFA: Endless tidying in pageint.hTom Sepez
Original Review URL: https://codereview.chromium.org/1570133004 . (cherry picked from commit d8ea0c8f4976d12b52de37b81e80d08c8fab5589) R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1563323005 .
2016-01-07Merge to XFA: Make m_pStockMap a real map.Tom Sepez
Original Review URL: https://codereview.chromium.org/1564783003 . (cherry picked from commit a462162a76b3f487e76d8cc1b1f917f0937ea040) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1566233002 .
2016-01-07Cleanup includes, comments, and unused codeWei Li
TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1563673002 . (cherry picked from commit 6664977832350e4a9717bd67b09e3d01196791ba) Review URL: https://codereview.chromium.org/1568923002 .
2016-01-06Merge to XFA: Change CPDF_SyntaxParser::GetNextWord() to not pass by ↵Lei Zhang
non-const ref. Change the internal version to GetNextWordInternal(). TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1558083002 . (cherry picked from commit 61197421793e24add7a250d3f15ab83dc75f80c6) Review URL: https://codereview.chromium.org/1561093002 .
2016-01-05Merge to XFA: Replace CPDF_SortObjNumArray with a std::set.Lei Zhang
R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1566553002 . (cherry picked from commit 6caae4d3c6815c5a1e12340734412a3bc7548652) Review URL: https://codereview.chromium.org/1561853002 .
2016-01-05Merge to XFA: Fix a few uses of default arguments.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1555293002 . (cherry picked from commit dbfaa8d11404a53b4807b3dbd0185047367bbff6) Review URL: https://codereview.chromium.org/1565603002 .
2016-01-05Merge to XFA: Fix an infinite loop in CPDF_Parser::RebuildCrossRef().Lei Zhang
BUG=pdfium:325 TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1543043003 . (cherry picked from commit 2d88e91ca5538470c9f4bc098e7f1f1ea9013c37) Review URL: https://codereview.chromium.org/1560903002 .
2016-01-05Merge to XFA: Make more CPDF_Parser method const.Lei Zhang
TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1549103002 . (cherry picked from commit a3235d0f5ca92c89b1de0f135a05e9891e499fb9) Review URL: https://codereview.chromium.org/1560183003 .
2016-01-05Merge to XFA: Exit 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. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1558093002 . (cherry picked from commit aab8f462ea3368ed4825172231131e1a10db978d) Review URL: https://codereview.chromium.org/1556423002 .
2016-01-04Merge to XFA: Remove CPDF_Creator::m_ObjectSize, it's never read from.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1543413002 . (cherry picked from commit 03f5040cbe03cc93e133cb98ecce6725e2679170) Review URL: https://codereview.chromium.org/1555193002 .
2015-12-29Merge to XFA: Fix partial information printed with blank window covering the ↵Jun Fang
center BUG=482206 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1551563002 . Review URL: https://codereview.chromium.org/1552643002 .
2015-12-29Merge to XFA: Change the generation number in the free entry of ↵Jun Fang
cross-reference table BUG=pdfium:342 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1550753002 . Review URL: https://codereview.chromium.org/1552633002 .
2015-12-24Merge to XFA: Fix another regression from commit f6dafc9.Lei Zhang
TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1548963004 . (cherry picked from commit b43b8859153e129053f3fa790c182fa04c3336db) Review URL: https://codereview.chromium.org/1549963002 .
2015-12-24Merge to XFA: Switch from nonstd::unique_ptr to std::unique_ptr.Lei Zhang
TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1547833002 . (cherry picked from commit d20dfba2ae10e8aeb328328f09da79ff904110a8) Review URL: https://codereview.chromium.org/1545183002 .
2015-12-24Merge to XFA: Call CheckLinearizedFirstPage() when loading the first ↵Lei Zhang
linearized page. Otherwise CheckLinearizedFirstPage() has no other callers. BUG=pdfium:330 TBR=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1543193002 . (cherry picked from commit bab9a98b71f351cf9f4eb39138bca55e3be4ef15) Review URL: https://codereview.chromium.org/1543353002 .
2015-12-24Merge to XFA: Fix crash from commit f6dafc9.Lei Zhang
BUG=571752 TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1549073002 . (cherry picked from commit 56b56a86842e3e8f81dfefab994cca8934a3c4d4) Review URL: https://codereview.chromium.org/1542363002 .
2015-12-24Merge to XFA: Fix failed JPX image renderingJun Fang
BUG=pdfium:338 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1549043003 . Review URL: https://codereview.chromium.org/1549083002 .
2015-12-22Merge to XFA: Start using allowed C++11 features.Lei Zhang
TBR=dml@google.com, thakis@chromium.org Review URL: https://codereview.chromium.org/1544923002 . Review URL: https://codereview.chromium.org/1545823002 . (cherry picked from commit ba2586d2c0a50df14aa2549a0a841e1d4b9af4b6) (cherry picked from commit 87f7d29531dabfd66e547a6be31a08272ff631d5) Review URL: https://codereview.chromium.org/1542213002 .
2015-12-22Merge to XFA: Add ContainsKey() and ContainsValue() and use them where ↵Lei Zhang
appropriate. TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1540263003 . (cherry picked from commit 1fc92867ca53f0fba4272fbee3814d844f487495) Review URL: https://codereview.chromium.org/1542193002 .
2015-12-22Merge to XFA: Convert CPDF_Parser::m_CrossRef to a std::map.Lei Zhang
This improvements memory usage in case PDFs have sparse object numbers. The map holds a struct that currently has only one member. The struct will contain more members as other internal data structures get converted. BUG=pdfium:111 TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1539573003 . (cherry picked from commit f6dafc90ec1a0df8d618efc68c0223f0cdd80ffb) Review URL: https://codereview.chromium.org/1544913002 .
2015-12-18Merge to XFA: Get rid of a few CPDF_Object Create() methods and just use new ↵Lei Zhang
instead. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1540693002 . (cherry picked from commit d866ab0b44a571c884fdd8ba5a5319adaf607559) Review URL: https://codereview.chromium.org/1541563002 .
2015-12-18Merge to XFA: CPDF_ImageLoader::Load() unused.Tom Sepez
Original Review URL: https://codereview.chromium.org/1535243002 . (cherry picked from commit b5385ba5d0c616cd4af994b2a9d674588086f75c) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1539003002 .
2015-12-18Remove CFX_MapPtrToPtr in CFX_PageRenderCacheTom Sepez
Rename CPDF_ImageCache to CPDF_ImageCacheEntry because it represents a single entry, not the entire cache itself. Delete unused ClearRenderCache method, and merge cache entry clear() into its dtor. Fix a broken size calculation. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1539983002 .
2015-12-18Merge to XFA: CPDF_QuickStretcher unused.Tom Sepez
Original Review URL: https://codereview.chromium.org/1537103002 . (cherry picked from commit f0f6a01ee3dcb592e4eeaadaa2ea52c2fce317ba) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1540683002 .
2015-12-18Merge to XFA: Fix a memory leak in CPDF_DataAvail::CheckHintTablesOliver Chang
R=thestig@chromium.org TBR=thestig@chromium.org BUG=pdfium:327 Original Review URL: https://codereview.chromium.org/1536113002 . (cherry picked from commit 6287ebc38e5aafc256b6248caae710ea09d0ede4) Review URL: https://codereview.chromium.org/1537123002 .
2015-12-18Merge to XFA: Correct return values in CPDF_HintTables::CheckPage()Jun Fang
BUG=pdfium:329 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1529173005 . Review URL: https://codereview.chromium.org/1535753003 .
2015-12-17Merge to XFA: Tidy CPDF_RenderContextTom Sepez
Original Review URL: https://codereview.chromium.org/1536623004 . (cherry picked from commit 761660c4074269ac806d06c9bef70e4e9fb0eb29) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1531423002 .
2015-12-16Merge to XFA: Make clang_warning_flags work for standalone builds.Lei Zhang
Also fix a newly introduced override warning. Also define a host_clang GYP variable. TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1532723003 . Review URL: https://codereview.chromium.org/1533763002 . (cherry picked from commit e096ca507db9944aebc47d6c2cc1c6fab39498c5) (cherry picked from commit 0a9158b99a2002fb82301ebec20dbc23b3fc084c) Review URL: https://codereview.chromium.org/1535603003 .
2015-12-15Merge to XFA: Fix free entry handling for cross reference v4 reading.Wei Li
While reading free entries in v4 cross reference table, changing the start_objnum caused crossref table built wrong. BUG=569795 TBR=jun_fang@foxitsoftware.com, thestig@chromium.org Review URL: https://codereview.chromium.org/1527823003 . (cherry picked from commit c89cd979fb8654d85b822909cba9263d5f13760c) Review URL: https://codereview.chromium.org/1528153003 .
2015-12-14Merge to XFA: Get rid of most instance of 'foo == NULL'Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1520063002 . (cherry picked from commit e385244f8cd6ae376f6b3cf1265a0795d5d30eff) Review URL: https://codereview.chromium.org/1528763003 .
2015-12-14Merge to XFA: Get rid of most instance of 'foo != NULL'Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1512763013 . (cherry picked from commit e3c7c2b54348da4a6939f6672f6c6bff126815a7) Review URL: https://codereview.chromium.org/1529553003 .
2015-12-14Merge to XFA: Remove FX_BSTRC.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1521563002 . (cherry picked from commit 1956a174020686f91cd3b34294e91f4560fe45aa) Review URL: https://codereview.chromium.org/1526823002 .
2015-12-14Merge to XFA: Fix a memory leak in FPDFPageFuncEmbeddertest.Lei Zhang
TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1514283002 . (cherry picked from commit 1407c979a3ba8599546468d461f5403f317bddd3) Review URL: https://codereview.chromium.org/1525013002 .