Age | Commit message (Collapse) | Author |
|
Avoids a needless alloc and copy.
Review-Url: https://codereview.chromium.org/2338553002
|
|
Removes some unused code for the default implementation,
Review-Url: https://codereview.chromium.org/2332983002
|
|
Previously, PDFium only supported widget annotations to draw forms. As
we've implemented other annotations, the behavior of
FPDF_RenderPageBitmap_Retail and FPDF_FFLDraw changed. So, this CL
clearly defines what needs to be done in FPDF_RenderPageBitmap_Retail
and FPDF_FFLDraw.
This CL first assumes that PDFium users will always call
FPDF_RenderPageBitmap_Retail and FPDF_FFLDraw to render PDF pages,
because otherwise they are not able to support PDF forms.
FPDF_RenderPageBitmap_Retail should only deal with non-widget
annotations, such as highlight, underline, text, etc. If
FPDF_ANNOT flag is passed, non-widget annotations are drawn. Otherwise,
they are hidden.
FPDF_FFLDraw should only deal with annotations that requires
user-interaction, such as widget annotations and popup annotation. Since
popup annotation is associated with non-widget annotation, they should
not be drawn if the associated annotation is hidden. Thus, if FPDF_ANNOT
flag is passed, popup annotations are drawn. Otherwise, they are hidden.
Widget annotations should be always drawn regardless of FPDF_ANNOT flag
since they need to be always displayed for PDF forms.
Also, roll DEPS for testing/corpus to 8485b30.
BUG=pdfium:594
Review-Url: https://codereview.chromium.org/2323203002
|
|
When we create popup annotations, we also create the dictionary
associated with it. For regular annotations, the dictionary
associated with an annotation is not owned by annotation,
and will be released separately. But our created dictionary is not
associated with any other data structure, it would be leaked if not
released by the associated annotation.
Add a boolean to indicate the ownership to the dictionary, and release
the owned dictionary during the destruction of an annotation.
BUG=pdfium:242
Review-Url: https://codereview.chromium.org/2301613002
|
|
Comparing CFX_ByteString for annotation subtypes is inefficient and
error-prone. This CL uses enum class to compare annotation subtypes.
Also, remove unused IPDFSDK_AnnotHandler::GetType() and
FSDK_XFAWIDGET_TYPENAME.
Review-Url: https://codereview.chromium.org/2295953002
|
|
Each annotation has its contents, and users should be able to see the
contents. In this patch, PDFium creates a Popup annotation for each
annotation and stores the author and the content. When a user mouse
hover on the annotation, PDFium draws the corresponding Popup annotation
and displays the content.
Also, roll DEPS for testing/corpus to 5867fa6.
BUG=62625
Review-Url: https://codereview.chromium.org/2273893002
|
|
CPDFSDK_Annot::GetType should be renamed to GetAnnotSubtype as it returns
annotation subtype. Also, CPDFSDK_Annot::GetSubType is only used to check if
the annotation is signature widget. Thus, change the method to
IsSignatureWidget. Lastly, rename CPDF_Annot::GetSubType to
CPDF_Annot::GetSubtype to match with spec.
Review-Url: https://codereview.chromium.org/2287703002
|
|
The code that was deleted is being used by Android foxit viewer
This reverts commit dbfc3522a6ee24d17f2c50a5dcc465db52a280ee and updates the #includes
Review-Url: https://codereview.chromium.org/2281083002
|
|
Avoid using reference argument and return CFX_FloatRect instead.
Review-Url: https://codereview.chromium.org/2278153005
|
|
Now that Document::getAnnot works and annotation instances
can have its properties changed, consider the following
scenario:
- A PDF content has an annotation without AP and
CPVT_GenerateAP is called to generate one.
- However the annotation also has its hidden flag set (/F 2),
and CPVT_GenerateAP bails out earlier, not generating an AP.
- When the PDF's Javascript runs, it acquires an instance of
this annotation object, bounded to JS using Document::getAnnot(),
and set its "hidden" flag to false.
- At this point, the annotation should get drawn, but it does
not because its "AP" was never generated.
CL fixes this scenario by making PDFium able to lazy
generate APs, if needed.
BUG=pdfium:492
Review-Url: https://codereview.chromium.org/2265313002
|
|
Now that PDFium supports drawing of more annotation
types, it should also respect the "hidden" flag that
annotations might feature.
For instance, in IE/Acroread if an annotation is flagged as
"hidden" it does not get drawn.
CL adds a check for the specific "hidden" flag, not drawing
annotation that are flagged with it, in order to match IE + acrobat
reader behavior.
The "flags" definition can be seen by looking at "/F {value}"
syntax in a PDF file source, where {value} is an predefined
integer value.
Test: PDF files being added in [1].
[1] https://codereview.chromium.org/2239713003/
BUG=62625
Review-Url: https://codereview.chromium.org/2239853002
|
|
This CL cleans up the remaining doc_* files, splitting into .h and .pp files
as needed.
Review-Url: https://codereview.chromium.org/2190983002
|
|
Also, use PaintOperation instead of bStrokingOperation in
CPDF_DefaultAppearance.
Review-Url: https://codereview.chromium.org/2197353002
|
|
This splits the doc_ocg, doc_vt and doc_basic files into individual class files.
Review-Url: https://codereview.chromium.org/2187073005
|
|
The first of several CLs to split the core/fpdfdoc/doc_* files up to individual
class files.
Review-Url: https://codereview.chromium.org/2192823002
|
|
The fpdf_tagged.h, tagged_int.h and doc_tagged.cpp code is currently unused
and can be removed.
Review-Url: https://codereview.chromium.org/2188213002
|
|
This CL splits the header file apart. The cpp files are not touched as part
of this CL, they will be done as a followup. This de-duplicates the fpdf_doc.h
BUG=pdfium:249
Review-Url: https://codereview.chromium.org/2183313004
|
|
Review-Url: https://codereview.chromium.org/2163133002
|
|
CPDF_AnnotList in CPDF_Annot is only used for getting CPDF_Document.
Review-Url: https://codereview.chromium.org/2166883002
|
|
This Cl cleans up the default params and any supporting code if necessary.
Review-Url: https://codereview.chromium.org/2146993002
|
|
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
|
|
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
|
|
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
|
|
Fix nits along the way.
Review-Url: https://codereview.chromium.org/2083943003
|
|
This change contains files in core directory which were not covered
in part I. 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;
BUG=pdfium:469
Review-Url: https://codereview.chromium.org/2060913003
|
|
Make the return types/arguments match reality.
Review-Url: https://codereview.chromium.org/2053483002
|
|
Review-Url: https://codereview.chromium.org/2049003003
|
|
Review-Url: https://codereview.chromium.org/2032613003
|
|
It wasn't being used.
Also rename a static member from m_ to s_, just because.
Review-Url: https://codereview.chromium.org/2009393002
|
|
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/1999313002
|
|
Clean up related code.
Review-Url: https://codereview.chromium.org/2003853003
|
|
Review-Url: https://codereview.chromium.org/2006483002
|
|
After all, what good is a naming convention unless you're going
to blindly adhere to it?
Review-Url: https://codereview.chromium.org/1981403002
|
|
There were two defines, BBS_ and PBS_ for the various border styles in the
system. They were the same, except PBS_ had an extra SHADOW define which was
never used.
This CL combines both of those into a single BorderStyle enum class and updates
the code as needed.
Also, removes ADDBIT, GETBIT unused defines. Updates barcode code to use
the util.h defines instead of redefinition. fsdk_baseannot names starting with _ were cleaned up and some #defines moved to constants.
Review-Url: https://codereview.chromium.org/1980973002
|
|
Add missing helper function to CFX_ByteTextBuf to avoid the
anti-pattern CFX_ByteString(sBuf.AsStringC()), using the name
"Make" to indicate there's an allocation going on in this case.
Change some method arguments to take pre-existing ByteStrings where
possible.
Review-Url: https://codereview.chromium.org/1977093002
|
|
These were left over from after I broke a big "things that never return
NULL" CL up into smaller ones.
Review-Url: https://codereview.chromium.org/1960043003
|
|
- CPVT_Size is the same as CFX_SizeF
- CPVT_FloatRange is unused.
Review-Url: https://codereview.chromium.org/1961333002
|
|
Same goes for CFX_Edit::GetIterator().
Review-Url: https://codereview.chromium.org/1967963002
|
|
- No caller checks the CPDF_VariableText::SetProvider() return value.
- IFX_Edit::SetVTProvider() is unused.
- CFX_ListItem::SetCaret() is useless.
- CFX_List::SetItemCaret() is also useless.
- CPVT_GenerateAP::GenerateEditAP() has a param that's always NULL.
Review-Url: https://codereview.chromium.org/1960183003
|
|
https://codereview.chromium.org/1919283008/ )
Reason for revert:
Causing segv on certain PDFs which make the PDF load tests hang. crbug.com/608901
Original issue's description:
> Remove unneeded CPVT classes.
>
> - CPVT_Size is the same as CFX_PointF
> - CPVT_FloatRange is unused.
> - CPVT_ArrayTemplate is just a wrapper for CFX_ArrayTemplate.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/a354eb517429e10d84abff65e455f0c183fe58e0
TBR=thestig@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
Review-Url: https://codereview.chromium.org/1947093002
|
|
- CPVT_Size is the same as CFX_PointF
- CPVT_FloatRange is unused.
- CPVT_ArrayTemplate is just a wrapper for CFX_ArrayTemplate.
Review-Url: https://codereview.chromium.org/1919283008
|
|
This CL removes the interfaces:
* IPDF_ObjectRenderer
* IPDF_OCContext
* IPDF_RenderModule
* IPDF_PageModule
The CPDF_RenderModule was just wrapping new and delete calls. This Cl moves
those up to the callers and removes the CPDF_RenderModule class.
Review URL: https://codereview.chromium.org/1918323003
|
|
Remove redundant CPDF_Name constructors given promotion rules.
Rework one char* in CPDF_PageContentGenerator.
Review URL: https://codereview.chromium.org/1890973006
|
|
These are immediately used to access a dictionary, so
the use of static CFX_ByteStringCs may force duplicate
allocations.
BUG=
Review URL: https://codereview.chromium.org/1888893002
|
|
Replace the usage of CFX_ArrayTemplate inside CPDF_Array, which
has non-standard APIs such as GetSize() returns int.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1867183002 .
|
|
This CL moves the last two fpdfdoc files from core/include/fpdfdoc to
core/fpdfdoc/include.
Review URL: https://codereview.chromium.org/1864163002
|
|
This CL is a straight move of the fxge includes into core/fxge/include.
Review URL: https://codereview.chromium.org/1868533002
|
|
This CL removes the core/include/fpdfdoc/fpdf_vt.h file. The IPDF_VariableText
class was removed in favour of the only concrete class of CPD_VariableText.
CPVT_Provider was moved to CPDF_VariableText::Provider and
CPDF_VariableText_Iterator was moved to CPDF_VariableText::Iterator.
The IFX_Edit_FontMap interface was merged into the IPVT_FontMap interface so
there is only one.
Other classes were split out as needed in order to keep things compiling.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1860063002
|