From 042183b89b78148f354eeb643aeb68e2f57ebc89 Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Mon, 22 Jul 2024 22:09:08 +0200 Subject: [PATCH] Add a pref to know if the alt-text must be automatically generated (bug 1909310) --- extensions/chromium/preferences_schema.json | 4 ++++ web/app.js | 20 ++++++++++---------- web/app_options.js | 5 +++++ web/firefoxcom.js | 4 ++-- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/extensions/chromium/preferences_schema.json b/extensions/chromium/preferences_schema.json index 23b37fb7f..eb23d18c0 100644 --- a/extensions/chromium/preferences_schema.json +++ b/extensions/chromium/preferences_schema.json @@ -55,6 +55,10 @@ "type": "boolean", "default": false }, + "enableGuessAltText": { + "type": "boolean", + "default": true + }, "altTextLearnMoreUrl": { "type": "string", "default": "" diff --git a/web/app.js b/web/app.js index 02436ff4a..c1b100ce7 100644 --- a/web/app.js +++ b/web/app.js @@ -205,10 +205,10 @@ const PDFViewerApplication = { if (mode) { document.documentElement.classList.add(mode); } - } else { + } else if (AppOptions.get("enableAltText")) { // We want to load the image-to-text AI engine as soon as possible. this.mlManager = new MLManager({ - enableAltText: AppOptions.get("enableAltText"), + enableGuessAltText: AppOptions.get("enableGuessAltText"), altTextLearnMoreUrl: AppOptions.get("altTextLearnMoreUrl"), }); } @@ -376,14 +376,14 @@ const PDFViewerApplication = { let eventBus; if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { - eventBus = - AppOptions.eventBus = - this.mlManager.eventBus = - new FirefoxEventBus( - AppOptions.get("allowedGlobalEvents"), - externalServices, - AppOptions.get("isInAutomation") - ); + eventBus = AppOptions.eventBus = new FirefoxEventBus( + AppOptions.get("allowedGlobalEvents"), + externalServices, + AppOptions.get("isInAutomation") + ); + if (this.mlManager) { + this.mlManager.eventBus = eventBus; + } } else { eventBus = new EventBus(); } diff --git a/web/app_options.js b/web/app_options.js index 001fa72dd..941b9a449 100644 --- a/web/app_options.js +++ b/web/app_options.js @@ -179,6 +179,11 @@ const defaultOptions = { value: false, kind: OptionKind.VIEWER + OptionKind.PREFERENCE, }, + enableGuessAltText: { + /** @type {boolean} */ + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE, + }, enableHighlightEditor: { // We'll probably want to make some experiments before enabling this // in Firefox release, but it has to be temporary. diff --git a/web/firefoxcom.js b/web/firefoxcom.js index 8f84d6b9f..869b69564 100644 --- a/web/firefoxcom.js +++ b/web/firefoxcom.js @@ -328,8 +328,8 @@ class MLManager { return FirefoxCom.requestAsync("mlGuess", data); } - enable({ altTextLearnMoreUrl, enableAltText, listenToProgress }) { - if (enableAltText) { + enable({ altTextLearnMoreUrl, enableGuessAltText, listenToProgress }) { + if (enableGuessAltText) { this.#loadAltTextEngine(listenToProgress); } // The `altTextLearnMoreUrl` is used to provide a link to the user to learn