summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2015-02-27Merge to XFA: Do hit tests against Annots in reverse order.Lei Zhang
Original Review URL: https://codereview.chromium.org/952423002 (cherry picked from commit 944ccad72d028ed5e37f53c5c8c0888866905bc3) Review URL: https://codereview.chromium.org/970523002
2015-02-27Merge to XFA: Fix JPX image rendering that regressed due to several security ↵Lei Zhang
fixes. Original Review URL: https://codereview.chromium.org/892553002 (cherry picked from commit 254360730190cc6d6e3de325ee101948b78c1e32) Review URL: https://codereview.chromium.org/967773002
2015-02-27Merge to XFA: Fix some typos in fpdf_render_loadimage.cpp.Lei Zhang
Original Review URL: https://codereview.chromium.org/885223004 (cherry picked from commit 900d7bf46efc26e0588e1777759f7716ed4f8dbd) Review URL: https://codereview.chromium.org/963413002
2015-02-27Merge to XFA: Cleanup: Fix some unused-function warnings.Lei Zhang
Original URL: https://codereview.chromium.org/891113002 (cherry picked from commit 44fc192f29a77c5864fabffe5ab63937dacdfd21) Review URL: https://codereview.chromium.org/966023002
2015-02-27Merge to XFA: Cleanup parts of fpdf_render_loadimage.cpp.Lei Zhang
Original URL: https://codereview.chromium.org/890883006 (cherry picked from commit 3f41851972a18762164d7110a82da3baed564b80) Review URL: https://codereview.chromium.org/966013002
2015-02-27Merge to XFA: Check for NULL pointers in CJBig2_SymbolDict::DeepCopy().Lei Zhang
Original URL: https://codereview.chromium.org/837093002 (cherry picked from commit f8105c665856863ad95da37fee6c12b98b953e2c) Review URL: https://codereview.chromium.org/967033002
2015-02-27Merge to XFA: Cleanup: Get rid of CRLF line endings.Lei Zhang
Original URL: https://codereview.chromium.org/837533003 (cherry picked from commit 256ef88a26cff56fc7c23119d2d9e1b41468bd1a) Review URL: https://codereview.chromium.org/963403002
2015-02-27Merge to XFA: Update externs in unicodenormalization.cpp to not have array ↵Lei Zhang
sizes. Original URL: https://codereview.chromium.org/825983004 (cherry picked from commit dd132d8d1e9a27673e5357a657db2b97dda9bcdb) Review URL: https://codereview.chromium.org/965033005
2015-02-27Merge to XFA: Fix an array size mismatch.Lei Zhang
BUG=446057 Original Author: sebmarchand@chromium.org Original CL: https://codereview.chromium.org/837523002/ Review URL: https://codereview.chromium.org/812843004 (cherry picked from commit f96404951bc1505887e2567088b59206316c9297) Review URL: https://codereview.chromium.org/966003002
2015-02-27Merge to XFA: Upgrade openjpeg to revision 2997.JUN FANG
BUG=457493 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/960183004
2015-02-24Merge to XFA: Add small flate decode unit test.Tom Sepez
Original Review URL: https://codereview.chromium.org/845313006 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/945793004
2015-02-12Merge to XFA: Fix an error 'Use-of-uninitialized-value in CPDF_Function::Call'JUN FANG
This issue was introduced in https://codereview.chromium.org/886953002/. BUG=454280 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/869343008
2015-02-11Merge to XFA: CPDF_Object() constructor should set its internal m_Type variable.Tom Sepez
Original Review URL: https://codereview.chromium.org/880233005 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/916953002
2015-02-10Merge to XFA: Fix uninitialized value in CFX_ByteString::FormatIntegerJUN FANG
BUG=449845 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/911293002
2015-02-10Merge to XFA: Fix heap buffer overflow in CPDF_SampledFunc::v_CallJUN FANG
This issue was caused by integer overflow in CPDF_SampledFunc::v_Call. The root cause of this issue is that the content in the test pdf file was damaged. The solution is to check whether an integer is overflow before using it. BUG=452455 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/886953002
2015-02-06Fix XFA build after combining PDFium into Chromium binary.John Abd-El-Malek
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/889253003
2015-02-05Merge to XFA: Kill off some more unreachable fopen's.Tom Sepez
Original Review URL: https://codereview.chromium.org/902943003 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/895903005
2015-02-05Kill off some dodgy JS callbacksTom Sepez
None of these are currently reachable because the IsSafeMode method always returns true. This, in turn, will let us kill off some file (as in fopen()) based parsing. That, in turn, will let us kill of some more now-unreachable code. In general, we don't want to have unsafe modes. BUG=https://code.google.com/p/pdfium/issues/detail?id=116 R=jam@chromium.org Review URL: https://codereview.chromium.org/883393007
2015-02-05Merge to XFA: Fix segv in CPDF_DataAvail::CheckRoot()Tom Sepez
Original Review URL: https://codereview.chromium.org/895933003 BUG=454695 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/901013003
2015-02-05Merge to XFA: Add namespace and-re-arrange PDFium's local copy of /base.Tom Sepez
Original revieww URL: https://codereview.chromium.org/900753002 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/880603004
2015-02-04Merge to XFA: Prevent base::CheckedNumeric from leaking outside of pdfium.Tom Sepez
Original review URL: https://codereview.chromium.org/896023003 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/897023005
2015-02-03Merge to XFA: Replace CFX_SmartPointer cast operator with Get() method.Tom Sepez
Original Review URL: https://codereview.chromium.org/889673003 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/900693003
2015-02-03Merge to XFA: Fix stack exhaustion in CPDF_DataAvail::HaveResourceAncestor()Tom Sepez
Original Review URL: https://codereview.chromium.org/880043004 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/893333003
2015-02-02Merge the following changes to XFA branch:John Abd-El-Malek
b3a788e Fix GN PDFium build when building all. by John Abd-El-Malek - 19 hours ago chromium/2293 f8af677 Always use the FreeType headers included in PDFium. by John Abd-El-Malek - 24 hours ago dc8c950 Don't export any OpenJPEG methods from PDFium. by John Abd-El-Malek - 3 days ago 71c24b8 Use system FreeType on Linux. by John Abd-El-Malek - 3 days ago R=tsepez@chromium.org Review URL: https://codereview.chromium.org/900433002
2015-01-29Merge to XFA: Fix infinite recursion in CPDF_RenderStatus::RenderSingleObject().Tom Sepez
This brings in: 14b2bb0 Fix infinite recursion in CPDF_RenderStatus::RenderSingleObject(). 1d43e82 Add minimized test cases for stack exhaustion crash to repository. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/893493002
2015-01-27Merge to XFA: Kill scattered extern _PDF_CharType declarations.Tom Sepez
TBR=brucedawson@chromium.org Original Review URL: https://codereview.chromium.org/880663003 Review URL: https://codereview.chromium.org/884473003
2015-01-26Merge to XFA: Fix infinite recursion in CPDF_Parser::ParseIndirectObjectAt().Tom Sepez
Orignal Review URL: https://codereview.chromium.org/875263002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/880753002
2015-01-23Merge to XFA: Fix null crash in CheckTrailer.Tom Sepez
This includes: fa370ac Fix test naming in previous commit. e0bbe4a Fix null crash in CheckTrailer. TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/870173002
2015-01-22Merge to XFA: Use IPDF_DataAvail interface to hide CPDF_DataAvail.Tom Sepez
Original CL at https://codereview.chromium.org/873523002/ TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/871773002
2015-01-21Merge to XFA: Simplify UTF16LE_Encode and add unittest.Bo Xu
Previously, UTF16LE_Encode take an optional flag to indicate if the returned byte string has trailing zeros. In fact, no where needs the flag to be false. So just get rid of it so callers won't misuse. The bug is found by https://codereview.chromium.org/837723009 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/860973002
2015-01-12Fix include paths for pdfium_unittests under chromium checkout.Tom Sepez
Here, testing/gtest and testing/some-pdfium-stuff will be different directories, since we will use the gtest at top-level. For standalone, they happen to be the same. TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/852493002
2015-01-09merge to XFA: Fix -Wnon-virtual-dtor compiler warnings.Tom Sepez
Original at URL: https://codereview.chromium.org/810883005 Note that the new code in XFA introduces many more of these, to be handled separately. TBR=brucedawson@chromium.org TBR=thestig@chromium.org BUG=https://code.google.com/p/pdfium/issues/detail?id=102 Review URL: https://codereview.chromium.org/842223004
2015-01-08Merge to XFA: Land: Protect against a seg fault in CPDF_StructElementImpl ↵Tom Sepez
constructor Original CL at https://codereview.chromium.org/841943003/ TBR=jam@chromium.org Review URL: https://codereview.chromium.org/845603004
2015-01-08XFA: merge patch from CL 792953005, fix most warningsBruce Dawson
Includes fixes to XFA specific warnings -- benign truncations. Bug https://code.google.com/p/pdfium/issues/detail?id=104 was filed to track changing types to avoid some truncations. Resolve all but two VC++ build warnings in pdfium. pdfium builds on Win32 have about 85 warnings (250 in the XFA branch, totaling over 480 lines!), mostly from four lines in a header file and a warning that should be disabled. This change resolves all but two of them and turns on warning-as-errors. Bugs have been filed for the two remaining warnings: https://code.google.com/p/pdfium/issues/detail?id=100 the 64-bit warnings: https://code.google.com/p/pdfium/issues/detail?id=101 and the Linux warnings: https://code.google.com/p/pdfium/issues/detail?id=102 The fix to the double->float truncation bugs will also improve code-generation. R=bo_xu@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/792953005 BUG= https://code.google.com/p/pdfium/issues/detail?id=100 Review URL: https://codereview.chromium.org/834413002
2015-01-07Merge to XFA: Finish unit test for CFX_ByteStringC class.Tom Sepez
Original CL at https://codereview.chromium.org/808553013 TBR=brucedawson@chromium.org Review URL: https://codereview.chromium.org/837253002
2015-01-07Merge to XFA: Add ostream helpers for FX String classes.Tom Sepez
Original CL at https://codereview.chromium.org/837843002 TBR=brucedawson@chromium.org Review URL: https://codereview.chromium.org/809313008
2015-01-05XFA: merge patch from CL 828203002, clean up bookmark codesBo Xu
Clean up bookmark related codes. Remove CPDF_Dictionary*() operator in CPDF_Bookmark class. Unify naming conventions and coding styles. Change some functions to const. Change the name of function argument to |pDict| for FPDF_xxx type variable. This makes the code more clear and gives better variable naming R=tsepez@chromium.org Review URL: https://codereview.chromium.org/828203002 Conflicts: fpdfsdk/src/fpdfdoc.cpp
2015-01-05XFA: merge patch from CL 729293003, use FX_ArraySize for safetyBruce Dawson
Note that the merge of this fix to XFA found six bugs. Five were fixed in https://codereview.chromium.org/826573003 and one was fixed in https://codereview.chromium.org/831293002. These bugs are now impossible to compile. Replace manual/error-prone/hard-to-verify arraysize calculations with safe FX_ArraySize macro. pdfium has numerous places where the number of elements in an array is calculated with expressions like: sizeof(cFormats)/sizeof(FX_LPCWSTR) This is suboptimal because it is verbose, it is easy to get wrong, and it cannot be determined through casual inspection whether the code is correct. It will give incorrect results if cFormats is a pointer instead of an array and it will give incorrect results if FX_LPCWSTR is not the type of the array elements. The FX_WSTRC macro in fx_string.h which I fixed was particularly scary because it would silently misbehave if passed a pointer. The FX_ArraySize macro which I have added and started using (taken from arraysize in v8's macros.h) is easier to use and will always give correct results. If passed a pointer it will fail to compile. For this change I only fixed instances of sizeof(FX_LPCWSTR). There appear to be about 150 other places in the pdfium code that could benefit from using FX_ArraySize. TBR=bo_xu@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/818193004
2015-01-05XFA: merge patch from CL 828183002, remove static declared SymbolDictCacheBo Xu
Remove static declared SymbolDictCache. This is a follow up CL on https://codereview.chromium.org/761313004/ BUG=https://code.google.com/p/pdfium/issues/detail?id=93 R=brucedawson@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/828183002
2014-12-30XFA: merge patch from CL 733693003, get rid of FX_LPCSTR castBo Xu
Get rid of FX_LPCSTR cast. Follow up on https://codereview.chromium.org/733693003 R=brucedawson@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/809993004
2014-12-29Merge: Create pdfium_unittests binary. [XFA]Tom Sepez
Original CL at https://codereview.chromium.org/831653002/ TBR=palmer@chromium.org, brucedawson@chromium.org Review URL: https://codereview.chromium.org/830553002
2014-12-23XFA: merge patch from CL 733693003, getting rid of more castsBruce Dawson
Getting rid of more (FX_LPCWSTR) casts and fixing two bugs revealed by this. Since casts to FX_LPCWSTR have been shown to hide bugs I tried removing more of them, targeting those places where a cast was used to force a conversion from CFX_WideString to FX_LPCWSTR, replacing these casts with calls to the newly added .c_str() function. This revealed two places where the cast was hiding a bug -- where ->c_str() was required instead! This removes ~33 FX_LPCWSTR casts and there are ~31 left, many of which will go away in some future change. Also includes this change: Removing unnecessary casts from wchar_t* to wchar_t*, by various names. Original patch from Bruce Dawson(brucedawson@chromium.org) TBR=bo_xu@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/811593007
2014-12-23XFA: merge patch from CL 731673003, fix incorrect operatorBruce Dawson
Fixing operator so that bCheckRight isn't always true. Unknown effect! VC++'s /analyze points out that this expression: FX_BOOL bCheckRight = type != 'D' || type != 'W';" is always true. This means that the tests for the right edge of a word Original patch from Bruce Dawson(brucedawson@chromium.org) BUG=427616 TBR=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/822763003
2014-12-23XFA: merge patch from CL 727083002, zero local variables.Bruce Dawson
Zero initialize ch to avoid possible bug - conditions are very subtle. Whether ch and iRet are read without being initialized depends on complex preconditions and cannot be determined by looking at these function. Therefore it seems prudent to zero initialize them to avoid any risk. BUG=427616 TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/727083002 Review URL: https://codereview.chromium.org/793763005
2014-12-19XFA: merge patch from CL 816153002Bo Xu
Transform font size to user space for valid text size comparison. BUG=438441 R=thestig@chromium.org Review URL: https://codereview.chromium.org/816153002
2014-12-19XFA: merge patch from CL 815103002Bo Xu
Update freetype to 2.5.4. Put freetype into third_party directory, cleaning up header files. Previously freetype header files are in core/src/fxge/freetype and core/include/thirdparties. There were also multiple fx_freetype.h. This patch removes the additional Foxit wrapper to make further update easier. Notice, for original freetype source code, the following files are modified and need to be updated accordingly in future update: third_party/freetype/include/config/ftmodule.h third_party/freetype/include/config/ftoption.h BUG=407341 R=thestig@chromium.org Review URL: https://codereview.chromium.org/815103002
2014-12-19XFA: merge patch from CL 817753002Bo Xu
Fix a few windows compile warnings R=tsepez@chromium.org Review URL: https://codereview.chromium.org/817753002
2014-12-19XFA: merge patch from CL 810223003Lei Zhang
Cleanup: Refactor some code into its own function in fpdf_text_int.cpp. Also use stdlib algorithms in a few places. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/810223003 Conflicts: core/src/fpdftext/fpdf_text_int.cpp
2014-12-19XFA: merge patch from CL 816593002Lei Zhang
Cleanup: Remove a shadow variable in CPDF_TextPage::CloseTempLine(). R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/816593002
2014-12-19XFA: merge patch from CL 761313004Bo Xu
Add a small LRU cache for the JBIG2 symbol dictionary. This reduces rendering time on my test document by over 10 seconds. It is super common for a JBIG2 dictionary to span multiple pages, so we don't want to decode the same dictionary over and over again. Original patch from Jeff Breidenbach (breidenbach@gmail.com) BUG=https://code.google.com/p/pdfium/issues/detail?id=85 R=bo_xu@foxitsoftware.com, thestig@chromium.org Review URL: https://codereview.chromium.org/761313004