1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 22:58:07 +02:00
pdf.js/test
Jonas Jenwald e92a929a58 Try to improve handling of missing trailer dictionaries in XRef.indexObjects (issue 18986)
The problem with the referenced PDF document has nothing to do with invalid dates, as the issue seems to suggest, but rather with the fact that it has neither an XRef table nor a trailer dictionary.
Given that crucial parts of the internal document structure is missing, you might argue that it's not really a PDF document.

In an attempt to support this kind of corruption, we'll simply iterate through all (previously found) XRef entries and pick one that *might* be a valid /Root dictionary.
There's obviously no guarantee that this works, and it might not be fast in larger PDF documents, but at least it cannot be any worse than *immediately* throwing `InvalidPDFException` as we previously did here.

*Please note:* I'm totally fine with this patch being rejected, since it's somewhat questionable if we should actually attempt to support "PDF documents" with this level of corruption.
2024-11-05 18:19:26 +01:00
..
chromium Enable the import/no-commonjs ESLint plugin rule 2023-10-14 12:49:17 +02:00
font Convert the TTX driver code to promises 2024-04-05 13:34:54 +02:00
fuzz [api-minor] Remove the image-related error message prefixes 2024-04-20 12:51:45 +02:00
images [Editor] Avoid to have a selected stamp annotation on top of the secondary toolbar (bug 1911980) 2024-09-26 17:48:02 +02:00
integration Fix the "must convert input to uppercase" scripting integration test 2024-11-03 15:08:55 +01:00
pdfs Try to improve handling of missing trailer dictionaries in XRef.indexObjects (issue 18986) 2024-11-05 18:19:26 +01:00
resources Enable the declaration-block-no-redundant-longhand-properties Stylelint rule 2023-03-25 10:08:27 +01:00
stats Enable the import/no-commonjs ESLint plugin rule 2023-10-14 12:49:17 +02:00
types Install and use the most recent Node types for the types tests 2024-11-03 13:40:55 +01:00
unit Try to improve handling of missing trailer dictionaries in XRef.indexObjects (issue 18986) 2024-11-05 18:19:26 +01:00
.eslintrc Prevent duplicate names in unit/integration tests 2024-02-11 11:45:09 +01:00
.gitignore Ignore test snapshots directory. 2013-03-15 11:24:08 -07:00
add_test.mjs [ESM] Convert *most* of test-folder to use standard modules 2023-07-08 13:13:04 +02:00
annotation_layer_builder_overrides.css Use CSS nesting in the annotationLayer 2023-10-27 18:46:47 +02:00
downloadutils.mjs Modernize the rewriteWebArchiveUrl test helper function 2023-12-17 21:53:50 +01:00
draw_layer_test.css [Editor] Add a way to extract the outlines of a union of rectangles 2023-11-20 18:45:19 +01:00
driver.js [Editor] Refactor the free highlight stuff in order to be able to use the code for more general drawing 2024-10-29 15:41:08 +01:00
integration-boot.mjs Don't ignore errors in the Jasmine suite start/end stages 2024-06-23 20:59:48 +02:00
test.mjs Add more optional chaining in the test/ directory 2024-09-22 13:00:57 +02:00
test_manifest.json Try to improve handling of missing trailer dictionaries in XRef.indexObjects (issue 18986) 2024-11-05 18:19:26 +01:00
test_slave.html [api-minor] Move to Fluent for the localization (bug 1858715) 2023-10-19 11:20:41 +02:00
testutils.mjs Remove the rimraf dependency in favor of the built-in Node.js fs.rmSync in the test folder 2024-04-14 16:41:59 +02:00
text_layer_test.css Use CSS nesting in the textLayer 2023-10-27 17:38:01 +02:00
webserver.mjs Use the URL global instead of the deprecated url.parse 2024-08-27 18:19:25 +02:00
xfa_layer_builder_overrides.css Remove unnecessary alpha-value from CSS rgb colors 2023-10-06 09:50:03 +02:00