summaryrefslogtreecommitdiff
path: root/fpdfsdk/include
AgeCommit message (Collapse)Author
2015-05-27Replace XFA_HDOC with IXFA_Doc*Tom Sepez
There are better ways to provide information hiding than casting willy-nilly from an unrelated structure. Kill dozens of casts in the process. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1146153005
2015-05-27Merge to XFA: Remove rendundant ../include from paths.Tom Sepez
Original Review URL: https://codereview.chromium.org/1162453003 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1154613005
2015-05-27Make CPDFXFA_App / IXFA_AppProvider sanerTom Sepez
Move interface comments from the implementation header to the interface header. Replace Create / Release functions with static methods. Replace dubious Release() methods with deletion via virtual dtor, also for IXFA_App and IXFA_FontMgr while we're at it. Untabify and fix (theoretically) illegal _CAP include guard definitions for fpdfxfa/ headers. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1153553003
2015-05-19Merge V8 API updates to xfa branchJochen Eisinger
Set pointers in internal fields directly instead of wrapping them Review URL: https://codereview.chromium.org/1139853003 Use phantom handles instead of weak handles Review URL: https://codereview.chromium.org/1129253004 Replace deprecated with non-deprecated V8 APIs Review URL: https://codereview.chromium.org/1126203010 Add myself to OWNERS file Review URL: https://codereview.chromium.org/1133333005 Replace v8::Handle with v8::Local and v8::Persistent with v8::Global Review URL: https://codereview.chromium.org/1138823004 TBR=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/1140033004
2015-05-12Merge to XFA: NEW public API for pdfwindow font manipulation.Tom Sepez
Original Review URL: https://codereview.chromium.org/1126283004 BUG=486818 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1137163002
2015-05-11Merge to XFA: Create top-level public/ header directory.Tom Sepez
Original Review URL: https://codereview.chromium.org/1135913002 BUG=pdfium:154 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1136703003
2015-04-30Merge to XFA: Fix V8 array buffer allocator.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1118143003
2015-04-23Merge to XFA: Remove unused nParamNum values from JS method tables.Tom Sepez
Original Review URL: https://codereview.chromium.org/1084183008 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1105813002
2015-04-23Merge to XFA: Kill overloaded cast operators in CJS_Value.Tom Sepez
Original Review URL: https://codereview.chromium.org/1096813008 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1106663002
2015-04-20Merge to XFA: Remove Release() combo patch.Tom Sepez
Includes: Original Review URL: https://codereview.chromium.org/1098043002 Original Review URL: https://codereview.chromium.org/1097843003 Original Review URL: https://codereview.chromium.org/1093213002 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1092033004
2015-04-14Merge to XFA: Kill CFX_Object.Tom Sepez
Not just a simple merge, but changes to remove CFX_Object from XFA. Original Review URL: https://codereview.chromium.org/1088733002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1087053002
2015-04-08Merge to XFA: Fix IWYU in formfiller/ directory.Tom Sepez
Original Review URL: https://codereview.chromium.org/1066253002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1073563003
2015-04-08FFL_MIN and FFL_MAX are pointless and stupid.Tom Sepez
Kill some nearby dead code while I'm at it. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1064283002
2015-04-07Merge to XFA: Fix IWYU in pdfwindow/ directory.Tom Sepez
This incorporates class vs. struct fix in 34f5fc0f2a18 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1063283002
2015-04-07Merge to XFA: Fix (nearly all) IWYU in fpdfskd/include/javascript/ headers.Tom Sepez
Original Review URL: https://codereview.chromium.org/1060133002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1065103002
2015-04-06Merge to XFA: Fix a fatal error due to cloning a global document objectJUN FANG
BUG=454595 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1053373002
2015-03-02Fix a compiling error in fxjs_v8.hJUN FANG
BUG=NA R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/965423004
2015-03-02Merge to XFA: Kill off JS_ErrorString type.Tom Sepez
Orignal Review URL: https://codereview.chromium.org/971033002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/969203002
2015-03-02Merge to XFA: Return error information from pdfium to JS.Tom Sepez
Cherry-pick from b720d0a14601f1496ef15297bc46d401f5a2a890 + Manually resolve merge conflicts + Fix more IWYU to fix compile. Original Review URL: https://codereview.chromium.org/963193003 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/971013002
2015-02-27Merge to XFA: Remove unused IDS_ constants from pdfium.Tom Sepez
Review URL: https://codereview.chromium.org/955273003 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/966653004
2015-02-25Merge to XFA: Kill off unused IFXJS interface methods.Tom Sepez
Original Review URL: https://codereview.chromium.org/954923004 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/952213004
2015-02-24Merge to XFA: Kill multi-byte comments in fxet_list.hTom Sepez
Original Review URL: https://codereview.chromium.org/953143002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/952043003
2015-02-23Merge to XFA: Replace second set of #defines with templates in JS_Define.hTom Sepez
Original Review URL: https://codereview.chromium.org/945623002 TBR=brucedawson@chromium.org Review URL: https://codereview.chromium.org/948083002
2015-02-19Merge to XFA: Replace ugly JS_Define macros with templates.Tom Sepez
Original Review URL: https://codereview.chromium.org/908033002 R=brucedawson@chromium.org Review URL: https://codereview.chromium.org/932223002
2015-02-17Keep the declaration of FPDF_HasXFAField consistent with other XFA APIsJun Fang
It's an enhancement requested in issue 452794. BUG=N/A R=tsepez@chromium.org Review URL: https://codereview.chromium.org/939483003
2015-02-17Merge to XFA: Tidy up JS_Defines.hTom Sepez
Original Review URL: https://codereview.chromium.org/927263003 TBR=brucedawson@chromium.org Review URL: https://codereview.chromium.org/936613002
2015-02-17Set the view pointer as NULL after its xfa doc is releasedJun Fang
BUG=452794 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/928803002
2015-02-10Merge https://codereview.chromium.org/897973002/ and ↵John Abd-El-Malek
https://codereview.chromium.org/902753002/ to XFA branch R=jochen@chromium.org Review URL: https://codereview.chromium.org/887073005
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-01-28Cover fpdftext.h API with embeddertests.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/878333003
2015-01-21Merge to XFA: Use signed long for FPDF_GetNamedDest buffer length.Bo Xu
Need to have return value -1 indicating insufficient buffer. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/862163002
2015-01-15XFA: merge patch from CL 834703002, add APIs for getting bookmarks and named ↵Bo Xu
destinations. Also uses "((CPDFXFA_Document*)document)->GetPDFDoc();" in a various places Add APIs for getting bookmarks and named destinations. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/834703002
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-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-05Fix XFA specific use of m_sTimeMap. This fixes a build break.Bruce Dawson
R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/823653004
2015-01-05XFA: merge patch from CL 831903002, m_sTimeMap fixesBruce Dawson
Get rid of fifteen copies of m_sTimeMap and their initializers. m_sTimeMap is a global variable with a constructor and destructor, which is not allowed. This change moves it to a function with a static pointer so that it is constructed on demand and then leaked, thus avoiding having startup and shutdown code. This also fixes a worrisome bug caused by having m_sTimeMap defined in a header file. Because m_sTimeMap was defined (and marked as static) in a header file there were fifteen separate copies of it, one for each source file which included the header file. This could easily lead to bugs because a timer that was added from one source file would be invisible to other source files. Each instance of m_sTimeMap added four entries to the dump-static-initializers.py report, for a total of sixty, so this fix significantly cleans up that report. BUG=441899 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/831903002 Review URL: https://codereview.chromium.org/800883004
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
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-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-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-11-17Merge to XFA: patch from CL 730993002Bo Xu
2014-11-16Merge to XFA: patch from CL 700373006 and 727243002Bo Xu
2014-11-06Change version of FPDF_FORMFILLINFO to 2; Add #define PDF_USE_XFABo Xu
2014-11-06Merge to XFA: patch from issue 692533005Tom Sepez
Review URL: https://codereview.chromium.org/706993004
2014-11-03Lock page in LoadFXAnnot to prevent unintended page closingunknown
2014-11-03Merge XFA to PDFium master at 4dc95e7 on 10/28/2014Bo Xu
2014-10-30For v8 Global Object, do not copy in CJS_Value constructor.Tom Sepez
BUG=425129 R=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/688303003
2014-10-03Enable C linkage in fpdfppo.hBo Xu
BUG=pdfium-52 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/623893003
2014-09-24Lock page in LoadFXAnnot to prevent unintended page closingBo Xu
BUG=410326 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/594403003
2014-09-19Add FPDF_GetSecurityHandlerRevisionBo Xu
Security handler revision number is needed to interpret file permission. BUG=None R=thestig@chromium.org Review URL: https://codereview.chromium.org/589813002