summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser
AgeCommit message (Collapse)Author
2016-05-20Use std::map in CXFA_ItemLayoutProcessortsepez
BUG= Review-Url: https://codereview.chromium.org/1999883002
2016-05-20Use std::set to track uniqueness in xfa_script_layoutpseudomodel.cpptsepez
Review-Url: https://codereview.chromium.org/2001743002
2016-05-19fgas/ code cleanup.dsinclair
This CL shuffles code around in the fgas/ headers, removes unused functions and adds anonymous namepaces for static methods and data. Review-Url: https://codereview.chromium.org/1992033002
2016-05-18Remove Release() from CXFA_ScriptContexttsepez
Review-Url: https://codereview.chromium.org/1988263002
2016-05-18Cleanup XFA_HASHCODE usage.dsinclair
This CL cleans up several uses of XFA_HASHCODE. The defines have been converted into an enum. For the SavePackage call the type is now used as the param instead of a string. The callers pass in the correct type instead of doing an internal conversion. The GetXFAObject accepting a string was removed as it was unused. The other variant was changed to accept the XFA_HashCode type instead of uint32_t. GetPackageData was removed as it is unused. Review-Url: https://codereview.chromium.org/1989313002
2016-05-18Remove Release() from CXFA_ChecksumContexttsepez
Review-Url: https://codereview.chromium.org/1991913002
2016-05-17XFA_WIDGETSTATUS cleanup.dsinclair
This CL moves all of the XFA_WIDGETSTATUS values into a single enum instead of multiple defines. The values are also normalized. The name was updated to be XFA_WidgetStatus. The XFA_WIDGETFILTER and XFA_LAYOUTSTATUS defines had to match up to XFA_WIDGETSTATUS. This Cl replaces those so we just have a single enum to work with. Review-Url: https://codereview.chromium.org/1986503002
2016-05-16Remove Release() { delete this; } in CFXA_Data{Importer,Exporter}tsepez
Review-Url: https://codereview.chromium.org/1988453002
2016-05-16Revert "Replace Release() { delete this; } in fde_xml_imp.h"Tom Sepez
This reverts commit fa34e805fd03ba81bcfe1148cf96b24fe63b39a0. Reason for revert: broke asan tests. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1982843002 .
2016-05-16Replace Release() { delete this; } in fde_xml_imp.htsepez
Review-Url: https://codereview.chromium.org/1981003002
2016-05-16Remove some c_str() calls from StringCs in xfa docs.tsepez
Avoids the risk of possibly getting a non-null terminated buffer if the StringC happened to be created by Mid(), etc. Doesn't seem to happen in practice. Review-Url: https://codereview.chromium.org/1983683003
2016-05-13Make CFX_WideString(const CFX_WideString&) explicit.tsepez
BUG= Review-Url: https://codereview.chromium.org/1979723003
2016-05-12Replace CXFA_PtrSetTemplate with std::unordered_set.tsepez
Building a set on top of a map and ignoring the mapped value seems wasteful. Review-Url: https://codereview.chromium.org/1942903003
2016-05-05Avoid unused variable warnings on LinuxWei Li
TBR=tsepez@chromium.org,dsinclair@chromium.org Review URL: https://codereview.chromium.org/1949383002 .
2016-05-04Properly fix the warningsWei Li
ASSERT(statement) will not execute statement in release builds. So need to move statements outside ASSERT(). TBR=tsepez@chromium.org,dsinclair@chromium.org Review URL: https://codereview.chromium.org/1949613004 .
2016-05-04Enable 'treating warnings as errors' for 64 bit Win buildsweili
The reason to disable 'treating warnings as errors' earilier is due to c4267 warnings, which we already disabled uniformly in pdfium.gyp. Re-enable this now so that we can have the same level of compilation warnings/errors on 32 bit and 64 bit builds. Also fix two c4390 warnings on Windows release builds. Their warning messages are "empty controlled statement found; is this the intent?" Review-Url: https://codereview.chromium.org/1949303002
2016-05-04More define cleanup.dsinclair
This CL converts defines into constants, enums, enum classes or removes them as needed. Review-Url: https://codereview.chromium.org/1938163002
2016-05-04Return bool rather than bitwise-and for FX_BOOLtsepez
Investigate results of: git grep -ni 'return [(]*[a-z0-9_]* &[^&]' git grep -ni 'BOOL.*= [(]*[a-z0-9_]* &[^&]' Review-Url: https://codereview.chromium.org/1951653002
2016-04-28Do not check pointers before deleting them.thestig
XFA edition. Review-Url: https://codereview.chromium.org/1925363002
2016-04-27Replace CFX_PtrArray with typesafe CFX_ArrayTemplate<>, part 3tsepez
Review-Url: https://codereview.chromium.org/1924093003
2016-04-27Standardize on ASSERT.dsinclair
There are currently three ways to assert in the code (ASSERT, FXSYS_assert and assert). This CL standardizes on ASSERT. The benefit of ASSERT is that it can be overridden if the platform requies and we can pickup the Chromium version if it has already been defined in the build. This does change behaviour. Currently FXSYS_assert is always defined but ASSERT is only defined in debug builds. So, the FXSYS_assert's would fire in Release builds. That will no longer happen. BUG=pdfium:219 Review-Url: https://codereview.chromium.org/1914303003
2016-04-25Pass CFX_*StringCs to FX_HashCode_GETA and _GETW hash functions.tsepez
Too many calls were of the form fn(x.c_str(), x.GetLength()) which is an anti-pattern given the StringC classes which tie these together. There are a few places where explicit CFX_*StringCs are constructed, but this can be avoided by changing the args to these functions in the same manner. Removed String_ from name of functions since it added little value. Also removed default argument. Review URL: https://codereview.chromium.org/1919563002
2016-04-20Cleanups from prior CLs.dsinclair
This cleans up the Initialize methods and the ownership in CPDF_Creator. Review URL: https://codereview.chromium.org/1902713003
2016-04-20fix issue of Heap Use-After-Free in CXFA_LayoutItem::AddChildjinming_wang
BUG=chromium:590711 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1901013002 .
2016-04-19Remove a few more char* members from structs/classes.tsepez
This is a result of looking for the anti-paterns /char\*\sm_/ and /m_.*=.*\.c_str/ which indicate that a class may be using the contents of a string without extending the lifetime of the underlying storage. Along the way, change to uint8_t in fx_dib; this is unrelated but avoids grep hits (it is binary, not chars anyways). Also remove two string operators that make it easy to assign in a manner that does not extend contents lifetime. Review URL: https://codereview.chromium.org/1902953002
2016-04-19XFA unused function cleanupdsinclair
This CL removes a series of unused XFA methods. Review URL: https://codereview.chromium.org/1899103002
2016-04-14Simplify XFA event handling.thestig
- Avoid casting to void* - Don't bother firing events that no one listens for Review URL: https://codereview.chromium.org/1890563003
2016-04-14Change string argument type to GetFormatDataValue.tsepez
Avoid string duplication, since the first thing these routines do is allocate a new string from the static string argument. Review URL: https://codereview.chromium.org/1889983002
2016-04-14Rename CFX_ByteTextBuf::GetByteString() to AsStringC().tsepez
Do the same for CFX_WideTextBuf as well. The name is confusing because these return CFX_ByteStringC, not CFX_ByteString. The AsStringC naming gives parallelism with the string types themselves, and may help to indicate that the result is only good for the lifetime of the object being operated upon. Review URL: https://codereview.chromium.org/1886263003
2016-04-14Replace calls to deprecated CFX_{Wide,Byte}String::Empty()tsepez
Use the more standard name "clear()" instead. Review URL: https://codereview.chromium.org/1888103002
2016-04-13Remove implicit cast from CFX_WideString to (const wchar_t*)tsepez
BUG= Review URL: https://codereview.chromium.org/1882043004
2016-04-13Remove implicit cast from CFX_ByteString to (const char*).tsepez
BUG= Review URL: https://codereview.chromium.org/1885973002
2016-04-13Cleanup CPDFXFA_Page.thestig
- Use std::unique_ptr. - Make dtor protected. - Simplify logic. - Remove unused bits from CXFA_FFPageView as well. Review URL: https://codereview.chromium.org/1878963004
2016-04-12Cleanup various IFX_ text interfaces.dsinclair
This CL removes IFX_ArabicChar, IFX_RTFBreak, IFX_TxtBreak, IFX_WordBreak, IFX_FormatString, and IFX_GSUBTable. References were updated to be the concrete classes. The CFX_GSUBTable was also removed as it is unused. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1882213002
2016-04-08Rename both As{Byte,Wide}StringC() helpers to AsStringC().tsepez
The naming is redundant given the base type, and will stand in the way of consolidating Byte and Wide code. BUG= Review URL: https://codereview.chromium.org/1862123003
2016-04-06Move remaining xfa/include/fxfa filesdsinclair
This CL moves the remaining files in xfa/include/fxfa to xfa/fxfa/include. Review URL: https://codereview.chromium.org/1864973005
2016-04-06Make static FX_WCHAR arrays more const.thestig
Review URL: https://codereview.chromium.org/1867463002
2016-04-06Move include/fxcodec to fxcodec/includedsinclair
Review URL: https://codereview.chromium.org/1864153002
2016-04-06Fix spelling for SetSelectedItemsdsinclair
Review URL: https://codereview.chromium.org/1862053003
2016-04-06Make CFX_WideString::FromUTF8() take a CFX_ByteStringC argument.tsepez
Methods that take string arguments and do not persist them should take *StringC types as argument rather than discrete ptr/len args. Avoids a number of implicit casts from CFX_ByteString to char*. BUG= Review URL: https://codereview.chromium.org/1861183002
2016-04-06Split fxfa_objectacc.h into pieces.dsinclair
This Cl splits apart the fxfa_objectacc.h file and moves the individual classes into the xfa/fxfa/parser directory. Review URL: https://codereview.chromium.org/1861353002
2016-04-06Move core/include/fxge to core/fxge/include.dsinclair
This CL is a straight move of the fxge includes into core/fxge/include. Review URL: https://codereview.chromium.org/1868533002
2016-04-06Rename CFX_WideStringC::raw_str() to c_str()tsepez
No functional change intended. This difference in naming is standing in the way of consolidating some of the string code between Wide and Byte strings. The Wide code wants to call raw_str() in exactly the same spots that the Byte code calls c_str(). This makes sense, because in both places we get a character type back, and not a uint*_t type. If WideStringC had a raw_str() method, it would have to return uint32_t or similar. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1863593004
2016-04-05Make down-conversion explicit from CFX_Widetring to CFX_WideStringC.tsepez
Companion to https://codereview.chromium.org/1853233002 BUG= Review URL: https://codereview.chromium.org/1857073002
2016-04-05Rename GetCStr and GetPtr to match CFX_ByteString.dsinclair
This CL updates CFX_ByteStringC to use the more common c_str and raw_str instead of GetCStr and GetPtr. Review URL: https://codereview.chromium.org/1857713003
2016-04-04Make down-conversion explicit from CFX_ByteString to CFX_ByteStringC.tsepez
Having this happen implicitly can be dangerous because the lifetime has to be considered; we should have caught the "red bots" in https://codereview.chromium.org/1847333004/#ps60001 at compile time. Review URL: https://codereview.chromium.org/1853233002
2016-04-04Replace FDE_XMLSYNTAX defines with enum classes.dsinclair
This CL replaces FDE_XMLSYNTAXMODE_ with FDE_XmlSyntaxState:: and FDE_XMLSYNTAXSTATUS_ with FDE_XmlSyntaxResult::. The various variables also have their names updated to make them clearer. Review URL: https://codereview.chromium.org/1856003002
2016-04-01Remove CFX_{Byte,Wide}String::Equal in favor of "==".tsepez
Makes the code slightly cleaner. Review URL: https://codereview.chromium.org/1846083002
2016-03-31Remove IXFA_* interfaces.dsinclair
This CL removes the IXFA_* interfaces which are: - Implemented once. - Not implemented by an fpdfsdk class. This requires making a few classes visible to fpdfsdk so we can have the correct instances available instead of the IXFA types. Review URL: https://codereview.chromium.org/1846993002
2016-03-29Remove IFDE_XML* classes.dsinclair
The CFDE_XML* classes did not inhert from the IFDE_XML variants but we casted to them anyway. This CL removes the IFDE_XML* variants and we just use the CPDF_XML* classes directly. BUG=pdfium:357 Review URL: https://codereview.chromium.org/1836353002