Age | Commit message (Collapse) | Author |
|
The second parameter to DefineJSObject is always set the same for each
object type. Remove and put the value directly into the DefineObj calls.
Change-Id: If939c57fe6ea3b985ab2337eb30f472c668cdc42
Reviewed-on: https://pdfium-review.googlesource.com/16911
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL marks all of the Spec arrays as const.
Change-Id: Ie36f670a4230fcac2cba5544b9c6e5179b0c7073
Reviewed-on: https://pdfium-review.googlesource.com/16951
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL removes the static object IDs from each of the CJS_Object
subclasses and moves them to anonymous namespaces. The Spec arrays are
moved to private members of the object classes.
Change-Id: I5dcdb87ef57e4b374b5431580fb55cb75023f8fb
Reviewed-on: https://pdfium-review.googlesource.com/16950
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the g_pClassName static member and uses the string
directly where needed.
Change-Id: I47f61442ced2ee1d6a607fb1a7d9bcaf000b8ee2
Reviewed-on: https://pdfium-review.googlesource.com/16931
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL moves DefineProps, DefineMethods and DefineConsts to the
CJS_Object and removes from the subclasses. The JSConstructor and
JSDestructor are moved to be templated static methods in JS_Defines.
Change-Id: Ibe5ee063a32ae2332b8affc843d97ee6da21f4ee
Reviewed-on: https://pdfium-review.googlesource.com/16930
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up the methods and arrays for constants, methods and
property definitions which are empty.
Change-Id: I4a4d85cc139075de77d84a40182bd00341c31818
Reviewed-on: https://pdfium-review.googlesource.com/16910
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the JS macros and inlines the code directly into the
requisite classes.
Change-Id: I514ca025be42cd46b041b4af271f7b1d1067ab42
Reviewed-on: https://pdfium-review.googlesource.com/16890
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CJS_Array wrapper and uses the v8 objects directly.
Change-Id: I904f76e59e27d65db4b4d0bbd503fddb3e8cfc6f
Reviewed-on: https://pdfium-review.googlesource.com/16830
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This Renames JS_EventHandler to cjs_eventhandler to match the class name.
Change-Id: I30c7c4b92051b6d960ac7d8d8620d981f84e2142
Reviewed-on: https://pdfium-review.googlesource.com/16871
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves global.{h|cpp} to cjs_global.{h|cpp} to match the internal class
name.
Change-Id: I58a0dfcb36ee35320a0ad0d134a544e615dc93bf
Reviewed-on: https://pdfium-review.googlesource.com/16870
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Thist CL renames Annot.{h|cpp} to cjs_annot.{h|cpp} to better match the primary
class.
Change-Id: I9c3e2fcbb149d97e90098018f42205568ef179b1
Reviewed-on: https://pdfium-review.googlesource.com/16851
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL splits the individual CJS classes out of the Consts.{cpp|h} files into
their own files.
Change-Id: I4497ee2dcb46205c1dc3f521d44a9046a8d7f067
Reviewed-on: https://pdfium-review.googlesource.com/16850
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: Id4798fe9a4d297678a76d0511cde7fecbf130e3e
Reviewed-on: https://pdfium-review.googlesource.com/16613
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
|
|
This post-processing increased the contrast of scaled-down features -
mainly lines and fonts, relative to the background. The effect does not
improved readability and in some cases makes the scaled-down version
look like a different document at a glance. Text that is normal
weight appears bold when scaled down in these cases.
Change-Id: I2544d45e2bcec25d6742d2a60c1316d8df08cce1
Reviewed-on: https://pdfium-review.googlesource.com/15471
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This CL makes the use of CXFA_IsTooBig consistent and universal across
all of the ToJavascript and related methods. Previously this method
was only applied in some calls. It is now being tested as a
precondition and postcondition on every call and as a post condition
for the entire translation process.
There are some size checks within methods that potentially generate
large amounts of JS that have been left in.
BUG=chromium:752920
Change-Id: I1a8bfe21e0a17c2e47592fc6017060243674f1bc
Reviewed-on: https://pdfium-review.googlesource.com/16812
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Bug: chromium:777837
Change-Id: I1830dc37b9c039a95509627026461134d8f2c16d
Reviewed-on: https://pdfium-review.googlesource.com/16710
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
|
|
After a change in rendering, corpus and pixel test expected pngs
need to be regenerated manually. This option reduces the toil by
automating renaming and moving the new expected files over the old
ones.
Change-Id: I9d490369ccf946d4d4567e440b7b5252469eec46
Reviewed-on: https://pdfium-review.googlesource.com/16451
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
|
|
Quoting the JBIG2 spec: "If B is a 0xFF byte, then B1 (the byte pointed
to by BP+1) is tested. If B1 exceeds 0x8F, then B1 must be one of the
marker codes. The marker code is interpreted as required, and the buffer
pointer remains pointed to the 0xFF prefix of the marker code which
terminates the arithmetically compressed data. 1-bits are then fed to
the decoder until the decoding is complete. This is shown by adding
0xFF00 to the C-register and setting the bit counter CT to 8."
Our implementation is the alternative (faster for software according to
the spec), where only CT is changed to 8.
Reaching this part of the code means we will never read from stream
again so we should be wrapping up the decoding. To ensure this, the
|m_Complete| attribute is set to true if we reach this code again,
which will result in bailing out next time DECODE is called.
Bug: 767156
Change-Id: I434d46bc7914713a065f0e4da079bbc9b5dd216c
Reviewed-on: https://pdfium-review.googlesource.com/16791
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
|
|
The methods are unused, Removed.
Change-Id: Icce60103bf0cc9364f3d5cc7c3032e959b9ffa09
Reviewed-on: https://pdfium-review.googlesource.com/16831
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CJS_Date class and uses the v8::Local<v8::Date>
directly.
Change-Id: I4a59b0076bc0e5dc3142b36bd7125115605d416f
Reviewed-on: https://pdfium-review.googlesource.com/16811
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL converts CJS_Date to a thin wrapper around a
v8::Local<v8::Date>.
Change-Id: I1510ae5ff7757677e4fe18deac4593cc75493c1b
Reviewed-on: https://pdfium-review.googlesource.com/16810
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Not used anywhere, Removed.
Change-Id: Idbdbe36e34fe97deceeb68601b0ceee31f4fdc35
Reviewed-on: https://pdfium-review.googlesource.com/16770
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I3be788e06790d8102fc3793a50a58c19f05f855d
Reviewed-on: https://pdfium-review.googlesource.com/16790
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
There exists a similar check for the parser, but it doesn't catch all
cases of excessive memory usage, since a single parse step can
generate multiple expressions that need to be converted or other cases
where the parse depth doesn't match the emission depth later.
Due to the expressions appearing in two different inheritence
hierachies the depth information needs to be stored outside of the
classes, thus the new depth class.
Another way to handle this would be to change the method calls to take
in a visitor object that tracks depth. This would require significant
reworking of some of the code, so I am going to file a bug about doing
that conversion as a cleanup.
BUG=chromium:752495
Change-Id: Ica7c9b60ecf1e17530ea88b7bfb01582c63043be
Reviewed-on: https://pdfium-review.googlesource.com/16752
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL removes the out parameters from the JS methods and changes the
return from a |bool| to a |CJS_Return| value. The return value holds the
returned v8 object, error string and a status code.
Change-Id: I82488ff0d916475d7e3c8e51ed868639806181c9
Reviewed-on: https://pdfium-review.googlesource.com/16751
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL updates the javascript methods to only set the return value if the
v8::Local is not empty.
Change-Id: I1e0cac2d024671c3e217cb1b2292c40ed62484a4
Reviewed-on: https://pdfium-review.googlesource.com/16731
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL updates the CFXJS_Engine::NewNull method to return a real v8::Null
instead of an empty v8::Local. This also adds a NewUndefined and returns
undefined in most of the places null was returned previously.
Change-Id: If1a96bf253057892a3b709cbc72f8825c52503c3
Reviewed-on: https://pdfium-review.googlesource.com/16730
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL converts the JS set_* methods and the JSMethod methods to accept
v8::Local<v8::Value> objects instead of CJS_Value objects.
Change-Id: I6de41305deff458eba515bdc3462522b502f74ad
Reviewed-on: https://pdfium-review.googlesource.com/16670
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves MaybeCoerceToNumber from CJS_Value to CJS_Runtime.
Change-Id: I22bb605045daa63f405ef256e4b8a5c7ffb78425
Reviewed-on: https://pdfium-review.googlesource.com/16617
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL removes the IsArrayObject and IsDateObject methods and asks the
v8 objects directly.
Change-Id: I4e2b957dbdfcddb426270f72666fce83854d92e0
Reviewed-on: https://pdfium-review.googlesource.com/16616
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/ae7dc1f62d82..91015cb41d8f
$ git log ae7dc1f62..91015cb41 --date=short --no-merges --format='%ad %ae %s'
2017-10-21 apodtele [smooth] Improve complex rendering at high ppem.
2017-10-20 apodtele [base] Improve tracing in FT_Load_Glyph, FT_*_Size.
2017-10-18 apodtele [base] Improve tracing in FT_Render_Glyph.
2017-10-16 ewaldhew [cff] Fix segfault on missing `psaux' (#52218)
2017-10-15 apodtele [base, cff] Fix MSVC warnings.
2017-10-14 apodtele [base] Netpbm image tracing.
2017-10-14 apodtele * builds/windows/ftdebug.c (FT_Message): Print to stderr.
2017-10-14 behdad [afshaper] Delay creating `hb_set' objects until needed.
2017-10-12 ewaldhew * devel/ftoption.h: Enable T1_CONFIG_OPTION_OLD_ENGINE by default.
2017-10-12 ewaldhew [type1, cid] Add hinting engine switch.
2017-10-12 ewaldhew Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
2017-10-12 ewaldhew Extract width parsing from Type 1 parser.
2017-10-12 wl [autofit] Better visualize table tracing in source code.
2017-10-09 wl * src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
2017-10-08 wl * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
2017-10-08 wl Document global size metrics needed for native bytecode hinting (#52165).
2017-10-08 wl Prevent creation of an incorrect documentation entry.
2017-10-07 wl [sfnt] Adjust behaviour of PS font names for variation fonts.
2017-10-07 wl [cff, truetype] Adjust behaviour of named instances.
2017-10-07 wl Make `FT_Set_Named_Instance' work.
2017-10-07 wl Make `FT_FACE_FLAG_VARIATION' work.
2017-10-07 wl New function `FT_Set_Named_Instance'.
2017-10-07 wl Add macros for checking whether a font variation is active.
2017-10-07 wl Add framework for setting named instance in MM service.
2017-10-07 wl [type1] Minor code shuffling.
2017-10-05 wl * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer overflow.
2017-10-05 wl Fix compiler warnings.
2017-10-04 John.Tytgat [cff] Add support for `FSType'.
2017-10-02 wl CHANGES: Formatting.
2017-10-01 wl [smooth,type1] Formatting, whitespace.
2017-10-01 wl [psaux] Formatting, minor fixes, whitespace, copyright notices.
2017-09-30 wl [base,cff,cid] Whitespace, formatting.
2017-09-30 wl [include] Whitespace.
2017-09-30 apodtele Signedness fixes in bitmap presetting.
2017-09-29 apodtele Bitmap metrics presetting [2/2].
Created with:
roll-dep pdfium/third_party/freetype/src
R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org
Bug: pdfium:918
Change-Id: I51ec11a612e54b88ddac40b64428cfaabfaec448
Reviewed-on: https://pdfium-review.googlesource.com/16650
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL removes the GetType method from CJS_Value and, instead,
retrieves the value from the v8 object directly.
Change-Id: Ia8390f3ead163c09a39cae493e75fccdd41a0961
Reviewed-on: https://pdfium-review.googlesource.com/16615
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes all of the To* methods on the CJS classes except for
ToV8Value.
Change-Id: If01263c8cfa557ef7b00f573ddbf68b591d5ae9a
Reviewed-on: https://pdfium-review.googlesource.com/16614
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=pdfium:921
Change-Id: I6973359e6ac112c56843f66eb0b70462f42f9cae
Reviewed-on: https://pdfium-review.googlesource.com/16630
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL removes most of the CJS_Value constructors and leaves the
v8::Local<v8::Value> constructor as the only non-default construtor.
Change-Id: Ie98260d10eff645d0ca688b353e7d40ba1aac157
Reviewed-on: https://pdfium-review.googlesource.com/16611
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes all of the Set(*) methods from CJS_Value except for
Set(v8::Local<v8::Value>). All uses of Set are changed to convert to
a v8::Value before setting.
Change-Id: I6e4d2cebec42fce5c039dc0a3abe46086cfdd34f
Reviewed-on: https://pdfium-review.googlesource.com/16610
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Bug:
Change-Id: I4c968a4e5f41037d80e5dc64a1297cd2cbda31b1
Reviewed-on: https://pdfium-review.googlesource.com/16350
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
|
|
Bug: 649278
Change-Id: Ib9084f6d9bb7dc7bf3713faa22d3a26822a96681
Reviewed-on: https://pdfium-review.googlesource.com/16550
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
|
|
A frame with 0 height will have no data, so there is not point in
attempting to load it. Additionally some of the loading code assumes a
non-zero height implicitly.
BUG=chromium:770470
Change-Id: I38b222b46b43ce5d47924526913285510be40603
Reviewed-on: https://pdfium-review.googlesource.com/16551
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Bug: pdfium:921
Change-Id: I8864fd2ebdccc5f94aaf70cd8295068bf4db8b68
Reviewed-on: https://pdfium-review.googlesource.com/16492
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL changes the color conversion methods to return their result
instead of taking an out param.
Change-Id: I19ca2b395145866533c7f93cbad80cdf4d7df05d
Reviewed-on: https://pdfium-review.googlesource.com/16530
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This Cl moves JS_Defines macros with only one usage to be inline. Moves
macros to where they're used and expands as needed.
Change-Id: I7296aa0b7a815ef8f2a80dd813e7466056fe37af
Reviewed-on: https://pdfium-review.googlesource.com/16510
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CJS_PropValue class and uses CJS_Value directly. The
various Set methods have been moved to CJS_Value and the runtime provided as
needed.
Change-Id: Ib5d3b9efc9b6cf8182be8f19af98599379c3d7db
Reviewed-on: https://pdfium-review.googlesource.com/16431
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL removes unused methods; renames Attach to Set and generally cleans up
the CJS_Value classes.
Change-Id: I858082100908f3bc51f4b58c11ceda3357fadc70
Reviewed-on: https://pdfium-review.googlesource.com/16430
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL adds some validation into the tiling pattern drawing code.
BUG: chromium:775365
Change-Id: I7bcad7f7f2c83982cd955f92091658b46f6b820b
Reviewed-on: https://pdfium-review.googlesource.com/16190
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
BUG=chromium:775519,chromium:768986
Adding metric form types
Change-Id: Ic99a5ac988998986f06cb79d08458afeda49a5d1
Reviewed-on: https://pdfium-review.googlesource.com/16392
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
With a newly created document, there is no parser. CPDF_Document is
missing a nullptr check which can be triggered via FPDF_GetMetaText().
BUG=pdfium:915
Change-Id: If9a300a6dc2ca5914c3544eae5c27fe3139dd821
Reviewed-on: https://pdfium-review.googlesource.com/16490
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Bug: chromium:767343
Change-Id: I9321e7565feb423a1283c74e91297eeaeb80083f
Reviewed-on: https://pdfium-review.googlesource.com/16410
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
|
|
Also check the return value for a Clone() call.
Change-Id: Ia2775c2f70aafa2874f5d4172e0dc178854a3f51
Reviewed-on: https://pdfium-review.googlesource.com/15791
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This adds a fuzzer that tests the FormCalc parsing code independent of
parsing an entire XFA file or performing translation to JS.
BUG=pdfium:920
Change-Id: I3d2c336d9cb6f4ebf114ded5f57a44a8342c4228
Reviewed-on: https://pdfium-review.googlesource.com/16391
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|