Age | Commit message (Collapse) | Author |
|
A second case of casting willy-nilly between unrelated structures
to provide information hiding. Bad Idea. Remove dozens of casts
in the process.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1155273002
|
|
Original Review URL: https://codereview.chromium.org/1160443004
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1162013003
|
|
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
|
|
Original Review URL: https://codereview.chromium.org/1162453003
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1154613005
|
|
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
|
|
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
|
|
Original Review URL: https://codereview.chromium.org/1126283004
BUG=486818
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1137163002
|
|
Original Review URL: https://codereview.chromium.org/1135913002
BUG=pdfium:154
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1136703003
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1118143003
|
|
Original Review URL: https://codereview.chromium.org/1084183008
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1105813002
|
|
Original Review URL: https://codereview.chromium.org/1096813008
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1106663002
|
|
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
|
|
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
|
|
Original Review URL: https://codereview.chromium.org/1066253002
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1073563003
|
|
Kill some nearby dead code while I'm at it.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1064283002
|
|
This incorporates class vs. struct fix in 34f5fc0f2a18
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1063283002
|
|
Original Review URL: https://codereview.chromium.org/1060133002
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1065103002
|
|
BUG=454595
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1053373002
|
|
BUG=NA
R=thestig@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/965423004
|
|
Orignal Review URL: https://codereview.chromium.org/971033002
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/969203002
|
|
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
|
|
Review URL: https://codereview.chromium.org/955273003
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/966653004
|
|
Original Review URL: https://codereview.chromium.org/954923004
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/952213004
|
|
Original Review URL: https://codereview.chromium.org/953143002
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/952043003
|
|
Original Review URL: https://codereview.chromium.org/945623002
TBR=brucedawson@chromium.org
Review URL: https://codereview.chromium.org/948083002
|
|
Original Review URL: https://codereview.chromium.org/908033002
R=brucedawson@chromium.org
Review URL: https://codereview.chromium.org/932223002
|
|
It's an enhancement requested in issue 452794.
BUG=N/A
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/939483003
|
|
Original Review URL: https://codereview.chromium.org/927263003
TBR=brucedawson@chromium.org
Review URL: https://codereview.chromium.org/936613002
|
|
BUG=452794
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/928803002
|
|
https://codereview.chromium.org/902753002/ to XFA branch
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/887073005
|
|
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
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/878333003
|
|
Need to have return value -1 indicating insufficient buffer.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/862163002
|
|
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
|
|
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
|
|
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
|
|
R=bo_xu@foxitsoftware.com
Review URL: https://codereview.chromium.org/823653004
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
|
|
|
|
|
Review URL: https://codereview.chromium.org/706993004
|
|
|
|
|
|
BUG=425129
R=bo_xu@foxitsoftware.com
Review URL: https://codereview.chromium.org/688303003
|
|
BUG=pdfium-52
R=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/623893003
|