Access the isOffscreenCanvasSupported option *once* in PDFViewerApplication._initializeViewerComponents

There's no good reason for getting this option multiple times in the same method. Also, we can slightly re-factor how the `editorStampButton` is made visible.
This commit is contained in:
Jonas Jenwald 2023-07-12 17:33:20 +02:00
parent 73d650af3e
commit 7e04ca395f
2 changed files with 7 additions and 10 deletions

View File

@ -495,6 +495,9 @@ const PDFViewerApplication = {
const container = appConfig.mainContainer, const container = appConfig.mainContainer,
viewer = appConfig.viewerContainer; viewer = appConfig.viewerContainer;
const annotationEditorMode = AppOptions.get("annotationEditorMode"); const annotationEditorMode = AppOptions.get("annotationEditorMode");
const isOffscreenCanvasSupported =
AppOptions.get("isOffscreenCanvasSupported") &&
FeatureTest.isOffscreenCanvasSupported;
const pageColors = const pageColors =
AppOptions.get("forcePageColors") || AppOptions.get("forcePageColors") ||
window.matchMedia("(forced-colors: active)").matches window.matchMedia("(forced-colors: active)").matches
@ -521,7 +524,7 @@ const PDFViewerApplication = {
imageResourcesPath: AppOptions.get("imageResourcesPath"), imageResourcesPath: AppOptions.get("imageResourcesPath"),
enablePrintAutoRotate: AppOptions.get("enablePrintAutoRotate"), enablePrintAutoRotate: AppOptions.get("enablePrintAutoRotate"),
useOnlyCssZoom: AppOptions.get("useOnlyCssZoom"), useOnlyCssZoom: AppOptions.get("useOnlyCssZoom"),
isOffscreenCanvasSupported: AppOptions.get("isOffscreenCanvasSupported"), isOffscreenCanvasSupported,
maxCanvasPixels: AppOptions.get("maxCanvasPixels"), maxCanvasPixels: AppOptions.get("maxCanvasPixels"),
enablePermissions: AppOptions.get("enablePermissions"), enablePermissions: AppOptions.get("enablePermissions"),
pageColors, pageColors,
@ -560,14 +563,8 @@ const PDFViewerApplication = {
if (appConfig.annotationEditorParams) { if (appConfig.annotationEditorParams) {
if (annotationEditorMode !== AnnotationEditorType.DISABLE) { if (annotationEditorMode !== AnnotationEditorType.DISABLE) {
const editorStampButton = appConfig.toolbar?.editorStampButton; if (AppOptions.get("enableStampEditor") && isOffscreenCanvasSupported) {
if ( appConfig.toolbar?.editorStampButton?.classList.remove("hidden");
editorStampButton &&
AppOptions.get("enableStampEditor") &&
AppOptions.get("isOffscreenCanvasSupported") &&
FeatureTest.isOffscreenCanvasSupported
) {
editorStampButton.hidden = false;
} }
this.annotationEditorParams = new AnnotationEditorParams( this.annotationEditorParams = new AnnotationEditorParams(

View File

@ -330,7 +330,7 @@ See https://github.com/adobe-type-tools/cmap-resources
<div class="verticalToolbarSeparator hiddenMediumView"></div> <div class="verticalToolbarSeparator hiddenMediumView"></div>
<div id="editorModeButtons" class="splitToolbarButton toggled" role="radiogroup"> <div id="editorModeButtons" class="splitToolbarButton toggled" role="radiogroup">
<button id="editorStamp" class="toolbarButton" hidden="true" disabled="disabled" title="Image" role="radio" aria-checked="false" tabindex="34" data-l10n-id="editor_stamp"> <button id="editorStamp" class="toolbarButton hidden" disabled="disabled" title="Image" role="radio" aria-checked="false" tabindex="34" data-l10n-id="editor_stamp">
<span data-l10n-id="editor_stamp_label">Image</span> <span data-l10n-id="editor_stamp_label">Image</span>
</button> </button>
<button id="editorFreeText" class="toolbarButton" disabled="disabled" title="Text" role="radio" aria-checked="false" aria-controls="editorFreeTextParamsToolbar" tabindex="35" data-l10n-id="editor_free_text2"> <button id="editorFreeText" class="toolbarButton" disabled="disabled" title="Text" role="radio" aria-checked="false" aria-controls="editorFreeTextParamsToolbar" tabindex="35" data-l10n-id="editor_free_text2">