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
48 lines
1.5 KiB
JavaScript
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);
|