Age | Commit message (Collapse) | Author |
|
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
|
|
https://codereview.chromium.org/2179283005/ )
Reason for revert:
Looks like this broke linux_asan embedder tests.
https://build.chromium.org/p/client.pdfium/builders/linux_asan/builds/1152/steps/embeddertests/logs/stdio
Original issue's description:
> Remove pageview from map immediately
>
> There seems to be an ownership issue in the page annotation code where removing
> the annotations can result in removing the parent page view. This is fine except
> that removing the parent page view removes the annotations and you can end up
> with a use-after-free.
>
> This CL removes the page view from the documents page map immediately and then
> proceeds with the cleanup. Then, if we try to remove that page again it won't
> be found and we won't double free.
>
> BUG=chromium:630654
>
> Committed: https://pdfium.googlesource.com/pdfium/+/49dce65dc78bcd5a0c78a8bbdf2809cf20212220
TBR=thestig@chromium.org,weili@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:630654
Review-Url: https://codereview.chromium.org/2188523002
|
|
There seems to be an ownership issue in the page annotation code where removing
the annotations can result in removing the parent page view. This is fine except
that removing the parent page view removes the annotations and you can end up
with a use-after-free.
This CL removes the page view from the documents page map immediately and then
proceeds with the cleanup. Then, if we try to remove that page again it won't
be found and we won't double free.
BUG=chromium:630654
Review-Url: https://codereview.chromium.org/2179283005
|
|
Use ToV8Object() instead of CJS_Value cast operator.
Add some missing consts / explicits.
Move code into empty namespace.
Review-Url: https://codereview.chromium.org/2172813002
|
|
Review-Url: https://codereview.chromium.org/2174513002
|
|
Change two places that used CFX_Deletable to use actual types. This makes
the type more obvious, and avoids unnecessary casts.
Review-Url: https://codereview.chromium.org/2180443002
|
|
It's always enabled. Also inline FXJS_MsgBox since it only
has one caller.
Review-Url: https://codereview.chromium.org/2167343002
|
|
Use map to store and manage the handlers directly instead of needing
an extra array.
Review-Url: https://codereview.chromium.org/2166953005
|
|
Review-Url: https://codereview.chromium.org/2170913003
|
|
Move the singleton instances into their namespaces, and use
get()/getInstance() for uniform accesses.
Review-Url: https://codereview.chromium.org/2154843002
|
|
We create |m_pList| in the constructor and it is never reset during the lifetime
of the class or subclasses. Remove the conditional checks on the existence
of |m_pList|.
Review-Url: https://codereview.chromium.org/2162873003
|
|
Currently the OnDestroy() method of CPWL_ListBox will free
the |m_pListNotify| but it does not update the |m_pList| that
it has done so. This causes issues when CPWL_ListBox is
destroyed as the destructor for |m_pList| will attempt to
call into the |m_pListNotify|.
This CL resets the |m_pList| notify parameter before we
clear |m_pListNotify| in OnDestroy so it will not be
accessed during the |m_pList| destructor.
BUG=628995
Review-Url: https://codereview.chromium.org/2160023002
|
|
This is sufficient to print text with GDI for PDFs generated by Chromium
and cannot print any arbitrary PDF. Text that cannot be printed will be
drawn as glyphs as before.
BUG=409472
Review-Url: https://codereview.chromium.org/2113563003
|
|
This CL removes all of the default params from CFX_Edit. They are either
moved to the callsite or removed completely if unused.
Review-Url: https://codereview.chromium.org/2152473002
|
|
Unused method, removed.
Review-Url: https://codereview.chromium.org/2148353002
|
|
No need to get or set foxit app type, name, and version, thus remove
all these APIs and implementation.
Review-Url: https://codereview.chromium.org/2050913002
|
|
Review-Url: https://codereview.chromium.org/2154503002
|
|
v8::Object::Clone() is deprecated, and gets us into trouble with
some corner cases. Create a new handle to the same object instead.
Remove FXJS_NewObject() and FXJS_NewObject2(), and replace with
direct assignments. Pass isolate to FXJS_NewNull() while were
at it, even though not needed, for consistency with all remaining
FXJS_New*() calls.
BUG=628106
R=jochen@chromium.org
Review-Url: https://codereview.chromium.org/2151023002
|
|
This CL removes IPWL_Edit_Notfy and removes the OnKillFocus override from
IPWL_FocusHandler.
Review-Url: https://codereview.chromium.org/2144813002
|
|
This CL removes the IFX_* wrappers between fpdfsdk/fxedit and fpdfsdk/pdfwindow
which only have a single implementation.
Review-Url: https://codereview.chromium.org/2142213002
|
|
This CL removes the support code for RichText from fxedit as it is currently unused.
Review-Url: https://codereview.chromium.org/2146503002
|
|
EnableUpdateAP acutally sets s_bUpdateAP to the given parameter. So
SetUpdateAP is accurate method name.
Review-Url: https://codereview.chromium.org/2140423002
|
|
This CL moves the fpdfsdk/sjapi code info fxjs/. The "fxjs" library is moved
from being XFA specific to being compiled if V8 is enabled.
The fxjs_v8 files are required when building for XFA (they have XFA defines
in them) and are used in CFXJS_RuntimeData. The cfxjse_* files are only added
if XFA is also enabled.
Review-Url: https://codereview.chromium.org/2144603003
|
|
This Cl moves the fxjse/ directory to fxjs/ in anticipation of merging in
fpdfsdk/jsapi. In the process the filenames are updated to better match the
class contents. Static methods are moved to anonymous namespaces as possible.
Review-Url: https://codereview.chromium.org/2136213002
|
|
Replace raw member variables to smart pointer type to better
maintain the ownership and to ease the management.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2136683002
|
|
Otherwise pdfium_unittests --gtest_shuffle can fail.
Review-Url: https://codereview.chromium.org/2135823002
|
|
abs() is bit tricky in C++ and this use of abs is returning double.
FXSYS_snprintf is strictly checking this on Fedora 24 and
results in:
../../third_party/pdfium/fpdfsdk/fsdk_baseannot.cpp:309:18: error:
format specifies type 'int' but the argument has type
'typename __gnu_cxx::__enable_if<__is_integer<signed char>::__value, double>::__type'
(aka 'double') [-Werror,-Wformat]
Review-Url: https://codereview.chromium.org/2124083002
|
|
Also roll DEPS for ICU to ffa4b670 and add a needed GYP variable.
BUG=
R=thestig@chromium.org
Review-Url: https://codereview.chromium.org/2127553004
|
|
BUG=chromium:625823
R=haraken@chromium.org,thestig@chromium.org
Review-Url: https://codereview.chromium.org/2123153002
|
|
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
|