Closed Bug 1922179 Opened 1 month ago Closed 1 month ago

Update PDF.js to new version 3cdc3258d94a06af658e50290bf709426adf44b8 from 2024-10-01 15:27:56

Categories

(Firefox :: PDF Viewer, enhancement)

enhancement

Tracking

()

RESOLVED INVALID
Tracking Status
firefox133 --- affected

People

(Reporter: update-bot, Assigned: calixte)

References

(Blocks 1 open bug)

Details

(Whiteboard: [3pl-filed][task_id: XMK_0tZWTfaTaPbD1QiSzA])

Attachments

(1 obsolete file)

This update covers 12 commits. Here are the overall diff statistics, and then the commit information.


taskcluster/kinds/fetch/toolchains.yml | 2 +-
toolkit/components/pdfjs/moz.yaml | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)


392c17efa084b92534e7130468116cc4522962d7 by Calixte Denizet <calixte.denizet@gmail.com>

https://github.com/mozilla/pdf.js/commit/392c17efa084b92534e7130468116cc4522962d7
Authored: 2024-10-01 16:57:34 +0200
Committed: 2024-10-01 16:57:39 +0200

Make the secondary menu button usable with the keyboard when NVDA is enabled

It's a temporary workaround until bug 1921984 is fixed.

Files Modified:

  • web/app.js

655ef12b14d0f50811548d2fe401ef79cd18dac3 by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/655ef12b14d0f50811548d2fe401ef79cd18dac3
Authored: 2024-10-01 13:10:41 +0200
Committed: 2024-10-01 13:25:22 +0200

Re-factor how PDFLayerViewer decides if the UI needs to updated on "optionalcontentconfigchanged" events

The current implementation won't work correctly in some cases, e.g. if RBGroups are present, which means that it's possible for the UI to get out-of-sync with the actual optionalContent-state.

To avoid querying the DOM unnecessarily we cache the last known UI-state and compare with the actual optionalContent-state, which thus replaces the previously used hash-comparison.

Files Modified:

  • web/pdf_layer_viewer.js

1267e2825501e393364178b28615a86cab993df7 by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/1267e2825501e393364178b28615a86cab993df7
Authored: 2024-09-29 13:11:02 +0200
Committed: 2024-09-29 13:11:02 +0200

[api-minor] Update the minimum supported Google Chrome version to 103

This patch updates the minimum supported browsers as follows:

Note that nowadays we usually try, where feasible and possible, to support browsers that are about two years old. By limiting support to only "recent" browsers we reduce the risk of holding back improvements of the built-in Firefox PDF Viewer, and also (significantly) reduce the maintenance/support burden for the PDF.js contributors.

Please note: As always, the minimum supported browser version assumes that a legacy-build of the PDF.js library is being used; see https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-support


[1] This is consistent with the minimum supported version in the recently updated Google Chrome addon.

Files Modified:

  • gulpfile.mjs

b1df164a26d22e1c9289962c7267a79aa5ce342e by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/b1df164a26d22e1c9289962c7267a79aa5ce342e
Authored: 2024-09-28 12:21:33 +0200
Committed: 2024-09-28 12:29:51 +0200

Ensure that the CursorTools-buttons are disabled e.g. during editing (PR 15522 follow-up)

We disable any non-default CursorTool in PresentationMode and during Editing, since they don't make sense there and to prevent problems such as e.g. bug 1792422.
Hence it seems like a good idea to also disable the relevant SecondaryToolbar-buttons, to avoid the user being surprised that the CursorTools-buttons do nothing if clicked.

Files Modified:

  • web/pdf_cursor_tools.js
  • web/secondary_toolbar.js

0382dd0e252ff4d8be5956114ea176a68fe10bba by Calixte Denizet <calixte.denizet@gmail.com>

https://github.com/mozilla/pdf.js/commit/0382dd0e252ff4d8be5956114ea176a68fe10bba
Authored: 2024-09-26 15:47:27 +0200
Committed: 2024-09-26 17:52:25 +0200

[Editor] When deleting an annotation with popup, then delete the popup too

Files Added:

  • test/pdfs/highlight_popup.pdf

Files Modified:

  • src/core/document.js
  • src/display/editor/editor.js
  • src/display/editor/freetext.js
  • src/display/editor/highlight.js
  • test/integration/freetext_editor_spec.mjs
  • test/integration/highlight_editor_spec.mjs
  • test/pdfs/.gitignore
  • test/unit/api_spec.js

ec01af6b389ff103412a60113fb4c569d0721fbf by Calixte Denizet <calixte.denizet@gmail.com>

https://github.com/mozilla/pdf.js/commit/ec01af6b389ff103412a60113fb4c569d0721fbf
Authored: 2024-09-25 17:09:24 +0200
Committed: 2024-09-26 17:48:02 +0200

[Editor] Avoid to have a selected stamp annotation on top of the secondary toolbar (bug 1911980)

Files Added:

  • test/images/red.png

Files Modified:

  • test/images/firefox_logo.png
  • test/images/firefox_logo.svg
  • test/integration/stamp_editor_spec.mjs
  • web/viewer.css

7db9941e0f9fe877e89d756905916090a653df8c by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/7db9941e0f9fe877e89d756905916090a653df8c
Authored: 2024-09-26 16:33:32 +0200
Committed: 2024-09-26 16:42:54 +0200

Add basic support for non-embedded GillSansMT fonts (issue 18801)

Given the following excerpt from the Wikipedia article, mapping this to Helvetica should hopefully be fine:

It has been described as "the British Helvetica" because of its lasting popularity in British design.

Files Added:

  • test/pdfs/issue18801.pdf.link

Files Modified:

  • src/core/standard_fonts.js
  • test/test_manifest.json

fa2d7fc1787c552f7a1e3bcf0351393d0c17c605 by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/fa2d7fc1787c552f7a1e3bcf0351393d0c17c605
Authored: 2024-09-26 15:21:44 +0200
Committed: 2024-09-26 15:21:44 +0200

Remove trackTransform arguments from CachedCanvases.getCanvas-calls (PR 15281 follow-up)

This became unused in PR 15281, however that patch clearly missed some occurrences; sorry about that!

Files Modified:

  • src/display/pattern_helper.js

6d88f9f1546efaa0aa63bd9b7cbaf202226120f8 by Calixte Denizet <calixte.denizet@gmail.com>

https://github.com/mozilla/pdf.js/commit/6d88f9f1546efaa0aa63bd9b7cbaf202226120f8
Authored: 2024-09-26 12:46:10 +0200
Committed: 2024-09-26 14:20:48 +0200

Fix the rendering of tiling pattern when the steps are lower than the tile dimensions (bug 1837738)

It fixes #16038.

The idea is to create a pattern having the steps for dimensions and then draw
the base tile and the different overlapping parts on it.

Files Added:

  • test/pdfs/issue16038.pdf
  • test/pdfs/issue16444.pdf.link

Files Modified:

  • src/display/pattern_helper.js
  • test/pdfs/.gitignore
  • test/test_manifest.json

a989244570b26fee6538f1414055dc0c2ac7533f by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/a989244570b26fee6538f1414055dc0c2ac7533f
Authored: 2024-09-24 12:48:36 +0200
Committed: 2024-09-26 12:16:05 +0200

Slightly re-factor the transportFactory initialization in getDocument

Given that the WorkerTransport-constructor will access all possible factory-instances, let's ensure that the transportFactory-object always has a consistent shape regardless of other options.

Also, since useWorkerFetch is always true in MOZCENTRAL builds we never need to create CMapReaderFactory/StandardFontDataFactory-instances there.

Files Modified:

  • src/display/api.js

f765b5ab3562cf894b0a1c25473c745c1b3a07fe by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/f765b5ab3562cf894b0a1c25473c745c1b3a07fe
Authored: 2024-09-26 11:08:55 +0200
Committed: 2024-09-26 11:08:55 +0200

Unify separate #toolbarContainer-blocks in the CSS (PR 18385 follow-up)

Files Modified:

  • web/viewer.css

135ee03847e34aa68a77545dc02d29cf27a783b8 by Jonas Jenwald <jonas.jenwald@gmail.com>

https://github.com/mozilla/pdf.js/commit/135ee03847e34aa68a77545dc02d29cf27a783b8
Authored: 2024-09-26 11:01:18 +0200
Committed: 2024-09-26 11:01:18 +0200

Remove the unused splitToolbarButton CSS class (PR 18385 follow-up)

Files Modified:

  • web/viewer.css

All the jobs in the try run succeeded. Like literally all of them, there weren't
even any intermittents. That is pretty surprising to me, so maybe you should double
check to make sure I didn't misinterpret things and that the correct tests ran...

Anyway, I've done all I can, so I'm passing to you to review and land the patch.
When reviewing, please note that this is external code, which needs a full and
careful inspection - not a rubberstamp.

Assignee: nobody → cdenizet

This job failed. And Bug 1920843 failed. But Bug 1919418 worked. If I look at the task logs, I see that the failing jobs have the following error, which the succeeding job does not.

[task 2024-10-02T06:25:56.642Z] ReferenceError: ReadableStream is not defined
[task 2024-10-02T06:25:56.642Z]     at Object.<anonymous> (/builds/worker/pdf.js/node_modules/undici/lib/web/fetch/response.js:527:3)
[task 2024-10-02T06:25:56.642Z]     at Module._compile (node:internal/modules/cjs/loader:1165:14)
[task 2024-10-02T06:25:56.642Z]     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
[task 2024-10-02T06:25:56.642Z]     at Module.load (node:internal/modules/cjs/loader:1043:32)
[task 2024-10-02T06:25:56.642Z]     at Function.Module._load (node:internal/modules/cjs/loader:878:12)
[task 2024-10-02T06:25:56.642Z]     at Module.require (node:internal/modules/cjs/loader:1067:19)
[task 2024-10-02T06:25:56.642Z]     at require (node:internal/modules/cjs/helpers:103:18)
[task 2024-10-02T06:25:56.642Z]     at Object.<anonymous> (/builds/worker/pdf.js/node_modules/undici/lib/web/fetch/index.js:11:5)
[task 2024-10-02T06:25:56.642Z]     at Module._compile (node:internal/modules/cjs/loader:1165:14)
[task 2024-10-02T06:25:56.642Z]     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)

Running the steps in update.sh reproduce it for me locally.

Bad: 529906c74f1a53198200be7f61e63f8f94d1a371
Good: 19151feb5f855d2afcfecba16fde6ac582f5662d

Nothing jumps out there.

Googling gives me a hit saying that ReadableStream has been required since Node 18, I'm running 16.15 locally, pdfjs requires 18.

The Updatebot Docker image gets node from https://searchfox.org/mozilla-central/source/taskcluster/docker/recipes/install-node.sh

Which is the mozilla build toolchain node version. It seems prudent to decouple pdfjs' node version from the toolchain version.

I wasn't able to reproduce the issue: I understand why now.
Could we just add a similar script in https://searchfox.org/mozilla-central/source/toolkit/components/pdfjs but with the right node version and then the bot will just use this script ?

Attachment #9428434 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → INVALID
No longer blocks: 1837738, 1911980, 1921984, 1792422
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: