Commit Graph

17136 Commits

Author SHA1 Message Date
Jonas Jenwald
d256168b62 Reduce duplication when dispatching the "switchannotationeditorparams" event
Currently we repeat virtually the same code multiple times, which can be avoided by the introduction of a simple helper function.
2023-04-03 09:05:07 +02:00
Jonas Jenwald
bf57a8f660 Force-install when using gulp dist-install (issue 15435)
When installing the PDF.js project itself it's currently necessary to use `--force` in order for all packages to install correctly, see issue 15429, hence the same is also necessary when using the `gulp dist-install` command for local development/testing.
2023-04-02 16:06:36 +02:00
Jonas Jenwald
484da62f50 Inline PDFPageView.paintOnCanvas in the draw method, now that SVG-rendering is removed 2023-04-02 15:23:45 +02:00
Jonas Jenwald
92cf183f56 Re-factor the showCanvas function, reducing function calls during rendering 2023-04-02 15:23:45 +02:00
Jonas Jenwald
6858dae1c3 Change the finishPaintTask/finishPaintTask helpers into private methods 2023-04-02 15:23:45 +02:00
Jonas Jenwald
c2f1e65cc3 [api-minor] Remove SVG-rendering from the viewer (PR 15173 follow-up) 2023-04-02 15:23:45 +02:00
Tim van der Meij
b135dadb17
Merge pull request #16244 from timvandermeij/bump
Bump versions in `pdfjs.config`
2023-04-02 15:08:44 +02:00
Tim van der Meij
4eecd9e308
Bump versions in pdfjs.config 2023-04-02 15:03:13 +02:00
Tim van der Meij
be0f6ee080
Merge pull request #16242 from Snuffleupagus/rm-render-canvasFactory
[api-minor] Remove the `canvasFactory` option from `PDFPageProxy.render` (PR 16100 follow-up)
2023-04-02 13:51:01 +02:00
Tim van der Meij
1c7e2defea
Merge pull request #16243 from Snuffleupagus/toolbars-object-spread
Use object-spread when dispatching events in the toolbars
2023-04-02 13:49:03 +02:00
Jonas Jenwald
51113c17e9 Use object-spread when dispatching events in the toolbars
This format is more compact, and should be available in all browsers that we currently support; please see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax#browser_compatibility
2023-04-02 12:10:15 +02:00
Jonas Jenwald
b35c03ac3a [api-minor] Remove the canvasFactory option from PDFPageProxy.render (PR 16100 follow-up) 2023-04-01 16:00:31 +02:00
Jonas Jenwald
8b7e44682c
Merge pull request #16159 from nmtigor/b-Object_in_api
Write some {Object} in api.js more precise
2023-04-01 15:57:46 +02:00
Tim van der Meij
b384d3bc24
Merge pull request #16232 from Snuffleupagus/firefox-rm-linkService-baseUrl
[Firefox] Stop using a `baseUrl` in the `PDFLinkService` (PR 16153 follow-up)
2023-04-01 15:37:51 +02:00
Tim van der Meij
13f2426aab
Merge pull request #16238 from Snuffleupagus/update-Node-compat-check
Update the Node.js compatibility-check in the worker-thread
2023-04-01 14:20:33 +02:00
Tim van der Meij
a9af0a6cc2
Merge pull request #16234 from Snuffleupagus/rm-disableCombineTextItems
[api-minor] Remove the `disableCombineTextItems` option
2023-04-01 14:18:00 +02:00
Jonas Jenwald
57a307d0cd Update the Node.js compatibility-check in the worker-thread
*Please note:* In Node.js environments a `legacy`-build must be used since only those versions include any polyfills.

Previously we'd only check if `ReadableStream` is natively supported, however since Node.js version 18 that's now been implemented; please see https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream#browser_compatibility
Hence we'll also check for the availability of `Path2D`, since that's browser-specific functionality not expected to be available in Node.js environments; please see https://developer.mozilla.org/en-US/docs/Web/API/Path2D#browser_compatibility
2023-03-30 18:36:15 +02:00
Jonas Jenwald
2358757b66
Merge pull request #16235 from Standard8/bug-1825522-generate-cleanup
Remove now unnecessary eslint-disable statement generated for PdfJsDefaultPreferences.sys.mjs. (bug 1825522).
2023-03-30 18:02:09 +02:00
Mark Banner
bb5467789b Remove now unnecessary eslint-disable statement generated for PdfJsDefaultPreferences.sys.mjs. (bug 1825522). 2023-03-30 14:47:31 +01:00
Jonas Jenwald
5063a6f2a9 [api-minor] Remove the disableCombineTextItems option
*Please note:* This parameter has never been used within the PDF.js library/viewer itself, and it was only ever added for backwards compatibility reasons.

This parameter was added in PR 7475, over six years ago, to try and optionally maintain the previous *default* text-extraction behaviour.
However as part of the general text-extraction improvements in PR 13257, almost two years ago, the `disableCombineTextItems` functionality was accidentally "broken" in various ways. Note how the only (very basic) unit-test was updated in a way that doesn't really make sense, since generally speaking you'd expect that using the option should result in *more* (or at least the same number of) text-items. Furthermore there's also the recent issue 16209, where the option causes almost all textContent to be concatenated together.

Hence this patch proposes that we simply remove the `disableCombineTextItems` option since it's essentially unused/untested functionality, as evident from the fact that it took almost two years for someone to notice that it's broken.
2023-03-30 14:23:38 +02:00
Jonas Jenwald
40a96a2524 [Firefox] Stop using a baseUrl in the PDFLinkService (PR 16153 follow-up)
With the changes in PR 16153 we're no longer setting a `<base href>` in the Firefox PDF Viewer, hence it shouldn't be necessary to keep setting a `baseUrl` in the `PDFLinkService`-class.
Given that the original document URL is now kept, the browser itself will handle relative URLs and we can thus slightly reduce the amount of string parsing required when handling various links in the viewer.
2023-03-30 11:51:25 +02:00
Jonas Jenwald
09da8026b6
Merge pull request #16228 from Snuffleupagus/firefox-imageResourcesPath
[Firefox] Set the `imageResourcesPath` correctly (PR 16153 follow-up)
2023-03-29 14:57:58 +02:00
Jonas Jenwald
e0e56e9e9c [Firefox] Set the imageResourcesPath correctly (PR 16153 follow-up)
We missed updating this path in PR 16153, which breaks loading of annotation-icons in the Firefox PDF Viewer.
2023-03-29 14:33:08 +02:00
Jonas Jenwald
43917796c2
Merge pull request #16227 from Snuffleupagus/zooming-regressions
Fix various zooming regressions (PR 15812 follow-up)
2023-03-29 12:15:26 +02:00
Calixte Denizet
4b7eb1436d Thin whitespaces must have their own span 2023-03-29 11:23:58 +02:00
Jonas Jenwald
7bca3c81a9 Fix CSS-only zooming in the viewer (PR 15812 follow-up)
Currently if you e.g. enable the `useOnlyCssZoom` option rendering may no longer finish as intended. To reproduce:
 - Enable the `useOnlyCssZoom` option.
 - Load https://github.com/mozilla/pdf.js/files/1522715/wuppertal_2012.pdf (in the development viewer).
 - When rendering starts, *immediately* change the zoom-level.

In this case the document will never finish rendering, since the `postponeDrawing`-functionality will (here incorrectly) abort rendering and with CSS-only zooming rendering is only expected to happen once per page.
To fix this we'll simply ignore any `drawingDelay` when CSS-only zooming is used (regardless if it's triggered via the option or the zoom-level being very large).
2023-03-29 10:36:48 +02:00
Jonas Jenwald
2c5a2d112c Fix rotation of the zoomLayer (PR 15812 follow-up)
Currently the `zoomLayer` isn't rotated correctly in all cases. To reproduce:
 - Load https://github.com/mozilla/pdf.js/files/1522715/wuppertal_2012.pdf
 - Let the document render.
 - Rotate the document *four* times, such that the original rotation is restored.

The easiest solution, as far as I can tell, is that we always set the `transform` just as we did (for years) prior to the changes in PR 15812.
2023-03-29 10:04:20 +02:00
calixteman
622465dc20
Merge pull request #16223 from calixteman/16221
Create a new chunk when the char is too rised compared to the previous one
2023-03-28 15:30:14 +02:00
Calixte Denizet
a96f10e55d Create a new chunk when the char is too rised compared to the previouse one 2023-03-28 13:56:46 +02:00
Jonas Jenwald
d584513cb2
Merge pull request #16213 from Snuffleupagus/validateCSSFont-quotes
Reduce duplication in the `validateCSSFont` helper function
2023-03-28 12:40:23 +02:00
Jonas Jenwald
ec08bd5c41
Merge pull request #16218 from Snuffleupagus/isPDFFunction-simplify
Simplify the `isPDFFunction` helper function
2023-03-28 11:16:25 +02:00
calixteman
b292d1ab95
Merge pull request #16217 from calixteman/bug1824610
ESMify some modules for m-c (bug 1824610)
2023-03-28 11:01:35 +02:00
Calixte Denizet
5f5256b4c4 ESMify some modules for m-c (bug 1824610) 2023-03-27 12:01:31 +02:00
Jonas Jenwald
20cbb89412 Simplify the isPDFFunction helper function
Originally we used helper functions for checking if something was a Dictionary or Stream, and then having an initial `typeof` check probably made sense.
However, given that we're using `instanceof` nowadays the additional check longer seems necessary.
2023-03-27 11:34:20 +02:00
Tim van der Meij
384bd96165
Merge pull request #16212 from Snuffleupagus/geckoview-rm-transition-CSS
[GeckoView] Remove unused `transition` CSS-rules
2023-03-26 16:01:08 +02:00
Jonas Jenwald
ef70988027 Reduce duplication in the validateCSSFont helper function
Currently we're *virtually* duplicating the same code, for validating quotation marks, twice in this helper function.

The size decrease is quite small (107 bytes) and this makes the code slightly harder to reader, hence I completely understand if this patch is rejected.
2023-03-26 12:12:49 +02:00
Jonas Jenwald
71fdf804de [GeckoView] Remove unused transition CSS-rules
Given that the GeckoView-viewer doesn't have a sidebar, there's no reason to have CSS-rules for it (and the variables are also undefined).
2023-03-26 10:35:19 +02:00
nmtigor
167b363eb3 Write some {Object} in api.js more precise 2023-03-25 22:00:06 +01:00
Jonas Jenwald
8a2dfdb032
Merge pull request #16211 from Snuffleupagus/occur-spelling
Fix spelling of `occurred` in a couple of comments
2023-03-25 20:54:29 +01:00
Jonas Jenwald
007c367018 Fix spelling of occurred in a couple of comments 2023-03-25 20:46:02 +01:00
Tim van der Meij
a1685fd0d8
Merge pull request #16199 from Snuffleupagus/commonobj-FontInspector
Slightly reduce the size of the `FontInspector`-integration in the API
2023-03-25 15:27:01 +01:00
Tim van der Meij
ca03b0a811
Merge pull request #16206 from Snuffleupagus/update-packages
Update packages and translations
2023-03-25 15:23:31 +01:00
Tim van der Meij
35322bcbaa
Merge pull request #16207 from Snuffleupagus/declaration-block-no-redundant-longhand-properties
Enable the `declaration-block-no-redundant-longhand-properties` Stylelint rule
2023-03-25 15:22:01 +01:00
Tim van der Meij
b3e2e26079
Merge pull request #16208 from Snuffleupagus/recoverJsURL-replaceAll
Use `replaceAll` in the `recoverJsURL` helper function
2023-03-25 15:20:33 +01:00
Jonas Jenwald
035a273d30 Use replaceAll in the recoverJsURL helper function
We can just do direct replacement when building the regular expression, rather than splitting the string into an Array and then re-joining it.
2023-03-25 12:31:39 +01:00
Jonas Jenwald
a4dfa04a0b Enable the declaration-block-no-redundant-longhand-properties Stylelint rule
Note that these changes were done automatically, using `gulp lint --fix`.
This rule will help avoid unnecessary repetition in the CSS; please see https://stylelint.io/user-guide/rules/declaration-block-no-redundant-longhand-properties/
2023-03-25 10:08:27 +01:00
Jonas Jenwald
a8af946bdc Update l10n files 2023-03-25 09:46:07 +01:00
Jonas Jenwald
ee15ec9144 Update npm packages 2023-03-25 09:41:15 +01:00
Jonas Jenwald
c706c6c34f
Merge pull request #16185 from Snuffleupagus/prefer-negative-index
Enable the `unicorn/prefer-negative-index` ESLint plugin rule
2023-03-24 12:12:11 +01:00
Jonas Jenwald
96e34fbb7d Enable the unicorn/prefer-negative-index ESLint plugin rule
Please see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-negative-index.md
2023-03-24 10:18:32 +01:00