From 0f504d9a1ab3cc9cb9121b103220708667a1ef05 Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Thu, 10 Jul 2025 20:59:36 +0200 Subject: [PATCH] Add the l10n parameter when pasting a Signature annotation --- src/display/editor/signature.js | 12 ++++++++++-- test/integration/signature_editor_spec.mjs | 9 +++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/display/editor/signature.js b/src/display/editor/signature.js index cacf8b658..676b97f0f 100644 --- a/src/display/editor/signature.js +++ b/src/display/editor/signature.js @@ -192,6 +192,11 @@ class SignatureEditor extends DrawingEditor { this.div.hidden = true; this._uiManager.getSignature(this); } + } else { + this.div.setAttribute( + "data-l10n-args", + JSON.stringify({ description: this.#description || "" }) + ); } if (_isCopy) { @@ -217,6 +222,10 @@ class SignatureEditor extends DrawingEditor { set description(description) { this.#description = description; + if (!this.div) { + return; + } + this.div.setAttribute("data-l10n-args", JSON.stringify({ description })); super.addEditToolbar().then(toolbar => { toolbar?.updateEditSignatureButton(description); }); @@ -256,7 +265,6 @@ class SignatureEditor extends DrawingEditor { const { outline } = (this.#signatureData = data); this.#isExtracted = outline instanceof ContourDrawOutline; this.description = description; - this.div.setAttribute("data-l10n-args", JSON.stringify({ description })); let drawingOptions; if (this.#isExtracted) { drawingOptions = SignatureEditor.getDefaultDrawingOptions(); @@ -428,7 +436,7 @@ class SignatureEditor extends DrawingEditor { static async deserialize(data, parent, uiManager) { const editor = await super.deserialize(data, parent, uiManager); editor.#isExtracted = data.areContours; - editor.#description = data.accessibilityData?.alt || ""; + editor.description = data.accessibilityData?.alt || ""; editor.#signatureUUID = data.uuid; return editor; } diff --git a/test/integration/signature_editor_spec.mjs b/test/integration/signature_editor_spec.mjs index 1ac2b43b2..45c1cb19b 100644 --- a/test/integration/signature_editor_spec.mjs +++ b/test/integration/signature_editor_spec.mjs @@ -365,6 +365,9 @@ describe("Signature Editor", () => { `${editorSelector} .altText.editDescription`, el => el.title ); + const originalL10nParameter = await page.$eval(editorSelector, el => + el.getAttribute("data-l10n-args") + ); await copy(page); await paste(page); @@ -376,6 +379,9 @@ describe("Signature Editor", () => { `${pastedEditorSelector} .altText.editDescription`, el => el.title ); + const pastedL10nParameter = await page.$eval(pastedEditorSelector, el => + el.getAttribute("data-l10n-args") + ); expect(pastedRect) .withContext(`In ${browserName}`) @@ -383,6 +389,9 @@ describe("Signature Editor", () => { expect(pastedDescription) .withContext(`In ${browserName}`) .toEqual(originalDescription); + expect(pastedL10nParameter) + .withContext(`In ${browserName}`) + .toEqual(originalL10nParameter); } }); });