From 47e3fddd9326809c7d09b466af9452c440f8ce5d Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Thu, 5 Nov 2020 17:49:32 +0100 Subject: [PATCH] Fix popup for highlights without popup (follow-up of #12505) * remove 1st param of _createPopup (almost useless for a method) * prepend popup div to avoid to have them on top of some highlights (and so "disable" partially mouse events) * add a ref test for issue #12504 --- src/display/annotation_layer.js | 51 ++++++++++++++++++++------------ test/pdfs/.gitignore | 1 + test/pdfs/issue12504.pdf | Bin 0 -> 25476 bytes test/test_manifest.json | 7 +++++ 4 files changed, 40 insertions(+), 19 deletions(-) create mode 100644 test/pdfs/issue12504.pdf diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index 28a83699b35506..5079cd5bcc70f9 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -262,7 +262,9 @@ class AnnotationElement { quadPoint[1].y, ]; this.data.rect = rect; - quadrilaterals.push(this._createContainer(ignoreBorder)); + const quad = this._createContainer(ignoreBorder); + quad.className = "highlightAnnotation"; + quadrilaterals.push(quad); } this.data.rect = savedRect; return quadrilaterals; @@ -274,12 +276,17 @@ class AnnotationElement { * are of a type that works with popups (such as Highlight annotations). * * @private - * @param {HTMLSectionElement} container * @param {HTMLDivElement|HTMLImageElement|null} trigger * @param {Object} data * @memberof AnnotationElement */ - _createPopup(container, trigger, data) { + _createPopup(trigger, data) { + let container = this.container; + if (this.quadrilaterals) { + trigger = trigger || this.quadrilaterals; + container = this.quadrilaterals[0]; + } + // If no trigger element is specified, create it. if (!trigger) { trigger = document.createElement("div"); @@ -433,7 +440,7 @@ class TextAnnotationElement extends AnnotationElement { image.dataset.l10nArgs = JSON.stringify({ type: this.data.name }); if (!this.data.hasPopup) { - this._createPopup(this.container, image, this.data); + this._createPopup(image, this.data); } this.container.appendChild(image); @@ -790,6 +797,7 @@ class PopupAnnotationElement extends AnnotationElement { constructor(parameters) { const isRenderable = !!(parameters.data.title || parameters.data.contents); super(parameters, isRenderable); + this.popup = true; } /** @@ -885,7 +893,6 @@ class PopupElement { // disappear too. In that special case, hiding the wrapper suffices. this.hideElement = this.hideWrapper ? wrapper : this.container; this.hideElement.setAttribute("hidden", true); - const popup = document.createElement("div"); popup.className = "popup"; @@ -1027,7 +1034,7 @@ class FreeTextAnnotationElement extends AnnotationElement { this.container.className = "freeTextAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; } @@ -1078,7 +1085,7 @@ class LineAnnotationElement extends AnnotationElement { // Create the popup ourselves so that we can bind it to the line instead // of to the entire container (which is the default). - this._createPopup(this.container, line, data); + this._createPopup(line, data); return this.container; } @@ -1132,7 +1139,7 @@ class SquareAnnotationElement extends AnnotationElement { // Create the popup ourselves so that we can bind it to the square instead // of to the entire container (which is the default). - this._createPopup(this.container, square, data); + this._createPopup(square, data); return this.container; } @@ -1186,7 +1193,7 @@ class CircleAnnotationElement extends AnnotationElement { // Create the popup ourselves so that we can bind it to the circle instead // of to the entire container (which is the default). - this._createPopup(this.container, circle, data); + this._createPopup(circle, data); return this.container; } @@ -1248,7 +1255,7 @@ class PolylineAnnotationElement extends AnnotationElement { // Create the popup ourselves so that we can bind it to the polyline // instead of to the entire container (which is the default). - this._createPopup(this.container, polyline, data); + this._createPopup(polyline, data); return this.container; } @@ -1285,7 +1292,7 @@ class CaretAnnotationElement extends AnnotationElement { this.container.className = "caretAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; } @@ -1347,7 +1354,7 @@ class InkAnnotationElement extends AnnotationElement { // Create the popup ourselves so that we can bind it to the polyline // instead of to the entire container (which is the default). - this._createPopup(this.container, polyline, data); + this._createPopup(polyline, data); svg.appendChild(polyline); } @@ -1379,9 +1386,10 @@ class HighlightAnnotationElement extends AnnotationElement { this.container.className = "highlightAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.quadrilaterals || this.container; + // return this.container; } } @@ -1406,7 +1414,7 @@ class UnderlineAnnotationElement extends AnnotationElement { this.container.className = "underlineAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; } @@ -1433,7 +1441,7 @@ class SquigglyAnnotationElement extends AnnotationElement { this.container.className = "squigglyAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; } @@ -1460,7 +1468,7 @@ class StrikeOutAnnotationElement extends AnnotationElement { this.container.className = "strikeoutAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; } @@ -1487,7 +1495,7 @@ class StampAnnotationElement extends AnnotationElement { this.container.className = "stampAnnotation"; if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); + this._createPopup(null, this.data); } return this.container; } @@ -1528,7 +1536,7 @@ class FileAttachmentAnnotationElement extends AnnotationElement { trigger.addEventListener("dblclick", this._download.bind(this)); if (!this.data.hasPopup && (this.data.title || this.data.contents)) { - this._createPopup(this.container, trigger, this.data); + this._createPopup(trigger, this.data); } this.container.appendChild(trigger); @@ -1615,7 +1623,12 @@ class AnnotationLayer { parameters.div.appendChild(renderedElement); } } else { - parameters.div.appendChild(rendered); + if (element.popup) { + // popup div mustn't be on top of an annotation + parameters.div.prepend(rendered); + } else { + parameters.div.appendChild(rendered); + } } } } diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 3bd33c839d7e49..e201bbd843c065 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -290,6 +290,7 @@ !noembed-identity.pdf !noembed-identity-2.pdf !noembed-jis7.pdf +!issue12504.pdf !noembed-eucjp.pdf !noembed-sjis.pdf !vertical.pdf diff --git a/test/pdfs/issue12504.pdf b/test/pdfs/issue12504.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1a1ff333b6dc804c6e3c0ad5c9c961a7a6f9af5c GIT binary patch literal 25476 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 literal 0 HcmV?d00001 diff --git a/test/test_manifest.json b/test/test_manifest.json index 9282c0a310c1f9..6b6a350b6dbd30 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1427,6 +1427,13 @@ "type": "eq", "about": "Type3 fonts with image resources; both pages need to be tested, otherwise the bug won't manifest." }, + { "id": "issue12504", + "file": "pdfs/issue12504.pdf", + "md5": "04fcc87f3e7e9e925e3ef83cf0bf49f4", + "rounds": 1, + "type": "eq", + "annotations": true + }, { "id": "close-path-bug", "file": "pdfs/close-path-bug.pdf", "md5": "48dd17ef58393857d2d038d33699cac5",