summaryrefslogtreecommitdiff
path: root/core/include/fpdfapi/fpdf_objects.h
AgeCommit message (Collapse)Author
2016-03-10Split fpdf_parser_objects.cpp into per-class .cpp/.h files.Tom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1776913007 .
2016-03-10Split apart the remainder of fpdf_render_render.cpp into per-class files.Tom Sepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1778173002 .
2016-03-09Review and cleanup lint warnings.Dan Sinclair
This CL goes through the remaining list of list warnings and records why they are currently blacklisted, or fixes and enables them. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1773733002 .
2016-03-07Completely de-virtualize CPDF_SyntaxParser.Tom Sepez
It isn't sub-classed. Making GetNextChar() non-virtual may save a virtual fn call per character if the compilers aren't able to do so themselves. Make members private, not protected. BUG= R=ochang@chromium.org Review URL: https://codereview.chromium.org/1772973002 .
2016-03-03Fixup chromium-style warnings in fpdf_objects.hDan Sinclair
This CL fixes up chromium-style warnings in fpdf_object.h Specifically, the warnings fixed were: * Complex constructor has an inlined body. * Complex destructor has an inline body. * virtual methods with non-empty bodies shouldn't be declared inline. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1764793002 .
2016-02-27Cleanup forward declarations.dan sinclair
This CL removes duplicate forward declarations, removes extraneous declarations and adds a couple of missing declarations. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1741003002 .
2016-02-26Remove some FX_BOOLsTom Sepez
Grepping for FX_BOOL and |==| on the same line gives a very strong clue that the expression won't be out of range of the |bool| type iteself. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1736323003 .
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-03Merge to XFA: Complete unit tests for CPDF_ArrayWei Li
Also remove one unnecessary member function. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1660523003 . (cherry picked from commit 6f358daa2e8b1639a1c3a3f07a449f8450197e8b) Review URL: https://codereview.chromium.org/1667873002 .
2016-01-29Merge to XFA: Refactor CPDF_Object and its subclasses.Wei Li
Mainly use virtual functions to replace functions with switch statements. Also remove a few unused functions and make some format changes. BUG=pdfium:63 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1634373003 . (cherry picked from commit df1ab41e000069dda7bf21527308f3bf41e126ca) Review URL: https://codereview.chromium.org/1650493003 .
2016-01-29Merge to XFA: Member 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 . (cherry picked from commit d45e7a51904164fb22049f0a7a80d2a94c06936b) Review URL: https://codereview.chromium.org/1648233002 .
2016-01-26Merge to XFA: War on #defines, part 1.Tom Sepez
Contains additional XFA-specific changes. Original Review URL: https://codereview.chromium.org/1632143002 . (cherry picked from commit 66a9dc9dd65ed2b9c7ede448d046b770140f16d5) R=thestig@chromium.org Review URL: https://codereview.chromium.org/1636503006 .
2016-01-25Remove struct PARSE_OPTIONS.Tom Sepez
Its members are assigned to, but never used in any calculations (besides for other members). R=thestig@chromium.org Review URL: https://codereview.chromium.org/1630973002 .
2016-01-25Remove unused IsContentUsedElsewhere()Tom Sepez
Then CPDF_Object::GetDirectType() becomes unused. Then GetIndirectType() becomes unused. Then PDFPARSE_TYPEONLY becomes unused. Then we can remove hideous casts of ints to ptrs. Also, PDFPARSE_NOSTREAM is unused. Then we can remove m_Flags from PARSE_CONTEXT. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1638493002 .
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: 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-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-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: 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-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 .
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-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-10Merge to XFA: Replace several more CFX_MapPtrToPtr with std::set or std::mapTom Sepez
Original Review URL: https://codereview.chromium.org/1520643002 . (cherry picked from commit 7db2a535f163e7ce5995da12161ebd0214f0f75a) Original Review URL: https://codereview.chromium.org/1511413008 . (cherry picked from commit 168cfb7ee0f2abbd2bddb7e7d8b430a6d8c6c120) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1515613006 .
2015-12-10Merge to XFA: Remove CFX_AffineMatrix/CPDF_MatrixTom Sepez
Review URL: https://codereview.chromium.org/1513363002 . (cherry picked from commit f32c969bce6743fca1e7ff796b54a1692d26d7f0) R=thestig@chromium.org Review URL: https://codereview.chromium.org/1519693002 .
2015-12-09Merge to XFA: Get rid of most uses of CFX_PtrArray.Tom Sepez
Original Review URL: https://codereview.chromium.org/1518593002 . (cherry picked from commit 035359cd8ddb555fa33b6133db4fd405e4660712) R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1513103002 .
2015-11-12Merge to XFA: Remove relative includes.Lei Zhang
That refer to parent directories. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1434223002 . (cherry picked from commit 22bc4227fbbda5a5e9abad2a2c0a98c04fe7f228) Review URL: https://codereview.chromium.org/1439223003 .
2015-11-12Merge to XFA: Clear decoders after the image decoder in the /Filter array.Oliver Chang
During decoding, when an image decoder is encountered, any subsequent decoders are ignored, but remain in the array. However, later on CPDF_DIBSource::ValidateDictParam expects the image decoder to be the last in the array, causing issues. A check is also added in CPDF_DIBSource::GetScanline to ensure that the calculated pitch value is <= the (4-aligned) pitch value in the cached bitmap to prevent future issues. Also cleans up some NULL usages. BUG=552046 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1406943005 . (cherry picked from commit 182d129bcee8f7731b9bbfde0064295ad3b37271) Review URL: https://codereview.chromium.org/1436153003 .
2015-11-10Merge to XFA: Cleanup CPDF_Stream:Lei Zhang
- Remove CPDF_Stream::Create() and checks that it might fail. - Remove m_pCryptoHandler that's always a nullptr. - Remove m_FileOffset that's always 0. - Rename file version of InitStream() to InitStreamFromFile(). - Use IsMemoryBased() in more places. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1415163009 . (cherry picked from commit e6e16954f0cdc324849fca9da883be8f131b3834) Review URL: https://codereview.chromium.org/1418493006 .
2015-10-26Merge to XFA: Remove default argument from CPDF_Dictionary::SetAt().Lei Zhang
Also fix a potential object leak. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1414963005 . (cherry picked from commit f7992b39cec908e549fb995acae477a9efba538b) Review URL: https://codereview.chromium.org/1421253005 .
2015-10-26Remove CPDF_Reference::Create(), make logic match masterTom Sepez
Makes the files in this CL identical to master, since there are no XFA specifics. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1425663003 .
2015-10-26Merge to XFA: Revert "Revert "Add type cast definitions for CPDF_Reference.""Dan Sinclair
This reverts commit 7e155865c90cc1115cc7193b7646a341d8f9093e. Add type cast definitions for CPDF_Reference. This Cl adds ToReference, CPDF_Object::AsReference and CPDF_Object::IsReference and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1418923005 . (cherry picked from commit 6ee3484bcb413f4cce303e237fe15e2bdaf51ade) Review URL: https://codereview.chromium.org/1410073007 .
2015-10-23Merge to XFA: Cleanup: Remove unused CPDF_Stream::Clone().Lei Zhang
Cloning a CPDF_Stream actually happens via CPDF_Object::Clone(). Transitively, remove: - GetStreamFilter() -- all the filters. Also remove CXFA_FileRead. R=jam@chromium.org Review URL: https://codereview.chromium.org/1288543002 . (cherry picked from commit c9a05f1c90860a97dbe4b8014bc4584bfa3a4580) Review URL: https://codereview.chromium.org/1297463002 .
2015-10-22Merge to XFA: Add type cast definitions for CPDF_Stream.Dan Sinclair
This Cl adds ToStream, CPDF_Object::AsStream and CPDF_Object::IsStream and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1402413004 . (cherry picked from commit 338805f1366dcdf9a5b48cf591541cf98d7490f1) Review URL: https://codereview.chromium.org/1422513004 .
2015-10-22Merge to XFA: Add type cast definitions for CPDF_Array.Dan Sinclair
This Cl adds ToArray, CPDF_Object::AsArray and CPDF_Object::IsArray and updates the src to use them as needed. BUG=pdfium:201 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1417893003 . (cherry picked from commit c2bfc000e502c42c9a3017038fd9104c7997d126) Review URL: https://codereview.chromium.org/1419643005 .
2015-10-21Merge to XFA: Add type cast definitions for CPDF_Name.Dan Sinclair
This Cl adds ToName, CPDF_Object::AsName and CPDF_Object::IsName and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1417823005 . (cherry picked from commit 1c77edb7b34e03787605b7965784cea38ef9f1d7) Review URL: https://codereview.chromium.org/1417033004 .
2015-10-21Merge to XFA: Add type cast definitions for CPDF_String.Dan Sinclair
This Cl adds ToString, CPDF_Object::AsString and CPDF_Object::IsString and updates the src to use them as needed. BUG=pdfium:201 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1417933002 . (cherry picked from commit 53d3ab125ef583be8cfac907b308a6551b93067a) Review URL: https://codereview.chromium.org/1408323006 .
2015-10-21Merge to XFA: Add type cast definitions for CPDF_Number.Dan Sinclair
This Cl adds ToNumber, CPDF_Object::AsNumber and CPDF_Object::IsNumber and updates the src to use them as needed. BUG=pdfium:201 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1410673005 . (cherry picked from commit 83bf02dfb860a66d756434d194118dae572d04d3) Review URL: https://codereview.chromium.org/1422583002 .
2015-10-21Merge to XFA: Remove void* ctor from CPDF_Number.Dan Sinclair
This Removes the ctor that took a pointer to the data to store and copied it into the union memory. Instead, the call sites look at the type and pass the correct value. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1422473002 . (cherry picked from commit 8430a5d04883fac4666d0c321fc679bcaf99cb71) Review URL: https://codereview.chromium.org/1417113002 .
2015-10-20[Merge to XFA] Add type cast definitions for CPDF_Boolean.Dan Sinclair
This CL adds ToBoolean, CPDF_Object::AsBoolean and CPDF_Object::IsBoolean and updates the src to use them as needed. BUG=pdfium:201 TBR=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1417623005 . (cherry picked from commit ce4f95d61f5aa5fb9a5fc6cb8487999a9cf46458) Review URL: https://codereview.chromium.org/1419663004 .
2015-10-20[Merge to XFA] Revert "Revert "Add type cast definitions for CPDF_Dictionary.""Dan Sinclair
This reverts commit 937840e1722d1f2b77d80575d6e710d760662c9c. Add type cast definitions for CPDF_Dictionary. This CL adds ToCPDFDictionary type definitions and updates one file to use instead of straight casts. I had to fix two places where we'd casted off the constness of the original pointer. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1420583003 . (cherry picked from commit 39869b641511c882d78e17548293cdb458c36f38) Review URL: https://codereview.chromium.org/1410343003 .
2015-08-06XFA: clang-format all pdfium code, again.Nico Weber
Also add a presubmit that checks for this so I don't have to keep doing it. No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none R=thestig@chromium.org Review URL: https://codereview.chromium.org/1277043002 .
2015-08-05Kill off last uses of FX_NEW in XFA.Tom Sepez
It would seem that this never merged completely. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1277583002 .
2015-08-04XFA: clang-format all pdfium code.Nico Weber
No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none
2015-06-19Merge to XFA: Do some IWYU cleanups.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1176333002. (cherry picked from commit 0ef0de55657db8a83372ad8eb22d84c5893afc4c) Review URL: https://codereview.chromium.org/1195943005.
2015-06-13Remove trailing whitespaces in core, XFA edition.Lei Zhang
Review URL: https://codereview.chromium.org/1180333002.
2015-06-10Merge to XFA: Remove FX_BSTR and FX_WSTR typedefs.Tom Sepez
Nearly automatic merge + re-run script on new files. Original Review URL: https://codereview.chromium.org/1180593004. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1174303002.
2015-06-10Merge to XFA: Remove typdefs for pointer types in fx_system.h.Tom Sepez
Original Review URL: https://codereview.chromium.org/1171733003 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1178613002.
2015-06-09Merge to XFA: Use stdint.h types throughout PDFium.Tom Sepez
Near-automatic merge, plus re-running scripts to update additional usage. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1172793002
2015-06-02Merge to XFA: kill IPDF_DocParser().Tom Sepez
Original Review URL: https://codereview.chromium.org/1158053003 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1156203004
2015-05-28Merge to XFA: Fix ALL the include guards.Tom Sepez
Original Review URL: https://codereview.chromium.org/1160443004 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1162013003