summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi
AgeCommit message (Collapse)Author
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 .
2015-12-14Merge to XFA: Properly land "Fix hint table loading issues."Oliver Chang
R=thestig@chromium.org TBR=thestig@chromium.org BUG=566179 Original Review URL: https://codereview.chromium.org/1524983002 . (cherry picked from commit 1eb7477b3e7c5cb7c54ca364810ab9a24acad4f9) Review URL: https://codereview.chromium.org/1525793003 .
2015-12-14Merge to XFA: Fix hint table loading issues.Oliver Chang
BUG=566179 TBR=thestig@chromium.org Original Review URL: https://codereview.chromium.org/1523523002 . (cherry picked from commit be8408f43bcfd69a74007a340a4c034004146c60) Review URL: https://codereview.chromium.org/1518403003 .
2015-12-11Merge to XFA: Fix memory leaks involving InsertIndirectObject()Jun Fang
BUG=447331 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1514093002 . Review URL: https://codereview.chromium.org/1515403003 .
2015-12-11Merge to XFA: Fix a regression for parsing '/' - commit a568ff2d was too ↵Lei Zhang
strict. BUG=pdfium:326 TBR=dml@google.com Review URL: https://codereview.chromium.org/1521543002 . (cherry picked from commit ebc7695c60fc3e4afbfa6d9db162a71b190bf685) Review URL: https://codereview.chromium.org/1519323002 .