Don't get me wrong, it's great that @calixteman wanted to implement that — JS should definitely be supported! I don't want to come off as rude or attacking.

For starters, JS reference specified in the [commit comment](https://github.com/mozilla/pdf.js/commit/8de98079ca05f8f7001ee077771055a57dc0e948) is outdated. It's version 8.1 from 2007… We're more than decade past that now. We should be implementing [Acrobat DC SDK](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/AcrobatDC_js_api_reference.pdf) ([here](https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/#t=Acro12_MasterBook%2FJS_API_AcroJS%2FJavaScript_API.htm) in a nice HTML version).

Other than that, the Doc object now is only implemented with `info` property with standard fields (`Title`, `Author`, `Subject`, `Keywords`, `Creator`, `Producer`, `CreationDate`, `ModDate` and `Trapped`, case insensitive). But [according to the spec](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/AcrobatDC_js_api_reference.pdf#page=243) (even [in that old version](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf#page=243)), this object can contain other, non-standard properties, that can be set both in Acrobat interface and in JS (which are case-sensitive then).

Acrobat 9.0 introduced another field to that property, `Authors`, containing semicolon-delimited list of authors.

There are probably other problems with that code due to the outdated spec @calixteman was apparently working on.
fingerprint: pdfDocument.fingerprint,
            viewOnLoad,
            initialDest: openAction && openAction.dest,
          });
          const initialBookmark = this.initialBookmark;
          
          const zoom = AppOptions.get("defaultZoomValue");
          let hash = zoom ? `zoom=${zoom}` : null;
          let rotation = null;
          let sidebarView = AppOptions.get("sidebarViewOnLoad");
          let scrollMode = AppOptions.get("scrollModeOnLoad");
          let spreadMode = AppOptions.get("spreadModeOnLoad");
          if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) {
            hash =
              `page=${stored.page}&zoom=${zoom || stored.zoom},` +
              `${stored.scrollLeft},${stored.scrollTop}`;
            rotation = parseInt(stored.rotation, 10);
            
            if (sidebarView === SidebarView.UNKNOWN) {
              sidebarView = stored.sidebarView | 0;
            }
            if (scrollMode === ScrollMode.UNKNOWN) {
              scrollMode = stored.scrollMode | 0;
            }
            if (spreadMode === SpreadMode.UNKNOWN) {
              spreadMode = stored.spreadMode | 0;
            }
          }
          
          if (pageMode && sidebarView === SidebarView.UNKNOWN) {