Files
sousa-gecko/toolkit/components/pdfjs/PdfJsOverridePrefs.js
T
Benjamin Beurdouche ac5a1c4b2c Bug 1943059 - Wire pdf.js viewer to NSS for signature verification r=nkulatova
Adds the Firefox-only glue around the upcoming pdf.js Digital signature
properties panel. The bundled pdf.js viewer / locale / images that the
panel depends on land via the regular pdfjs-update auto-import; this
revision only carries the pieces that live exclusively in
mozilla-central:

- toolkit/components/pdfjs/content/PdfjsParent.sys.mjs:
  PDFJS:Parent:{verifyPdfSignature,viewPdfCertificate} IPC handlers,
  asyncVerifyPKCS7Object plumbing, leaf-certificate flattening,
  the about:certificate opener, and defence-in-depth argument
  validators (`validateVerifyPdfSignatureArgs`,
  `filterCertsForView`) exported at module scope so xpcshell can
  exercise them without instantiating the JSWindowActor.
- toolkit/components/pdfjs/content/PdfStreamConverter.sys.mjs:
  the matching content-side ChromeActions methods that route
  FirefoxCom.requestAsync("verifyPdfSignature" | "viewPdfCertificate")
  to the parent actor.
- toolkit/components/pdfjs/jar.mn: package signature-properties-*.svg
  so the new row icon ships in omni.ja once the auto-import brings
  the SVG file in.
- toolkit/components/pdfjs/PdfJsOverridePrefs.js:
  pdfjs.enableSignatureVerification default = false. Off by default
  in shipping Firefox; gated by
  security.pdf_signature_verification.enable_test_trust_anchors for
  the test CA path.

Differential Revision: https://phabricator.services.mozilla.com/D299536
2026-07-08 06:53:49 +00:00

48 lines
1.5 KiB
JavaScript

/* Copyright 2024 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#if defined(ANDROID)
// Editing PDFs is not supported on mobile
pref("pdfjs.annotationEditorMode", -1);
pref("pdfjs.capCanvasAreaFactor", 100);
#else
pref("pdfjs.enableUpdatedAddImage", true);
pref("pdfjs.enableSignatureEditor", true);
pref("pdfjs.enableComment", true);
pref("pdfjs.enableHighlightFloatingButton", true);
pref("pdfjs.enableAltTextForEnglish", false);
pref("pdfjs.enableAltText", true);
pref("pdfjs.enableAltTextModelDownload", false);
pref("pdfjs.enableGuessAltText", false);
pref("pdfjs.enableHWA", true);
pref("pdfjs.enableSplitMerge", true);
pref("pdfjs.enableMerge", true);
#endif
pref("pdfjs.enableOptimizedPartialRendering", true);
// Off by default until the UX is exercised in Enterprise; flip via
// `about:config` or a profile pref. The viewer also short-circuits its
// own toolbar button when this is false (web/app_options.js).
pref("pdfjs.enableSignatureVerification", false);