Age | Commit message (Collapse) | Author |
|
Chrome has enabled the -Wvarargs warning that was added to clang, this fails
with PDFium XFA builds due to two warnings:
../../xfa/fxfa/fm2js/xfa_lexer.cpp:539:16: error: passing an object that
undergoes default argument promotion to 'va_start' has undefined behavior
[-Werror,-Wvarargs]
va_start(ap, msg);
^
../../xfa/fxfa/fm2js/xfa_lexer.cpp:535:40: note: parameter of type
'XFA_FM_ERRMSG' is declared here
void CXFA_FMLexer::Error(XFA_FM_ERRMSG msg, ...) {
The issue is that XFA_FM_ERRMSG is an enum and we violate the promotion rules
for passing the value to va_start.
I removed the enum and named the flags explicitly then pass in the string as
the argument.
BUG=chromium:606726
Review URL: https://codereview.chromium.org/1921323002
|
|
Two different versions, one in xfa and one in fpdfsdk,
both do nothing.
Review URL: https://codereview.chromium.org/1915323002
|
|
Review URL: https://codereview.chromium.org/1917493002
|
|
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
|
|
There is only one subsclass, use that instead. Remove the use of WideStringC
in the API.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1911843002
|
|
This CL removes the CFWL_Note class. The two subclasses, CFWL_Event and
CFWL_Message are distinct types and should not be related by the subclass. The
code has been updated to pass the correct types as needed.
The various FWL_EVTHASH and FWL_MSGHASH defines have all been removed and turned
into an FWL_EventType and FWL_MessageType enum classes.
BUG=pdfium:474
Review URL: https://codereview.chromium.org/1901183002
|
|
This CL removes IFDE_TextOut, IFDE_Path, IFDE_RenderContext, IFDE_RenderDevice,
and IFDE_VisualSetIterator in favour of the concrete classes.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1896893003
|
|
This CL converts FWL_WGTCAPACITY_* defines to the CFWL_WidgetCapacity enum
class. The FWL_PART_* defines to the FWL_Part enum class and the
FWL_PartState_* defines to an enum.
Review URL: https://codereview.chromium.org/1898713003
|
|
This cleans up the Initialize methods and the ownership in CPDF_Creator.
Review URL: https://codereview.chromium.org/1902713003
|
|
BUG=chromium:590711
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1901013002 .
|
|
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
|
|
This CL removes a series of unused XFA methods.
Review URL: https://codereview.chromium.org/1899103002
|
|
Review URL: https://codereview.chromium.org/1892813004
|
|
- Avoid casting to void*
- Don't bother firing events that no one listens for
Review URL: https://codereview.chromium.org/1890563003
|
|
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
|
|
Avoids downgrade followed by duplication of existing strings.
Review URL: https://codereview.chromium.org/1891673003
|
|
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
|
|
Use the more standard name "clear()" instead.
Review URL: https://codereview.chromium.org/1888103002
|
|
BUG=
Review URL: https://codereview.chromium.org/1882043004
|
|
BUG=
Review URL: https://codereview.chromium.org/1885973002
|
|
- Use std::unique_ptr.
- Make dtor protected.
- Simplify logic.
- Remove unused bits from CXFA_FFPageView as well.
Review URL: https://codereview.chromium.org/1878963004
|
|
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
|
|
This Cl removes the two interfaces and renames CFDE_SolidBrush to CFDE_Brush.
Uncalled methods are removed from both CFDE_Brush and CFDE_Pen and code
simplified to match.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1881803003
|
|
All of the ICodec_* interfaces had a single implementation. This CL removes
the interfaces and uses the concrete classes in their place.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1876023003
|
|
We only ever create a CFDE_SolidBrush, there is nothing which creates Texture,
Hatch or LinearGradient brushes. This Cl removes all the code that isn't
used for SolidBrush.
A followup Cl will rename SolidBrush to Brush and remove the Brush interface
in favour of the concrete class.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1877383002
|
|
This Cl removes the IFDE_CSSAccelerator header and replaces the usage with
the concrete class.
The interfaces and methods in the CSSComputedStyle class are cleanedup to remove
any unused methods.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1876253002
|
|
Replace the usage of CFX_ArrayTemplate inside CPDF_Array, which
has non-standard APIs such as GetSize() returns int.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1867183002 .
|
|
BUG=
Review URL: https://codereview.chromium.org/1868293002
|
|
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
|
|
This CL moves the remaining files in xfa/include/fxfa to xfa/fxfa/include.
Review URL: https://codereview.chromium.org/1864973005
|
|
Review URL: https://codereview.chromium.org/1867463002
|
|
Review URL: https://codereview.chromium.org/1864153002
|
|
Review URL: https://codereview.chromium.org/1862053003
|
|
This CL moves the last two fpdfdoc files from core/include/fpdfdoc to
core/fpdfdoc/include.
Review URL: https://codereview.chromium.org/1864163002
|
|
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
|
|
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
|
|
This CL is a straight move of the fxge includes into core/fxge/include.
Review URL: https://codereview.chromium.org/1868533002
|
|
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
|
|
Companion to https://codereview.chromium.org/1853233002
BUG=
Review URL: https://codereview.chromium.org/1857073002
|
|
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
|
|
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
|
|
This CL removes the proxy methods from CXFA_FFWidgetHandler and CXFA_DocHandler
and removes CXFA_FFMenuHandler as it was only proxy methods.
The calls are made directly on the object now.
Review URL: https://codereview.chromium.org/1857893002
|
|
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
|
|
In XFA, we were constructing some CFX_ string types before
we reached main(). Setting breakpoints on these as well as
main() shows we hit main first after applying the patch.
Doing so also turned up an unused variable, presumably because
the static initializer made it appear used.
Review URL: https://codereview.chromium.org/1846353002
|
|
Makes the code slightly cleaner.
Review URL: https://codereview.chromium.org/1846083002
|
|
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
|
|
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
|
|
Every time I read this code, I have to make the mental substituion
that "Element value" means "de-ref indirect object", so it might
as well just say so.
BUG=
Review URL: https://codereview.chromium.org/1841173002
|
|
This CL moves and splits the remaining FWL files out of xfa/include and into
their proper locations.
Review URL: https://codereview.chromium.org/1834323003
|
|
Some headers were missed in the previous CL.
Review URL: https://codereview.chromium.org/1835703002
|