1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 06:38:07 +02:00

Merge pull request #18697 from calixteman/issue18696

[Editor] Avoid to throw when an highlight annotation is resetted
This commit is contained in:
calixteman 2024-09-05 16:15:23 +02:00 committed by GitHub
commit 4b906ad0a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 34 additions and 1 deletions

View file

@ -1796,7 +1796,7 @@ class AnnotationEditor {
resetAnnotationElement(annotation) {
const { firstChild } = annotation.container;
if (
firstChild.nodeName === "DIV" &&
firstChild?.nodeName === "DIV" &&
firstChild.classList.contains("annotationContent")
) {
firstChild.remove();

View file

@ -2020,4 +2020,37 @@ describe("Highlight Editor", () => {
);
});
});
describe("Highlight editor mustn't throw when disabled", () => {
let pages;
beforeAll(async () => {
pages = await loadAndWait(
"annotation-highlight.pdf",
".annotationEditorLayer"
);
});
afterAll(async () => {
await closePages(pages);
});
it("must enable & disable highlight mode successfully", async () => {
await Promise.all(
pages.map(async ([browserName, page]) => {
const modeChangedHandle = await waitForAnnotationModeChanged(page);
await switchToHighlight(page);
await awaitPromise(modeChangedHandle);
await page.waitForSelector("#highlightParamsToolbarContainer", {
visible: true,
});
await switchToHighlight(page, /* disable */ true);
await page.waitForSelector("#highlightParamsToolbarContainer", {
visible: false,
});
})
);
});
});
});