summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-01-05Fixed incorrect use of FX_WSTRC on FX_WCHAR* vars.Bruce Dawson
FX_WSTRC is only valid on arrays, not pointers. In five places it was being passed a pointer, which leads to incorrect string objects being created. This was found when integrating a change to FX_WSTRC that disallows pointer arguments. The consequence of this bug is that five XML strings (quot, amp, apos, lt, and gt) will all end up with incorrect lengths. They will all be one character long in 32-bit builds, and three characters long in 64-bit builds (sizeof(WCHAR*)-1). Also removed some unneeded casts and marked some arrays as const. Fixing this is necessary in order to allow landing of https://codereview.chromium.org/818193004/ Testing this was attempted by using the xfa branch of pdfium in Chrome: cd third_party\pdfium git checkout xfa However even without these changes this caused a CHECK failure in V8::InitializePlatform due to double initialization, so the fix has not been tested, but is clearly an improvement. BUG= https://code.google.com/p/pdfium/issues/detail?id=96 R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/826573003
2015-01-02XFA: merge patch from CL 788143009, remove g_NaN var and constructorBruce Dawson
Doing the type conversion on demand is just as efficient as doing it at startup time, and makes for more efficient startup. Also mark g_nan as const, to reduce .data section size and enforce desired semantics. BUG=441899 TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/788143009 Review URL: https://codereview.chromium.org/832933002
2014-12-30Update MyriadPro fontmap.Bo Xu
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/720323008
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-29Fix compilation breakage at d70b545.Tom Sepez
TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/798723003
2014-12-29Fix the big integer bug in PDF417.Bo Xu
Previously no big integer support in Pdfium and XFA. The PDF417 barcode functionality could not work properly. BUG=https://code.google.com/p/pdfium/issues/detail?id=98 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/777553002
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 789163008 and 815333002Lei Zhang
Add the license back to ftmodule.h after the freetype 2.5.4 upgrade. Review URL: https://codereview.chromium.org/815333002 Set the freetype options missing in the recent update. Turn on the FT_CONFIG_OPTION_SUBPIXEL_RENDERING to enable sub-pixel rendering. Also undef some other options to match what they look like before. BUG=444243 R=thestig@chromium.org Review URL: https://codereview.chromium.org/789163008
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-19Adjust xfa.gyp to match freetype update.Bo Xu
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/821493002
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
2014-12-19XFA: merge patch from CL 790213005Lei Zhang
Cleanup: Pass by const reference in fpdftext. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/790213005
2014-12-19XFA: merge patch from CL 441988Bruce Dawson
Avoid duplicate definitions of JSCONST_n*Hash and QeTable variables. QeTable is a 752 byte array that was defined in a header file. This caused it to be instantiated by the VC++ compiler 12 times, wasting 8,272 bytes of space in the data segment. Because 'const' implies 'static' this did not cause any duplicate symbol errors. JSCONST_n*HASH are a set of eight variables that are defined in a header file. This causes them to be replicated 15 times. The variables themselves are tiny but they are dynamically initialized and this dynamic initialization code is replicated 15 times. When tested on pdfium_test.exe the effect of this change is to: Reduce the .text (code) segment by 3,616 bytes. Reduce the .rdata section by 8,656 bytes. Reduce the total binary file size by 13312 bytes. These are the worst offenders for pdf.dll as shown in: https://drive.google.com/open?id=1BvubxoA2SU_2e4T5cq7jHTjc1TlT0qOndpIfX3DMeA8&authuser=0 This will also drastically simplify the list of work to be done for bug 441899 (getting rid of initializers). BUG=441988 R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/802013002
2014-12-18Remove spurious XFA unsupported warning on XFA branchTom Sepez
R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/818543002
2014-12-18Fix obvious compilation breakage on win32 in previous version.Tom Sepez
TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/814903002
2014-12-17Initialize V8 external data (XFA version).Tom Sepez
This is a quick patch to fix the segv which occurs in pdfium_test when the v8 external data is not provided. Fixing the full-up initialization is left as a follow-on exercise. Path manipulations remain a nuisance since we don't want to depend on a particular /base library. BUG=439793 R=thestig@chromium.org Review URL: https://codereview.chromium.org/810793004
2014-12-17XFA: merge patch from issue 803103002JUN FANG
Before this fix, the root will be released when an indirect object has the same object number with the root. However, the root object is loaded when the trailer is parsed. It shall not be updated or replaced anymore. BUG=425040 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/803103002
2014-12-15Remove more defines in XFA branch that aren't used for PDFium.John Abd-El-Malek
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/811493002
2014-12-15XFA: merge patch from issue 801913002 and 804463003John Abd-El-Malek
Simplify PDFium by removing code that's not used in the open source repo. -remove parameter from FPDF_InitLibrary -remove a bunch of ifdefs that are unused Fix build after previous commit. TBR=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/809513002
2014-12-11Merge to XFA: patch from CL 792113003Bo Xu
m_pColorSpace can not be NULL for image object with DCTDecode filter BUG=411842 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/792113003
2014-12-10Merge to XFA: patch from CL 790363002Bo Xu
Do not do strict check of BitsPerComponent for RunLengthDecode filter BUG=438421 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/790363002
2014-12-10Merge to XFA: patch from CL 791223002Bo Xu
Lab colorspace needs to be 3 component BUG=429134 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/791223002
2014-12-09Merge to XFA: patch from CL 787753002Bo Xu
Trailer should be a dictionary object BUG=https://code.google.com/p/pdfium/issues/detail?id=86 a "<<" token should follow "trailer" but "<" will trick the parser to make trailer a hex string object. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/787753002
2014-12-08Make app.alert() actually print its message under pdfium_test.Tom Sepez
This is needed as an aid to testing. R=thestig@chromium.org Review URL: https://codereview.chromium.org/788433002
2014-12-05check NULL of pTemplateRoot in DoDataMergeBo Xu
BUG= https://code.google.com/p/pdfium/issues/detail?id=89 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/786523004
2014-12-05Log message when XFA load failsTom Sepez
A minor change to make it obvious when generated/test XFA files are not being fully processed. R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/732173003
2014-12-04Remove needless casts of (narrow) string literals.Tom Sepez
Follow-up to work on (wide) string literals. R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/751113003
2014-12-04Replace void* pointers with CFX_BaseMassArrayImp* pointers.Tom Sepez
Using an incomplete type here avoids casting later on, and allows the debugger to more easily dig through these data structures. R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/766183009
2014-12-02Merge "Add big integer library""Bo Xu
This patch merges the 3 commits in master branch into one
2014-11-24Mass remove dangerous and needless LPCWSTR casts.Tom Sepez
One table is also reformatted to put one entry per line for readability. R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/749273003
2014-11-24Merge to XFA: patch from CL 758593002Bo Xu
Update to openjpeg r2944 BUG=429139,430566,431288 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/758593002
2014-11-19Merge to XFA: patch from CL 743263002Jun Fang
Fix blank page issues caused by too strict check Before this fix, PDF parser aborts the parsering process when detecting an error. For this case, PDF parser just gives up parsering when it detects that the length of image stream is incorrect. The solution to this case is to find the tag "endstream" and "endobj" to calculate the length rather than aborting the parsering process. BUG=433339 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/743263002
2014-11-18Add XFA test filesBo Xu
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/715133004
2014-11-18Update form fill version to 2 for pdfium_test.cc on XFA branch (only).Tom Sepez
BUG=https://code.google.com/p/pdfium/issues/detail?id=82 R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/743493004
2014-11-18Merge to XFA: patch from CL 738433003Bruce Dawson
Review URL: https://codereview.chromium.org/738433003 R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/741473003
2014-11-17Merge to XFA: patch from CL 730993002Bo Xu
2014-11-16Merge to XFA: patch from CL 700373006 and 727243002Bo Xu
2014-11-14Merge to XFA: Patch from CL 726143002Bo Xu
BUG=https://code.google.com/p/pdfium/issues/detail?id=78 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/726143002
2014-11-14Check NULL pointer dereferencing from GetDirectBo Xu
BUG=431770 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/728993002
2014-11-14Merge to XFA: Patch from CL 705503004Bo Xu
Change from 'this' to L'this' and remove the cast that was hiding this mismatch. Found by VC++'s /analyze. Warning was: fpdfsdk\src\javascript\js_runtime.cpp(352) : warning C6276: Cast between semantically different string types: char * to wchar_t *. Use of invalid string can lead to undefined behavior. This mismatch has been there as far back as the history goes (to May of this year). It looks like a real bug to me. However I don't know the implications of this bug and why it would not have been noticed at run-time. The code has been this way as far back as the git history goes, but that is only to May 2014. Original patch from Bruce Dawson(brucedawson@chromium.org) BUG=427616 R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/705503004
2014-11-14Add XFA files to GN build.Tom Sepez
This mirrors the changes made to .gyp files on the XFA branch. Chrome is still building against the master branch, so the only meaningful way to test this is locally. R=dpranke@chromium.org Review URL: https://codereview.chromium.org/727673003
2014-11-14XFA: merge patch from issue 726033002Tom Sepez
Fixes android build error under stricter compilation modes. TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/728943002
2014-11-13Merge patch from issue 720193004 to XFA.Tom Sepez
Adds GN build capability for pdfium_test. TBR=dpranke@chromium.org Review URL: https://codereview.chromium.org/720373002