1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 07:08:08 +02:00
pdf.js/test
Jonas Jenwald 07e1ad40a2 Replace getAll with getKeys in PartialEvaluator_hasBlendModes to speed up loading of badly generated PDF files (issue 6961)
Some bad PDF generators, in particular "Scribus PDF", duplicates resources *a lot* at various levels of the PDF files. This can lead to `PartialEvaluator_hasBlendModes` taking an unreasonable amount of time to complete.
The reason is that the current code is using `Dict_getAll`, which recursively dereferences *all* indirect objects, which can be really slow. This patch instead uses `Dict_getKeys`, and then manually looks up only the necessary indirect objects.

I've added the PDF file as a `load` test. The most important thing here is probably to ensure that the file remains available in the repo, and the comment should help reduced the chance of regressions. (Note that locally, the `load` test times out without this patch, but we cannot really assume that that always happens.)

Fixes 6961.
2016-02-10 17:21:38 +01:00
..
features Uses editorconfig to maintain consistent coding styles 2015-11-14 07:32:18 +05:30
font Use RequireJS in the viewer, examples and tests. 2015-12-29 09:20:52 -06:00
pdfs Replace getAll with getKeys in PartialEvaluator_hasBlendModes to speed up loading of badly generated PDF files (issue 6961) 2016-02-10 17:21:38 +01:00
resources Remove 'use strict'; causing failure and unused prefs. 2016-01-14 13:23:48 -08:00
stats cleaned whitespace 2015-02-17 11:07:37 -05:00
ttx Update fonttools location and version (issue 6223) 2015-07-17 12:51:09 +02:00
unit Destroy workers when they are no longer needed in the unit tests 2016-01-29 12:23:17 +01:00
.gitignore Ignore test snapshots directory. 2013-03-15 11:24:08 -07:00
annotation_layer_test.css Merge pull request #6807 from timvandermeij/popup-annotation-hidden 2015-12-28 22:58:41 +01:00
downloadutils.js Uses editorconfig to maintain consistent coding styles 2015-11-14 07:32:18 +05:30
driver.js Implement annotation layer regression testing 2015-12-20 13:45:56 +01:00
test.js Uses editorconfig to maintain consistent coding styles 2015-11-14 07:32:18 +05:30
test_manifest.json Replace getAll with getKeys in PartialEvaluator_hasBlendModes to speed up loading of badly generated PDF files (issue 6961) 2016-02-10 17:21:38 +01:00
test_slave.html Use RequireJS in the viewer, examples and tests. 2015-12-29 09:20:52 -06:00
testutils.js Uses editorconfig to maintain consistent coding styles 2015-11-14 07:32:18 +05:30
text_layer_test.css Better "text" testing. 2015-11-19 11:03:52 -06:00
webbrowser.js Uses editorconfig to maintain consistent coding styles 2015-11-14 07:32:18 +05:30
webserver.js Uses editorconfig to maintain consistent coding styles 2015-11-14 07:32:18 +05:30