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
|
|
EnableUpdateAP acutally sets s_bUpdateAP to the given parameter. So
SetUpdateAP is accurate method name.
Review-Url: https://codereview.chromium.org/2140423002
|
|
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
|
|
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=614211
Review-Url: https://codereview.chromium.org/2045013004
|
|
Review-Url: https://codereview.chromium.org/2031653003
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2006483002
|
|
It's never called. But looking at the comments in fpdf_formfill.h for
the Release callback, it seems like it should always be called as part
of the dtor.
BUG=
Review-Url: https://codereview.chromium.org/1995753004
|
|
Review-Url: https://codereview.chromium.org/1994733002
|
|
This CL moves all of the XFA_WIDGETSTATUS values into a single enum instead
of multiple defines. The values are also normalized.
The name was updated to be XFA_WidgetStatus.
The XFA_WIDGETFILTER and XFA_LAYOUTSTATUS defines had to
match up to XFA_WIDGETSTATUS. This Cl replaces those so
we just have a single enum to work with.
Review-Url: https://codereview.chromium.org/1986503002
|
|
Review-Url: https://codereview.chromium.org/1984693002
|
|
Review-Url: https://codereview.chromium.org/1976123003
|
|
This CL folds IFX_SystemHandler into CFX_SystemHandler. Methods which either
had no implementation, or returned a default value have been removed.
Review URL: https://codereview.chromium.org/1923093002
|
|
Use RVO now that we use an array type compatible with it.
Review URL: https://codereview.chromium.org/1906903002
|
|
BUG=
Review URL: https://codereview.chromium.org/1885973002
|
|
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
|
|
It doesn't persist the string beyond the duration of the
call, hence it should take the *StringC variant. Doing so
avoids some allocs by changing to the *StringC ctor in a few
places, at the cost of some explicit .ToByteStringC() calls
(which are cheap).
Review URL: https://codereview.chromium.org/1862953004
|
|
This CL moves the remaining files in xfa/include/fxfa to xfa/fxfa/include.
Review URL: https://codereview.chromium.org/1864973005
|
|
This CL moves the fxedit, jsapi and fpdfxfa code out of fpdfsdk/include to the
various sub-include directories.
Review URL: https://codereview.chromium.org/1863163002
|
|
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 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
|
|
This CL splits the IJavaScript.h file into the two inner classes and puts them
in the fpdfsdk/javascript folder.
Review URL: https://codereview.chromium.org/1847583004
|
|
BUG=
Review URL: https://codereview.chromium.org/1835693002
|
|
This CL moves the .h files and renames the .cpp files to match.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1809193002 .
|
|
BUG=pdfium:401
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1758553003 .
|
|
This Cl moves and splits apart the fx_graphics.h file into individual classes.
The .cpp files are renamed to match the .h files. pre.h was removed at the
same time and its contents moved to the correct places as needed.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1810563002 .
|
|
This CL splits the fpdf_page.h header into the individual classes and moves
them to the correct core/fpdfapi locations.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1805663002 .
|
|
This Cl moves a bunch of the files from core/include/fpdfapi to their correct
location outside the core/include tree.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1805603002 .
|
|
This CL moves the files in fpdfsdk/src/ up one level to fpdfsdk/ and fixes
up the include paths, include guards and build files.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1799773002 .
|