In the following spots a "MouseUp" eventName is being used, which does look inconsistent considering that the "Mouse Down"/"Mouse Enter"/"Mouse Exit" eventNames all have a space in them.
Is this inconsistency actually expected, or is it a simple typo? If the former, then a comment explaining *why* would be appropriate; otherwise we should just fix this :-)

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L806

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L945

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L1034

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L1168

/cc @calixteman 
});
    it("should save Japanese text", function (done) {
      textWidgetDict.get("DR").get("Font").set("Goth", gothRefObj.ref);
      textWidgetDict.set("DA", "/Goth 5 Tf");
      const textWidgetRef = Ref.get(123, 0);
      const xref = new XRefMock([
        { ref: textWidgetRef, data: textWidgetDict },
        gothRefObj,
      ]);
      partialEvaluator.xref = xref;
      const task = new WorkerTask("test save");
      AnnotationFactory.create(
        xref,
        textWidgetRef,
        pdfManagerMock,
        idFactoryMock
      )
        .then(annotation => {
          const annotationStorage = {};
          annotationStorage[annotation.data.id] = { value: "こんにちは世界の" };
          return annotation.save(partialEvaluator, task, annotationStorage);
        }, done.fail)
        .then(data => {
          const utf16String =
            "\x30\x53\x30\x93\x30\x6b\x30\x61" +
            "\x30\x6f\x4e\x16\x75\x4c\x30\x6e";
          expect(data.length).toEqual(2);
          const [oldData, newData] = data;
          expect(oldData.ref).toEqual(Ref.get(123, 0));
          expect(newData.ref).toEqual(Ref.get(2, 0));