summaryrefslogtreecommitdiff
path: root/xfa/src/fxfa
AgeCommit message (Collapse)Author
2016-02-19Add a proper bounds check to XFA_FM_KeywordToStringOliver Chang
R=tsepez@chromium.org BUG=588200 Review URL: https://codereview.chromium.org/1718453003 .
2016-02-19Define _DEBUG for debug builds.Lei Zhang
Otherwise ASSERT() is useless. BUG=pdfium:136 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1712053003 .
2016-02-19Revert "Revert "Use safe arithmentic in CFX_BinaryBuf::ExpandBuf.""Tom Sepez
This relands the CL at https://codereview.chromium.org/1710403002 Tests passed locally. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1717603003 .
2016-02-19Revert "Use safe arithmentic in CFX_BinaryBuf::ExpandBuf."Tom Sepez
This reverts commit 78353d5dbc0b0c9b2d6946005439a51efa7d108c. Reason for revert Failed tests. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1719493002 .
2016-02-19Use safe arithmentic in CFX_BinaryBuf::ExpandBuf.Tom Sepez
Always call ExpandBuf(), and if it returns, we know the subsequent calculations won't overflow. Also use std::unique_ptr, and fix unintentional copies thus detected by its suppressed copy ctor in fsdk_baseform.cpp Also Remove unused CFX_BinaryBuf::TakeOver(), AppendFill(), CopyData(). Also remove operator= in favor of using <<, for similarity with std::ostream and friends. Also move ByteStringC methods to CFX_ByteTextBuf sub-class. Also re-order members, may pack tighter on 64-bits. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1710403002 .
2016-02-19Move m_rgPendingNodes off of CFX_PtrList.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1712913002 .
2016-02-19Remove XFA_DATAMERGE_UPDATEBINDINGRELATIONS_DFSTom Sepez
Doing so removes another CFX_PtrList usage. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1716633002 .
2016-02-19fix crashed in FXJSE_Value_Setjinming_wang
BUG=pdfium:394 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1704813002 .
2016-02-19Fix a crasher in CXFA_Node::Script_Form_Recalculate()Jun Fang
BUG=pdfium:398 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1704343002 .
2016-02-19Fix a crasher in CFDE_TxtEdtDoRecord_Insert::CFDE_TxtEdtDoRecord_Insert()Jun Fang
If a widget is barcode, we should set the data length of barcode as the max length of input string. BUG=pdfium:372 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1703963003 .
2016-02-18Fixup incorrect include guards.Dan Sinclair
This CL updates include guards throughout the code base to be in the chromium style. BUG=pdfium:65 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1707893004 .
2016-02-17Fix some issues with CXFA_FMParse/CXFA_FMLexer infinite looping.chromium/2657chromium/2656chromium/2655Oliver Chang
The parser did not expect an invalid token in some places, leading to an infinite loop. In the lexer, if an invalid string was found, the underlying pointer was never advanced. Also cleans some minor stuff along the way: - Remove nonsensical/useless destructors - Use unique_ptrs for owned members - Remove unused members - Other minor style changes BUG=587620 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1701363003 .
2016-02-17Banish CFX_ByteArray and CFX_WideArray to the XFA side.Tom Sepez
Fix IWYU and include paths as we go. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1701883004 .
2016-02-16IFWL_App::Create() always passed adapter, "fuel" adapter unusedTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1707433002 .
2016-02-09Several pure virtual IFWL_Adapter* classes not implemented.Tom Sepez
The routines that would return them always return NULL. Some path, however, didn't previously check for NULL. Those must have been bugs; treat such cases as unreachable. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1679103002 .
2016-02-08Tidy fpdfsave.cppTom Sepez
Remove CFX_PtrArray filelist. Promote ScopedFileStream to .h file and use it. Fix _CAPS names, bool returns, and put in anonymous namespace. FX_CreateMemoryStream() can't return null, so remove checks. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1672153002 .
2016-02-05Fix heap-use-after-free in CXFA_FFWidget::GetDataAcc()Jun Fang
BUG=pdfium:386 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1680463002 .
2016-02-06Add a parameter checker in CXFA_ScriptContext::QueryNodeByFlag()Jun Fang
BUG=pdfium:380 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1674453004 .
2016-02-04Fix an assertion failure in CXFA_DefFontMgr::GetDefaultFont()Jun Fang
BUG=pdfium:385 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1668813002 . Review URL: https://codereview.chromium.org/1669193002 .
2016-02-04Call CXFA_Object::ToNode() rather than C-style casting.Tom Sepez
The static_casts<> are places where void* pointers are converted. Fix these in a subsequent CL by using a properly typed container. The const_casts<> are places where functions are missing "consts". Fix these in a subsequent CL, too. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1668003003 .
2016-02-03Make CXFA_Data sub-classes ctors explicit.Tom Sepez
Remove implicit CXFA_Node* operator. Add bool() operator. Remove IsExistInXML() which duplicates bool operator. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1663313002 .
2016-02-03Add CFXA_Object helper methods.Tom Sepez
Mark some ctors explicit. Rename GetXFANode to GetXFAObject to match its return type, since it is cast to node in many places. BUG=pdfium:384 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1662063002 .
2016-02-02XFA: Fix a crashier in SetFocus()Jun Fang
BUG=pdfium:374 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1640233004 .
2016-02-01Fix AddressSanitizer: heap-buffer-overflow in ValidateCanonicalTime()Jun Fang
BUG=pdfium:378 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1652933002 .
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-27XFA: Remove dead AddDoRecord code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1640033002 .
2016-01-26Fix DOS newlinesTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1636873004 .
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-25XFA: Fix a bunch of pointless returns.chromium/2637chromium/2636chromium/2635chromium/2634chromium/2633chromium/2632Lei Zhang
And a few other nits. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1635853002 .
2016-01-20Remove CFX_CMapByteStringToPtr usage in XFA.Tom Sepez
R=ochang@chromium.org Review URL: https://codereview.chromium.org/1573243003 .
2016-01-20Remove _FXFA_USEGASFONTMGR_ (always true).Tom Sepez
Small tidying. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1601023004 .
2016-01-20Remove dubious cast in CXFA_ScriptContext::AddJSBuiltinObject()Jun Fang
BUG=pdfium:354 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1580773002 .
2016-01-12Fix an assertion failure in CFX_RTFBreak::SetLineWidth()Jun Fang
BUG=pdfium:347 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1573893002 .
2016-01-11XFA: Fix memory leakage on LinuxJun Fang
BUG=pdfium:348 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1579503002 .
2016-01-11Merge to XFA: Switch most min/max macros to std::min/max.Lei Zhang
Fix lint errors along the way. R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1567343002 . (cherry picked from commit 9adfbb0920a258e916003b1ee9515e97879db82a) Review URL: https://codereview.chromium.org/1577503002 .
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-08XFA: Remove many relative includes in xfa/Lei Zhang
Also remove useless files. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1570743002 .
2016-01-07Fix writing to read-only region in CXFA_TextParser::GetHorScale().Jun Fang
The reference count didn't increase when a computed style object was referred. BUG=pdfium:281 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1527263002 .
2015-12-22Rename LayoutWidget() to PerformLayout()Jun Fang
BUG=pdfium:333 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1537413002 .
2015-12-17Remove FDE_Alloc in favor of FX_Alloc.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1521163002 .
2015-12-14Merge to XFA: Remove FX_BSTRC.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1521563002 . (cherry picked from commit 1956a174020686f91cd3b34294e91f4560fe45aa) Review URL: https://codereview.chromium.org/1526823002 .
2015-12-11Fix a crasher in CXFA_FFDocView::SetFocus()Jun Fang
When some layout items are released, applications should be notified. It usually happens when there are layout changes. BUG=pdfium:303 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1502133002 .
2015-12-11XFA: avoid multiplications in FX_AllocsTom Sepez
In some cases, we can use the safe FX_Alloc2D, in others there's an extra multiplication by the size of the type. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1519233002 .
2015-12-10Fix compiling warnings on Linux (part2)Jun Fang
BUG=pdfium:261 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1500313002 .
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-09Fix heap-use-after-free in CXFA_PDFFontMgr::~CXFA_PDFFontMgr()Jun Fang
BUG=pdfium:306 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1506423002 .
2015-12-09FWL refcounts never incremented (part 2).Tom Sepez
Re-introduce create methods that actually create the corresponding impl so we don't have ifaces without impls. Remove per-subclass Initialize() methods. Remove unused ctors. BUG=pdfium:282 R=jun_fang@foxitsoftware.com, thestig@chromium.org Review URL: https://codereview.chromium.org/1453473002 .
2015-12-09Re-land "Rename CFWL_Thread classes to ThreadImp"Tom Sepez
This reverts commit 5e4f290e939ded90a518ff8eab1db59930655e11. BUG= R=thestig@chromium.org Review URL: https://codereview.chromium.org/1502063005 .
2015-12-08FWL refcounts never incremented (part 1)Tom Sepez
BUG=pdfium:282 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1509203002 .
2015-12-07Revert "Rename CFWL_Thread classes to ThreadImp"Tom Sepez
This reverts commit 6fa20c60c6ed551af55bfc879668eaac5c237805. Reason for revert: broke tests TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1507893002 .