Age | Commit message (Collapse) | Author |
|
Get bounds checks in parsers automatically when using spans.
Change-Id: I71fbe7b838435d455376db2f89817d807a9cdcfd
Reviewed-on: https://pdfium-review.googlesource.com/29830
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I13d3e462c86d035bbb992696aab523df5642533b
Reviewed-on: https://pdfium-review.googlesource.com/29811
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This reverts commit 2b4ad9ff5bf1727d12ef2bcce7e3fa925bbe8978.
Reason for revert: Causing crashes on windows:
Rendering PDF file E:\b\build\slave\windows_xfa\build\pdfium\out\debug_xfa_v8\gen\pdfium\testing\pixel\static_list_box_caption.pdf.
==== C stack trace ===============================
diff: 0.00% passed
std::tuple<CXFA_Node * __ptr64 const & __ptr64>::tuple<CXFA_Node * __ptr64 const & __ptr64> [0x0000000141785700+48]
??@875fbed02c72fe689afc0ad24a247bf8@ [0x000000013F7BB443+131]
??$_Buynode@AEBUpiecewise_construct_t@std@@V?$tuple@AEBQEAVCXFA_Node@@@2@V?$tuple@$$V@2@@?$_Tree_comp_alloc@V?$_Tmap_traits@PEAVCXFA_Node@@V?$unique_ptr@V?$map@IV?$unique_ptr@U?$pair@V?$set@PEAVCXFA_Node@@U?$less@PEAVCXFA_Node@@@std@@V?$allocator@PEAVCXFA [0x0000000141785309+169]
??@2b14910fe4cc3866ca68e10bfed05253@ [0x000000013F7CCB09+185]
CJX_Object::SetAttributeValue [0x000000013FAE0F7E+302]
v8::internal::compiler::Int64Lowering::LowerNode [0x000000013FBB04C0+31920]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A43A3+9603]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A2048+552]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A3436+5654]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A1FEE+462]
CXFA_Document::DoDataMerge [0x00000001417A5F96+3142]
CXFA_FFDocView::StartLayout [0x00000001416BECCD+93]
CPDFXFA_Context::LoadXFADoc [0x000000014169162D+669]
FPDF_LoadXFA [0x0000000140AC5A2A+42]
std::_Compressed_pair<std::default_delete<CFWL_WidgetProperties>,CFWL_WidgetProperties * __ptr64,1>::_Get_first [0x000000013F72A648+1432]
main [0x000000013F727C05+1685]
invoke_main [0x0000000141CDB924+52] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:79)
__scrt_common_main_seh [0x0000000141CDB817+295] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
__scrt_common_main [0x0000000141CDB6DE+14] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:326)
mainCRTStartup [0x0000000141CDB9B9+9] (f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp:17)
BaseThreadInitThunk [0x0000000077415A4D+13]
RtlUserThreadStart [0x000000007764B831+33]
Rendering PDF file E:\b\build\slave\windows_xfa\build\pdfium\out\debug_xfa_v8\gen\pdfium\testing\pixel\resolve_nodes.pdf.
==== C stack trace ===============================
std::tuple<CXFA_Node * __ptr64 const & __ptr64>::tuple<CXFA_Node * __ptr64 const & __ptr64> [0x0000000141785700+48]
??@875fbed02c72fe689afc0ad24a247bf8@ [0x000000013F7BB443+131]
??$_Buynode@AEBUpiecewise_construct_t@std@@V?$tuple@AEBQEAVCXFA_Node@@@2@V?$tuple@$$V@2@@?$_Tree_comp_alloc@V?$_Tmap_traits@PEAVCXFA_Node@@V?$unique_ptr@V?$map@IV?$unique_ptr@U?$pair@V?$set@PEAVCXFA_Node@@U?$less@PEAVCXFA_Node@@@std@@V?$allocator@PEAVCXFA [0x0000000141785309+169]
??@2b14910fe4cc3866ca68e10bfed05253@ [0x000000013F7CCB09+185]
CJX_Object::SetAttributeValue [0x000000013FAE0F7E+302]
v8::internal::compiler::Int64Lowering::LowerNode [0x000000013FBB03F6+31718]
CXFA_Document::DataMerge_UpdateBindingRelations [0x00000001417A48DA+1066]
CXFA_Document::DataMerge_UpdateBindingRelations [0x00000001417A4ED8+2600]
CXFA_Document::DataMerge_UpdateBindingRelations [0x00000001417A4ED8+2600]
CXFA_Document::DataMerge_UpdateBindingRelations [0x00000001417A4ED8+2600]
CXFA_Document::DataMerge_UpdateBindingRelations [0x00000001417A4ED8+2600]
CXFA_Document::DataMerge_UpdateBindingRelations [0x00000001417A4512+98]
CXFA_Document::DoDataMerge [0x00000001417A5FF8+3240]
CXFA_FFDocView::StartLayout [0x00000001416BECCD+93]
CPDFXFA_Context::LoadXFADoc [0x000000014169162D+669]
FPDF_LoadXFA [0x0000000140AC5A2A+42]
std::_Compressed_pair<std::default_delete<CFWL_WidgetProperties>,CFWL_WidgetProperties * __ptr64,1>::_Get_first [0x000000013F72A648+1432]
main [0x000000013F727C05+1685]
invoke_main [0x0000000141CDB924+52] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:79)
__scrt_common_main_seh [0x0000000141CDB817+295] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
__scrt_common_main [0x0000000141CDB6DE+14] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:326)
mainCRTStartup [0x0000000141CDB9B9+9] (f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp:17)
BaseThreadInitThunk [0x0000000077415A4D+13]
RtlUserThreadStart [0x000000007764B831+33]
FAILURE: static_list_box_caption.pdf; Command '['E:\\b\\build\\slave\\windows_xfa\\build\\pdfium\\out\\debug_xfa_v8\\pdfium_test.exe', '--send-events', '--png', '--md5', 'E:\\b\\build\\slave\\windows_xfa\\build\\pdfium\\out\\debug_xfa_v8\\gen\\pdfium\\testing\\pixel\\static_list_box_caption.pdf']' returned non-zero exit status -1073741819
Rendering PDF file E:\b\build\slave\windows_xfa\build\pdfium\out\debug_xfa_v8\gen\pdfium\testing\pixel\standard_symbols.pdf.
==== C stack trace ===============================
std::tuple<CXFA_Node * __ptr64 const & __ptr64>::tuple<CXFA_Node * __ptr64 const & __ptr64> [0x0000000141785700+48]
FAILURE: resolve_nodes.pdf; Command '['E:\\b\\build\\slave\\windows_xfa\\build\\pdfium\\out\\debug_xfa_v8\\pdfium_test.exe', '--send-events', '--png', '--md5', 'E:\\b\\build\\slave\\windows_xfa\\build\\pdfium\\out\\debug_xfa_v8\\gen\\pdfium\\testing\\pixel\\resolve_nodes.pdf']' returned non-zero exit status -1073741819
??@875fbed02c72fe689afc0ad24a247bf8@ [0x000000013F7BB443+131]
??$_Buynode@AEBUpiecewise_construct_t@std@@V?$tuple@AEBQEAVCXFA_Node@@@2@V?$tuple@$$V@2@@?$_Tree_comp_alloc@V?$_Tmap_traits@PEAVCXFA_Node@@V?$unique_ptr@V?$map@IV?$unique_ptr@U?$pair@V?$set@PEAVCXFA_Node@@U?$less@PEAVCXFA_Node@@@std@@V?$allocator@PEAVCXFA [0x0000000141785309+169]
??@2b14910fe4cc3866ca68e10bfed05253@ [0x000000013F7CCB09+185]
CJX_Object::SetAttributeValue [0x000000013FAE0F7E+302]
v8::internal::compiler::Int64Lowering::LowerNode [0x000000013FBB04C0+31920]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A43A3+9603]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A2048+552]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A3436+5654]
CXFA_Document::DataMerge_CopyContainer [0x00000001417A1FEE+462]
CXFA_Document::DoDataMerge [0x00000001417A5F96+3142]
CXFA_FFDocView::StartLayout [0x00000001416BECCD+93]
CPDFXFA_Context::LoadXFADoc [0x000000014169162D+669]
FPDF_LoadXFA [0x0000000140AC5A2A+42]
std::_Compressed_pair<std::default_delete<CFWL_WidgetProperties>,CFWL_WidgetProperties * __ptr64,1>::_Get_first [0x000000013F72A648+1432]
main [0x000000013F727C05+1685]
invoke_main [0x0000000141CDB924+52] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:79)
__scrt_common_main_seh [0x0000000141CDB817+295] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
__scrt_common_main [0x0000000141CDB6DE+14] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:326)
mainCRTStartup [0x0000000141CDB9B9+9] (f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp:17)
BaseThreadInitThunk [0x0000000077415A4D+13]
RtlUserThreadStart [0x000000007764B831+33]
FAILURE: standard_symbols.pdf; Command '['E:\\b\\build\\slave\\windows_xfa\\build\\pdfium\\out\\debug_xfa_v8\\pdfium_test.exe', '--send-events', '--png', '--md5', 'E:\\b\\build\\slave\\windows_xfa\\build\\pdfium\\out\\debug_xfa_v8\\gen\\pdfium\\testing\\pixel\\standard_symbols.pdf']' returned non-zero exit status -1073741819
Original change's description:
> Remove CXFA nodes instead of CFX_XML nodes
>
> When we set data into the CJX nodes, we need to update the backing store
> of the XFA nodes, which are the XML nodes. When we update the backing
> store, there are cases where we need to remove the children (setting
> CData on a node or setting the value of an Attribute which is backed by
> a real node).
>
> Currently we call DeleteChildren on the XML node. This causes issues
> when we cleanup the tree as XFA nodes may point to these deleted XML
> nodes.
>
> Instead, this CL cleans up the XFA nodes which will in turn clean up the
> XML nodes. This seems like the right thing to do as we no longer have
> the backing nodes, so we should no longer have the XFA nodes on top of
> them.
>
> Bug: chromium:813155
> Change-Id: I63d53fd56999ec9d3b3af2ab5952b374663f040c
> Reviewed-on: https://pdfium-review.googlesource.com/29950
> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> Commit-Queue: dsinclair <dsinclair@chromium.org>
TBR=thestig@chromium.org,dsinclair@chromium.org,hnakashima@chromium.org
Change-Id: Ic6b2fbeb9f8217292da0a722e143d96f9972056a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:813155
Reviewed-on: https://pdfium-review.googlesource.com/29974
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Because we can get the lifetime check for free if we do this. This
requires adding some "constexpr/noexcept" to UnownedPtr to make the
types line up with what span.h requires.
Change-Id: I45918f8723122082036eed959f769644ab4c509f
Reviewed-on: https://pdfium-review.googlesource.com/29672
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Allow them to run a bit more consistently.
Change-Id: I6b0f528a73f2c872813f4644aeae886ec04879f4
Reviewed-on: https://pdfium-review.googlesource.com/29930
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL removes the CFX_XMLParser from CXFA_SimpleParser and constructs
it in the CFX_XMLDoc.
Change-Id: Id69b396f091892170a4c4654ac1d0fd65d1efbb6
Reviewed-on: https://pdfium-review.googlesource.com/29970
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
It can be refactored to a local, then the local can be refactored
out too. There should be no functional changes.
Change-Id: I4b49cbf27736f856a567db5db952c03aba743818
Reviewed-on: https://pdfium-review.googlesource.com/29911
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
When we set data into the CJX nodes, we need to update the backing store
of the XFA nodes, which are the XML nodes. When we update the backing
store, there are cases where we need to remove the children (setting
CData on a node or setting the value of an Attribute which is backed by
a real node).
Currently we call DeleteChildren on the XML node. This causes issues
when we cleanup the tree as XFA nodes may point to these deleted XML
nodes.
Instead, this CL cleans up the XFA nodes which will in turn clean up the
XML nodes. This seems like the right thing to do as we no longer have
the backing nodes, so we should no longer have the XFA nodes on top of
them.
Bug: chromium:813155
Change-Id: I63d53fd56999ec9d3b3af2ab5952b374663f040c
Reviewed-on: https://pdfium-review.googlesource.com/29950
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves the code to set the XML node data from CJX_Node to
CXFA_Node. The XML node is owned by the XFA node, not the CJX node so it
makes more sense to have the modifications happen there.
This combines the duplicate code in CJX_Node into a single SetToXML
method.
Bug: chromium:813155
Change-Id: I493725d1412688cb1a0d04bd9ae9fa5a36caebf3
Reviewed-on: https://pdfium-review.googlesource.com/29858
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Allows indexing with better bounds-checking to occur. Some small
modifications are required to deal with PDFium being intentionally
held at C++11 compliance, not C++14.
Use in one place as check on correctness.
Change-Id: Id2875cf0a93980112bc536a93c4f9ec5306c0dac
Reviewed-on: https://pdfium-review.googlesource.com/29671
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
V8 won't do this for us when it creates a global object under the
covers off of a template with a non-zero internal field count, instead
just leaving it uninitialized. We were careful to set the iternal
fields on the object we explicitly create, but there are these
implicitly created ones as part of making a new context that need
to be handled as well.
BUG: pdfium:1005
Change-Id: Ic40bafc206ec5119cbceb58f0bb725693e7ddf80
Reviewed-on: https://pdfium-review.googlesource.com/29910
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I0059e2ec25e90162a241a49e5d7b327c80330a33
Reviewed-on: https://pdfium-review.googlesource.com/29890
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
As it turns out, this doesn't cause any bugs with the FXJS/FXJSE
interaction since the magic values will never be present in the
other slot, but the code looks wrong wrt. the document.
Also fix an assert in FXJSE that our objects have two slots,
and null appropriately (just a defensive measure).
Also assert that one of our casts is valid.
Change-Id: I3146fe58350da5e9b76e711d81480565dabd587f
Reviewed-on: https://pdfium-review.googlesource.com/29859
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
The two branches are very similar.
Change-Id: I2a9502858e9ce997f28b17bc1051b71fa058c2c4
Reviewed-on: https://pdfium-review.googlesource.com/24350
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
Move some code into TranslateScanline24bppDefaultDecode().
Change-Id: I7e985c2abb9b2f9e41214531321f8f3846dd3a94
Reviewed-on: https://pdfium-review.googlesource.com/29857
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I4d7661716116969ae80fdac52f6b400a5ff68e50
Reviewed-on: https://pdfium-review.googlesource.com/29855
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Change-Id: I3ee8f8e9eb33d251dc00336bcd31e578e7ce5143
Reviewed-on: https://pdfium-review.googlesource.com/29854
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Change-Id: I7c639655c003527417255c134a4393d68cda3ef1
Reviewed-on: https://pdfium-review.googlesource.com/29852
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL moves the two accessor functions from being in an anonymous
namespace to being public and makes the member itself private.
Change-Id: Idd5dd1e6cc617d0be0fdd57ceace2dbc684a8b00
Reviewed-on: https://pdfium-review.googlesource.com/29856
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL removes the unused CXFA_Document param from various anonymous
namespace methods in CXFA_Document.
Change-Id: Ic10b4d2830936091da4db0919b33c16875cbd427
Reviewed-on: https://pdfium-review.googlesource.com/29853
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves the CXFA_Document methods from xfa_document_datamerger_imp
into the cxfa_document.cpp file.
Change-Id: Idcb0696d2488bff5a4882675b3b876e0ec9e38bb
Reviewed-on: https://pdfium-review.googlesource.com/29851
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Keeping the internal widget details, since they are likely needed for
wiring up XFA with the other form APIs.
BUG=pdfium:1056
Change-Id: I000468e27bbb59346c4288f1c4f0fe96ed5f3603
Reviewed-on: https://pdfium-review.googlesource.com/29870
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Currently this is being treated as a case of "data not available" which
leads to an infinite loop.
BUG=pdfium:1055
Change-Id: I2722a5b364d56a4ad5b7cca2a4b42e6b13a933f4
Reviewed-on: https://pdfium-review.googlesource.com/29831
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/7109495c5e6c..3b8f16803c8a
$ git log 7109495c5..26ad1acbc --date=short --no-merges --format='%ad %ae %s'
2018-04-04 mpsuzuki * src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554), `DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'. (tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts in above.
2018-04-03 wl Minor comment improvement.
Created with:
roll-dep pdfium/third_party/freetype/src
BUG=pdfium:1053
Change-Id: I87b0dc55608e5a0ca09b83ca75260b90ae84a9e4
Reviewed-on: https://pdfium-review.googlesource.com/29850
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
The existing code for spellchecking is non-functional and we are not
planning on fixing/finishing it, so removing it, since it currently is
marking everything as misspelt.
BUG=pdfium:1054
Change-Id: I23aaa13c09aed483376d7d06f47fdf31d890786b
Reviewed-on: https://pdfium-review.googlesource.com/29790
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Change-Id: I803f7816e2b2fecc5737a3ed26ff156bbff0ae2f
Reviewed-on: https://pdfium-review.googlesource.com/29770
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
|is_posix| will be switched to false for Fuchsia, this is a preliminary change.
Bug: chromium:812974
Change-Id: Iabe2503db3d6d4cebf1445cb4ab0852b664e1dba
Reviewed-on: https://pdfium-review.googlesource.com/29490
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
pdfium_test currently isn't expanding ~ in paths that are passed in
for directories, which is causing commands like this pdfium_test
--font-dir=~/Fonts to fail. This CL adds in performing sh style
expansion on the ~ character for --font-dir and --bin-dir.
This change depends on POSIX wordexp being available, so guarding the
code with checks for Linux || OSX, since those are the only platforms
that we build for that are POSIX complient in this regard.
BUG=pdfium:1027
Change-Id: I05d518dfa71d95c3b0cfd1f4b382e0a6f4a0f515
Reviewed-on: https://pdfium-review.googlesource.com/28611
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Currently rect invalidations in XFA are only sent to the embedder
only when RunInvalidate() is executed.
For things which redraw on a timer, such as the caret, there was
no user event to call RunInvalidate() so the page would not redraw.
This CL changes the XFA code to send the invalidations to the
embedder immediately and expects the embedder to combine the
invalidations to limit overdraw.
Bug: chromium:828561
Change-Id: I298052fd7d0c373b029eec191cc6c74c63978348
Reviewed-on: https://pdfium-review.googlesource.com/29670
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
AFDate_FormatEx("yymmdd") should not try to read the first 4 digits in
the string.
BUG=chromium:436572
Change-Id: I123b70b8a22d1e2c87e61ee7bf0b177b49571ae3
Reviewed-on: https://pdfium-review.googlesource.com/29731
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL decreases the m_iXMLPlaneSize in the CFX_XMLSyntaxParser from
32*1024 to 1024 bytes. This plane size is the size of the chunks we read
the XML file in. The issue with having a large plane size is inside the
CFX_SeekableStreamProxy::ReadString we allocate a vector of the
min(planeSize, remaining_bytes). This means, we could potentially be
allocating 32*1024 bytes to read in a single character.
For the test in the attached bug the runtime went from 12s to 25ms.
Bug: chromium:813195
Change-Id: Id57e619b7a118d45e3fed491ad81e86a4b1cacb8
Reviewed-on: https://pdfium-review.googlesource.com/29750
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This Cl updates CFWL_Edit to keep the cursor from extending pass the end
of the text. If we set the cursor past the end it will trigger the
ASSERT in the text edit engine as the edit engine assumes the caller
does the right thing.
Bug: pdfium:1023
Change-Id: Idfed4b240c13d666a686d0e09b78bcc9a1406794
Reviewed-on: https://pdfium-review.googlesource.com/29650
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL converts CPDF_DefaultAppearance to return
Optional<CFX_Color:Type> items instead of having a HasColor. This saves
the double parse of the appearance stream.
Change-Id: Ib3c136da6e2adfb559e495de1d299cce0b4ad25f
Reviewed-on: https://pdfium-review.googlesource.com/29630
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes the CPDF_DefaultAppearance code to remove the HasFont
method and change GetFont to return an Optional. This forces all the
call sites to verify a font was returned correctly and removes the need
for the duplicate appearance stream parsing.
Bug: chromium:827430
Change-Id: If09e0a7d3f7dd63ad77b97a5a388127e4a02da61
Reviewed-on: https://pdfium-review.googlesource.com/29610
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This might make the memory tools more effective in finding OOBs.
Change-Id: Id093bb0a88c37954c80d612ac00b5a168e75bdbf
Reviewed-on: https://pdfium-review.googlesource.com/29550
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/713d68ee9f47..7109495c5e6c
$ git log 713d68ee9..7109495c5 --date=short --no-merges --format='%ad %ae %s'
2018-04-01 wl * builds/toplevel.mk (work): Use $(SEP).
2018-03-30 wl [truetype] Fix memory leak (only if tracing is on).
2018-03-26 apodtele Documentation improvement.
2018-03-24 wl Typo.
2018-03-23 kkushal32 Fixing cmake command format
2018-03-23 bungeman [sfnt] Correctly handle missing bitmaps in sbix format (#53404).
2018-03-23 bungeman [truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
2018-03-22 wl Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
2018-03-13 wl * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric overflow.
2018-03-13 wl Fix cmap format 2 handling (#53320).
2018-03-10 madigens * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
2018-03-05 fanchunwei * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
2018-03-08 wl Typo.
2018-03-08 wl CHANGES: Document `--enable-freetype-config'.
2018-03-07 hugh.mcmaster Make installation of `freetype-config' optional (#53093).
2018-03-08 wl Minor: Update `CHANGES' and improve documentation in `modules.cfg'.
2018-03-05 wl Make `ftlcdfil.c' part of the `base' module.
2018-03-05 wl Make `ftfntfmt.c' part of the `base' module.
2018-03-03 wl Minor documentation improvement.
2018-03-01 wl * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
2018-03-01 wl * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
Created with:
roll-dep pdfium/third_party/freetype/src
BUG=pdfium:1050
Change-Id: If78351c12589717151718a33db954503bd58922a
Reviewed-on: https://pdfium-review.googlesource.com/29590
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Limit the token to 255 bytes + NUL. Also, shuffle fields in
cpdf_streamparser to allow memory tools to better check this
inline array.
Bug: 828049
Change-Id: I444f2b4c6958167577d9cd76c06805baf7d5c26c
Reviewed-on: https://pdfium-review.googlesource.com/29530
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=828069
Change-Id: I3bbcb696fcf7e587f1fcfd00454e47ec42a67713
Reviewed-on: https://pdfium-review.googlesource.com/29570
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This experimental API has been superceded by FPDF_SetPrintMode().
Change-Id: I41f8efbb2f40edea60df55c36f7ee3743ac20839
Reviewed-on: https://pdfium-review.googlesource.com/29510
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
BUG=None
R=thestig
Change-Id: I17b251faba0e9b8b79fd6b12193add2d61f69c0b
Reviewed-on: https://pdfium-review.googlesource.com/29450
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
Fixup API check filename after fpdf_view_c_api_test was moved.
TBR: hnakashima@chromium.org
Change-Id: I49f1015616cb8c8a5d6a9f0646f1e19e8ed94779
Reviewed-on: https://pdfium-review.googlesource.com/29470
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL converts the CPDF_DefaultAppearance::GetColor methods to return
instead of using reference parameters.
Change-Id: I9ba6bf060a536290a83d3c9ce6e115511f28664c
Reviewed-on: https://pdfium-review.googlesource.com/29410
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL renames CBA_AnnotIterator to CPDFSDK_AnnotIterator. This
iterator does not seem to be restricted to just BAAnnot entries, so
rename to the more general name.
Change-Id: I735dc37cd5417a2b544882db515dbef4d4dbae67
Reviewed-on: https://pdfium-review.googlesource.com/29430
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL moves code over to using CPDF_DefaultAppearance instead of
calling the CPDF_SimpleParser directly. This means the code for finding
a specific tag start can move into CPDF_DefaultAppearance directly.
Change-Id: I1dc64e54aedd03d059b963121d466f3eb75c17db
Reviewed-on: https://pdfium-review.googlesource.com/28410
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL makes the fpdfsdk/fpdf* files to be consistently prefixed with
fpdf_ instead of randomly dropping the _.
Change-Id: I23e3c8a0831b56bcd17c788d9fe874b2ab8b24fc
Reviewed-on: https://pdfium-review.googlesource.com/29390
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL moves more of the fpdfsdk/ code around to better match the
naming of other files.
Change-Id: I203d91e3e345b2b4767df7a69dd5bd981d61f1d2
Reviewed-on: https://pdfium-review.googlesource.com/29372
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL renames fsdk_common and fsdk_define to cpdfsdk_common and
cpdfsdk_helpers respectively.
Change-Id: I8ee7a308561f1ff2f510954444f953b0c8fed788
Reviewed-on: https://pdfium-review.googlesource.com/29371
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL converts the CPDF_SimpleParser to accept a ByteStringView.
Several of the callers of SimpleParser are also updated to use a
ByteStringView instead of <char*,size>.
Change-Id: Ic2df3a06f92e77b53745a0419b44368142f9d8e6
Reviewed-on: https://pdfium-review.googlesource.com/29351
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL collects the various fsdk_define methods into a fsdk_define.cpp
class. Methods only used in one place are moved into the appropriate
anonymous namespaces.
Change-Id: I75bfc7e8fe20711106fcf9821adeb41d69bf5848
Reviewed-on: https://pdfium-review.googlesource.com/29310
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the ByteString version of PDF_NameDecode and forces the
callers to use the ByteStringView variant.
Change-Id: I5a955d8e909e2045ee45843af54b23e98abe00ed
Reviewed-on: https://pdfium-review.googlesource.com/29350
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|