Age | Commit message (Collapse) | Author |
|
TBR=tsepez@chromium.org
Remove another potential stale CJS_Timer usage
Fix memory ownership model for PDFium timers.
The |app| class owns the CJS_Timer as part of its vector<unique_ptr>
to them.
The CJS_Timer "owns" its slot in the global ID to timer map, and
removes itself when it is destroyed. Nothing else deletes
from the global map. Deleting from the global map is
accompanied by a callback to the embedder to clear its
resources.
Next, the proper way to remove a CJS_Timer is by going
through the app, and having the app erase its unique ptr,
which then deletes the CJS_Timer, which in turn cleans up the
global map. Provide a CJS_Timer::Cancel static method to
do this conveniently.
There is a alternate path to the CJS_timer via JS and its
CJS_TimerObj. CJS_TimerObj owns a TimerObj that currently
points to the CJS_Timer. If the timer fires, and cleans
itself up, this can go stale.
Make the TimerObj maintain a weak reference via global
timer ID rather than a direct pointer to the CJS_Timer, so
that if the timer fires and is destroyed, future attempts
to cancel find nothing.
There is another path, where if the JS timer object is GC'd, then we
just clean up its CJS_TimerObj without touching
the actual CJS_Timers. We could make this match the spec
by calling into the new cancel routine as described above,
but it seems weird to have a timer depend on whether a gc
happened or not.
A subsequent CL will rename these objects to more closely
match the conventions used by the other JS wrappers.
BUG=634716
Review-Url: https://codereview.chromium.org/2221513002
(cherry picked from commit 8ca63de14d522d3d259d74fa43b28b05b02728e8)
openjpeg: Prevent negative x, y values in opj_tcd_init_tile
BUG=632622
Review-Url: https://codereview.chromium.org/2223303002
(cherry picked from commit b6befb2ed2485a3805cddea86dc7574510178ea9)
Review URL: https://codereview.chromium.org/2251703003 .
|
|
We must look the timer up a second time since the callback
may have released it.
BUG=634394
TBR=thestig@chromium.org
Original Review-Url: https://codereview.chromium.org/2214003003
(cherry picked from commit 32e693fe13105fab5baf81b334e932fce62d89b5)
Review URL: https://codereview.chromium.org/2247083002 .
|
|
This reverts commit f2cee9894b9f7cf2e50060965ad1eedd90ab55b6.
This CL removes the default parameter from the CPDFSDK_Document::GetPageView
|ReNew| flag and updates the code as needed. In
CFFL_FormFillter::KillFocusForAnnot we flip the flag to |FALSE| as we don't want
to re-create the page view if it is already removed. If we don't do this then
the page view will be re-created in the map, the page associated to the page
view, but then the page can be deleted out from under the pageview as it isn't
owned by the page view.
BUG=chromium:630654
Review-Url: https://codereview.chromium.org/2179163004
(cherry picked from commit 461eeafe191068ac8c32f2717907fc6a22a667d2)
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/2200203002 .
|
|
BUG=chromium:625823
TBR=haraken@chromium.org,thestig@chromium.org
Review-Url: https://codereview.chromium.org/2123153002
(cherry picked from commit c4dedf32b1f5c71740df5be2a9b1446a01df304c)
Review URL: https://codereview.chromium.org/2148793006 .
|
|
And call it from FPDF_DestroyLibrary(). Otherwise further attempts to
FPDF_InitLibraryWithConfig() can hit fail an assertion in
IJS_Runtime::Initialize().
BUG=604587
Review-Url: https://codereview.chromium.org/2103443004
|
|
Review-Url: https://codereview.chromium.org/2093313002
|
|
Review-Url: https://codereview.chromium.org/2096143003
|
|
When XFA is enabled documents using some unicode fonts will render incorrectly
as seen in the example attached to chromium:617490. This CL enables the loading
of the font map files in XFA so we can correctly identify the character sets as
unicode and map the glyphs correctly.
BUG=chromium:617490
Review-Url: https://codereview.chromium.org/2097523002
|
|
Fix nits along the way.
Review-Url: https://codereview.chromium.org/2083943003
|
|
This CL changes XFA_ELEMENT From an enum to an enum class. The type name was
updated to XFA_Element.
Review-Url: https://codereview.chromium.org/2089443002
|
|
Since PDFium is compiled as C++ code, the void keyword is not needed.
BUG=pdfium:519
Review-Url: https://codereview.chromium.org/2084603003
|
|
- Clean up CFX_GEModule.
- Remove duplicate #defines in fx_ge.h
- Remove IsFontStyleFromCharCode() that always returns true.
- Mark a FXTEXT_CHARPOS field as Mac only.
Review-Url: https://codereview.chromium.org/2075333002
|
|
The call to GetGlobalObjectTemplate() in FXJS_InitializeRuntime() will call
into CFXJS_ObjDefinition::MaxID() which will call FXJS_PerIsolateData() on
the provided isolate. We, currently, create the isolate data after we make this
call which seems like it would lead to bad things. This CL moves the PerIsolate
data creation earlier in the process.
BUG=chromium:612918
Review-Url: https://codereview.chromium.org/2069763002
|
|
Review-Url: https://codereview.chromium.org/2066043002
|
|
This cl removes code that exists but is never called. This includes:
* cfwl_formtp
* cfwl_widgetdelegate
* cfwl_scrollbar
* cfwl_theme
* cfwl_tooltip
* PWL_Label
* PWL_ListCtrl
* PWL_Signature
* PWL_IconList
* BC_ResultPoint
* BC_CommonPerspectiveTransform
* BC_CommonBitSource
* BC_PDF417Codeword
* fx_codec_flate.h (the .cpp file still exists)
Review-Url: https://codereview.chromium.org/2071953002
|
|
This change mainly contains files in fpdfsdk/ directory.
This is part of the efforts to make PDFium code compilable
by Clang chromium style plugins.
The changes are mainly the following:
-- move inline constructor/destructor of complex class/struct out-of-line;
-- add constructor/destructor of complex class/struct if not
explicitly defined;
-- add explicit out-of-line copy constructor when needed;
-- move inline virtual functions out-of-line;
-- Properly mark virtual functions with 'override';
-- some minor cleanups plus removing an unused file and splitting
cxfa_eventparam out from fxfa.h
BUG=pdfium:469
Review-Url: https://codereview.chromium.org/2062313002
|
|
BUG=pdfium:520
Review-Url: https://codereview.chromium.org/2061973002
|
|
Neither of these methods have bodies, remove from header file.
Review-Url: https://codereview.chromium.org/2060303002
|
|
Shuffle the code around to make it easier to follow what the ifdefs are doing.
Review-Url: https://codereview.chromium.org/2053843002
|
|
Replacing a void* member in CFX_SAXItem saves lots of casts.
Review-Url: https://codereview.chromium.org/2051233002
|
|
This makes it clear that fxjse/ is a standalone component and should not be
entangled with other xfa/ components.
BUG=pdfium:506
Review-Url: https://codereview.chromium.org/2056663004
|
|
Review-Url: https://codereview.chromium.org/2053513002
|
|
Explicitly invoke GetObject() method instead. This avoids
having code where it looks like non-pointers are assigned to
pointers but works due to the cast operator.
Review-Url: https://codereview.chromium.org/2045083003
|
|
In class CPDFSDK_DateTime, use ToTime_t() function to make the
conversion more clear.
Also, clean up the code in this class by removing buggy/unused code,
using static_cast instead of c cast etc.
Review-Url: https://codereview.chromium.org/2043873006
|
|
BUG=614211
Review-Url: https://codereview.chromium.org/2045013004
|
|
This CL removes the FXJSE_Value_Set*, FXJSE_Value_To*, FXJSE_Value_Get* and
FXJSE_Value_Delete* methods.
Review-Url: https://codereview.chromium.org/2043153002
|
|
Review-Url: https://codereview.chromium.org/2031653003
|
|
The code has local variables that shadow struct or class member
variables. Also, when this happens, different variable names should be
used instead of namespaces.
These were discovered by /Wshadow warning flag in Clang.
Review-Url: https://codereview.chromium.org/2034253003
|
|
Review-Url: https://codereview.chromium.org/2032613003
|
|
Review-Url: https://codereview.chromium.org/2037573003
|
|
The IJS_Context parameter is never used, removed.
Review-Url: https://codereview.chromium.org/2035743002
|
|
The code may not cause error conditions, but can be improved. These
warnings include uninitialized variables, signed/unsigned mismatch,
redundant condition, and using bool in arithmetic operations.
Also remove a chunk of unused code.
BUG=chromium:613623, chromium:427616
Review-Url: https://codereview.chromium.org/2036203004
|
|
When there are duplicate variable declarations, the inner names shadow the
outter ones. This is error prone and harder to read. Remove all the
instances found by /analyze.
BUG=chromium:613623, chromium:427616
Review-Url: https://codereview.chromium.org/2027273002
|
|
These strings are not used anywhere, remove the defines and the strings. For the remaining strings, cleanup the contents.
Review-Url: https://codereview.chromium.org/2020353004
|
|
Fix the asymmetry between creating only some isolates and
releasing all of them, even the shared ones, by being more
careful not to trash those we didn't create.
Review-Url: https://codereview.chromium.org/2025193002
|
|
The entire code base is single-threaded, hence the lockers
ought not be required.
Review-Url: https://codereview.chromium.org/2026933002
|
|
Review-Url: https://codereview.chromium.org/2024713002
|
|
Review-Url: https://codereview.chromium.org/2004313007
|
|
TBR=weili@chromium.org
Review-Url: https://codereview.chromium.org/2017863002
|
|
Remove unused dithering code.
Review-Url: https://codereview.chromium.org/2010813003
|
|
Review-Url: https://codereview.chromium.org/2011563006
|
|
- Remove dead code
- Remove default arguments
- Move code into anonymous namespace
Review-Url: https://codereview.chromium.org/2013023002
|
|
This CL replaces FXJSE_HOBJECT and FXJSE_HVALUE with the concrete CFXJSE_Value*
type. All variables are renamed to match.
Review-Url: https://codereview.chromium.org/2012253002
|
|
Review-Url: https://codereview.chromium.org/2009803003
|
|
Review-Url: https://codereview.chromium.org/2009253003
|
|
Review-Url: https://codereview.chromium.org/2014113002
|
|
This CL renames all of the instances of FXJSE_HRUNTIME to be v8::Isolate* and
updates the various varible names to match the new type.
Review-Url: https://codereview.chromium.org/2010833002
|
|
Replace it with two generic slots for Links and Codec usage.
Since the codec is at a lower layer than the document, we
don't provide separate get/set methods, since having a
document upon which to call these would be a layering
violation. Do the same for the Links for simplicity.
Review-Url: https://codereview.chromium.org/2005193003
|
|
CFX_PrivateData served two purposes here:
The first was to hold an opaque pointer to the corresponding
page structure in the next higher layer, of which it knows
no details. Introduce an empty CPDF_Page::View class to
represent this higher class, so as to get type safety while
preserving layering.
The second was to hold an opaque render context, which it
also happened to own. Make this a CFX_Deletable to help
with management.
Also remove an unused inheritance from CFX_PrivateData
in CPDF_Annot.
Review-Url: https://codereview.chromium.org/2008553008
|
|
Its only used to store one object, so replace it with a unique_ptr
to a class with a virtual dtor. Rename the prototypical class with
virtual dtor from CFX_DestructObject to CFX_Deletable. Rename the
fx_basic_module.cpp to cfx_modulemgr.cpp to match the one class
in it.
Review-Url: https://codereview.chromium.org/2013483003
|