summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-11-20Merge to XFA: Change |CCodec_ScanlineDecoder::m_Pitch| to FX_DWORDOliver Chang
This matches the type of the corresponding |CFX_DIBSource::m_Pitch|, where integer overflow is checked for FX_DWORD. This change is propagated to many other places. Also, check for integer overflow in |CCodec_RLScanlineDecoder::Create| during the calculation of |m_Pitch| since it aligns to 4 bytes while overflow was was previously checked without this alignment. TBR=tsepez@chromium.org BUG=555784 Review URL: https://codereview.chromium.org/1460033002 . (cherry picked from commit e7950df70a2fd658f466751b29483436cb31e829) Review URL: https://codereview.chromium.org/1461363002 .
2015-11-20Update XFA fpdfsdk to match masterTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1465663002 .
2015-11-20Reduce diffs with master in coreTom Sepez
This week's version. Mostly whitespace, but takes the master version of core/src/fxge/ge/fx_ge_text.cpp verbatim. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1462923004 .
2015-11-19Merge to XFA: Cache object numbers in CPDF_Parser::ParseIndirectObject().Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1458633004 . (cherry picked from commit 0c8e6c1f39f20985a3efb17292e46c476194183a) Review URL: https://codereview.chromium.org/1461693005 .
2015-11-19Merge to XFA: Add more overrides.Lei Zhang
Using Chromium's clang + build options, there's more override warnings. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1453643002 . (cherry picked from commit 126ba519bdd489ec6c285d1410dcae773e8ef673) Review URL: https://codereview.chromium.org/1458373002 .
2015-11-19Merge to XFA: Add a missing setjmp() to CCodec_JpegDecoder::v_GetNextLine().Oliver Chang
If jpeg_read_scanlines() ends up calling the error callback, we longjmp into some undefined state. BUG=558840 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1463563003 . (cherry picked from commit 06e33aec03f13c76d9eff5c09cb03e142b0c5ef1) Review URL: https://codereview.chromium.org/1462253004 .
2015-11-18Kill dead IFWL_*::Initialize() variants dead.Tom Sepez
Remove default argument in remaining variants. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1453373006 .
2015-11-18Make IFWL_Target::m_pImpl a private member.Tom Sepez
Remove pointless subclass dtors since CFWL_TargetImpl has a virtual dtor, and can be deleted by the base class. Kept pointless subclass ctors for the moment to hopefully combine with Initialize someday, though they need not do anything since the base class ctor nulls out m_pImpl. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1460883002 .
2015-11-18Merge to XFA: Add Dr. Memory suppression file for pdfium testsQin Zhao
- add suppressions.txt in tools/drmemory/ - update pdfium_tests.py to read suppression file R=thestig@chromium.org BUG=pdfium:238 Review URL: https://codereview.chromium.org/1454193002 . (cherry picked from commit 76b0104270b0a7f3ce7d40ddde2b6d6c8cb944db) Review URL: https://codereview.chromium.org/1455293003 .
2015-11-18Merge to XFA: Add Dr. Memory toolQin Zhao
This CL adds DrMemory-Windows-sfx.exe into tools/drmemory. It also adds a set of scripts from chromium/src/tools/valgrind for running Dr. Memory. Now we can run pdfium tests with Dr. Memory: $ .\tools\drmemory\scripts\pdfium_tests.bat -b out\Debug -t pdfium_unittests More update on scripts is required, but this should be a good start. Changes from chromium/src/tools/valgrind - rename chrome_tests.py to pdfium_tests.py - update pdfium_tests.bat - remove chrome tests in pdfium_tests.py - remove memcheck code in valgrind_test.py R=thestig@chromium.org BUG=pdfium:238 Review URL: https://codereview.chromium.org/1452293002 . (cherry picked from commit 4dcf313c46c176e5afa1328f5f07fce4e614366d) Review URL: https://codereview.chromium.org/1452373004 .
2015-11-18Fold IFWL_TargetData into IFWL_TargetTom Sepez
IFWL_TargetData was a sibling class to which we illegally cast other IFWL_ classes just to get access to a member, to which they already had access in many cases. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1452403002 .
2015-11-18Merge to XFA: Fix ASan gn build (chromium).Oliver Chang
TBR=thestig@chromium.org] BUG=556808 Review URL: https://codereview.chromium.org/1452013004 . (cherry picked from commit 97f900e93e6a96b164b33bfe1228f383d9a5ecd3) Review URL: https://codereview.chromium.org/1456973003 .
2015-11-17Make CPDF_InterForm::AddStandardFont take a non-const document pointer.Lei Zhang
Instead of taking a const pointer, and then casting away the const-ness. Also remove similar, but dead CPDF_InterForm methods. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1456763003 . Review URL: https://codereview.chromium.org/1456823002 . Review URL: https://codereview.chromium.org/1452843005 . (cherry picked from commit 9c62cadff466f26307bd06ed1e9df2c1b5f25a32) (cherry picked from commit 447946588d6bbd4d5bc34477a09dd983285c507e) (cherry picked from commit b2a4c976841863e89804a2643eebccf881c57584) Review URL: https://codereview.chromium.org/1457703002 .
2015-11-17Merge to XFA: Add more fxcrt string sanity tests.Lei Zhang
Sadly I've gotten these to fail with Chromium debug builds. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1447163004 . (cherry picked from commit 191333dbc8889a60ff43a10176cc0ae87dc11d89) Review URL: https://codereview.chromium.org/1453403002 .
2015-11-17Rename additional IFWL imp classesTom Sepez
Follow-on from https://codereview.chromium.org/1446393002/ R=thestig@chromium.org Review URL: https://codereview.chromium.org/1457663002 .
2015-11-17Make FWL_ classes more consistently named.Tom Sepez
Rename IFWL_Target::m_pData to m_pImpl since it points to CFWL_*Imp classes. Rename CFWL_Widget:m_pImp to m_pIface since it points to IFWL_* interface classes. Here, the concrete classes have pointers to the corresponding interfaces, rather than inheriting from them, and this is likely due to someone not understanding virtual inheritance (since this code has the diamond problem in spades). Rename CFWL_Target to CWFL_TargetImp since it is the root of the CFWL_*Imp hierarchy, and is pointed to by the m_pImpl slot. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1446393002 .
2015-11-16Merge to XFA: Reland "Cleanup some numeric code.""Dan Sinclair
This reverts commit 0569ab0b11b723d9bca4ddd642b0cf8828c4bdd1. This changes the various comparisons of char >= '0' && char <= '9' and char < '0' || char > '9' to use std::isdigit checks. It also cleans up a handful of hex to digit conversions to call one common method. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1449873003 . (cherry picked from commit 3f148915d12f54a946a0c0bf526162b79c39d650) Review URL: https://codereview.chromium.org/1452673002 .
2015-11-13Add AsLayoutItem()/ToLayoutItem() functions.Tom Sepez
Also protect the LayoutItem constructor, as !m_bIsContent implies the object can be cast to the container class, so ensure we don't make any of parent class. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1441243005 .
2015-11-13XFA: Remove empty files in xfa/src/fgas/src/crt/codepage.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1443563002 .
2015-11-13Rename LayoutItemImpl classes to LayoutItem.Tom Sepez
There is no longer a LayoutItem/LayoutItemImpl distinction. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1441423002 .
2015-11-13Make CFWL_WidgetMgr{Delegate} inherit from IFWL_WidgetMgr{Delegate}.Tom Sepez
C-style casting masked a fairly serious botch, where an CFWL_ type would get cast to an IFWL_ type, and later we'd invoke virtual methods against the IFWL_ type. Without the proper inheritance, there's no reason to believe that the vtables for each of these would line up with each other. Fixing the inheritence allows us to remove the c-style casts. I'm guessing these were added to make this compile without having to understand the true nature of the flaw. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1439093003 .
2015-11-13Fold CXFA_LayoutItem into CXFA_LayoutItemImpl.Tom Sepez
Fixes illegal casting between unrelated types, and removes about 30 explicit casts that are no longer required. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1441183002 .
2015-11-12Merge to XFA: Fix another typo in BUILD.gnOliver Chang
TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1438253004 . (cherry picked from commit 8bfd2fbe8a95f0b7a43f1bd29e70f61bd73e499c) Review URL: https://codereview.chromium.org/1441963002 .
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: Fix typos in BUILD.gn.Oliver Chang
Accidentally reverted this while rebasing another CL. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1441473004 . (cherry picked from commit 4274ea205ca2219f6a4cfc54025284c1aa3b14b8) Review URL: https://codereview.chromium.org/1438173003 .
2015-11-12Remove two unused IXFA interfaces.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1439083002 .
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-11Revert "Merge to XFA: Roll DEPS for v8 to ab1165f. Regular weekly roll."Lei Zhang
This reverts commit 034477eb3a56690d339776d900100794a0f37853. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1432213005 .
2015-11-11Merge to XFA: Roll DEPS for v8 to ab1165f. Regular weekly roll.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1437043002 . (cherry picked from commit 44a4de0b4bd5148396b2b0de1353dafee6a4c418) Review URL: https://codereview.chromium.org/1433303003 .
2015-11-11Merge to XFA: Fix / simplify CFX_FolderFontInfo::GetFontData() behavior.Lei Zhang
The GetFontData() behavior in FPDF_SYSFONTINFO seems reasonable. Also do some code cleanup. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425023003 . (cherry picked from commit e0c16d7461ca8317433d93835e4c36a84157cbef) Review URL: https://codereview.chromium.org/1438943002 .
2015-11-11Merge to XFA: Fix extraction of colour components in ↵Oliver Chang
CPDF_DIBSource::DownSampleScanline32Bit Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to access the source components as if |m_bpc| == 8. Even when it fell into the codepath that tried to do the right thing in this case, it was wrong. BUG=554151 TBR=tsepez@chromium.org Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec Review URL: https://codereview.chromium.org/1433423002 . (cherry picked from commit e21fe98d5b5da7da01503b985b07b90c8e811689) Review URL: https://codereview.chromium.org/1441563002 .
2015-11-11Merge to XFA: Replace CJS_Parameters with std::vector<CJS_Value>.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1437713003 . (cherry picked from commit f20a34c0f2dfca49f735a0f11147254c26831e7c) Review URL: https://codereview.chromium.org/1437863005 .
2015-11-11Merge to XFA: Cleanup CPDF_ApSettings and CJS_Parameters.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1432863004 . (cherry picked from commit 56e3da27d8bed8a6c03274b7b946e3f6d6ac11f4) Review URL: https://codereview.chromium.org/1436843003 .
2015-11-11XFA: Use c++ style casts elsewhere in xfa_ffnotify.cppTom Sepez
Added FIXMEs to the spots where danger lurks. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1438553003 .
2015-11-10Merge to XFA: Fix typos in BUILD.gn.Lei Zhang
TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1419763005 . (cherry picked from commit 211cab5b58151f09fbeafe2b18da77b63664c39d) Review URL: https://codereview.chromium.org/1407413016 .
2015-11-10Merge to XFA: Keep "static" objects per-context rather than per isolate.Tom Sepez
Original Review URL: https://codereview.chromium.org/1424933013 . (cherry picked from commit 7d4c74d1b96d82681d49519c129262a1568e87d4) TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/1407063012 .
2015-11-10Segv when PDF-side JS object property getter invoked from XFA.Tom Sepez
The PDF-side native objects require that the current v8 context has been set-up to point at the state (via CJS_Runtime) for the getters, setters, and methods to operate against. XFA doesn't supply a context with that state, so at the first opportunity for a PDF-side object to be leaked to XFA, set up the context to mimic the PDF side. Changed FXJS_GetRuntimeFromIsolate() to FXJS_GetRuntimeFromV8Context() for consistency with the newly added method. BUG=pdfium:266 R=jochen@chromium.org Review URL: https://codereview.chromium.org/1412103010 .
2015-11-10Merge to XFA: Fix CalculatePitch32() issues.Tom Sepez
Original Review URL: https://codereview.chromium.org/1432073003 . (cherry picked from commit 46960a43145ab978ca3c90cb6133bb3d5600ad1d) BUG=pdfium:273 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1424473008 .
2015-11-10Fix invalid cast in CXFA_FFNotify::OnLayoutItemRemoving().Tom Sepez
There's a re-interpretation followed by a pointer-adjusting static cast required here, not just a blatant re-interpretation. BUG=pdfium:271 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1431313005 .
2015-11-10Merge to XFA: Prevent buffer underflow in CPDF_TextObject::CalcPositionDataOliver Chang
R=tsepez@chromium.org TBR=tsepez@chromium.org BUG=554115 Review URL: https://codereview.chromium.org/1435473004 . (cherry picked from commit 46d2e278f62454ed2392630b6d18d33d380a20eb) Review URL: https://codereview.chromium.org/1436673003 .
2015-11-10Merge to XFA: Get rid of _FX_JPEG_TURBO_Lei Zhang
Instead, set the libjpeg to use via GYP/GN. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1433803002 . (cherry picked from commit 16f26fb7621c8ee554f4d7c5b4c1972eb0ed7065) Review URL: https://codereview.chromium.org/1409323010 .
2015-11-10XFA: Fix libjpeg header includes.Lei Zhang
BUG=pdfium:272 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1414043014 .
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-11-10Merge to XFA: Use unique_ptr and initializer lists in various render files.Lei Zhang
TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1436573003 . (cherry picked from commit c813e21d261c24867234107f2e2ca72e15cb2534) Review URL: https://codereview.chromium.org/1406933007 .
2015-11-10Merge to XFA: Remove core/src/fpdfapi/fpdf_font/common.h and use stdint types.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1437603002 . (cherry picked from commit 21e079dd982f57daa9d5af0d9e48d58189ce35da) Review URL: https://codereview.chromium.org/1421303006 .
2015-11-10Merge to XFA: Make SDP_Table an array of int16_t.Lei Zhang
Move some functions into an anonymous namespace. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1431253002 . (cherry picked from commit b5d6497946c1117e6f54506eb85b47e0a7e0234c) Review URL: https://codereview.chromium.org/1416113011 .
2015-11-10Merge to XFA: Fix relative includes within core/Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1427633010 . (cherry picked from commit 9fb27cb9797937499c9678bc74cf7846cbf5d2b8) Review URL: https://codereview.chromium.org/1438573002 .
2015-11-10Merge to XFA: Remove CFX_PtrArray usage in fpdfsdk.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1430213002 . (cherry picked from commit 8deeacd23872ecc132a0a678e344a018b5114a3a) Review URL: https://codereview.chromium.org/1416113010 .
2015-11-10Merge to XFA: Use standard true and false to replace 'TRUE' and 'FALSE' in ↵Jun Fang
pdfium_test BUG=446715 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1410073009 . Review URL: https://codereview.chromium.org/1413103007 .
2015-11-10Merge to XFA: Support linearized loadingJun Fang
BUG=446715 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1353093003 . Conflicts: core/include/fpdfapi/fpdf_parser.h core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp samples/pdfium_test.cc testing/embedder_test.cpp testing/embedder_test.h Review URL: https://codereview.chromium.org/1412083010 .