From 611207d2c936656d3a5b22450e4ad515b7f75570 Mon Sep 17 00:00:00 2001
From: Calixte Denizet <calixte.denizet@gmail.com>
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 |  49 ++++++++++++++++++++------------
 test/pdfs/.gitignore            |   1 +
 test/pdfs/issue12504.pdf        | Bin 0 -> 25476 bytes
 test/test_manifest.json         |   7 +++++
 4 files changed, 39 insertions(+), 18 deletions(-)
 create mode 100644 test/pdfs/issue12504.pdf

diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js
index b8e1c90fe..2a443711a 100644
--- a/src/display/annotation_layer.js
+++ b/src/display/annotation_layer.js
@@ -266,7 +266,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;
@@ -278,12 +280,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");
@@ -437,7 +444,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);
@@ -1034,7 +1041,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;
   }
@@ -1085,7 +1092,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;
   }
@@ -1139,7 +1146,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;
   }
@@ -1193,7 +1200,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;
   }
@@ -1255,7 +1262,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;
   }
@@ -1292,7 +1299,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;
   }
@@ -1354,7 +1361,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);
     }
@@ -1386,7 +1393,7 @@ 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;
   }
@@ -1413,7 +1420,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;
   }
@@ -1440,7 +1447,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;
   }
@@ -1467,7 +1474,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;
   }
@@ -1494,7 +1501,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;
   }
@@ -1535,7 +1542,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);
@@ -1627,7 +1634,13 @@ class AnnotationLayer {
             parameters.div.appendChild(renderedElement);
           }
         } else {
-          parameters.div.appendChild(rendered);
+          if (element instanceof PopupAnnotationElement) {
+            // Popup annotation elements should not be on top of other
+            // annotation elements to prevent interfering with mouse events.
+            parameters.div.prepend(rendered);
+          } else {
+            parameters.div.appendChild(rendered);
+          }
         }
       }
     }
diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index 4d6dcfcb1..a0516955d 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 372ee4876..1eb51b4de 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",