Skip to content

[pull] master from mozilla:master#285

Merged
pull[bot] merged 4 commits intocode:masterfrom
mozilla:master
Mar 23, 2026
Merged

[pull] master from mozilla:master#285
pull[bot] merged 4 commits intocode:masterfrom
mozilla:master

Conversation

@pull
Copy link

@pull pull bot commented Mar 23, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Snuffleupagus and others added 4 commits March 22, 2026 15:49
…`, and `WasmFactory` API options with a single factory/option

Currently we have no less than three different, but very similar, factories for reading built-in CMap files, standard font files, and wasm files on the main-thread.[1]
These factories were added at different points in time, since I cannot imagine that we'd add essentially three copies of the same code otherwise.

Nowadays these factories are often not even used[2], since worker-thread fetching is used whenever possible to improve performance. In particular, they will *only* be used when either:
 - The PDF.js library runs in Node.js environments.
 - The user manually sets `useWorkerFetch = false` when calling `getDocument`.
 - The user provides custom `CMapReaderFactory`, `StandardFontDataFactory`, and/or `WasmFactory` instances when calling `getDocument`.

By replacing these factories with *a single* new `BinaryDataFactory` factory/option the number of `getDocument` options are thus reduced, which cannot hurt.
This also reduces the total bundle-size of the Firefox PDF Viewer a little bit, and it slightly reduces the number of import maps that need to be maintained.

*Please note:* For users that provide custom `CMapReaderFactory`, `StandardFontDataFactory`, and `WasmFactory` instances when calling `getDocument` this will be a breaking change, however it's unlikely that (many) such users exist.
(The *internal* format data-format of `CMapReaderFactory` was changed in PR 18951, and there hasn't been a single question/complaint about it in well over a year.)

---

[1] Any new functionality could easily lead to more such factories being added in the future, which wouldn't be great.

[2] Note that the Firefox PDF Viewer no longer use these factories, since it "forcibly" sets `useWorkerFetch = true` during building.
[api-minor] Replace the `CMapReaderFactory`, `StandardFontDataFactory`, and `WasmFactory` API options with a single factory/option
Correctly scroll the search result in the viewport with rotated pdfs (bug 2021392)
@pull pull bot locked and limited conversation to collaborators Mar 23, 2026
@pull pull bot added the ⤵️ pull label Mar 23, 2026
@pull pull bot had a problem deploying to code-coverage March 23, 2026 02:03 Failure
@pull pull bot had a problem deploying to code-coverage March 23, 2026 02:03 Failure
@pull pull bot had a problem deploying to code-coverage March 23, 2026 02:03 Failure
@pull pull bot merged commit 2643125 into code:master Mar 23, 2026
8 of 11 checks passed
@pull pull bot had a problem deploying to code-coverage March 23, 2026 02:03 Failure
@pull pull bot had a problem deploying to code-coverage March 23, 2026 02:03 Failure
@pull pull bot had a problem deploying to code-coverage March 23, 2026 02:03 Failure
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants