pdf.js/test/unit
Jonas Jenwald 0c31320c12 [api-minor] Improve thumbnail handling in documents that contain interactive forms
To improve performance of the sidebar we use the page-canvases to generate the thumbnails whenever possible, since that avoids unnecessary re-rendering when the sidebar is open. This works generally well, however there's an old problem in PDF documents that contain interactive forms (when those are enabled): Note how the thumbnails become partially (or fully) blank, since those Annotations are not included in the OperatorList.[1]

We obviously want to keep using the `PDFThumbnailView.setImage`-method for most documents, however we need a way to skip it only for those pages that contain interactive forms.
As it turns out it's unfortunately not all that simple to tell, after the fact, from looking only at the OperatorList that some Annotations were skipped. While it might have been possible to try and infer that in the viewer, it'd not have been pretty considering that at the time when rendering finishes the annotationLayer has not yet been built.
The overall simplest solution that I could come up with, was instead to include a *summary* of the interactive form-state when doing the final "flushing" of the OperatorList and expose that information in the API.

---
[1] Some examples from our test-suite: `annotation-tx2.pdf` where the thumbnail is completely blank, and `bug1737260.pdf` where the thumbnail is missing the "buttons" found on the page.
2022-07-30 16:53:32 +02:00
..
.eslintrc Enable the ESLint no-var rule globally 2021-03-13 16:12:53 +01:00
annotation_spec.js [api-minor] Improve thumbnail handling in documents that contain interactive forms 2022-07-30 16:53:32 +02:00
annotation_storage_spec.js Annotations - Avoid empty value in text field when storage contains something for it (bug 1719148) 2021-09-18 15:08:22 +02:00
api_spec.js [api-minor] Improve thumbnail handling in documents that contain interactive forms 2022-07-30 16:53:32 +02:00
base_viewer_spec.js Use the new iterator in the PDFPageViewBuffer unit-tests 2021-11-15 14:06:17 +01:00
bidi_spec.js Tweak the Bidi-detection heuristics for very short RTL strings (issue 11656) 2021-11-03 20:31:57 +01:00
cff_parser_spec.js Fix typo in cff_parser_spec.js 2021-08-06 19:30:36 +09:00
clitests_helper.js [api-minor] Highlight search results correctly for normalized text (PR 9448) 2021-01-12 18:08:08 +01:00
clitests.json [editor] Use the fit-curve package (issue 15004) 2022-07-07 10:43:43 +02:00
cmap_spec.js Convert done callbacks to async/await in test/unit/cmap_spec.js 2021-04-14 22:24:28 +02:00
colorspace_spec.js Remove obsolete done callbacks from the unit tests 2021-04-10 20:29:39 +02:00
core_utils_spec.js XFA -- Load fonts permanently from the pdf 2021-04-15 17:57:42 +02:00
crypto_spec.js Correctly pad strings when saving an encrypted pdf (bug 1726789) 2021-09-02 10:37:21 +02:00
custom_spec.js Enable the unicorn/prefer-dom-node-append ESLint plugin rule 2022-06-12 13:07:03 +02:00
default_appearance_spec.js Display background when printing or saving a text widget (issue #14928) 2022-05-19 16:41:54 +02:00
display_svg_spec.js Enable the unicorn/prefer-dom-node-append ESLint plugin rule 2022-06-12 13:07:03 +02:00
display_utils_spec.js [Editor] Improve a11y for newly added element (#15109) 2022-07-19 18:52:17 +02:00
document_spec.js A couple of small scripting/XFA-related tweaks in the worker-code 2021-04-17 10:34:22 +02:00
editor_spec.js [Editor] Simplify the command manager 2022-07-21 18:44:41 +02:00
encodings_spec.js Update Prettier to version 2.0 2020-04-14 12:28:14 +02:00
evaluator_spec.js Use String.prototype.repeat() in a couple of spots 2022-03-30 15:42:40 +02:00
event_utils_spec.js Move the EventBus, and related functionality, into its own file 2021-12-15 17:18:57 +01:00
fetch_stream_spec.js Convert done callbacks to async/await in test/unit/fetch_stream_spec.js 2021-04-13 21:51:27 +02:00
function_spec.js Use more for...of loops in the code-base 2022-07-17 16:18:54 +02:00
jasmine-boot.js [editor] Use the fit-curve package (issue 15004) 2022-07-07 10:43:43 +02:00
message_handler_spec.js Convert done callbacks to async/await in test/unit/message_handler_spec.js 2021-04-14 21:59:13 +02:00
metadata_spec.js Move the Metadata parsing to the worker-thread 2021-02-17 13:12:01 +01:00
murmurhash3_spec.js Replace the AnnotationStorage.lastModified-getter with a proper hash-method 2022-05-04 15:21:30 +02:00
network_spec.js Convert done callbacks to async/await in test/unit/network_spec.js 2021-04-13 21:51:26 +02:00
network_utils_spec.js Slightly improve validation of (some) parameters in getDocument 2022-03-21 13:32:17 +01:00
node_stream_spec.js Convert done callbacks to async/await in test/unit/node_stream_spec.js 2021-04-13 21:51:26 +02:00
parser_spec.js Let Lexer.getNumber treat a single minus sign as zero (bug 1753983) 2022-02-07 17:09:47 +01:00
pdf_find_controller_spec.js Support Hangul syllables when searching some text (bug 1771477) 2022-05-28 16:50:03 +02:00
pdf_find_utils_spec.js Run gulp lint --fix, to account for changes in Prettier version 2.1.x 2020-09-06 12:23:59 +02:00
pdf_history_spec.js Update Prettier to version 2.0 2020-04-14 12:28:14 +02:00
primitives_spec.js Add general iteration support in the RefSet and RefSetCache classes 2022-03-18 14:27:34 +01:00
scripting_spec.js Fix unit test (#15093 follow-up) 2022-06-24 18:55:35 +02:00
stream_spec.js [api-minor] Remove the forceClamped-functionality in the Streams (issue 14849) 2022-04-29 14:46:30 +02:00
struct_tree_spec.js Include the /Lang-property, when it exists, in the StructTree-data (issue 14261) 2021-11-14 12:37:41 +01:00
test_utils.js [Editor] Add support for printing newly added FreeText annotations 2022-06-22 13:26:09 +02:00
testreporter.js Replace XMLHttpRequest usage with the Fetch API in send (in test/unit/testreporter.js) 2022-03-10 12:55:08 +01:00
text_layer_spec.js Expose TextLayerRenderTask in the TypeScript definitions (issue 15016, PR 14013 follow-up) 2022-06-10 22:12:32 +02:00
type1_parser_spec.js Move some constants and helper functions from src/core/fonts.js and into their own file 2021-05-02 21:00:29 +02:00
ui_utils_spec.js [Editor] Improve a11y for newly added element (#15109) 2022-07-19 18:52:17 +02:00
unicode_spec.js Remove the invisible format marks from the text chunks 2022-01-24 13:47:24 +01:00
unit_test.html [editor] Use the fit-curve package (issue 15004) 2022-07-07 10:43:43 +02:00
util_spec.js Use String.prototype.repeat() in a couple of spots 2022-03-30 15:42:40 +02:00
writer_spec.js Don't save anything in XFA entry if no XFA! (bug 1732344) 2021-09-23 19:51:23 +02:00
xfa_formcalc_spec.js XFA - Add a lexer/parser for FormCalc language (#12936) 2021-02-17 20:28:06 +01:00
xfa_parser_spec.js Support rich content in markup annotation 2021-10-31 13:44:51 +01:00
xfa_serialize_data_spec.js XFA - Encode tag names in UTF-8 when saving (fix #14249) 2021-11-07 21:41:37 +01:00
xfa_tohtml_spec.js XFA - Get each page asynchronously in order to avoid blocking the event loop (#14014) 2021-11-06 13:25:03 +01:00
xml_spec.js Handle PI with no value in xml parser 2021-05-18 10:22:18 +02:00